🚀 EuroLLM-9B-Instruct モデルカード
EuroLLM-9B-Instructは、欧州の言語を中心に幅広い言語に対応した大規模言語モデルです。このモデルは、多言語のテキスト理解と生成に特化しており、様々なタスクでの利用が期待されます。
🚀 クイックスタート
EuroLLM-9B-Instructを使用するには、以下のコードを実行します。
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "utter-project/EuroLLM-9B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
messages = [
{
"role": "system",
"content": "You are EuroLLM --- an AI assistant specialized in European languages that provides safe, educational and helpful answers.",
},
{
"role": "user", "content": "What is the capital of Portugal? How would you describe it?"
},
]
inputs = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(inputs, max_new_tokens=1024)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
✨ 主な機能
- 多言語対応:Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Irish, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovenian, Spanish, Swedish, Arabic, Catalan, Chinese, Galician, Hindi, Japanese, Korean, Norwegian, Russian, Turkish, およびUkrainianの言語に対応しています。
- 高性能:EU言語や英語のベンチマークで、他のモデルに比べて優れた性能を発揮します。
📦 インストール
transformers
ライブラリを使用して、モデルを簡単にインストールできます。
pip install transformers
📚 ドキュメント
モデルの詳細
EuroLLMプロジェクトは、すべての欧州連合の言語やその他の関連言語でテキストを理解し生成できるLLMのセットを作成することを目的としています。EuroLLM-9Bは、考慮される言語といくつかのデータソース(Webデータ、並列データ(en-xxおよびxx-en)、高品質データセット)にわたって分割された4兆トークンでトレーニングされた90億パラメータのモデルです。EuroLLM-9B-Instructは、一般的な命令追従と機械翻訳に焦点を当てた命令微調整データセットであるEuroBlocksでさらに命令微調整されました。
モデルの説明
EuroLLMは、標準的な密なTransformerアーキテクチャを使用しています。
- Grouped Query Attention (GQA):8つのキーバリューヘッドを使用しており、推論時の速度を向上させながら下流の性能を維持します。
- Pre-layer Normalization:トレーニングの安定性を向上させるために使用され、より高速なRMSNormを使用しています。
- SwiGLU Activation Function:下流のタスクで良好な結果をもたらすことが示されています。
- Rotary Positional Embeddings (RoPE):すべてのレイヤーで使用されており、コンテキスト長の拡張を可能にしながら良好な性能をもたらします。
トレーニングには、Marenostrum 5スーパーコンピュータの400台のNvidia H100 GPUを使用し、一定のバッチサイズ2,800シーケンス(約1200万トークンに相当)で、AdamオプティマイザとBF16精度を使用してモデルをトレーニングしました。
パラメータ |
詳細 |
シーケンス長 |
4,096 |
レイヤー数 |
42 |
埋め込みサイズ |
4,096 |
FFN隠れサイズ |
12,288 |
ヘッド数 |
32 |
KVヘッド数 (GQA) |
8 |
活性化関数 |
SwiGLU |
位置エンコーディング |
RoPE (\Theta=10,000) |
レイヤー正規化 |
RMSNorm |
結合埋め込み |
いいえ |
埋め込みパラメータ |
0.524B |
LMヘッドパラメータ |
0.524B |
非埋め込みパラメータ |
8.105B |
総パラメータ |
9.154B |
🔧 技術詳細
EU言語の結果
表1:多言語ベンチマークでのオープンウェイトLLMの比較。ボルダカウントは、モデルの平均ランキングに対応しています(Colombo et al., 2022を参照)。Arc-challenge、Hellaswag、およびMMLUには、11の言語を含むOkapiデータセット(Lai et al., 2023)を使用しています。MMLU-ProおよびMUSRには、英語版をTower(Alves et al., 2024)で6つのEU言語に翻訳しています。
* 事前学習モデルの公開バージョンがないため、事後学習バージョンを使用して評価しています。
表1の結果は、EuroLLM-9Bが多言語タスクで他の欧州開発のモデルに比べて優れた性能を発揮していることを示しています(ボルダカウント1.0で示されています)。また、非欧州のモデルとも強い競争力を持ち、Gemma-2-9Bと同等の結果を達成し、ほとんどのベンチマークで他のモデルを上回っています。
英語の結果
表2:英語の一般的なベンチマークでのオープンウェイトLLMの比較。
* 事前学習モデルの公開バージョンがないため、事後学習バージョンを使用して評価しています。
表2の結果は、EuroLLMが英語のタスクで強い性能を発揮していることを示しています。ほとんどの欧州開発のモデルを上回り、Mistral-7Bと同等の性能を達成しています(同じボルダカウントを獲得しています)。
📄 ライセンス
このモデルは、Apache License 2.0の下で提供されています。
⚠️ 重要提示
EuroLLM-9Bは人間の嗜好にアラインされていないため、問題のある出力(幻覚、有害な内容、または誤った声明など)を生成する可能性があります。