🚀 SambaLingo日语聊天模型
SambaLingo日语聊天模型是一个经过人类对齐的语言模型,支持日语和英语。它基于SambaLingo-Japanese-Base基础模型,使用直接偏好优化(DPO)方法进行微调。基础模型则是在Llama-2-7b的基础上,通过Cultura-X数据集的日语部分的420亿个标记进行训练,以适应日语。你可以在SambaLingo-chat-space中试用该模型。
🚀 快速开始
使用Hugging Face加载模型
加载分词器时,请确保设置use_fast=False
。
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Japanese-Chat", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Japanese-Chat", device_map="auto", torch_dtype="auto")
与模型管道交互
加载分词器时,请确保设置use_fast=False
。
from transformers import pipeline
pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Japanese-Chat", device_map="auto", use_fast=False)
messages = [
{"role": "user", "content": {YOUR_QUESTION}},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt)[0]
outputs = outputs["generated_text"]
建议的推理参数
- 温度(Temperature):0.8
- 重复惩罚(Repetition penalty):1.0
- 核采样概率(Top-p):0.9
提示准则
要使用此模型进行提示,请使用以下聊天模板:
<|user|>\n{question}</s>\n<|assistant|>\n
提示示例和生成结果
<|user|>
茶道用語で、茶室ではなく、屋外でお茶を点てることを何というでしょう?</s>
<|assistant|>
茶道用語で、茶室ではなく屋外でお茶を点てることを「野点(のだて)」といいます。
✨ 主要特性
- 多语言支持:支持日语和英语两种语言。
- 基于强大基础模型:基于Llama-2-7b进行微调,具有较好的语言理解和生成能力。
- 人类对齐:通过直接偏好优化(DPO)方法进行微调,使模型输出更符合人类偏好。
📦 模型描述
🔧 技术细节
训练细节
对齐阶段遵循Zephyr-7B的训练方法,包括两个阶段:监督微调(SFT)和直接性能优化(DPO)。
SFT阶段在ultrachat_200k数据集和其谷歌翻译版本的混合数据集上进行。训练一个epoch,全局批次大小为512,最大序列长度为2048个标记。使用线性衰减学习率2e-5,热身比例为10%。
DPO阶段在ultrafeedback数据集和cai-conversation-harmless数据集,以及10%的谷歌翻译数据的混合数据集上进行。训练三个epoch,全局批次大小为32。使用线性衰减学习率5e-7,热身比例为10%,DPO的正则化因子β=0.1。
分词器细节
通过添加新语言中最多25,000个非重叠标记,将基础Llama模型的词汇表从32,000个标记扩展到57,000个标记。
📚 详细文档
评估
评估结果请参考我们的论文:SambaLingo: Teaching Large Language Models New Languages
使用方式
直接使用
使用此模型受Meta的Llama 2社区许可协议约束。请在下载模型权重之前查看并接受许可协议。
非预期使用
SambaLingo不应用于以下场景:
- 关键任务应用
- 涉及他人安全的应用
- 做出高度重要决策的应用
偏差、风险和局限性
与所有大语言模型一样,SambaLingo存在一定的局限性:
- 幻觉问题:模型有时可能会生成听起来合理但事实错误或无关的信息。
- 语言切换:模型可能会在单个响应中无意地在语言或方言之间切换,影响输出的连贯性和可理解性。
- 重复问题:模型可能会产生重复的短语或句子,导致响应的吸引力和信息量降低。
- 编码和数学能力:模型在生成准确代码或解决复杂数学问题方面的性能可能有限。
- 毒性问题:模型可能会无意中生成包含不适当或有害内容的响应。
📄 许可证
本模型使用Llama 2许可证。
致谢
我们衷心感谢开源AI社区;如果没有开源,这项工作将无法完成。SambaNova支持开源社区,并希望积极为这一倡议做出贡献。
特别感谢以下团队和组织:
- Meta开源了LLama 2和FLORES-200数据集
- Nguyen等人开源了CulturaX数据集
- CohereAI发布了AYA-101并开源了多语言指令微调数据集
- EleutherAI提供了开源评估框架
- Hugging Face-H4团队开源了Zephyr训练方法和对齐手册仓库
引用SambaLingo
@misc{csaki2024sambalingo,
title={SambaLingo: Teaching Large Language Models New Languages},
author={Zoltan Csaki and Bo Li and Jonathan Li and Qiantong Xu and Pian Pawakapan and Leon Zhang and Yun Du and Hengyu Zhao and Changran Hu and Urmish Thakker},
year={2024},
eprint={2404.05829},
archivePrefix={arXiv},
primaryClass={cs.CL}
}