Transformers 多語言模型 十一

2021-10-05 16:11:21 字數 1886 閱讀 6173

作者|huggingface 編譯|vk **|github

該庫中可用的大多數模型都是單語言模型(英語,中文和德語)。有一些多語言模型可用,並且與單語言模型具有不同的機制。本頁詳細介紹了這些模型的用法。

當前支援多種語言的兩個模型是bert和xlm。

xlm共有10個不同的checkpoints,其中只有乙個是單語言的。剩下的9個模型checkpoints可以分為兩類:使用語言嵌入的checkpoints和不使用語言嵌入的checkpoints

xlm和語言嵌入

本節涉及以下checkpoints:

這些checkpoints需要語言嵌入,這些語言嵌入將指定推理時使用的語言。這些語言嵌入表示為張量,其形狀與傳遞給模型的輸入ids相同。這些張量中的值取決於所使用的語言,並且可以使用tokenizers中的lang2idid2lang屬性

這是乙個使用xlm-clm-enfr-1024checkpoints的示例(因果語言建模,英語-法語):

import torch

from transformers import xlmtokenizer, xlmwithlmheadmodel

tokenizer = xlmtokenizer.from_pretrained("xlm-clm-1024-enfr")

該模型/tokenizer處理不同語言以及這些語言的id可以使用lang2id屬性標明:

print(tokenizer.lang2id)  #
在模型傳遞語言引數時,應使用這些id。讓我們定義輸入:

input_ids = torch.tensor([tokenizer.encode("wikipedia was used to")]) # batch大小為1
現在,我們應該使用先前定義的語言id來定義語言嵌入。我們想建立乙個張量填充適當的語言id,其大小與input_ids相同。對於英語,id為0:

language_id = tokenizer.lang2id['en']  # 0

langs = torch.tensor([language_id] * input_ids.shape[1]) # torch.tensor([0, 0, 0, ..., 0])

langs = langs.view(1, -1) # 現在是 [1, sequence_length]

然後,你可以將其作為模型的輸入:

outputs = model(input_ids, langs=langs)
示例run_generation.py可以使用語言嵌入從xlm使用clm checkpoints生成文字。

沒有語言嵌入的xlm

本節涉及以下checkpoints:

-xlm-mlm-17-1280(掩碼語言建模,17種語言) -xlm-mlm-100-1280(掩碼語言建模,100種語言)

這些checkpoints在推理時不需要語言嵌入。這些模型用於具有通用句子表示形式,與前面提到的xlm checkpoints不同。

bert具有兩個可用於多語言任務的checkpoints:

-bert-base-multilingual-uncased(掩碼語言建模+下乙個句子**,102種語言) -基於bert-base-multilingual-cased(掩碼語言建模+下一句**,104種語言)

這些checkpoints在推理時不需要語言嵌入。他們會識別在上下文中使用的語言並據此進行推斷。

opencv中文官方文件:

軟體多語言

locale是指特定於某個國家或地區的一組設定,包括字符集,數字 貨幣 時間和日期的格式等。在windows中,每個locale可以用乙個32位數字表示,記作lcid。在winnt.h中可以看到lcid的組成。它的高16位表示字元的排序方法,一般為0。在它的低16位中,低10位是primary la...

多語言切換

專案中應用到了多語言切換,鞏固一下。貼上 大家一起學習。廢話不多說直接上 1 新增多語言 在res values 下預設有個strings,需要多種語言就來建立幾個strings,values右鍵 new 乙個 values res file file name 就是strings director...

Qt 筆記 多語言

1 使用命令 lupdate no obsolete main.pro 作用 將main.pro檔案內的所有源程式檔案中的被tr 包裝的字串打包成.ts檔案,此檔案可以使用qt的qt linguist開啟並翻譯 2 使用命令 lrelease main.pro 作用 通過.ts檔案生成.qm檔案,此...