🚀 SambaLingo-Arabic-Chat
SambaLingo-Arabic-Chat 是一个与人的偏好对齐的聊天模型,支持阿拉伯语和英语。它基于基础模型 SambaLingo-Arabic-Base,使用直接偏好优化方法进行训练。基础模型通过在 Cultura-X 数据集的阿拉伯语部分的 630 亿个标记上进行训练,将 Llama-2-7b 适配到阿拉伯语。你可以在 SambaLingo-chat-space 中试用该模型。
🚀 快速开始
使用 Hugging Face 加载模型
加载分词器时,请确保设置 use_fast=False
。
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Arabic-Chat", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Arabic-Chat", device_map="auto", torch_dtype="auto")
与模型管道进行交互
加载分词器时,请确保设置 use_fast=False
。
from transformers import pipeline
pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Arabic-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|>
لا أستطيع إبداء الرأي أو امتلاك المشاعر، لكن يمكنني تقديم إجابة موضوعية على هذا السؤال. في حين أن كونك محبوبًا يمكن أن يجلب السعادة والرضا، فإن كونك مخيفًا يمكن أن يكون له أيضًا فوائده. على سبيل المثال، يمكن أن يكون الشخص المخيف فعالاً في ردع السلوكيات أو المواقف غير المرغوب فيها، مثل التخريب أو التنمر. ومع ذلك، من المهم أن نتذكر أن الحب والقبول هما قيمتان مهمتان يجب السعي لتحقيقهما، وأن كونك محبوبًا لا ينبغي أن يكون الهدف النهائي. وبدلاً من ذلك، يجب أن نسعى جاهدين لنكون طيبين ورحيمين مع الآخرين، مع الاعتراف أيضًا بأن كل شخص لديه نقاط القوة والضعف الخاصة به.
✨ 主要特性
- 多语言支持:支持阿拉伯语和英语两种语言。
- 与人的偏好对齐:通过直接偏好优化方法进行训练,生成的回答更符合人类偏好。
📚 详细文档
模型描述
训练详情
对齐阶段遵循 Zephyr-7B 的方法,包括两个阶段:监督微调(SFT)和直接性能优化(DPO)。
SFT 阶段在 ultrachat_200k 数据集和其谷歌翻译版本的混合数据集上进行。训练一个轮次,全局批量大小为 512,最大序列长度为 2048 个标记。使用线性衰减学习率 2e-5 和 10% 的预热。
DPO 阶段在 ultrafeedback 数据集和 cai-conversation-harmless 数据集上进行,混合了 10% 的谷歌翻译数据。训练三个轮次,全局批量大小为 32。使用线性衰减学习率 5e-7、10% 的预热和 β=0.1 作为 DPO 的正则化因子。
分词器详情
通过添加最多 25,000 个来自新语言的非重叠标记,将基础 llama 模型的词汇表从 32,000 个标记扩展到 57,000 个标记。
评估
评估结果请参考我们的论文:SambaLingo: Teaching Large Language Models New Languages
使用方式
直接使用
此模型的使用受 Meta 的 Llama 2 社区许可协议 约束。请在下载模型权重之前查看并接受许可协议。
超出适用范围的使用
SambaLingo 不应用于以下场景:
- 关键任务应用程序
- 涉及他人安全的应用程序
- 做出非常重要的决策
偏差、风险和局限性
与所有大语言模型一样,SambaLingo 有一定的局限性:
- 幻觉问题:模型有时可能会生成听起来合理但事实上不正确或不相关的信息。
- 语言切换:模型可能会在单个回复中无意地在语言或方言之间切换,影响输出的连贯性和可理解性。
- 重复问题:模型可能会产生重复的短语或句子,导致回复的吸引力和信息量降低。
- 编码和数学能力:模型在生成准确代码或解决复杂数学问题方面的性能可能有限。
- 毒性问题:模型可能会无意中生成包含不适当或有害内容的回复。
致谢
我们衷心感谢开源人工智能社区;如果没有开源,这项工作将无法完成。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}
}
信息表格
重要提示
⚠️ 重要提示
使用此模型受 Meta 的 Llama 2 社区许可协议 约束。请在下载模型权重之前查看并接受许可协议。
💡 使用建议
加载分词器时,请确保设置 use_fast=False
。建议的推理参数为:温度 0.8、重复惩罚 1.0、核采样概率 0.9。使用时请使用指定的聊天模板 <|user|>\n{question}</s>\n<|assistant|>\n
。