🚀 EuroLLM-1.7B
EuroLLM-1.7B 是 EuroLLM 系列的首個預訓練模型,具備多語言處理能力,可理解和生成多種歐洲及其他相關語言的文本。其指令微調版本 EuroLLM-1.7B-Instruct 在機器翻譯等任務上表現出色,能為多語言處理場景提供強大支持。
🚀 快速開始
以下是使用 EuroLLM-1.7B 進行文本生成的示例代碼:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "utter-project/EuroLLM-1.7B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
text = "English: My name is EuroLLM. Portuguese:"
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
✨ 主要特性
- 多語言支持:支持保加利亞語、克羅地亞語、捷克語、丹麥語、荷蘭語、英語、愛沙尼亞語、芬蘭語、法語、德語、希臘語、匈牙利語、愛爾蘭語、意大利語、拉脫維亞語、立陶宛語、馬耳他語、波蘭語、葡萄牙語、羅馬尼亞語、斯洛伐克語、斯洛文尼亞語、西班牙語、瑞典語、阿拉伯語、加泰羅尼亞語、中文、加利西亞語、印地語、日語、韓語、挪威語、俄語、土耳其語和烏克蘭語等多種語言。
- 高效架構:採用標準的密集 Transformer 架構,使用分組查詢注意力(GQA)、預層歸一化、RMSNorm、SwiGLU 激活函數和旋轉位置嵌入(RoPE)等技術,在推理速度和下游任務性能之間取得平衡。
- 大規模訓練:在 4 萬億個標記上進行訓練,數據來源廣泛,包括網絡數據、平行數據和高質量數據集。
- 出色性能:在機器翻譯和通用基準測試中表現優異,與同類模型相比具有競爭力。
📦 安裝指南
文檔未提及具體安裝步驟,可參考 transformers
庫的官方文檔進行安裝。
💻 使用示例
基礎用法
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "utter-project/EuroLLM-1.7B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
text = "English: My name is EuroLLM. Portuguese:"
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
📚 詳細文檔
模型詳情
EuroLLM 項目旨在創建一套能夠理解和生成所有歐盟語言以及一些其他相關語言文本的大語言模型(LLM)。EuroLLM-1.7B 是一個具有 17 億參數的模型,在 4 萬億個標記上進行訓練,這些標記分佈在多種語言和多個數據源中,包括網絡數據、平行數據(英語 - 其他語言和其他語言 - 英語)和高質量數據集。EuroLLM-1.7B-Instruct 則在 EuroBlocks 上進行了進一步的指令微調,這是一個專注於通用指令遵循和機器翻譯的指令微調數據集。
模型描述
EuroLLM 使用標準的密集 Transformer 架構:
- 分組查詢注意力(GQA):使用 8 個鍵值頭,在推理時提高速度,同時保持下游任務的性能。
- 預層歸一化:採用 RMSNorm 進行預層歸一化,提高訓練穩定性,且計算速度更快。
- SwiGLU 激活函數:在下游任務中表現良好。
- 旋轉位置嵌入(RoPE):在每一層都使用 RoPE,在允許擴展上下文長度的同時,實現了良好的性能。
在預訓練過程中,使用了 Marenostrum 5 超級計算機的 256 個 Nvidia H100 GPU,以 3072 個序列的恆定批量大小(約 1200 萬個標記)訓練模型,使用 Adam 優化器和 BF16 精度。以下是模型超參數的總結:
屬性 |
詳情 |
序列長度 |
4096 |
層數 |
24 |
嵌入大小 |
2048 |
FFN 隱藏大小 |
5632 |
頭數 |
16 |
KV 頭數(GQA) |
8 |
激活函數 |
SwiGLU |
位置編碼 |
RoPE (\Theta=10,000) |
層歸一化 |
RMSNorm |
綁定嵌入 |
否 |
嵌入參數 |
2.62 億 |
LM 頭參數 |
2.62 億 |
非嵌入參數 |
11.33 億 |
總參數 |
16.57 億 |
結果
機器翻譯
在多個機器翻譯基準測試(FLORES-200、WMT-23 和 WMT-24)上對 EuroLLM-1.7B-Instruct 進行了評估,並與 Gemma-2B 和 Gemma-7B(也在 EuroBlocks 上進行了指令微調)進行了比較。結果表明,EuroLLM-1.7B 在機器翻譯方面明顯優於 Gemma-2B,並且與 Gemma-7B 具有競爭力。
FLORES-200
模型 |
AVG |
AVG en-xx |
AVG xx-en |
en-ar |
en-bg |
en-ca |
en-cs |
en-da |
en-de |
en-el |
en-es-latam |
en-et |
en-fi |
en-fr |
en-ga |
en-gl |
en-hi |
en-hr |
en-hu |
en-it |
en-ja |
en-ko |
en-lt |
en-lv |
en-mt |
en-nl |
en-no |
en-pl |
en-pt-br |
en-ro |
en-ru |
en-sk |
en-sl |
en-sv |
en-tr |
en-uk |
en-zh-cn |
ar-en |
bg-en |
ca-en |
cs-en |
da-en |
de-en |
el-en |
es-latam-en |
et-en |
fi-en |
fr-en |
ga-en |
gl-en |
hi-en |
hr-en |
hu-en |
it-en |
ja-en |
ko-en |
lt-en |
lv-en |
mt-en |
nl-en |
no-en |
pl-en |
pt-br-en |
ro-en |
ru-en |
sk-en |
sl-en |
sv-en |
tr-en |
uk-en |
zh-cn-en |
EuroLLM-1.7B-Instruct |
86.89 |
86.53 |
87.25 |
85.17 |
89.42 |
84.72 |
89.13 |
89.47 |
86.90 |
87.60 |
86.29 |
88.95 |
89.40 |
87.69 |
74.89 |
86.41 |
76.92 |
84.79 |
86.78 |
88.17 |
89.76 |
87.70 |
87.27 |
87.62 |
67.84 |
87.10 |
90.00 |
88.18 |
89.29 |
89.49 |
88.32 |
88.18 |
86.85 |
90.00 |
87.31 |
87.89 |
86.60 |
86.34 |
87.45 |
87.57 |
87.95 |
89.72 |
88.80 |
87.00 |
86.77 |
88.34 |
89.09 |
88.95 |
82.69 |
87.80 |
88.37 |
86.71 |
87.20 |
87.81 |
86.79 |
86.79 |
85.62 |
86.48 |
81.10 |
86.97 |
90.25 |
85.75 |
89.20 |
88.88 |
86.00 |
87.38 |
86.76 |
89.61 |
87.94 |
|
|
Gemma-2B-EuroBlocks |
81.59 |
78.97 |
84.21 |
76.68 |
82.73 |
83.14 |
81.63 |
84.63 |
83.15 |
79.42 |
84.05 |
72.58 |
79.73 |
84.97 |
40.50 |
82.13 |
67.79 |
80.53 |
78.36 |
84.90 |
87.43 |
82.98 |
72.29 |
68.68 |
58.55 |
83.13 |
86.15 |
82.78 |
86.79 |
83.14 |
84.61 |
78.18 |
75.37 |
80.89 |
78.38 |
84.38 |
84.35 |
83.88 |
85.77 |
86.85 |
86.31 |
88.24 |
88.12 |
84.79 |
84.90 |
82.51 |
86.32 |
88.29 |
54.78 |
86.53 |
85.83 |
85.41 |
85.18 |
86.77 |
85.78 |
84.99 |
81.65 |
81.78 |
67.27 |
85.92 |
89.07 |
84.14 |
88.07 |
87.17 |
85.23 |
85.09 |
83.95 |
87.57 |
84.77 |
|
|
Gemma-7B-EuroBlocks |
85.27 |
83.90 |
86.64 |
86.38 |
87.87 |
85.74 |
84.25 |
85.69 |
81.49 |
85.52 |
86.93 |
62.83 |
84.96 |
75.34 |
84.93 |
83.91 |
86.92 |
88.19 |
86.11 |
81.73 |
80.55 |
66.85 |
85.31 |
89.36 |
85.87 |
88.62 |
88.06 |
86.67 |
84.79 |
82.71 |
86.45 |
85.19 |
86.67 |
85.77 |
86.36 |
87.21 |
88.09 |
87.17 |
89.40 |
88.26 |
86.74 |
86.73 |
87.25 |
88.87 |
88.81 |
72.45 |
87.62 |
87.86 |
87.08 |
87.01 |
87.58 |
86.92 |
86.70 |
85.10 |
85.74 |
77.81 |
86.83 |
90.40 |
85.41 |
89.04 |
88.77 |
86.13 |
86.67 |
86.32 |
89.27 |
87.92 |
|
|
|
|
|
WMT-23
模型 |
AVG |
AVG en-xx |
AVG xx-en |
AVG xx-xx |
en-de |
en-cs |
en-uk |
en-ru |
en-zh-cn |
de-en |
uk-en |
ru-en |
zh-cn-en |
cs-uk |
EuroLLM-1.7B-Instruct |
82.91 |
83.20 |
81.77 |
86.82 |
81.56 |
85.23 |
81.30 |
82.47 |
83.61 |
85.03 |
84.06 |
85.25 |
81.31 |
78.83 |
Gemma-2B-EuroBlocks |
79.96 |
79.01 |
80.86 |
81.15 |
76.82 |
76.05 |
77.92 |
78.98 |
81.58 |
82.73 |
82.71 |
83.99 |
80.35 |
78.27 |
Gemma-7B-EuroBlocks |
82.76 |
82.26 |
82.70 |
85.98 |
81.37 |
82.42 |
81.54 |
82.18 |
82.90 |
83.17 |
84.29 |
85.70 |
82.46 |
79.73 |
WMT-24
模型 |
AVG |
AVG en-xx |
AVG xx-xx |
en-de |
en-es-latam |
en-cs |
en-ru |
en-uk |
en-ja |
en-zh-cn |
en-hi |
cs-uk |
ja-zh-cn |
EuroLLM-1.7B-Instruct |
79.32 |
79.32 |
79.34 |
79.42 |
80.67 |
80.55 |
78.65 |
80.12 |
82.96 |
80.60 |
71.59 |
83.48 |
75.20 |
Gemma-2B-EuroBlocks |
74.72 |
74.41 |
75.97 |
74.93 |
78.81 |
70.54 |
74.90 |
75.84 |
79.48 |
78.06 |
62.70 |
79.87 |
72.07 |
Gemma-7B-EuroBlocks |
78.67 |
78.34 |
80.00 |
78.88 |
80.47 |
78.55 |
78.55 |
80.12 |
80.55 |
78.90 |
70.71 |
84.33 |
75.66 |
通用基準測試
還將 EuroLLM-1.7B 與 TinyLlama-v1.1 和 Gemma-2B 在 3 個通用基準測試(Arc Challenge 和 Hellaswag)上進行了比較。對於非英語語言,使用了 Okapi 數據集。結果顯示,EuroLLM-1.7B 在 Hellaswag 上優於 TinyLlama-v1.1,與 Gemma-2B 相當,但在 Arc Challenge 上表現不如 Gemma-2B。這可能是由於 EuroLLM-1.7B 的參數數量較少(非嵌入參數為 11.33 億,而 Gemma-2B 為 19.81 億)。
Arc Challenge
模型 |
平均 |
英語 |
德語 |
西班牙語 |
法語 |
意大利語 |
葡萄牙語 |
中文 |
俄語 |
荷蘭語 |
阿拉伯語 |
瑞典語 |
印地語 |
匈牙利語 |
羅馬尼亞語 |
烏克蘭語 |
丹麥語 |
加泰羅尼亞語 |
EuroLLM-1.7B |
0.3496 |
0.4061 |
0.3464 |
0.3684 |
0.3627 |
0.3738 |
0.3855 |
0.3521 |
0.3208 |
0.3507 |
0.3045 |
0.3605 |
0.2928 |
0.3271 |
0.3488 |
0.3516 |
0.3513 |
0.3396 |
TinyLlama-v1.1 |
0.2650 |
0.3712 |
0.2524 |
0.2795 |
0.2883 |
0.2652 |
0.2906 |
0.2410 |
0.2669 |
0.2404 |
0.2310 |
0.2687 |
0.2354 |
0.2449 |
0.2476 |
0.2524 |
0.2494 |
0.2796 |
Gemma-2B |
0.3617 |
0.4846 |
0.3755 |
0.3940 |
0.4080 |
0.3687 |
0.3872 |
0.3726 |
0.3456 |
0.3328 |
0.3122 |
0.3519 |
0.2851 |
0.3039 |
0.3590 |
0.3601 |
0.3565 |
0.3516 |
Hellaswag
模型 |
平均 |
英語 |
德語 |
西班牙語 |
法語 |
意大利語 |
葡萄牙語 |
俄語 |
荷蘭語 |
阿拉伯語 |
瑞典語 |
印地語 |
匈牙利語 |
羅馬尼亞語 |
烏克蘭語 |
丹麥語 |
加泰羅尼亞語 |
EuroLLM-1.7B |
0.4744 |
0.4760 |
0.6057 |
0.4793 |
0.5337 |
0.5298 |
0.5085 |
0.5224 |
0.4654 |
0.4949 |
0.4104 |
0.4800 |
0.3655 |
0.4097 |
0.4606 |
0.436 |
0.4702 |
TinyLlama-v1.1 |
0.3674 |
0.6248 |
0.3650 |
0.4137 |
0.4010 |
0.3780 |
0.3892 |
0.3494 |
0.3588 |
0.2880 |
0.3561 |
0.2841 |
0.3073 |
0.3267 |
0.3349 |
0.3408 |
0.3613 |
Gemma-2B |
0.4666 |
0.7165 |
0.4756 |
0.5414 |
0.5180 |
0.4841 |
0.5081 |
0.4664 |
0.4655 |
0.3868 |
0.4383 |
0.3413 |
0.3710 |
0.4316 |
0.4291 |
0.4471 |
0.4448 |
🔧 技術細節
文檔中關於模型架構和訓練的技術細節已在“模型描述”部分詳細說明。
📄 許可證
本模型採用 Apache License 2.0 許可證。
⚠️ 重要提示
EuroLLM-1.7B 未針對人類偏好進行對齊,因此模型可能會生成有問題的輸出(例如,幻覺、有害內容或虛假陳述)。
論文
論文鏈接:EuroLLM: Multilingual Language Models for Europe