モデル概要
モデル特徴
モデル能力
使用事例
🚀 Llama 3.1 Swallow - Llamaで構築された大規模言語モデル
Llama 3.1 Swallowは、大規模言語モデル(8B、70B)のシリーズです。これらのモデルは、Meta Llama 3.1 モデルを基に継続的事前学習を行って構築されています。Llama 3.1 Swallowは、元のLlama 3.1の英語能力を維持しながら、日本語能力を強化しています。継続的事前学習には、大規模な日本語ウェブコーパス(Swallow Corpus Version 2)、日本語と英語のウィキペディア記事、数学やコーディングの内容などからサンプリングされた約2000億トークンを使用しています(ベースモデルの「Training Datasets」セクションを参照)。命令調整済みモデル(Instruct)は、日本語用に特別に構築された合成データを使って教師あり微調整(SFT)を行って構築されています。他のモデルバリアントについては、「Swallow Model Index」セクションを参照してください。
注意: Llama-3.1-Swallow-70B-Instruct-v0.3 は、Llama-3.1-Swallow-70B-v0.1 を命令データセットで調整したバージョンです。
🚀 クイックスタート
インストール
pip install vllm
使用例
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
model_name = "tokyotech-llm/Llama-3.1-Swallow-70B-Instruct-v0.3"
tokenizer = AutoTokenizer.from_pretrained(model_name)
llm = LLM(
model=model_name,
tensor_parallel_size=4,
)
sampling_params = SamplingParams(
temperature=0.6, top_p=0.9, max_tokens=512, stop="<|eot_id|>"
)
message = [
{"role": "system", "content": "あなたは誠実で優秀な日本人のアシスタントです。"},
{
"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)
✨ 主な機能
- 日本語能力の強化:元のLlama 3.1の英語能力を維持しながら、日本語能力を強化しています。
- 命令調整済みモデル:日本語用に特別に構築された合成データを使って教師あり微調整(SFT)を行っています。
📦 インストール
pip install vllm
💻 使用例
基本的な使用法
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
model_name = "tokyotech-llm/Llama-3.1-Swallow-70B-Instruct-v0.3"
tokenizer = AutoTokenizer.from_pretrained(model_name)
llm = LLM(
model=model_name,
tensor_parallel_size=4,
)
sampling_params = SamplingParams(
temperature=0.6, top_p=0.9, max_tokens=512, stop="<|eot_id|>"
)
message = [
{"role": "system", "content": "あなたは誠実で優秀な日本人のアシスタントです。"},
{
"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)
📚 ドキュメント
リリース履歴
- 2024年12月30日:Llama-3.1-Swallow-70B-Instruct-v0.3 をリリース。
- 2024年12月23日:Llama-3.1-Swallow-8B-Instruct-v0.3 をリリース。
- 2024年11月11日:Llama-3.1-Swallow-8B-v0.2 と Llama-3.1-Swallow-8B-Instruct-v0.2 をリリース。
- 2024年10月8日:Llama-3.1-Swallow-8B-v0.1、Llama-3.1-Swallow-8B-Instruct-v0.1、Llama-3.1-Swallow-70B-v0.1、および Llama-3.1-Swallow-70B-Instruct-v0.1 をリリース。
主要な更新点
このリリースでは、Llama 3.1 Swallowの会話能力を強化しています。更新されたモデルであるLlama-3.1-Swallow-70B-Instruct-v0.3は、ユーザーの命令と会話履歴に基づいて、有益で詳細な応答を生成します。Llama-3.1-Swallow-70B-Instruct-v0.3は、その前身である Llama-3.1-Swallow-70B-Instruct-v0.1 よりも、日本語のMT-Benchで5.68ポイント上回っています。
Swallowモデルインデックス
モデル | Llama-3.1-Swallow v0.1 | Llama-3.1-Swallow-Instruct v0.1 | Llama-3.1-Swallow v0.2 | Llama-3.1-Swallow-Instruct v0.2 | Llama-3.1-Swallow-Instruct v0.3 |
---|---|---|---|---|---|
8B | リンク | リンク | リンク | リンク | リンク |
70B | リンク | リンク | リンク |
ウェブサイト https://swallow-llm.github.io/ では、Swallowチームによって開発された大規模言語モデルを提供しています。
モデルの詳細
属性 | 详情 |
---|---|
モデルタイプ | モデルアーキテクチャの詳細については、Llama 3.1 MODEL_CARD を参照してください。 |
言語 | 日本語、英語 |
ライブラリ | Megatron-LM |
トークナイザー | トークナイザーの詳細については、Llama 3.1 blog を参照してください。 |
連絡先 | swallow[at]nlp.c.titech.ac.jp |
モデルの性能
MT-Bench JA
モデル | コーディング | 抽出 | 人文科学 | 数学 | 推論 | ロールプレイ | STEM | 執筆 | JMTAvg |
---|---|---|---|---|---|---|---|---|---|
Llama 3 Youko 70B Instruct | 0.6632 | 0.8387 | 0.8108 | 0.4655 | 0.7013 | 0.7778 | 0.7544 | 0.7662 | 0.7222 |
Llama-3.1-70B-Japanese-Instruct-2407 | 0.6267 | 0.7525 | 0.7938 | 0.5750 | 0.5590 | 0.7725 | 0.7240 | 0.7180 | 0.6902 |
Llama 3 heron brain 70B v0.3 | 0.3762 | 0.7892 | 0.7274 | 0.5589 | 0.5070 | 0.6662 | 0.6880 | 0.6996 | 0.6266 |
Llama 3 70B Instruct | 0.5969 | 0.8410 | 0.7120 | 0.4481 | 0.4884 | 0.7117 | 0.6510 | 0.6900 | 0.6424 |
Llama 3.1 70B Instruct | 0.5252 | 0.7846 | 0.7086 | 0.5063 | 0.6979 | 0.6888 | 0.6402 | 0.6653 | 0.6521 |
Llama 3.3 70B Instruct | 0.5193 | 0.7750 | 0.7213 | 0.5228 | 0.6721 | 0.7407 | 0.6386 | 0.7043 | 0.6618 |
Llama 3.1 Swallow 70B Instruct v0.1 | 0.5676 | 0.7859 | 0.7490 | 0.5437 | 0.6383 | 0.6870 | 0.6121 | 0.6540 | 0.6547 |
Llama 3.1 Swallow 70B Instruct v0.3 | 0.6063 | 0.8052 | 0.8410 | 0.5591 | 0.6280 | 0.7774 | 0.6920 | 0.7832 | 0.7115 |
Qwen2-72B-Instruct | 0.5699 | 0.7858 | 0.8222 | 0.5096 | 0.7032 | 0.7963 | 0.7728 | 0.8223 | 0.7228 |
Qwen2.5-72B-Instruct | 0.7060 | 0.7866 | 0.8122 | 0.6968 | 0.6536 | 0.8301 | 0.8060 | 0.7841 | 0.7594 |
GPT-3.5 (gpt-3.5-turbo-0125) | 0.6851 | 0.7641 | 0.7414 | 0.5522 | 0.5128 | 0.7104 | 0.6266 | 0.7361 | 0.6661 |
GPT-4o (gpt-4o-2024-05-13) | 0.7296 | 0.8540 | 0.8646 | 0.6641 | 0.6661 | 0.8274 | 0.8184 | 0.8085 | 0.7791 |
日本語タスク
モデル | 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 | ||
Llama 3 Youko 70B Instruct | 0.9526 | 0.6252 | 0.5853 | 0.9215 | 0.1983 | 0.7400 | 0.2633 | 0.2245 | 0.7170 | 0.6098 | 0.5838 |
Llama-3.1-70B-Japanese-Instruct-2407 | 0.9562 | 0.6466 | 0.6602 | 0.9187 | 0.1564 | 0.7480 | 0.2901 | 0.2410 | 0.7227 | 0.6274 | 0.5967 |
Llama 3 heron brain 70B v0.3 | 0.9660 | 0.6643 | 0.6817 | 0.9221 | 0.2611 | 0.7720 | 0.3093 | 0.2578 | 0.7077 | 0.6079 | 0.6150 |
Llama 3 70B Instruct | 0.9419 | 0.6114 | 0.5506 | 0.9164 | 0.1912 | 0.7200 | 0.2708 | 0.2350 | 0.6789 | 0.6610 | 0.5777 |
Llama 3.1 70B Instruct | 0.9482 | 0.6246 | 0.5781 | 0.9201 | 0.1772 | 0.7440 | 0.2805 | 0.2472 | 0.7323 | 0.6933 | 0.5945 |
Llama 3.3 70B Instruct | 0.9410 | 0.6399 | 0.5728 | 0.8927 | 0.1787 | 0.7840 | 0.2779 | 0.2429 | 0.7340 | 0.7439 | 0.6008 |
Llama 3.1 Swallow 70B Instruct v0.1 | 0.9598 | 0.6192 | 0.6605 | 0.9235 | 0.1938 | 0.7760 | 0.3123 | 0.2593 | 0.7117 | 0.4713 | 0.5887 |
Llama 3.1 Swallow 70B Instruct v0.3 | 0.9651 | 0.6322 | 0.6532 | 0.9107 | 0.1951 | 0.7520 | 0.3053 | 0.2580 | 0.6896 | 0.6006 | 0.5962 |
Qwen2-72B-Instruct | 0.9634 | 0.6268 | 0.5418 | 0.9210 | 0.1644 | 0.7840 | 0.2592 | 0.2327 | 0.7713 | 0.6909 | 0.5955 |
Qwen2.5-72B-Instruct | 0.9696 | 0.5699 | 0.5811 | 0.7381 | 0.1706 | 0.8360 | 0.2269 | 0.2179 | 0.7899 | 0.6256 | 0.5726 |
英語タスク
モデル | OpenBookQA | TriviaQA | HellaSWAG | SQuAD2.0 | XWINO | MMLU | GSM8K | BBH | HumanEval | En Avg |
---|---|---|---|---|---|---|---|---|---|---|
4-shot | 4-shot | 4-shot | 4-shot | 4-shot | 5-shot | 4-shot | 3-shot | 0-shot | ||
Acc | EM acc | Acc | EM acc | Acc | Acc | EM acc | CoT EM Acc | pass@1 | ||
Llama 3 Youko 70B Instruct | 0.4500 | 0.7973 | 0.6863 | 0.3914 | 0.9153 | 0.8055 | 0.8923 | 0.7814 | 0.6598 | 0.7088 |
Llama-3.1-70B-Japanese-Instruct-2407 | 0.4220 | 0.8104 | 0.6481 | 0.3744 | 0.9170 | 0.8071 | 0.8893 | 0.8228 | 0.7463 | 0.7153 |
Llama 3 heron brain 70B v0.3 | 0.4460 | 0.8107 | 0.6682 | 0.4085 | 0.9174 | 0.7898 | 0.8772 | 0.7586 | 0.6713 | 0.7053 |
Llama 3 70B Instruct | 0.4400 | 0.7999 | 0.6552 | 0.4024 | 0.9127 | 0.7992 | 0.9052 | 0.8326 | 0.7555 | 0.7225 |
Llama 3.1 70B Instruct | 0.4300 | 0.8212 | 0.6621 | 0.3921 | 0.9157 | 0.8213 | 0.8764 | 0.8390 | 0.7915 | 0.7277 |
Llama 3.3 70B Instruct | 0.4260 | 0.8172 | 0.6674 | 0.3933 | 0.9174 | 0.8240 | 0.8901 | 0.8529 | 0.8341 | 0.7358 |
Llama 3.1 Swallow 70B Instruct v0.1 | 0.4520 | 0.8148 | 0.6834 | 0.4012 | 0.9157 | 0.7855 | 0.8886 | 0.8486 | 0.5823 | 0.7080 |
Llama 3.1 Swallow 70B Instruct v0.3 | 0.4540 | 0.8245 | 0.6915 | 0.4082 | 0.9187 | 0.7770 | 0.8726 | 0.8148 | 0.6378 | 0.7110 |
Qwen2-72B-Instruct | 0.4360 | 0.7588 | 0.6857 | 0.3913 | 0.9110 | 0.8391 | 0.8499 | 0.2436 | 0.6939 | 0.6455 |
Qwen2.5-72B-Instruct | 0.4540 | 0.6764 | 0.7064 | 0.3550 | 0.8895 | 0.8478 | 0.9113 | 0.4027 | 0.6165 | 0.6511 |
評価ベンチマーク
MT-Bench JA
Japanese MT-Bench を使用して、以下の設定でマルチターン対話能力を評価しました。
- 実装: FastChat [Zheng+, 2023] (コミット #e86e70d0)
- 質問: Nejumi LLM-Leaderboard NEO, mtbench_ja_question_v3
- 参照回答: Nejumi LLM-Leaderboard NEO, mtbench_ja_referenceanswer_v1
- 評価用プロンプト: Nejumi LLM-Leaderboard NEO, mtbench_ja_prompt_v1
- 評価者:
gpt-4-1106-preview
- スコアリング: 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])
- 推論 (BBH (BIG-Bench-Hard) [Suzgun et al., 2023])
- 学術試験 (MMLU [Hendrycks et al., 2021])
- コード生成 (HumanEval [Chen et al., 2021])
トレーニングデータセット
命令調整
命令調整には、以下のデータセットを使用しました。
- 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以下の会話は棄却されました。
🔧 技術詳細
- モデルアーキテクチャの詳細については、Llama 3.1 MODEL_CARD を参照してください。
- トークナイザーの詳細については、Llama 3.1 blog を参照してください。
📄 ライセンス
META LLAMA 3.1 COMMUNITY LICENSE および Gemma Terms of Use
著者
チームメンバーは以下の通りです。
- 東京工業大学岡崎研究室 からのメンバー:
- 東京工業大学横田研究室 からのメンバー:
- 国立研究開発法人産業技術総合研究所 人工知能研究センター からのメンバー:
引用方法
当研究が役立った場合は、以下の論文を引用していただけると幸いです。
@inproceedings{Fujii:COLM2024,
title={Continual Pre-Training for Cross-Lingual LLM Adaptation:
Enhancing Japanese Language Capabilities},
author={Kazuki Fujii and Taishi Nakamura and Mengsay Loem and Hiroki
Iida and Masanari Ohi and Kakeru Hattori and Hirai Shota and Sakae
Mizuki and Rio Yokota and Naoaki Okazaki},
booktitle="Proceedings of the First Conference on Language Modeling",
series={COLM},
pages="(to appear)",
year="2024",
month=oct,
address={University of Pennsylvania, USA},
}
@inproceedings{Okazaki:COLM2024,
title={Building a Large Japanese Web Corpus for Large Language Models},
author={Naoaki Okazaki and Kakeru Hattori and Hirai Shota and Hiroki
Iida and Masanari Ohi and Kazuki Fujii and Taishi Nakamura and Mengsay
Loem and Rio Yokota and Sakae Mizuki},
booktitle="Proceedings of the First Conference on Language Modeling",
series={COLM},
pages="(to appear)",
year="2024",
month=oct,
address={University of Pennsylvania, USA},
}
@misc{ma:arxiv2025,
title={Building Instruction-Tuning Datasets from Human-Written Instructions with Open-Weight Large Language Models},
author={Youmi Ma and Sakae Mizuki and Kazuki Fujii and Taishi Nakamura and Masanari Ohi and Hinari Shimada and Taihei Shiotani and Koshiro Saito and Koki Maeda and Kakeru Hattori and Takumi Okamoto and Shigeki Ishida and Rio Yokota and Hiroya Takamura and Naoaki Okazaki},
year={2025},
eprint={2503.23714},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2503.23714},
}
参考文献
@misc{dubey2024llama3herdmodels,
title={The Llama 3 Herd of Models},
author={Abhimanyu Dubey and Abhinav Jauhri and Abhinav Pandey and Abhishek Kadian and Ahmad Al-Dahle and Aiesha Letman and Akhil Mathur and Alan Schelten and Amy Yang and Angela Fan et al.},
year={2024},
eprint={2407.21783},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2407.21783},
}



