作者|huggingface 編譯|vk **|github
該庫中可用的大多數模型都是單語言模型(英語,中文和德語)。有一些多語言模型可用,並且與單語言模型具有不同的機制。本頁詳細介紹了這些模型的用法。
當前支援多種語言的兩個模型是bert和xlm。
xlm共有10個不同的checkpoints,其中只有乙個是單語言的。剩下的9個模型checkpoints可以分為兩類:使用語言嵌入的checkpoints和不使用語言嵌入的checkpoints
xlm和語言嵌入
本節涉及以下checkpoints:
這些checkpoints需要語言嵌入,這些語言嵌入將指定推理時使用的語言。這些語言嵌入表示為張量,其形狀與傳遞給模型的輸入ids相同。這些張量中的值取決於所使用的語言,並且可以使用tokenizers中的lang2id
和id2lang
屬性
這是乙個使用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檔案,此...