モデル概要
モデル特徴
モデル能力
使用事例
🚀 Gemma-2-Llama-Swallow
Gemma-2-Llama-Swallowシリーズは、gemma-2モデルを継続的に事前学習することで構築されました。Gemma 2 Swallowは、元のGemma 2の英語能力を維持しながら、日本語能力を強化しています。継続的な事前学習には、大規模な日本語ウェブコーパス(Swallowコーパスバージョン2)、日本語および英語のウィキペディア記事、数学やコーディングの内容などからサンプリングされた約2000億トークンを使用しています(ベースモデルの「Training Datasets」セクションを参照)。命令調整モデル(it)は、日本語用に特別に構築された合成データを使って教師あり微調整(SFT)を行うことで構築されました。他のモデルバリアントについては、「Swallow Model Index」セクションを参照してください。GemmaとLlamaを使用して構築されています。
🚀 クイックスタート
このセクションでは、Gemma-2-Llama-Swallowをすぐに使い始めるための手順を説明します。まずは必要なライブラリをインストールしましょう。
pip install vllm
次に、以下のPythonコードを使ってモデルをロードし、推論を行います。
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
model_name = "tokyotech-llm/Gemma-2-Llama-Swallow-27b-it-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_name)
llm = LLM(
model=model_name,
tensor_parallel_size=1,
)
sampling_params = SamplingParams(
temperature=0.6, top_p=0.9, max_tokens=512,
)
message = [
{
"role": "user",
"content": "日本の春から夏の移り変わりについて教えてください",
},
]
prompt = tokenizer.apply_chat_template(
message, tokenize=False, add_generation_prompt=True
)
output = llm.generate(prompt, sampling_params)
print(output[0].outputs[0].text)
✨ 主な機能
- 多言語対応:英語能力を維持しながら、日本語能力を強化しています。
- 継続的事前学習:大規模な日本語ウェブコーパスやウィキペディア記事などを使って継続的に事前学習されています。
- 命令調整モデル:日本語用に特別に構築された合成データを使って教師あり微調整が行われています。
📦 インストール
必要なライブラリをインストールするには、以下のコマンドを実行します。
pip install vllm
💻 使用例
基本的な使用法
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
model_name = "tokyotech-llm/Gemma-2-Llama-Swallow-27b-it-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_name)
llm = LLM(
model=model_name,
tensor_parallel_size=1,
)
sampling_params = SamplingParams(
temperature=0.6, top_p=0.9, max_tokens=512,
)
message = [
{
"role": "user",
"content": "日本の春から夏の移り変わりについて教えてください",
},
]
prompt = tokenizer.apply_chat_template(
message, tokenize=False, add_generation_prompt=True
)
output = llm.generate(prompt, sampling_params)
print(output[0].outputs[0].text)
📚 ドキュメント
Release History
- 2025年5月19日:Gemma-2-Llama-Swallow-2b-pt-v0.1、Gemma-2-Llama-Swallow-9b-pt-v0.1、Gemma-2-Llama-Swallow-27b-pt-v0.1、Gemma-2-Llama-Swallow-2b-it-v0.1、Gemma-2-Llama-Swallow-9b-it-v0.1、およびGemma-2-Llama-Swallow-27b-it-v0.1をリリースしました。
Swallow Model Index
モデル | gemma-2-swallow v0.1 | gemma-2-swallow-it v0.1 |
---|---|---|
2B | ü§ó HuggingFace | ü§ó HuggingFace |
9B | ü§ó HuggingFace | ü§ó HuggingFace |
27B | ü§ó HuggingFace | ü§ó HuggingFace |
ウェブサイトhttps://swallow-llm.github.io/では、Swallowチームによって開発された大規模言語モデルを提供しています。
Model Details
属性 | 详情 |
---|---|
モデルタイプ | モデルアーキテクチャの詳細については、Gemma 2 paperを参照してください。 |
言語 | 日本語、英語 |
ライブラリ | maxtext |
トークナイザー | トークナイザーの詳細については、Gemma 2 paperを参照してください。 |
連絡先 | swallow[at]nlp.c.titech.ac.jp |
Model Performance
MT-Bench JA
モデル | coding | extraction | humanities | math | reasoning | roleplay | stem | writing | JMT Avg |
---|---|---|---|---|---|---|---|---|---|
google/gemma-3-1b-it | 0.379 | 0.497 | 0.680 | 0.385 | 0.322 | 0.628 | 0.540 | 0.651 | 0.510 |
Qwen/Qwen2.5-1.5B-Instruct | 0.408 | 0.513 | 0.456 | 0.527 | 0.352 | 0.473 | 0.406 | 0.469 | 0.450 |
google/gemma-2-2b-it | 0.454 | 0.587 | 0.693 | 0.524 | 0.445 | 0.654 | 0.567 | 0.630 | 0.569 |
rinna/gemma-2-baku-2b-it | 0.470 | 0.625 | 0.810 | 0.414 | 0.382 | 0.713 | 0.609 | 0.697 | 0.590 |
google/gemma-2-2b-jpn-it | 0.467 | 0.488 | 0.741 | 0.379 | 0.406 | 0.660 | 0.589 | 0.672 | 0.550 |
tokyotech-llm/Gemma-2-Llama-Swallow-2b-it-v0.1 | 0.438 | 0.533 | 0.781 | 0.557 | 0.404 | 0.706 | 0.674 | 0.682 | 0.597 |
Qwen/Qwen2.5-3B-Instruct | 0.567 | 0.647 | 0.597 | 0.665 | 0.457 | 0.649 | 0.526 | 0.637 | 0.593 |
google/gemma-3-4b-it | 0.603 | 0.724 | 0.798 | 0.767 | 0.498 | 0.803 | 0.775 | 0.822 | 0.724 |
Qwen/Qwen2.5-7B-Instruct | 0.599 | 0.741 | 0.719 | 0.637 | 0.541 | 0.744 | 0.624 | 0.713 | 0.665 |
tokyotech-llm/Llama-3.1-Swallow-8B-Instruct-v0.3 | 0.562 | 0.756 | 0.869 | 0.610 | 0.512 | 0.783 | 0.748 | 0.803 | 0.705 |
google/gemma-2-9b-it | 0.652 | 0.765 | 0.857 | 0.614 | 0.673 | 0.811 | 0.713 | 0.800 | 0.736 |
tokyotech-llm/Gemma-2-Llama-Swallow-9b-it-v0.1 | 0.592 | 0.796 | 0.872 | 0.742 | 0.638 | 0.802 | 0.745 | 0.803 | 0.749 |
google/gemma-3-12b-it | 0.807 | 0.814 | 0.871 | 0.886 | 0.623 | 0.847 | 0.858 | 0.863 | 0.821 |
google/gemma-2-27b-it | 0.727 | 0.809 | 0.874 | 0.719 | 0.639 | 0.810 | 0.740 | 0.826 | 0.768 |
tokyotech-llm/Gemma-2-Llama-Swallow-27b-it-v0.1 | 0.618 | 0.839 | 0.873 | 0.741 | 0.608 | 0.814 | 0.739 | 0.836 | 0.759 |
google/gemma-3-27b-it | 0.804 | 0.927 | 0.879 | 0.876 | 0.774 | 0.846 | 0.848 | 0.882 | 0.855 |
Qwen/Qwen2.5-32B-Instruct | 0.724 | 0.885 | 0.816 | 0.918 | 0.726 | 0.834 | 0.763 | 0.808 | 0.809 |
日本語タスク
モデル | JCom. | JEMHopQA | NIILC | JSQuAD | XL-Sum | MGSM | WMT20-en-ja | WMT20-ja-en | JMMLU | JHumanEval | Ja Avg |
---|---|---|---|---|---|---|---|---|---|---|---|
4-shot | 4-shot | 4-shot | 4-shot | 1-shot | 4-shot | 4-shot | 4-shot | 5-shot | 0-shot | ||
EM acc | Char-F1 | Char-F1 | Char-F1 | ROUGE-2 | EM acc | BLEU | BLEU | EM acc | pass@1 | ||
google/gemma-3-1b-it | 0.526 | 0.330 | 0.237 | 0.700 | 0.113 | 0.088 | 0.166 | 0.115 | 0.332 | 0.245 | 0.285 |
Qwen/Qwen2.5-1.5B-Instruct | 0.812 | 0.276 | 0.241 | 0.847 | 0.128 | 0.292 | 0.147 | 0.119 | 0.447 | 0.242 | 0.355 |
google/gemma-2-2b-it | 0.862 | 0.348 | 0.315 | 0.879 | 0.117 | 0.252 | 0.207 | 0.183 | 0.437 | 0.321 | 0.392 |
rinna/gemma-2-baku-2b-it | 0.855 | 0.228 | 0.390 | 0.877 | 0.115 | 0.172 | 0.255 | 0.190 | 0.415 | 0.165 | 0.366 |
google/gemma-2-2b-jpn-it | 0.845 | 0.321 | 0.291 | 0.877 | 0.131 | 0.192 | 0.204 | 0.180 | 0.418 | 0.311 | 0.377 |
tokyotech-llm/Gemma-2-Llama-Swallow-2b-it-v0.1 | 0.862 | 0.367 | 0.483 | 0.881 | 0.145 | 0.288 | 0.258 | 0.200 | 0.485 | 0.267 | 0.424 |
Qwen/Qwen2.5-3B-Instruct | 0.876 | 0.304 | 0.293 | 0.866 | 0.144 | 0.228 | 0.198 | 0.168 | 0.536 | 0.474 | 0.409 |
google/gemma-3-4b-it | 0.818 | 0.444 | 0.404 | 0.801 | 0.134 | 0.332 | 0.217 | 0.169 | 0.477 | 0.365 | 0.416 |
Qwen/Qwen2.5-7B-Instruct | 0.915 | 0.429 | 0.391 | 0.891 | 0.168 | 0.632 | 0.211 | 0.192 | 0.623 | 0.532 | 0.498 |
tokyotech-llm/Llama-3.1-Swallow-8B-Instruct-v0.3 | 0.924 | 0.528 | 0.583 | 0.896 | 0.191 | 0.532 | 0.281 | 0.229 | 0.544 | 0.394 | 0.510 |
google/gemma-2-9b-it | 0.931 | 0.532 | 0.527 | 0.876 | 0.149 | 0.636 | 0.273 | 0.239 | 0.623 | 0.559 | 0.535 |
tokyotech-llm/Gemma-2-Llama-Swallow-9b-it-v0.1 | 0.946 | 0.606 | 0.643 | 0.852 | 0.170 | 0.624 | 0.296 | 0.238 | 0.639 | 0.446 | 0.546 |
google/gemma-3-12b-it | 0.935 | 0.566 | 0.542 | 0.808 | 0.148 | 0.724 | 0.289 | 0.239 | 0.645 | 0.637 | 0.553 |
google/gemma-2-27b-it | 0.956 | 0.541 | 0.576 | 0.883 | 0.166 | 0.704 | 0.290 | 0.249 | 0.670 | 0.638 | 0.567 |
tokyotech-llm/Gemma-2-Llama-Swallow-27b-it-v0.1 | 0.969 | 0.654 | 0.658 | 0.891 | 0.194 | 0.764 | 0.316 | 0.258 | 0.686 | 0.635 | 0.602 |
google/gemma-3-27b-it | 0.946 | 0.592 | 0.584 | 0.867 | 0.142 | 0.764 | 0.307 | 0.253 | 0.716 | 0.736 | 0.591 |
Qwen/Qwen2.5-32B-Instruct | 0.959 | 0.567 | 0.497 | 0.903 | 0.169 | 0.780 | 0.228 | 0.195 | 0.757 | 0.651 | 0.571 |
英語タスク
モデル | OpenBookQA | TriviaQA | HellaSWAG | SQuAD2.0 | XWINO | MMLU | GSM8K | MATH | BBH | HumanEval | En Avg |
---|---|---|---|---|---|---|---|---|---|---|---|
4-shot | 4-shot | 4-shot | 4-shot | 4-shot | 5-shot | 4-shot | 4-shot | 3-shot | 0-shot | ||
Acc | EM acc | Acc | EM acc | Acc | Acc | EM acc | CoT EM Acc | CoT EM Acc | pass@1 | ||
google/gemma-3-1b-it | 0.272 | 0.229 | 0.421 | 0.501 | 0.786 | 0.398 | 0.256 | 0.340 | 0.379 | 0.335 | 0.392 |
Qwen/Qwen2.5-1.5B-Instruct | 0.334 | 0.378 | 0.503 | 0.501 | 0.844 | 0.604 | 0.257 | 0.272 | 0.272 | 0.277 | 0.424 |
google/gemma-2-2b-it | 0.354 | 0.502 | 0.520 | 0.548 | 0.878 | 0.569 | 0.440 | 0.230 | 0.464 | 0.382 | 0.489 |
rinna/gemma-2-baku-2b-it | 0.342 | 0.416 | 0.511 | 0.522 | 0.871 | 0.526 | 0.027 | 0.174 | 0.063 | 0.158 | 0.361 |
google/gemma-2-2b-jpn-it | 0.370 | 0.503 | 0.532 | 0.539 | 0.879 | 0.557 | 0.351 | 0.132 | 0.451 | 0.392 | 0.471 |
tokyotech-llm/Gemma-2-Llama-Swallow-2b-it-v0.1 | 0.332 | 0.417 | 0.529 | 0.506 | 0.856 | 0.530 | 0.284 | 0.150 | 0.405 | 0.301 | 0.431 |
Qwen/Qwen2.5-3B-Instruct | 0.364 | 0.446 | 0.562 | 0.504 | 0.869 | 0.664 | 0.096 | 0.612 | 0.128 | 0.471 | 0.472 |
google/gemma-3-4b-it | 0.412 | 0.500 | 0.560 | 0.552 | 0.872 | 0.583 | 0.769 | 0.306 | 0.598 | 0.513 | 0.566 |
Qwen/Qwen2.5-7B-Instruct | 0.428 | 0.519 | 0.624 | 0.569 | 0.877 | 0.742 | 0.739 | 0.688 | 0.217 | 0.636 | 0.604 |
tokyotech-llm/Llama-3.1-Swallow-8B-Instruct-v0.3 | 0.396 | 0.629 | 0.593 | 0.570 | 0.884 | 0.629 | 0.622 | 0.266 | 0.626 | 0.445 | 0.566 |
google/gemma-2-9b-it | 0.432 | 0.658 | 0.605 | 0.659 | 0.904 | 0.723 | 0.779 | 0.394 | 0.719 | 0.613 | 0.649 |
tokyotech-llm/Gemma-2-Llama-Swallow-9b-it-v0.1 | 0.404 | 0.640 | 0.609 | 0.623 | 0.900 | 0.680 | 0.710 | 0.392 | 0.663 | 0.491 | 0.611 |
google/gemma-3-12b-it | 0.422 | 0.665 | 0.639 | 0.649 | 0.901 | 0.721 | 0.867 | 0.796 | 0.802 | 0.712 | 0.717 |
google/gemma-2-27b-it | 0.458 | 0.766 | 0.655 | 0.669 | 0.909 | 0.762 | 0.851 | 0.466 | 0.790 | 0.707 | 0.703 |
tokyotech-llm/Gemma-2-Llama-Swallow-27b-it-v0.1 | 0.424 | 0.747 | 0.663 | 0.664 | 0.911 | 0.749 | 0.821 | 0.442 | 0.772 | 0.682 | 0.687 |
google/gemma-3-27b-it | 0.418 | 0.744 | 0.661 | 0.687 | 0.906 | 0.774 | 0.916 | 0.852 | 0.793 | 0.829 | 0.758 |
Qwen/Qwen2.5-32B-Instruct | 0.424 | 0.534 | 0.671 | 0.536 | 0.893 | 0.834 | 0.581 | 0.802 | 0.017 | 0.589 | 0.588 |
Evaluation Benchmarks
評価スクリプトは、swallow-llm/swallow-evaluationにあり、タグはv202411
です。
MT-Bench JA
Japanese MT-Benchを使用して、以下の設定でマルチターン対話能力を評価しました。
- 実装: FastChat [Zheng+, 2023](コミット #e86e70d0)
- 質問: Nejumi LLM-Leaderboard NEO, mtbench_ja_question_v4
- 参照回答: Nejumi LLM-Leaderboard NEO, mtbench_ja_referenceanswer_v2の修正版で、誤った回答を検証して修正しています。この修正版は、swallow-evaluation Ver. 202411とともにリリースされています。
- 判定用プロンプト: Nejumi LLM-Leaderboard NEO, mtbench_ja_prompt_v1
- 判定:
gpt-4o-2024-08-06
- スコアリング: 0-1の範囲に正規化された絶対スケールで、5回の実行結果を平均しました。
日本語評価ベンチマーク
llm-jp-eval(v1.3.0)、JP Language Model Evaluation Harness(コミット #9b42d41)、およびCode Generation LM Evaluation Harness(コミット #0261c52)を使用しました。詳細は以下の通りです。
- 選択式質問応答(JCommonsenseQA [Kurihara et al., 2022])
- 自由記述式質問応答(JEMHopQA [Ishii et al., 2024])
- 自由記述式質問応答(NIILC [Èñ¢Ê†π, 2003])
- 機械読解(JSQuAD [Kurihara et al., 2022])
- 自動要約(XL-Sum [Hasan et al., 2021])
- 機械翻訳(WMT2020 ja-en [Barrault et al., 2020])
- 機械翻訳(WMT2020 en-ja [Barrault et al., 2020])
- 数学的推論(MGSM [Shi et al., 2023])
- 学術試験(JMMLU [Â∞π„Çâ, 2024])
- コード生成(JHumanEval [‰ΩêËó§„Çâ, 2024])
英語評価ベンチマーク
Language Model Evaluation Harness(v.0.4.2)とCode Generation LM Evaluation Harness(コミット #0261c52)を使用しました。詳細は以下の通りです。
- 選択式質問応答(OpenBookQA [Mihaylov et al., 2018])
- 自由記述式質問応答(TriviaQA [Joshi et al., 2017])
- 機械読解(SQuAD2 [Rajpurkar et al., 2018])
- 常識推論(XWINO [Tikhonov and Ryabinin, 2021])
- 自然言語推論(HellaSwag [Zellers et al., 2019])
- 数学的推論(GSM8K [Cobbe et al., 2021])
- 数学的推論(MATH [Hendrycks et al., 2022][Lightman et al., 2024])
- 推論(BBH (BIG-Bench-Hard) [Suzgun et al., 2023])
- 学術試験(MMLU [Hendrycks et al., 2021])
- コード生成(HumanEval [Chen et al., 2021])
Training Datasets
Instruction Tuning
命令調整には、以下のデータセットを使用しました。
- Gemma-2-LMSYS-Chat-1M-Synth
- lmsys-chat-1mから合成および派生されたマルチターンの日本語命令データセット[Zhang+, ICLR24]。
- 最初のターンのユーザー命令はDeepL(機械翻訳)を介して日本語に翻訳され、アシスタントの応答はgemma-2-27b-itを使用して生成されました。同じモデルであるgemma-2-27b-itが棄却サンプリングの判定器として使用されました(n=6)。
- 2回目のターンのユーザー命令と応答は、gemma-2-27b-itを使用して合成されました。同じモデルが2回目のターンの応答の品質を1-10の範囲でスコアリングします。スコアが9未満の2回目の応答とそれに対応する命令は棄却されます。個人情報(PII)を含む会話やテンプレートベースのユーザー命令は削除されました。重複する命令も削除されました。
- Swallow-Magpie-Ultra-v0.1
filtered-magpie-ultra-en
データセットの日本語バリアントで、gemma-2-27b-itによって日本語に翻訳されています。
- Swallow-Gemma-Magpie-v0.1
- gemma-2-27b-itによって生成された、ゼロから作成された日本語合成命令調整データセット。ユーザー命令は各トピックに特化したプロンプトで作成され、それらの命令に対するアシスタントの応答が生成されました。
- 会話は品質と長さに基づいてヒューリスティックにフィルタリングされました。その後、gemma-2-27b-itを使用して各会話の品質を1-10の範囲でスコアリングしました。スコアが7以下の会話は棄却されました。
🔧 技術詳細
モデルアーキテクチャの詳細については、Gemma 2 paperを参照してください。また、トークナイザーの詳細についても同じ論文を参照してください。
📄 ライセンス
このプロジェクトは、gemmaおよびllama3.3のライセンスの下で提供されています。
⚠️ 重要提示
ここで公開されているモデルは、まだ研究開発の初期段階にあり、出力が人間の意図や安全性の考慮に沿うように調整されていません。
💡 使用建议
- モデルの性能を評価する際には、提供されている評価ベンチマークを使用してください。
- 命令調整に使用されるデータセットの詳細を確認することで、モデルの特性をより深く理解できます。



