模型概述
模型特點
模型能力
使用案例
🚀 Gemma-2-Llama-Swallow
Gemma-2-Llama-Swallow系列模型是在gemma-2模型的基礎上進行持續預訓練構建而成。Gemma 2 Swallow在保留英文能力的同時,增強了原Gemma 2模型的日語能力。我們使用了大約2000億個標記進行持續預訓練,這些標記是從大型日語網絡語料庫(Swallow語料庫版本2)、日語和英語維基百科文章以及數學和編碼內容等中採樣得到的(詳見基礎模型的訓練數據集部分)。指令微調模型(it)是通過在專門為日語構建的合成數據上進行有監督微調(SFT)構建而成。查看Swallow模型索引部分,可找到其他模型變體。本模型基於Gemma和Llama構建。
🚀 快速開始
以下是使用Gemma-2-Llama-Swallow模型的基本步驟:
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)
✨ 主要特性
- 多語言能力:在保留英文能力的同時,顯著增強了日語能力,能夠處理多種語言的任務。
- 持續預訓練:基於gemma-2模型進行持續預訓練,使用了大量的日語和英語數據,提升了模型的性能。
- 指令微調:通過在專門為日語構建的合成數據上進行有監督微調,使模型更適合日語指令任務。
📦 安裝指南
使用前需要安裝vllm
庫:
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)
📚 詳細文檔
發佈歷史
- 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模型索引
模型 | 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團隊開發的大語言模型。
模型詳情
屬性 | 詳情 |
---|---|
模型類型 | 具體模型架構詳情請參考Gemma 2論文。 |
語言 | 日語、英語 |
庫 | maxtext |
分詞器 | 具體分詞器詳情請參考Gemma 2論文。 |
聯繫方式 | swallow[at]nlp.c.titech.ac.jp |
模型性能
MT-Bench JA
模型 | 編碼 | 提取 | 人文學科 | 數學 | 推理 | 角色扮演 | STEM | 寫作 | JMT平均 |
---|---|---|---|---|---|---|---|---|---|
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平均 |
---|---|---|---|---|---|---|---|---|---|---|---|
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平均 |
---|---|---|---|---|---|---|---|---|---|---|---|
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 |
評估基準
評估腳本可在swallow-llm/swallow-evaluation找到,標籤為v202411
。
MT-Bench JA
我們使用日語MT-Bench評估多輪對話能力,設置如下:
- 實現方式:FastChat [Zheng+, 2023](提交編號 #e86e70d0)
- 問題:Nejumi LLM-Leaderboard NEO, mtbench_ja_question_v4
- 參考答案:Nejumi LLM-Leaderboard NEO, mtbench_ja_referenceanswer_v2的修訂版,我們對其中的錯誤答案進行了驗證和修正。此修訂版已隨swallow-evaluation 202411版本發佈。
- 評判提示:Nejumi LLM-Leaderboard NEO, mtbench_ja_prompt_v1
- 評判模型:
gpt-4o-2024-08-06
- 評分方式:絕對尺度歸一化到0 - 1範圍,五次運行取平均值。
日語評估基準
我們使用了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])
訓練數據集
指令微調
以下數據集用於指令微調:
- Gemma-2-LMSYS-Chat-1M-Synth
- 基於lmsys-chat-1m合成和派生的多輪日語指令數據集 [Zhang+, ICLR24]。
- 首輪用戶指令通過DeepL(機器翻譯)翻譯成日語,助手回覆使用gemma-2-27b-it生成。同一模型gemma-2-27b-it作為評判模型進行拒絕採樣(n = 6)。
- 第二輪用戶指令和回覆使用gemma-2-27b-it合成。同一模型對第二輪迴復的質量進行評分,範圍為1 - 10。得分低於9的第二輪迴復及其對應的指令將被拒絕。同時,刪除包含個人身份信息(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進行持續預訓練,並在專門為日語構建的合成數據上進行有監督微調。具體的模型架構和訓練細節請參考Gemma 2論文。
📄 許可證
本模型使用的許可證包括:
- gemma
- llama3.3
⚠️ 重要提示
這裡發佈的模型仍處於研究和開發的早期階段,尚未進行調整以確保輸出符合人類意圖和安全考慮。
💡 使用建議
在使用模型時,建議根據具體任務和需求調整採樣參數,以獲得更好的生成效果。同時,可參考評估基準部分的設置,對模型進行評估和優化。



