🚀 Granite-3.1-1B-A400M-Base
モデル概要:
Granite-3.1-1B-A400M-Baseは、段階的トレーニング戦略を用いて、Granite-3.0-1B-A400M-Baseのコンテキスト長を4Kから128Kに拡張します。この戦略では、サポートするコンテキスト長を段階的に増やし、RoPE thetaを調整しながら、最終的にモデルが目的の128Kの長さに適応するまでトレーニングを行います。この長文脈事前学習段階では、約500Bトークンを使用してトレーニングを行いました。
サポート言語:
英語、ドイツ語、スペイン語、フランス語、日本語、ポルトガル語、アラビア語、チェコ語、イタリア語、韓国語、オランダ語、中国語です。ユーザーはこれら12言語以外の言語に対して、Granite 3.1モデルを微調整することができます。
想定用途:
大規模言語モデル(LLM)の代表的なテキスト生成用途には、要約、テキスト分類、抽出、質問応答などがあります。すべてのGranite Baseモデルは、様々なドメインの大量のデータでトレーニングされているため、これらのタスクを処理することができます。さらに、特定のアプリケーションシナリオ向けの専用モデルを作成するためのベースラインとしても利用できます。
🚀 クイックスタート
これはGranite-3.1-1B-A400M-Baseモデルの使用方法の簡単な例です。
📦 インストール
以下のライブラリをインストールします。
pip install torch torchvision torchaudio
pip install accelerate
pip install transformers
💻 使用例
次に、以下のコードスニペットをコピーして例を実行します。
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "auto"
model_path = "ibm-granite/granite-3.1-1b-a400m-base"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
input_text = "Where is the Thomas J. Watson Research Center located?"
input_tokens = tokenizer(input_text, return_tensors="pt").to(device)
output = model.generate(**input_tokens,
max_length=4000)
output = tokenizer.batch_decode(output)
print(output)
📚 ドキュメント
評価結果
HuggingFace Open LLM Leaderboard V1
モデル |
ARC-Challenge |
Hellaswag |
MMLU |
TruthfulQA |
Winogrande |
GSM8K |
平均 |
Granite-3.1-8B-Base |
63.99 |
83.27 |
63.45 |
51.29 |
78.92 |
60.19 |
66.85 |
Granite-3.1-2B-Base |
53.58 |
77.67 |
52.86 |
39.02 |
72.84 |
47.99 |
57.32 |
Granite-3.1-3B-A800M-Base |
50.76 |
74.45 |
48.31 |
39.91 |
69.29 |
40.56 |
53.88 |
Granite-3.1-1B-A400M-Base |
39.42 |
66.13 |
26.53 |
37.67 |
2.03 |
18.87 |
31.78 |
HuggingFace Open LLM Leaderboard V2
モデル |
IFEval |
BBH |
MATH Lvl 5 |
GPQA |
MUSR |
MMLU-Pro |
平均 |
Granite-3.1-8B-Base |
42.21 |
26.02 |
9.52 |
9.51 |
8.36 |
24.8 |
20.07 |
Granite-3.1-2B-Base |
35.22 |
16.84 |
5.59 |
3.69 |
3.9 |
13.9 |
13.19 |
Granite-3.1-3B-A800M-Base |
29.96 |
11.91 |
4 |
3.69 |
1.11 |
8.81 |
9.91 |
Granite-3.1-1B-A400M-Base |
25.19 |
6.43 |
2.19 |
0.22 |
1.76 |
1.55 |
6.22 |
モデルアーキテクチャ
Granite-3.1-1B-A400M-Baseは、デコーダーのみの疎なエキスパートミックス(MoE)トランスフォーマーアーキテクチャに基づいています。このアーキテクチャの核心的なコンポーネントは、細粒度エキスパート、ドロップレストークンルーティング、負荷分散損失です。
モデル |
2B Dense |
8B Dense |
1B MoE |
3B MoE |
埋め込みサイズ |
2048 |
4096 |
1024 |
1536 |
レイヤー数 |
40 |
40 |
24 |
32 |
アテンションヘッドサイズ |
64 |
128 |
64 |
64 |
アテンションヘッド数 |
32 |
32 |
16 |
24 |
KVヘッド数 |
8 |
8 |
8 |
8 |
MLP隠れ層サイズ |
8192 |
12800 |
512 |
512 |
MLP活性化関数 |
SwiGLU |
SwiGLU |
SwiGLU |
SwiGLU |
エキスパート数 |
— |
— |
32 |
40 |
MoE TopK |
— |
— |
8 |
8 |
初期化標準偏差 |
0.1 |
0.1 |
0.1 |
0.1 |
シーケンス長 |
128K |
128K |
128K |
128K |
位置埋め込み |
RoPE |
RoPE |
RoPE |
RoPE |
パラメータ数 |
2.5B |
8.1B |
1.3B |
3.3B |
アクティブパラメータ数 |
2.5B |
8.1B |
400M |
800M |
トレーニングトークン数 |
12T |
12T |
10T |
10T |
トレーニングデータ
このモデルは、オープンソースと独自データの混合データを用いて、2段階のトレーニング戦略に従ってトレーニングされています。
- 第1段階のデータ: 第1段階のデータは、ウェブ、コード、学術資料、書籍、数学データなど、様々なドメインから収集されています。
- 第2段階のデータ: 第2段階のデータは、同じドメインから選りすぐられた高品質データに加え、多言語データと命令データを含んでいます。この第2段階のトレーニングの目的は、特定のタスクに対するモデルの性能を向上させることです。
- 第3段階のデータ: 第3段階のデータは、元の第2段階の事前学習データに、回答の前に関連する段落を引用する形式のQA/要約ペアの合成長文脈データを追加したものです。
データセットの詳細な出典については、Granite 3.0 Technical Report、Granite 3.1 Technical Report (近日公開)、およびAccompanying Author Listを参照してください。
インフラストラクチャ
Granite 3.1言語モデルは、NVIDIA H100 GPUを搭載したIBMのスーパーコンピューティングクラスターであるBlue Velaを使用してトレーニングされています。このクラスターは、数千のGPUでモデルをトレーニングするためのスケーラブルで効率的なインフラストラクチャを提供します。
倫理的配慮と制限事項
大規模言語モデルの使用には、バイアスと公平性、誤情報、自律的な意思決定など、人々が認識すべきリスクと倫理的配慮が伴います。Granite-3.1-1B-A400M-Baseモデルも例外ではありません。このモデルは複数の生成AIタスクに適していますが、安全性調整が行われていないため、問題のある出力を生成する可能性があります。また、小規模モデルが、サイズが小さく記憶容量が限られているため、生成シナリオでトレーニングデータセットからテキストをそのままコピーする幻覚現象により影響を受けやすいかどうかはまだ不明です。この点は現在活発な研究分野であり、今後より厳密な調査が行われることが期待されます。
📄 ライセンス
このモデルはApache 2.0ライセンスの下で提供されています。