Home

Awesome

Chinese-LlaMA2

<p align="center"> <br> <img src="./assets/chinese-llama2-banner.png" width="600"/> <br> </p> <p align="center"> <img alt="GitHub" src="https://img.shields.io/github/license/ymcui/Chinese-LLaMA-Alpaca.svg?color=blue&style=flat-square"> <img alt="GitHub top language" src="https://img.shields.io/github/languages/top/ymcui/Chinese-LLaMA-Alpaca"> </p>

就在不久前,Meta最新开源了Llama 2模型,完全可商用,看来Meta势必要与OpenAI (ClosedAI) 硬刚到底。虽然Llama 2对原版的LlaMA模型做了升级,但是其仍然对中文没有太好的支持,需要在中文上做定制化。所以我们决定在次开展Llama 2的中文汉化工作:

注意,遵循相应的许可,我们将发布完整的, 合并LoRA权重的完整,且同时发布LoRA权重,方便开源社区使用。

同时,我们将会围绕Chinese-LlaMA2打造各种垂直领域模型:


中文医疗大模型ChatMed | 业内首个中医药大模型ShenNong-TCM-LLM | PromptCBLUE-中文医疗大模型评测基准 | PrompTS-探索采用大模型处理各种时间序列任务

更新

2023/07/28 更新了扩展词表,且微调了300w中文指令数据的模型Chinese-LlaMA2-chat-sft-v0.3 (v0.2), 包含LoRA参数和合并后的完整模型参数。这一模型还在继续训练中,训练规模将会达到1500w条中文指令/对话数据; 同时更新了量化模型进行部署的代码和gradio demo的代码

2023/07/25 更新了一个不扩充词表,微调了300w中文指令数据的模型Chinese-LlaMA2-chat-sft (v0.2), 包含LoRA参数和合并后的完整模型参数。扩充词表,进行指令微调的模型将于两日后发布

2023/07/24 更新了一个不扩充词表,微调了100w中文指令数据的模型Chinese-LlaMA2-chat-sft (v0.1)

2023/07/20 采用开源中文指令数据对LlaMA-2-7B进行微调(不扩充词表/扩充词表); 采用vllm对模型进行serving

2023/07/19 启动LlaMA-2中文大模型项目;

为什么LlaMA-2需要汉化?

我们发现,Meta开源的LlaMA-2模型虽然是支持中文的,但是其在被要求做中文生成时,容易产生中英混杂或者全是英文的现象(参看example1)。所以为了更好的支持中文应用和落地,对齐做中文适配是必经之路。

但是这里有两个需要思考的地方:

快速上手

获得llama-2权重

现在LlaMA-2权重需要在Meta指定的官方网站申请,具体说明见LlaMA-的hf页面。当你没有通过申请时,在这个网页上看到的是一个申请表,你需要根据他的说明进行申请,申请通过后就可以看到权重文件了。

下载模型权重,运行:

src/further_ft/download_checkpoints.py

指令微调

对LlaMA-2进行指令微调(不扩充词表/扩充词表),也就是现在常见的SFT,见SFT-README.md;

model serving

扩充词表和扩展embedding层

我们现在采用的方案是:使用Chinese-LLaMA的词表,该词表是对llama原始词表的扩充,将词汇量从32000扩展到49953大小。同时LlaMA-2模型会进行embedding层的resize,即采用随机初始化的参数扩展embedding层和lm_head层。

在一些我们关注的垂直领域,我们后续也会自己训一个sentencepiece模型来更新llama-2的词表。

继续预训练

由于扩展词表后,LlaMA-2的embedding层和lm_head层会有随机初始化的参数,所以我们需要采用大规模的预训练学习中文语料的知识。继续预训练运行以下命令(数据,模型的路径,卡数等需要自行配置):

CUDA_VISIBLE_DEVICES="2,3" ./src/further_ft/run_train.sh

评测交流与技术交流

PromptCBLUE与大模型技术交流微信交流群二维码(截止至7月23日有效):

<p align="left"> <br> <img src="./assets/wechat_qrcode.jpg" width="300"/> <br> </p>

团队介绍

本项目由华东师范大学计算机科学与技术学院智能知识管理与服务团队完成,团队指导老师为王晓玲教授。

团队成员: