🚀 Llama3-70B-Chinese-Chat
Llama3-70B-Chinese-Chat是一款针对中英双语用户进行全参数微调的大语言模型。它基于Meta-Llama-3-70B-Instruct模型,在约10万条中英偏好对数据集上进行训练,中文能力超越ChatGPT,媲美GPT-4。
🚀 快速开始
❗️❗️❗️注意:为保证最佳性能,我们未对模型身份进行微调。因此,诸如“你是谁”或“谁开发了你”等询问,可能会得到随机且不一定准确的回答。
模型更新
- 🚀🚀🚀 [2024年5月9日] 我们很高兴推出Llama3-70B-Chinese-Chat!该模型在约10万条中英偏好对的混合数据集上进行全参数微调,根据C-Eval和CMMLU结果显示,其中文性能超越ChatGPT并与GPT-4相当。
- 🔥 我们在 wangshenzhi/llama3-70b-chinese-chat-ollama-q4 提供了Llama3-70B-Chinese-Chat的官方q4_0 GGUF版本的Ollama模型!运行以下命令即可快速使用该模型:
ollama run wangshenzhi/llama3-70b-chinese-chat-ollama-q4:latest
。
- 🔥 我们在 wangshenzhi/llama3-70b-chinese-chat-ollama-q8 提供了Llama3-70B-Chinese-Chat的官方q8_0 GGUF版本的Ollama模型!运行以下命令即可快速使用该模型:
ollama run wangshenzhi/llama3-70b-chinese-chat-ollama-q8:latest
。
- 🔥 我们在 shenzhi-wang/Llama3-70B-Chinese-Chat-GGUF-4bit 提供了Llama3-70B-Chinese-Chat的官方q4_0 GGUF版本。
- 🌟 如果你在中国,可以从我们的 gitee仓库 下载我们的模型。
- 🌟 感谢Gitee的支持,我们推出了在线演示:https://ai.gitee.com/shenzhi-wang/llama3-70b-chinese-chat 。你需要使用邀请码
llama3
登录你的Gitee账户。
✨ 主要特性
Llama3-70B-Chinese-Chat是首批针对中英双语用户进行指令微调的大语言模型之一,具备角色扮演、工具使用和数学计算等多种能力,基于 meta-llama/Meta-Llama-3-70B-Instruct 模型构建。
🎉根据C-Eval和CMMLU的结果,Llama3-70B-Chinese-Chat的中文性能显著超越ChatGPT,与GPT-4相当!
模型信息
🔧 技术细节
模型介绍
这是首批专门为中英双语用户微调的大语言模型之一,基于 Meta-Llama-3-70B-Instruct 模型。使用的微调算法是ORPO [1]。
我们的Llama3-70B-Chinese-Chat模型在包含超过10万条偏好对的数据集上进行训练,中英数据比例大致相等。该数据集即将发布。
与原始的 Meta-Llama-3-70B-Instruct 模型相比,Llama3-70B-Chinese-Chat模型大大减少了“中文问题英文回答”以及回答中中英文混杂的问题。此外,Llama3-70B-Chinese-Chat在角色扮演、函数调用和数学计算方面表现出色。
与我们的 Llama3-8B-Chinese-Chat 模型相比,Llama3-70B-Chinese-Chat的参数更多,性能有显著提升。如果你喜欢我们的 Llama3-8B-Chinese-Chat,那么Llama3-70B-Chinese-Chat绝对值得一试!
[1] Hong, Jiwoo, Noah Lee, and James Thorne. "Reference-free Monolithic Preference Optimization with Odds Ratio." arXiv preprint arXiv:2403.07691 (2024).
训练框架
LLaMA-Factory。
训练详情
- 轮数:3
- 学习率:1.5e-6
- 学习率调度器类型:余弦
- 预热比例:0.1
- 截断长度(即上下文长度):8192
- orpo beta(即ORPO论文中的 $\lambda$):0.05
- 全局批量大小:128
- 微调类型:全参数
- 优化器:paged_adamw_32bit
📚 详细文档
基准测试结果
我们使用C-Eval [2] 和CMMLU [3] 来评估大语言模型的中文性能。ChatGPT和GPT-4的结果取自2024年5月10日访问的 C-Eval排行榜 和 CMMLU排行榜。
模型 |
C-Eval平均(测试集) |
C-Eval困难平均(测试集) |
CMMLU准确率 |
ChatGPT |
54.4 |
41.4 |
55.51 |
GPT-4 |
68.7 |
54.9 |
70.95 |
Llama3-70B-Chinese-Chat |
66.1 |
55.2 |
70.28 |
C-Eval困难是一个独特的基准测试,包含C-Eval中数学、物理和化学的8个困难科目。[2]
[2] Huang, Yuzhen, et al. "C-eval: A multi-level multi-discipline chinese evaluation suite for foundation models." Advances in Neural Information Processing Systems 36 (2024).
[3] Li, Haonan, et al. "Cmmlu: Measuring massive multitask language understanding in chinese." arXiv preprint arXiv:2306.09212 (2023).
💻 使用示例
基础用法
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "shenzhi-wang/Llama3-70B-Chinese-Chat"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id, torch_dtype="auto", device_map="auto"
)
messages = [
{"role": "user", "content": "写一首诗吧"},
]
input_ids = tokenizer.apply_chat_template(
messages, add_generation_prompt=True, return_tensors="pt"
).to(model.device)
outputs = model.generate(
input_ids,
max_new_tokens=8192,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
response = outputs[0][input_ids.shape[-1]:]
print(tokenizer.decode(response, skip_special_tokens=True))
示例展示
模型在不同场景下的生成示例如下:
角色扮演 [点击展开]
包含扮演艾萨克·牛顿、泰勒·斯威夫特、鲁智深、莎士比亚、诸葛亮等角色的对话示例。
函数调用 [点击展开]
展示了使用不同工具(如`internet_search`、`directly_answer`、`send_email`等)的调用示例。
数学计算 [点击展开]
包含多个数学问题的解答示例,如年龄计算、约瑟夫斯问题、鸡兔同笼问题等。
常识/逻辑/情感分析 [点击展开]
包含多个实际场景的分析示例,如生物样本丢失案件分析、周末活动安排分析等。
弱智吧 [点击展开]
包含一些有趣的问答示例,如蓝牙耳机维修、午餐肉食用时间等问题。
写作 [点击展开]
包含模仿鲁迅风格的短文、不同风格的关于未来城市可持续发展的短文、对联创作、邮件生成等示例。
代码 [点击展开]
包含在bash脚本中获取路径最后一级文件夹名称、将Python脚本转换为bash脚本、解决0/1背包问题等代码示例。
📄 许可证
本模型使用 Llama-3 License 许可证。
📚 引用
如果我们的Llama3-70B-Chinese-Chat对你有帮助,请参考以下引用:
@misc {shenzhi_wang_2024,
author = {Wang, Shenzhi and Zheng, Yaowei and Wang, Guoyin and Song, Shiji and Huang, Gao},
title = {Llama3-70B-Chinese-Chat (Revision 3f5a0d4)},
year = 2024,
url = {https://huggingface.co/shenzhi-wang/Llama3-70B-Chinese-Chat},
doi = {10.57967/hf/2315},
publisher = {Hugging Face}
}
🙏 致谢
非常感谢Chang Liu在收集示例方面提供的帮助。