模型简介
模型特点
模型能力
使用案例
🚀 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
⚠️ 重要提示
这里发布的模型仍处于研究和开发的早期阶段,尚未进行调整以确保输出符合人类意图和安全考虑。
💡 使用建议
在使用模型时,建议根据具体任务和需求调整采样参数,以获得更好的生成效果。同时,可参考评估基准部分的设置,对模型进行评估和优化。



