モデル概要
モデル特徴
モデル能力
使用事例
🚀 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億トークンを使用しています(ベースモデルのトレーニングデータセットのセクションを参照)。命令調整されたモデル(Instruct)は、日本語用に特別に構築された合成データで教師あり微調整(SFT)することで構築されています。他のモデルバリアントについては、Swallow Model Indexセクションを参照してください。
注意: Llama-3.1-Swallow-8B-Instruct-v0.3モデルは、meta-llama/Llama-3.1-8B-Instructから継続的に事前学習され、その後、独自の命令データセットで命令調整されています。
🚀 クイックスタート
インストール
pip install vllm
使用例
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
model_name = "tokyotech-llm/Llama-3.1-Swallow-8B-Instruct-v0.3"
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, 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の英語能力を維持しながら、日本語能力を強化。
- 最新バージョンのLlama-3.1-Swallow-8B-Instruct-v0.3は、ユーザーの命令と会話履歴に基づいて、有益で詳細な応答を生成。
- パラメータが80億以下のすべてのオープンソースの大規模言語モデルの中で、日本語のMT-Benchで最先端の性能を発揮。
📦 インストール
pip install vllm
💻 使用例
基本的な使用法
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
model_name = "tokyotech-llm/Llama-3.1-Swallow-8B-Instruct-v0.3"
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, 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月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月08日: 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-8B-Instruct-v0.3は、ユーザーの命令と会話履歴に基づいて、有益で詳細な応答を生成します。パラメータが80億以下のすべてのオープンソースの大規模言語モデルの中で、Llama-3.1-Swallow-8B-Instruct-v0.3は、日本語のMT-Benchで最先端の性能を発揮し、その前身であるLlama-3.1-Swallow-8B-Instruct-v0.2を8.4ポイント上回っています。
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 |
---|---|---|---|---|---|---|---|---|---|
RakutenAI-7B-chat | 0.2475 | 0.3522 | 0.4692 | 0.2140 | 0.3926 | 0.4427 | 0.3977 | 0.4434 | 0.3699 |
Qwen2-7B-Instruct | 0.4635 | 0.6909 | 0.6857 | 0.5970 | 0.5042 | 0.6667 | 0.5353 | 0.6808 | 0.6030 |
Qwen2.5-7B-Instruct | 0.5111 | 0.7489 | 0.6913 | 0.5742 | 0.4851 | 0.6810 | 0.5350 | 0.6810 | 0.6134 |
Tanuki-8B-dpo-v1.0 | 0.3019 | 0.4772 | 0.5658 | 0.4129 | 0.3590 | 0.5120 | 0.4770 | 0.6159 | 0.4652 |
Llama 3 8B Instruct | 0.3744 | 0.6876 | 0.6225 | 0.2070 | 0.5032 | 0.5248 | 0.5326 | 0.4884 | 0.4926 |
Llama 3.1 8B Instruct | 0.3234 | 0.7362 | 0.4973 | 0.4787 | 0.3210 | 0.4670 | 0.4656 | 0.4314 | 0.4651 |
Llama 3 Youko 8B Instruct | 0.2950 | 0.7332 | 0.7125 | 0.2533 | 0.4987 | 0.6514 | 0.5438 | 0.7091 | 0.5496 |
Llama-3-ELYZA-JP-8B | 0.2908 | 0.6421 | 0.6406 | 0.3088 | 0.5500 | 0.6740 | 0.5251 | 0.6744 | 0.5382 |
Llama 3 heron brain 8B v0.3 | 0.2929 | 0.5635 | 0.6241 | 0.2135 | 0.4582 | 0.5354 | 0.5273 | 0.5099 | 0.4656 |
Llama 3 Swallow 8B Instruct | 0.3547 | 0.6508 | 0.5371 | 0.2718 | 0.4007 | 0.5493 | 0.4752 | 0.5730 | 0.4766 |
Llama 3.1 Swallow 8B Instruct v0.1 | 0.3132 | 0.7734 | 0.6645 | 0.3880 | 0.5230 | 0.5711 | 0.4953 | 0.5330 | 0.5327 |
Llama 3.1 Swallow 8B Instruct v0.2 | 0.4307 | 0.7089 | 0.6937 | 0.3881 | 0.5140 | 0.6277 | 0.5253 | 0.5787 | 0.5584 |
Llama 3.1 Swallow 8B Instruct v0.3 | 0.4849 | 0.6845 | 0.8180 | 0.4817 | 0.5240 | 0.7370 | 0.6473 | 0.7615 | 0.6424 |
日本語タスク
モデル | 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 | ||
RakutenAI-7B-chat | 0.9035 | 0.2600 | 0.4619 | 0.8647 | 0.1339 | 0.2120 | 0.2667 | 0.1966 | 0.4504 | 0.2299 | 0.3980 |
Qwen2-7B-Instruct | 0.8856 | 0.3902 | 0.3859 | 0.8967 | 0.1277 | 0.5720 | 0.2041 | 0.1909 | 0.5713 | 0.5683 | 0.4793 |
Qwen2.5-7B-Instruct | 0.9151 | 0.4293 | 0.3910 | 0.8908 | 0.1676 | 0.6240 | 0.2108 | 0.1916 | 0.6252 | 0.5305 | 0.4976 |
Tanuki-8B-dpo-v1.0 | 0.2770 | 0.2937 | 0.3710 | 0.6669 | 0.1016 | 0.4280 | 0.2385 | 0.1820 | 0.3078 | 0.2555 | 0.3122 |
Llama 3 8B Instruct | 0.8785 | 0.3812 | 0.3936 | 0.8955 | 0.1273 | 0.4160 | 0.2143 | 0.2035 | 0.4719 | 0.2872 | 0.4269 |
Llama 3.1 8B Instruct | 0.8829 | 0.4272 | 0.4112 | 0.8856 | 0.1481 | 0.5280 | 0.2174 | 0.1990 | 0.5086 | 0.4976 | 0.4706 |
Llama 3 Youko 8B Instruct | 0.9196 | 0.4850 | 0.5178 | 0.9001 | 0.2085 | 0.4680 | 0.2559 | 0.1906 | 0.4691 | 0.2695 | 0.4684 |
Llama-3-ELYZA-JP-8B | 0.9017 | 0.5124 | 0.5016 | 0.9113 | 0.1677 | 0.4600 | 0.2509 | 0.1846 | 0.4829 | 0.3811 | 0.4754 |
Llama 3 heron brain 8B v0.3 | 0.9231 | 0.4933 | 0.5694 | 0.9056 | 0.2178 | 0.4560 | 0.2771 | 0.2168 | 0.4993 | 0.3177 | 0.4876 |
Llama 3 Swallow 8B Instruct | 0.9178 | 0.4963 | 0.5168 | 0.9088 | 0.1296 | 0.4880 | 0.2522 | 0.2254 | 0.4835 | 0.3927 | 0.4811 |
Llama 3.1 Swallow 8B Instruct v0.1 | 0.9240 | 0.5874 | 0.5736 | 0.9170 | 0.1380 | 0.5080 | 0.2820 | 0.2282 | 0.5301 | 0.3665 | 0.5055 |
Llama 3.1 Swallow 8B Instruct v0.2 | 0.9294 | 0.5601 | 0.5988 | 0.9148 | 0.1372 | 0.5280 | 0.2878 | 0.2270 | 0.5504 | 0.4079 | 0.5141 |
Llama 3.1 Swallow 8B Instruct v0.3 | 0.9240 | 0.5174 | 0.5825 | 0.8954 | 0.1902 | 0.5480 | 0.2809 | 0.2278 | 0.5445 | 0.3945 | 0.5105 |
英語タスク
モデル | 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 | ||
RakutenAI-7B-chat | 0.4160 | 0.5971 | 0.6465 | 0.3091 | 0.8886 | 0.5757 | 0.3139 | 0.4958 | 0.2671 | 0.5011 |
Qwen2-7B-Instruct | 0.4000 | 0.5468 | 0.6146 | 0.3518 | 0.8852 | 0.7073 | 0.6300 | 0.3101 | 0.6354 | 0.5646 |
Qwen2.5-7B-Instruct | 0.4280 | 0.5187 | 0.6240 | 0.2626 | 0.8761 | 0.7419 | 0.7415 | 0.2150 | 0.6360 | 0.5604 |
Tanuki-8B-dpo-v1.0 | 0.3340 | 0.2838 | 0.4696 | 0.2395 | 0.8168 | 0.3772 | 0.4867 | 0.3350 | 0.2805 | 0.4026 |
Llama 3 8B Instruct | 0.3880 | 0.6687 | 0.5834 | 0.3743 | 0.8903 | 0.6567 | 0.7453 | 0.6478 | 0.5415 | 0.6107 |
Llama 3.1 8B Instruct | 0.3700 | 0.6994 | 0.5920 | 0.3783 | 0.9037 | 0.6809 | 0.7430 | 0.6928 | 0.6293 | 0.6321 |
Llama 3 Youko 8B Instruct | 0.4080 | 0.6129 | 0.5983 | 0.3370 | 0.8981 | 0.5964 | 0.5618 | 0.4012 | 0.2750 | 0.5209 |
Llama-3-ELYZA-JP-8B | 0.3200 | 0.5502 | 0.5224 | 0.3631 | 0.8809 | 0.5875 | 0.5701 | 0.3213 | 0.4604 | 0.5084 |
Llama 3 heron brain 8B v0.3 | 0.3580 | 0.6563 | 0.5686 | 0.3726 | 0.9002 | 0.6213 | 0.5777 | 0.6409 | 0.3720 | 0.5631 |
Llama 3 Swallow 8B Instruct | 0.3720 | 0.6557 | 0.5861 | 0.3648 | 0.9002 | 0.6315 | 0.5959 | 0.6391 | 0.4238 | 0.5743 |
Llama 3.1 Swallow 8B Instruct v0.1 | 0.3900 | 0.6488 | 0.6151 | 0.3553 | 0.8912 | 0.6237 | 0.6050 | 0.6417 | 0.3787 | 0.5722 |
Llama 3.1 Swallow 8B Instruct v0.2 | 0.3800 | 0.6252 | 0.6031 | 0.3667 | 0.8886 | 0.6346 | 0.6202 | 0.6487 | 0.4738 | 0.5823 |
Llama 3.1 Swallow 8B Instruct v0.3 | 0.3920 | 0.6295 | 0.5937 | 0.3638 | 0.8830 | 0.6280 | 0.6149 | 0.6282 | 0.4457 | 0.5754 |
評価ベンチマーク
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
謝辞
Meta Researchが、寛大なオープンライセンスの下でLlama 3.1を公開してくれたことに感謝します。
以下の様々な支援をいただきました。
- AISTプロジェクト: "物理ドメインにおける生成AIの基礎モデルの研究開発"
- NEDOプロジェクト: "熟練者の視点に基づく設計リスク評価作業における判断支援のための人工知能応用技術の開発" (JPNP18002) of "次世代人工知能とロボットの核心となる統合技術の開発"
- MEXTプロジェクト: "生成AIモデルの透明性と信頼性を確保するための研究開発拠点の形成"
- AISTプログラム: Large Generative AI Development Support Program
著者
以下は、チームメンバーです。
- 東京工業大学岡崎研究室からのメンバー:
- 東京工業大学横田研究室からのメンバー:
- 国立研究開発法人産業技術総合研究所 人工知能研究センターからのメンバー:
引用方法
もし当研究が役に立った場合は、以下の論文を引用していただけると幸いです。
@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},
}
リスクと制限
ここで公開されているモデルは、まだ研究開発の初期段階にあり、出力が人間の意図や安全性の考慮に沿うように調整されていません。



