发布的是 LoRA 权重,无法单独使用,需先申请原版 LLaMA 并按合并步骤重构模型;Alpaca-Plus 模型需同时下载对应的 LLaMA-Plus 模型一起合并;LLaMA 与 Alpaca 词表不可混用,Alpaca 多一个 pad token。
Chinese-LLaMA-Alpaca
ymcuiApache-2.0更新放缓在 LLaMA/Alpaca 基础上扩充中文词表并做中文增量预训练,提供可本地 CPU/GPU 部署的中文大模型及 LoRA 微调、量化方案。
中文LLaMA&Alpaca大语言模型+本地CPU/GPU训练部署 (Chinese LLaMA & Alpaca LLMs)
git clone https://github.com/ymcui/Chinese-LLaMA-Alpaca.gitREADME 未给出具体显存要求;支持在个人笔记本的 CPU/GPU 上做本地量化部署,text-generation-webui 使用 --cpu 可在无显卡下运行。
在 LLaMA 基础上扩充中文词表并做中文预训练与指令精调的开源中文大模型项目
在 LLaMA/Alpaca 基础上扩充中文词表并做中文增量预训练,提供可本地 CPU/GPU 部署的中文大模型及 LoRA 微调、量化方案。
核心能力
- 扩充中文词表提升中文编解码效率
- 开源中文 LLaMA 基座与指令精调 Alpaca 模型
- 提供预训练与指令精调脚本可继续训练
- 支持 llama.cpp 等在笔记本 CPU/GPU 本地量化部署
- 兼容 transformers、text-generation-webui、LangChain 等生态
容易踩的坑
- v5.0民间版中文羊驼模型 v5.0最新正式版2023-07-19 · 2023-07-19 08:21 UTC
本版本针对模型回复较短的问题进行升级,同时推出Plus-33B系列模型。
同时,我们也很高兴地向大家宣布新项目启动:中文LLaMA-2、Alpaca-2大模型🦙
🚀 推出中文Alpaca-Pro系列模型
- 针对早期Alpaca相关模型回复较短的问题进行优化,使其回复长度接近GPT-3.5/GPT-4
- 推荐所有使用Alpaca系列模型的用户升级至Pro版本(7B/13B/33B),合并方式与Plus模型一致,需要同时融合LLaMA-Plus的LoRA
- 如果更喜欢短回复,可以选择Plus系列模型
在此特别感谢所有参与beta评测投票的各位社区成员。
🚀 推出LLaMA-Plus-33B、Alpaca-Plus-33B
- 在基础版33B之上将训练数据扩充至120G,得到LLaMA-Plus-33B;进一步通过指令精调得到Alpaca-Plus-33B
- 在C-Eval、主观体验方面显著优于本项目其他模型
- 本次不再提供GPT-4评价的结果,请通过接下来介绍的ChatBot Arena浏览对比相关模型输出
📊 添加ChatBot Arena
- 仿照fastchat的方式,添加了模型对战页面,题库进一步扩充至360题
- 评测模型包括所有Alpaca-Plus和Alpaca-Pro系列模型,每个模型包含3个参考输出(随机显示其一)
- 可实时查看总体胜率、Elo评分、两两对战胜率等信息
对战地址:http://chinese-alpaca-arena.ymcui.com/
🔬 升级NTK-scaling算法,添加Memory Efficient Attention(#743)
- 升级了NTK-scaling算法,更好地支持长上下文条件下的文本生成
- 可通过参数
alpha控制上下文扩展长度,支持指定数值和auto两种方式 - 添加了Memory Efficient Attention补丁,显著降低显存消耗,在单张24G显存的显卡上7B模型最大输入长度可达5K+
具体使用方法见 #743 中的说明。
其他更新与修复
- 推理脚本inference_hf.py中添加了8比特量化推理支持(#756)
- 修复了推理脚本
repeat_penalty默认值过高的问题(#760)
For English release note, please refer to Discussion.
- v4.2民间版中文羊驼模型 v4.22023-07-05 · 2023-07-05 09:30 UTC
查看更新说明
本版本以功能性更新为主,包括新增8K上下文支持、支持Gradio Demo流式输出、支持仿OpenAI API形式调用等。
🔬 新增8K+上下文支持
新增8K+上下文支持方法,无需对模型权重本身做出修改。
- transformers:提出自适应RoPE,动态适配4K~8K+上下文,已集成在
gradio_demo.py,inference_hf.py等(#705) - llama.cpp:可支持8K+上下文,相关修改步骤详见讨论区(#696)
🚀 支持Gradio Demo流式输出(#630)
- Gradio Demo现已支持流式输出形式,参考
gradio_demo.py. Contribued by @sunyuhan19981208 - 修复流式输出时速度过慢的问题(#707). Contributed by @GoGoJoestar
🤖 支持仿OpenAI API形式调用(#530)
- 使用fastapi实现的仿OpenAI API风格的服务器Demo,使用方法参考Wiki. Contribued by @sunyuhan19981208
- 修复一处system message相关错误(#684). Contribued by @bigbaldy1128
- 增加
do_sample参数(#699)Contribued by @sunyuhan19981208
其他更新、修复、新闻
- 修复了训练脚本中training steps的问题(#669)
- 修复了
build_dataset.py和run_clm_sft_with_peft.py中的一处命名错误,优化log输出(#691、#692) - 修复了低资源模型合并脚本中
vocab_size更新问题(#703) - llama.cpp已支持仿OpenAI API部署,还可以部署一个简单的web demo,感兴趣的可访问llama.cpp#server
For English release note, please refer to Discussion.
- transformers:提出自适应RoPE,动态适配4K~8K+上下文,已集成在
- v4.1民间版中文羊驼模型 v4.12023-06-16 · 2023-06-16 04:22 UTC
查看更新说明
本版本以功能性更新为主,包括更新技术报告、添加C-Eval预测脚本、添加低资源模型转换脚本等。
📚 更新技术报告(arXiv-v2)
- 更新模型构建的相关描述,添加Plus版本模型训练参数等
- 生成效果评测部分替换为Alpaca-Plus-7B、Alpaca-Plus-13B、Alpaca-33B对比
- 添加C-Eval完整评测结果,包括原版LLaMA以及本项目所有模型的结果与分析
- 添加不同量化层级(2-bit ~ 8-bit, FP16)的效果对比和分析
- 详细技术报告请查阅:https://arxiv.org/abs/2304.08177
🔬 添加C-Eval预测脚本(#601)
- 添加了论文中使用的C-Eval预测脚本,轻松复现论文中相关模型效果
- 提供了基于上述脚本的Colab notebook,用户可参考相关运行过程
- 详细的介绍请参见Wiki教程
🚀 添加低资源模型转换脚本(#608)
- 添加了新版低资源模型转换脚本
merge_llama_with_chinese_lora_low_mem.py,大幅降低内存消耗 - 7B需要15GB,13B需要18GB,33B需要22GB(不同机器可能略有不同)
- 使用方法与旧脚本一致,后续将作为主要使用的模型合并脚本
其他更新和修复
- 修复了预训练脚本中文件名的一处错误(#540),Contribution by @alkaideemo
- 修复了模型保存问题,支持LoRA权重和tokenizer的保存 (#555)
- 在预训练和精调脚本中增加了检查项,避免后续模型合并出现异常问题(#595)
For English release note, please refer to Discussion.
- v4.0民间版中文羊驼模型 v4.02023-06-08 · 2023-06-08 06:36 UTC
查看更新说明
本次重点发布了33B版本中文LLaMA和Alpaca模型。
🚀 发布中文LLaMA-33B、Alpaca-33B
- 与其他基础版一致,中文LLaMA-33B使用了20G的中文语料进行预训练
- 指令数据仍然是4M级别,并添加了OASST1数据(中文翻译,约10K)
- 生成效果评价:Plus-7B获得75.3,Plus-13B获得79.4,33B获得82.0👍🏻
- Alpaca-33B在数值计算、代码理解等7B/13B不擅长的任务上获得了显著性能提升
具体评测结果和生成示例请参考效果评测。
💯 提供了C-Eval客观评价指标结果
C-Eval是近期推出的一个包含14K样本的选择型问答数据集,涵盖了52个不同的学科和四个难度级别。中文Alpaca-Plus-13B和Alpaca-33B模型在该测试集上达到了较好水平,甚至超越了LLaMA-65B、Bloomz-mt等参数量大几倍甚至十几倍的千亿级模型。
详细结果请参考:https://github.com/ymcui/Chinese-LLaMA-Alpaca/tree/main#客观效果评测
📚 功能性更新
- 提供了privateGPT示例(#410):privateGPT是基于LangChain二次开发的项目,可以对本地文档进行分析并利用大模型进行交互问答。相关使用方法请查看本项目Wiki
- 提供了Colab上可运行的Gradio示例(#364、#536):在Colab上运行notebook,启动基于Gradio的交互式Web服务,可迅速进行部署与体验。Contribution by @sunyuhan19981208
其他更新
- 更新了训练脚本,提升了训练之后进一步合并模型的便利性
- 重构了
scripts文件夹,使目录结构更清晰 - 更新了合并模型脚本,使之适配33B/65B模型
For English release note, please refer to Discussion.
- v3.2民间版中文羊驼模型 v3.22023-05-16 · 2023-05-16 04:13 UTC
查看更新说明
本次以功能性更新为主,包括添加指令精调脚本、LangChain支持、基于Gradio的本地Demo等。
添加了指令精调脚本,优化实验启动流程(#322)
- 添加了指令精调代码 run_clm_sft_with_peft.py
- 优化了预训练和精调启动流程,现在可以更方便地运行实验了
- 添加了预训练启动脚本run_pt.sh和精调启动脚本run_sft.sh
- 添加了预训练notebook和指令精调notebook,可直接在jupyter-notebook或Colab中执行
- 详细使用方法请参考Wiki中的相关教程
添加了LangChain使用示例(#338)
- Chinese-Alpaca可以轻松地与LLM应用程序开发框架LangChain结合进行二次开发
- 添加了使用Chinese-Alpaca和LangChain进行 检索问答(Retrieval QA) 和 摘要生成(Summarization) 的示例
- 详细使用方法请参考Wiki中的LangChain教程
添加了基于Gradio的本地Web Demo(#300)
- 在本地浏览器中使用原生的🤗transformers进行推理,并且支持多轮对话
- 请参考wiki中的使用Transformers推理
感谢@sunyuhan19981208 贡献的PR。
其他更新
- 🤗transformers推理脚本inference_hf.py现在支持使用多GPU进行推理(#272)
- 修复了alpaca_data_zh_51k.json指令精调数据
- 修复了merge_llama_with_chinese_lora.py保存多个分块的一个问题
For English release note, please refer to Discussion.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Chinese-LLaMA-Alpaca-3项目启动!
🇨🇳中文 | 🌐English | 📖文档/Docs | ❓提问/Issues | 💬讨论/Discussions | ⚔️竞技场/Arena
本项目开源了中文LLaMA模型和指令精调的Alpaca大模型,以进一步促进大模型在中文NLP社区的开放研究。这些模型在原版LLaMA的基础上扩充了中文词表并使用了中文数据进行二次预训练,进一步提升了中文基础语义理解能力。同时,中文Alpaca模型进一步使用了中文指令数据进行精调,显著提升了模型对指令的理解和执行能力。
技术报告(V2):[Cui, Yang, and Yao] Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca
本项目主要内容:
- 🚀 针对原版LLaMA模型扩充了中文词表,提升了中文编解码效率
- 🚀 开源了使用中文文本数据预训练的中文LLaMA以及经过指令精调的中文Alpaca
- 🚀 开源了预训练脚本、指令精调脚本,用户可根据需要进一步训练模型
- 🚀 快速使用笔记本电脑(个人PC)的CPU/GPU本地量化和部署体验大模型
- 🚀 支持🤗transformers, llama.cpp, text-generation-webui, LlamaChat, LangChain, privateGPT等生态
- 目前已开源的模型版本:7B(基础版、Plus版、Pro版)、13B(基础版、Plus版、Pro版)、33B(基础版、Plus版、Pro版)
💡 下图是中文Alpaca-Plus-7B模型在本地CPU量化部署后的实际体验速度和效果。

中文LLaMA-2&Alpaca-2大模型 | 多模态中文LLaMA&Alpaca大模型 | 多模态VLE | 中文MiniRBT | 中文LERT | 中英文PERT | 中文MacBERT | 中文ELECTRA | 中文XLNet | 中文BERT | 知识蒸馏工具TextBrewer | 模型裁剪工具TextPruner
新闻
[2024/04/30] Chinese-LLaMA-Alpaca-3 已正式发布,开源基于Llama-3的Llama-3-Chinese-8B和Llama-3-Chinese-8B-Instruct,推荐所有一期、二期项目用户升级至三代模型,请参阅:https://github.com/ymcui/Chinese-LLaMA-Alpaca-3
[2024/03/27] 本项目已入驻机器之心SOTA!模型平台,欢迎关注:https://sota.jiqizhixin.com/project/chinese-llama-alpaca
[2023/08/14] Chinese-LLaMA-Alpaca-2 v2.0版本已正式发布,开源Chinese-LLaMA-2-13B和Chinese-Alpaca-2-13B,推荐所有一期用户升级至二代模型,请参阅:https://github.com/ymcui/Chinese-LLaMA-Alpaca-2
[2023/07/31] Chinese-LLaMA-Alpaca-2 v1.0版本已正式发布,请参阅:https://github.com/ymcui/Chinese-LLaMA-Alpaca-2
[2023/07/19] v5.0版本: 发布Alpaca-Pro系列模型,显著提升回复长度和质量;同时发布Plus-33B系列模型。
[2023/07/19] 🚀启动中文LLaMA-2、Alpaca-2开源大模型项目,欢迎关注了解最新信息。
[2023/07/10] Beta测试预览,提前了解即将到来的更新:详见讨论区
[2023/07/07] Chinese-LLaMA-Alpaca家族再添新成员,推出面向视觉问答与对话的多模态中文LLaMA&Alpaca大模型,发布了7B测试版本。
[2023/06/30] llama.cpp下8K context支持(无需对模型做出修改),相关方法和讨论见讨论区;transformers下支持4K+ context的代码请参考PR#705
[2023/06/16] v4.1版本: 发布新版技术报告、添加C-Eval解码脚本、添加低资源模型合并脚本等。
[2023/06/08] v4.0版本: 发布中文LLaMA/Alpaca-33B、添加privateGPT使用示例、添加C-Eval结果等。
内容导引
| 章节 | 描述 |
|---|---|
| ⏬模型下载 | 中文LLaMA、Alpaca大模型下载地址 |
| 🈴合并模型 | (重要)介绍如何将下载的LoRA模型与原版LLaMA合并 |
| 💻本地推理与快速部署 | 介绍了如何对模型进行量化并使用个人电脑部署并体验大模型 |
| 💯系统效果 | 介绍了部分场景和任务下的使用体验效果 |
| 📝训练细节 | 介绍了中文LLaMA、Alpaca大模型的训练细节 |
| ❓FAQ | 一些常见问题的回复 |
| ⚠️局限性 | 本项目涉及模型的局限性 |
模型下载
用户须知(必读)
Facebook官方发布的LLaMA模型禁止商用,并且官方没有正式开源模型权重(虽然网上已经有很多第三方的下载地址)。为了遵循相应的许可,这里发布的是LoRA权重,可以理解为原LLaMA模型上的一个“补丁”,两者合并即可获得完整版权重。以下中文LLaMA/Alpaca LoRA模型无法单独使用,需要搭配原版LLaMA模型。请参考本项目给出的合并模型步骤重构模型。
模型列表
下图展示了本项目以及二期项目推出的所有大模型之间的关系。

模型选择指引
下面是中文LLaMA和Alpaca模型的基本对比以及建议使用场景(包括但不限于),更多内容见训练细节。
| 对比项 | 中文LLaMA | 中文Alpaca |
|---|---|---|
| 训练方式 | 传统CLM | 指令精调 |
| 模型类型 | 基座模型 | 指令理解模型(类ChatGPT) |
| 训练语料 | 无标注通用语料 | 有标注指令数据 |
| 词表大小[3] | 49953 | 49954=49953+1(pad token) |
| 输入模板 | 不需要 | 需要符合模板要求[1] |
| 适用场景 ✔️ | 文本续写:给定上文内容,让模型生成下文 | 指令理解(问答、写作、建议等);多轮上下文理解(聊天等) |
| 不适用场景 ❌ | 指令理解 、多轮聊天等 | 文本无限制自由生成 |
| llama.cpp | 使用-p参数指定上文 | 使用-ins参数启动指令理解+聊天模式 |
| text-generation-webui | 不适合chat模式 | 使用--cpu可在无显卡形式下运行 |
| LlamaChat | 加载模型时选择"LLaMA" | 加载模型时选择"Alpaca" |
| HF推理代码 | 无需添加额外启动参数 | 启动时添加参数 --with_prompt |
| web-demo代码 | 不适用 | 直接提供Alpaca模型位置即可;支持多轮对话 |
| LangChain示例 / privateGPT | 不适用 | 直接提供Alpaca模型位置即可 |
| 已知问题 | 如果不控制终止,则会一直写下去,直到达到输出长度上限。[2] | 请使用Pro版,以避免Plus版回复过短的问题。 |
[1] llama.cpp/LlamaChat/HF推理代码/web-demo代码/LangChain示例等已内嵌,无需手动添加模板。 [2] 如果出现模型回答质量特别低、胡言乱语、不理解问题等情况,请检查是否使用了正确的模型和启动参数。 [3] 经过指令精调的Alpaca会比LLaMA多一个pad token,因此请勿混用LLaMA/Alpaca词表。
推荐模型下载
以下为本项目推荐使用的模型列表,通常使用了更多的训练数据和优化的模型训练方法和参数,请优先使用这些模型(其余模型请查看其他模型)。如希望体验类ChatGPT对话交互,请使用Alpaca模型,而不是LLaMA模型。 对于Alpaca模型,Pro版针对回复内容过短的问题进行改进,模型回复效果有明显提升;如果更偏好短回复,请选择Plus系列。
| 模型名称 | 类型 | 训练数据 | 重构模型[1] | 大小[2] | LoRA下载[3] |
|---|---|---|---|---|---|
| Chinese-LLaMA-Plus-7B | 基座模型 | 通用120G | 原版LLaMA-7B | 790M | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-LLaMA-Plus-13B | 基座模型 | 通用120G | 原版LLaMA-13B | 1.0G | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-LLaMA-Plus-33B 🆕 | 基座模型 | 通用120G | 原版LLaMA-33B | 1.3G[6] | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-Alpaca-Pro-7B 🆕 | 指令模型 | 指令4.3M | 原版LLaMA-7B &LLaMA-Plus-7B[4] | 1.1G | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-Alpaca-Pro-13B 🆕 | 指令模型 | 指令4.3M | 原版LLaMA-13B &LLaMA-Plus-13B[4] | 1.3G | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-Alpaca-Pro-33B 🆕 | 指令模型 | 指令4.3M | 原版LLaMA-33B &LLaMA-Plus-33B[4] | 2.1G | [🤗HF] [🤖ModelScope] [Baidu] |
[1] 重构需要原版LLaMA模型,去LLaMA项目申请使用或参考这个PR。因版权问题本项目无法提供下载链接。 [2] 经过重构后的模型大小比同等量级的原版LLaMA大一些(主要因为扩充了词表)。 [3] 下载后务必检查压缩包中模型文件的SHA256是否一致,请查看SHA256.md。 [4] Alpaca-Plus模型需要同时下载对应的LLaMA-Plus模型,请参考合并教程。 [5] 有些地方称为30B,实际上是Facebook在发布模型时写错了,论文里仍然写的是33B。[6] 采用FP16存储,故模型体积较小。
压缩包内文件目录如下(以Chinese-LLaMA-7B为例):
chinese_llama_lora_7b/
- adapter_config.json # LoRA权重配置文件
- adapter_model.bin # LoRA权重文件
- special_tokens_map.json # special_tokens_map文件
- tokenizer_config.json # tokenizer配置文件
- tokenizer.model # tokenizer文件
其他模型下载
由于训练方式和训练数据等因素影响,以下模型已不再推荐使用(特定场景下可能仍然有用),请优先使用上一节中的推荐模型。
| 模型名称 | 类型 | 训练数据 | 重构模型 | 大小 | LoRA下载 |
|---|---|---|---|---|---|
| Chinese-LLaMA-7B | 基座模型 | 通用20G | 原版LLaMA-7B | 770M | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-LLaMA-13B | 基座模型 | 通用20G | 原版LLaMA-13B | 1.0G | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-LLaMA-33B | 基座模型 | 通用20G | 原版LLaMA-33B | 2.7G | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-Alpaca-7B | 指令模型 | 指令2M | 原版LLaMA-7B | 790M | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-Alpaca-13B | 指令模型 | 指令3M | 原版LLaMA-13B | 1.1G | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-Alpaca-33B | 指令模型 | 指令4.3M | 原版LLaMA-33B | 2.8G | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-Alpaca-Plus-7B | 指令模型 | 指令4M | 原版LLaMA-7B &LLaMA-Plus-7B | 1.1G | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-Alpaca-Plus-13B | 指令模型 | 指令4.3M | 原版LLaMA-13B &LLaMA-Plus-13B | 1.3G | [🤗HF] [🤖ModelScope] [Baidu] |
| Chinese-Alpaca-Plus-33B | 指令模型 | 指令4.3M | 原版LLaMA-33B &LLaMA-Plus-33B | 2.1G | [🤗HF] [🤖ModelScope] [Baidu] |
🤗transformers调用
可以在🤗Model Hub下载以上所有模型,并且使用transformers和PEFT调用中文LLaMA或Alpaca LoRA模型。以下模型调用名称指的是使用.from_pretrained()中指定的模型名称。
详细清单与模型下载地址:https://huggingface.co/hfl
合并模型
前面提到LoRA模型无法单独使用,必须与原版LLaMA进行合并才能转为完整模型,以便进行模型推理、量化或者进一步训练。请选择以下方法对模型进行转换合并。
| 方式 | 适用场景 | 教程 |
|---|---|---|
| 在线转换 | Colab用户可利用本项目提供的notebook进行在线转换并量化模型 | 链接 |
| 手动转换 | 离线方式转换,生成不同格式的模型,以便进行量化或进一步精调 | 链接 |
以下是合并模型后,FP16精度和4-bit量化后的大小,转换前确保本机有足够的内存和磁盘空间(最低要求):
| 模型版本 | 7B | 13B | 33B | 65B |
|---|---|---|---|---|
| 原模型大小(FP16) | 13 GB | 24 GB | 60 GB | 120 GB |
| 量化后大小(8-bit) | 7.8 GB | 14.9 GB | 32.4 GB | ~60 GB |
| 量化后大小(4-bit) | 3.9 GB | 7.8 GB | 17.2 GB | 38.5 GB |
具体内容请参考本项目 >>> 📚 GitHub Wiki
本地推理与快速部署
本项目中的模型主要支持以下量化、推理和部署方式。
| 推理和部署方式 | 特点 | 平台 | CPU | GPU | 量化加载 | 图形界面 | 教程 |
|---|---|---|---|---|---|---|---|
| llama.cpp | 丰富的量化选项和高效本地推理 | 通用 | ✅ | ✅ | ✅ | ❌ | link |
| 🤗Transformers | 原生transformers推理接口 | 通用 | ✅ | ✅ | ✅ | ✅ | link |
| text-generation-webui | 前端Web UI界面的部署方式 | 通用 | ✅ | ✅ | ✅ | ✅ | link |
| LlamaChat | macOS下的图形交互界面 | MacOS | ✅ | ❌ | ✅ | ✅ | link |
| LangChain | LLM应用开发框架,适用于进行二次开发 | 通用 | ✅† | ✅ | ✅† | ❌ | link |
| privateGPT | 基于LangChain的多文档本地问答框架 | 通用 | ✅ | ✅ | ✅ | ❌ | link |
| Colab Gradio Demo | Colab中启动基于Gradio的交互式Web服务 | 通用 | ✅ | ✅ | ✅ | ❌ | link |
| API调用 | 仿OpenAI API接口的服务器Demo | 通用 | ✅ | ✅ | ✅ | ❌ | link |
†: LangChain框架支持,但教程中未实现;详细说明请参考LangChain官方文档。
具体内容请参考本项目 >>> 📚 GitHub Wiki
系统效果
生成效果评测
为了快速评测相关模型的实际文本生成表现,本项目在给定相同的prompt的情况下,在一些常见任务上对比测试了本项目的中文Alpaca-7B、中文Alpaca-13B、中文Alpaca-33B、中文Alpaca-Plus-7B、中文Alpaca-Plus-13B的效果。生成回复具有随机性,受解码超参、随机种子等因素影响。以下相关评测并非绝对严谨,测试结果仅供晾晒参考,欢迎自行体验。
- 详细评测结果及生成样例请查看examples目录
- 📊 Alpaca模型在线对战:http://llm-arena.ymcui.com
客观效果评测
本项目还在“NLU”类客观评测集合上对相关模型进行了测试。这类评测的结果不具有主观性,只需要输出给定标签(需要设计标签mapping策略),因此可以从另外一个侧面了解大模型的能力。本项目在近期推出的C-Eval评测数据集上测试了相关模型效果,其中测试集包含12.3K个选择题,涵盖52个学科。以下是部分模型的valid和test集评测结果(Average),完整结果请参考技术报告。
| 模型 | Valid (zero-shot) | Valid (5-shot) | Test (zero-shot) | Test (5-shot) |
|---|---|---|---|---|
| Chinese-Alpaca-Plus-33B | 46.5 | 46.3 | 44.9 | 43.5 |
| Chinese-Alpaca-33B | 43.3 | 42.6 | 41.6 | 40.4 |
| Chinese-Alpaca-Plus-13B | 43.3 | 42.4 | 41.5 | 39.9 |
| Chinese-Alpaca-Plus-7B | 36.7 | 32.9 | 36.4 | 32.3 |
| Chinese-LLaMA-Plus-33B | 37.4 | 40.0 | 35.7 | 38.3 |
| Chinese-LLaMA-33B | 34.9 | 38.4 | 34.6 | 39.5 |
| Chinese-LLaMA-Plus-13B | 27.3 | 34.0 | 27.8 | 33.3 |
| Chinese-LLaMA-Plus-7B | 27.3 | 28.3 | 26.9 | 28.4 |
需要注意的是,综合评估大模型能力仍然是亟待解决的重要课题,合理辩证地看待大模型相关各种评测结果有助于大模型技术的良性发展。推荐用户在自己关注的任务上进行测试,选择适配相关任务的模型。
C-Eval推理代码请参考本项目 >>> 📚 GitHub Wiki
训练细节
整个训练流程包括词表扩充、预训练和指令精调三部分。
- 本项目的模型均在原LLaMA词表的基础上扩充了中文单词,代码请参考merge_tokenizers.py
- 预训练和指令精调代码参考了🤗transformers中的run_clm.py和Stanford Alpaca项目中数据集处理的相关部分
- 已开源用于预训练和指令精调的训练脚本:预训练脚本Wiki、指令精调脚本Wiki
具体内容请参考本项目 >>> 📚 GitHub Wiki
FAQ
FAQ中给出了常见问题的解答,请在提Issue前务必先查看FAQ。
问题1:为什么不能放出完整版本权重?
问题2:后面会有33B、65B的版本吗?
问题3:一些任务上效果不好!
问题4:为什么要扩充词表?直接在原版LLaMA上用中文预训练不行吗?
问题5:回复内容很短
问题6:Windows下,模型无法理解中文、生成速度很慢等问题
问题7:Chinese-LLaMA 13B模型没法用llama.cpp启动,提示维度不一致
问题8:Chinese-Alpaca-Plus效果很差
问题9:模型在NLU类任务(文本分类等)上效果不好
问题10:为什么叫33B,不应该是30B吗?
问题11:模型合并之后SHA256不一致
具体问题和解答请参考本项目 >>> 📚 GitHub Wiki
局限性
虽然本项目中的模型具备一定的中文理解和生成能力,但也存在局限性,包括但不限于:
- 可能会产生不可预测的有害内容以及不符合人类偏好和价值观的内容
- 由于算力和数据问题,相关模型的训练并不充分,中文理解能力有待进一步提升
- 暂时没有在线可互动的demo(注:用户仍然可以自行在本地部署)
引用
如果您觉得本项目对您的研究有所帮助或使用了本项目的代码或数据,请参考引用本项目的技术报告:https://arxiv.org/abs/2304.08177
@article{chinese-llama-alpaca,
title={Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca},
author={Cui, Yiming and Yang, Ziqing and Yao, Xin},
journal={arXiv preprint arXiv:2304.08177},
url={https://arxiv.org/abs/2304.08177},
year={2023}
}
相关项目
| 项目名称 | 简介 | 类型 |
|---|---|---|
| Chinese-LLaMA-Alpaca-2(官方项目) | 中文LLaMA-2、Alpaca-2大模型 | 文本 |
| Visual-Chinese-LLaMA-Alpaca(官方项目) | 多模态中文LLaMA & Alpaca大模型 | 多模态 |
想要加入列表?>>> 提交申请
致谢
本项目基于以下开源项目二次开发,在此对相关项目和研究开发人员表示感谢。
免责声明
本项目相关资源仅供学术研究之用,严禁用于商业用途。 使用涉及第三方代码的部分时,请严格遵循相应的开源协议。模型生成的内容受模型计算、随机性和量化精度损失等因素影响,本项目不对其准确性作出保证。对于模型输出的任何内容,本项目不承担任何法律责任,亦不对因使用相关资源和输出结果而可能产生的任何损失承担责任。本项目由个人及协作者业余时间发起并维护,因此无法保证能及时回复解决相应问题。
问题反馈
如有问题,请在GitHub Issue中提交。礼貌地提出问题,构建和谐的讨论社区。
- 在提交问题之前,请先查看FAQ能否解决问题,同时建议查阅以往的issue是否能解决你的问题。
- 提交问题请使用本项目设置的Issue模板,以帮助快速定位具体问题。
- 重复以及与本项目无关的issue会被stable-bot处理,敬请谅解。
关注我们
欢迎关注微信公众号"涌现志",了解最新的技术动态。
