Xglm 564M
模型概述
XGLM-564M 是一個多語言自迴歸語言模型,支持30種語言,適用於多語言文本生成和理解任務。
模型特點
多語言支持
支持30種語言,涵蓋多種語系和低資源語言。
平衡語料庫
基於30種語言的平衡語料庫訓練,總計5000億子詞。
自迴歸模型
採用自迴歸架構,適用於文本生成任務。
模型能力
多語言文本生成
多語言文本理解
零樣本學習
使用案例
自然語言處理
多語言文本生成
生成多種語言的連貫文本。
零樣本學習
在少量示例或無示例的情況下進行任務學習。
🚀 XGLM-564M
XGLM-564M 是一個多語言自迴歸語言模型(擁有 5.64 億個參數),它在一個由 30 種不同語言組成的平衡語料庫上進行訓練,語料庫總共包含 5000 億個子詞單元。該模型在論文 Few-shot Learning with Multilingual Language Models 中被提出,論文作者包括 Xi Victoria Lin*、Todor Mihaylov、Mikel Artetxe、Tianlu Wang、Shuohui Chen、Daniel Simig、Myle Ott、Naman Goyal、Shruti Bhosale、Jingfei Du、Ramakanth Pasunuru、Sam Shleifer、Punit Singh Koura、Vishrav Chaudhary、Brian O'Horo、Jeff Wang、Luke Zettlemoyer、Zornitsa Kozareva、Mona Diab、Veselin Stoyanov、Xian Li*(*同等貢獻)。其原始實現發佈在 此倉庫 中。
✨ 主要特性
- 支持多種語言:涵蓋英語、俄語、中文、德語、西班牙語等 30 種語言。
- 基於大規模語料庫訓練:使用包含 5000 億個子詞單元的平衡語料庫進行訓練。
📚 詳細文檔
訓練數據統計
XGLM-564M 的訓練數據統計信息如下表所示:
ISO-639-1 代碼 | 語系 | 語言名稱 | 詞元數量 | 比例 | 低資源語言上採樣後的比例 |
---|---|---|---|---|---|
en | 印歐語系 | 英語 | 803526736124 | 0.489906 | 0.3259 |
ru | 印歐語系 | 俄語 | 147791898098 | 0.0901079 | 0.0602 |
zh | 漢藏語系 | 中文 | 132770494630 | 0.0809494 | 0.0483 |
de | 印歐語系 | 德語 | 89223707856 | 0.0543992 | 0.0363 |
es | 印歐語系 | 西班牙語 | 87303083105 | 0.0532282 | 0.0353 |
fr | 印歐語系 | 法語 | 77419639775 | 0.0472023 | 0.0313 |
ja | 日本語系 | 日語 | 66054364513 | 0.040273 | 0.0269 |
it | 印歐語系 | 意大利語 | 41930465338 | 0.0255648 | 0.0171 |
pt | 印歐語系 | 葡萄牙語 | 36586032444 | 0.0223063 | 0.0297 |
el | 印歐語系 | 希臘語(現代) | 28762166159 | 0.0175361 | 0.0233 |
ko | 朝鮮語系 | 韓語 | 20002244535 | 0.0121953 | 0.0811 |
fi | 烏拉爾語系 | 芬蘭語 | 16804309722 | 0.0102455 | 0.0681 |
id | 南島語系 | 印尼語 | 15423541953 | 0.00940365 | 0.0125 |
tr | 突厥語系 | 土耳其語 | 12413166065 | 0.00756824 | 0.0101 |
ar | 亞非語系 | 阿拉伯語 | 12248607345 | 0.00746791 | 0.0099 |
vi | 南亞語系 | 越南語 | 11199121869 | 0.00682804 | 0.0091 |
th | 壯侗語系 | 泰語 | 10842172807 | 0.00661041 | 0.044 |
bg | 印歐語系 | 保加利亞語 | 9703797869 | 0.00591635 | 0.0393 |
ca | 印歐語系 | 加泰羅尼亞語 | 7075834775 | 0.0043141 | 0.0287 |
hi | 印歐語系 | 印地語 | 3448390110 | 0.00210246 | 0.014 |
et | 烏拉爾語系 | 愛沙尼亞語 | 3286873851 | 0.00200399 | 0.0133 |
bn | 印歐語系 | 孟加拉語 | 1627447450 | 0.000992245 | 0.0066 |
ta | 達羅毗荼語系 | 泰米爾語 | 1476973397 | 0.000900502 | 0.006 |
ur | 印歐語系 | 烏爾都語 | 1351891969 | 0.000824241 | 0.0055 |
sw | 尼日爾 - 剛果語系 | 斯瓦希里語 | 907516139 | 0.000553307 | 0.0037 |
te | 達羅毗荼語系 | 泰盧固語 | 689316485 | 0.000420272 | 0.0028 |
eu | 孤立語言 | 巴斯克語 | 105304423 | 6.42035e - 05 | 0.0043 |
my | 漢藏語系 | 緬甸語 | 101358331 | 6.17976e - 05 | 0.003 |
ht | 克里奧爾語 | 海地克里奧爾語 | 86584697 | 5.27902e - 05 | 0.0035 |
qu | 克丘亞語系 | 克丘亞語 | 3236108 | 1.97304e - 06 | 0.0001 |
模型卡片
關於該模型的預期用途,請參考 XGLM-564M 開發團隊發佈的 模型卡片。
💻 使用示例
基礎用法
以下代碼片段展示瞭如何在合理替代選擇(COPA)任務上評估我們的模型(GPT - 3 風格,零樣本),使用英語、中文和印地語的示例。
import torch
import torch.nn.functional as F
from transformers import XGLMTokenizer, XGLMForCausalLM
tokenizer = XGLMTokenizer.from_pretrained("facebook/xglm-564M")
model = XGLMForCausalLM.from_pretrained("facebook/xglm-564M")
data_samples = {
'en': [
{
"premise": "I wanted to conserve energy.",
"choice1": "I swept the floor in the unoccupied room.",
"choice2": "I shut off the light in the unoccupied room.",
"question": "effect",
"label": "1"
},
{
"premise": "The flame on the candle went out.",
"choice1": "I blew on the wick.",
"choice2": "I put a match to the wick.",
"question": "cause",
"label": "0"
}
],
'zh': [
{
"premise": "我想節約能源。",
"choice1": "我在空著的房間裡掃了地板。",
"choice2": "我把空房間裡的燈關了。",
"question": "effect",
"label": "1"
},
{
"premise": "蠟燭上的火焰熄滅了。",
"choice1": "我吹滅了燈芯。",
"choice2": "我把一根火柴放在燈芯上。",
"question": "cause",
"label": "0"
}
],
'hi': [
{
"premise": "M te vle konsève enèji.",
"choice1": "Mwen te fin baleye chanm lib la.",
"choice2": "Mwen te femen limyè nan chanm lib la.",
"question": "effect",
"label": "1"
},
{
"premise": "Flam bouji a te etenn.",
"choice1": "Mwen te soufle bouji a.",
"choice2": "Mwen te limen mèch bouji a.",
"question": "cause",
"label": "0"
}
]
}
def get_logprobs(prompt):
inputs = tokenizer(prompt, return_tensors="pt")
input_ids, output_ids = inputs["input_ids"], inputs["input_ids"][:, 1:]
outputs = model(**inputs, labels=input_ids)
logits = outputs.logits
logprobs = torch.gather(F.log_softmax(logits, dim=2), 2, output_ids.unsqueeze(2))
return logprobs
# Zero-shot evaluation for the Choice of Plausible Alternatives (COPA) task.
# A return value of 0 indicates that the first alternative is more plausible,
# while 1 indicates that the second alternative is more plausible.
def COPA_eval(prompt, alternative1, alternative2):
lprob1 = get_logprobs(prompt + "\n" + alternative1).sum()
lprob2 = get_logprobs(prompt + "\n" + alternative2).sum()
return 0 if lprob1 > lprob2 else 1
for lang in data_samples_long:
for idx, example in enumerate(data_samples_long[lang]):
predict = COPA_eval(example["premise"], example["choice1"], example["choice2"])
print(f'{lang}-{idx}', predict, example['label'])
# en-0 1 1
# en-1 0 0
# zh-0 1 1
# zh-1 0 0
# hi-0 1 1
# hi-1 0 0
📄 許可證
本項目採用 MIT 許可證。
Phi 2 GGUF
其他
Phi-2是微軟開發的一個小型但強大的語言模型,具有27億參數,專注於高效推理和高質量文本生成。
大型語言模型 支持多種語言
P
TheBloke
41.5M
205
Roberta Large
MIT
基於掩碼語言建模目標預訓練的大型英語語言模型,採用改進的BERT訓練方法
大型語言模型 英語
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基礎模型的蒸餾版本,在保持相近性能的同時更輕量高效,適用於序列分類、標記分類等自然語言處理任務。
大型語言模型 英語
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一個多語言大語言模型,針對多語言對話用例進行了優化,在常見的行業基準測試中表現優異。
大型語言模型 英語
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基於100種語言的2.5TB過濾CommonCrawl數據預訓練的多語言模型,採用掩碼語言建模目標進行訓練。
大型語言模型 支持多種語言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基於Transformer架構的英語預訓練模型,通過掩碼語言建模目標在海量文本上訓練,支持文本特徵提取和下游任務微調
大型語言模型 英語
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI發佈的開放預訓練Transformer語言模型套件,參數量從1.25億到1750億,旨在對標GPT-3系列性能,同時促進大規模語言模型的開放研究。
大型語言模型 英語
O
facebook
6.3M
198
1
基於transformers庫的預訓練模型,適用於多種NLP任務
大型語言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多語言大語言模型系列,包含8B、70B和405B參數規模,支持8種語言和代碼生成,優化了多語言對話場景。
大型語言模型
Transformers 支持多種語言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基礎版是由Google開發的文本到文本轉換Transformer模型,參數規模2.2億,支持多語言NLP任務。
大型語言模型 支持多種語言
T
google-t5
5.4M
702
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98