这个项目能做什么
## 项目概览
Chinese-LLaMA-Alpaca 是一个面向中文自然语言处理的开源大语言模型项目,目标是推动大模型在中文社区的开放研究。项目在原版 LLaMA 的基础上扩充了中文词表,并使用中文语料进行二次预训练,以提升中文基础语义理解能力;在此基础上,中文 Alpaca 模型进一步使用中文指令数据进行精调,增强对指令的理解与执行能力。
项目配套技术报告为《Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca》(arXiv:2304.08177)。
## 主要能力
- 针对原版 LLaMA 扩充中文词表,提升中文编解码效率。
- 开源使用中文文本预训练的中文 LLaMA,以及经过指令精调的中文 Alpaca。
- 提供预训练脚本与指令精调脚本,便于用户按需继续训练。
- 支持在个人电脑(笔记本)的 CPU/GPU 上进行本地量化与部署体验。
- 兼容 transformers、llama.cpp、text-generation-webui、LlamaChat、LangChain、privateGPT 等生态工具。
## 模型版本
已开源的模型规模包括 7B、13B、33B,每个规模下分为基础版、Plus 版与 Pro 版。其中 Plus 系列使用更多训练数据,Pro 系列针对回复过短的问题做了改进。模型分为两类:
- 中文 LLaMA:基座模型,采用传统 CLM 训练,适合文本续写,不适合指令理解与多轮聊天。
- 中文 Alpaca:指令理解模型,采用指令精调,适合问答、写作、建议及多轮上下文理解。
由于原版 LLaMA 的许可限制,项目发布的是 LoRA 权重,需要与原版 LLaMA 合并后才能得到完整模型,无法单独使用。
## 使用流程
1. 从 Hugging Face、ModelScope 或百度网盘下载对应的 LoRA 权重。
2. 将 LoRA 权重与原版 LLaMA 合并,可参考在线转换(Colab notebook)或手动转换教程。
3. 选择推理与部署方式,包括 llama.cpp、Transformers、text-generation-webui、LlamaChat、LangChain、privateGPT、Colab Gradio Demo 以及仿 OpenAI 的 API 调用 Demo。
4. 根据任务类型选择合适模型与启动参数,例如 Alpaca 需使用符合模板的输入格式。
合并后的模型大小随规模变化,例如 7B 的 FP16 约 13GB,4-bit 量化后约 3.9GB;33B 的 FP16 约 60GB,4-bit 量化后约 17.2GB。
## 训练细节
训练流程包括三部分:词表扩充、预训练和指令精调。词表扩充代码见 merge_tokenizers.py;预训练与指令精调代码参考了 transformers 的 run_clm.py 以及 Stanford Alpaca 的数据集处理部分。相关训练脚本已在 Wiki 中开源。
## 评测情况
项目在 C-Eval 数据集上对多个模型进行了客观评测,测试集包含约 12.3K 道选择题,覆盖 52 个学科。README 中列出了各模型在 valid/test 集上的 zero-shot 与 5-shot 平均成绩,例如 Chinese-Alpaca-Plus-33B 的 test 5-shot 为 43.5。项目同时提供生成效果评测样例与在线对战平台。
## 局限性与声明
项目明确指出模型可能产生不可预测的有害内容或不符合人类偏好的内容;受算力与数据限制,训练并不充分,中文理解能力仍有提升空间;项目本身不提供在线互动 demo,用户需自行本地部署。相关资源仅供学术研究使用,严禁商业用途,模型输出内容不保证准确性。
## 相关项目
官方后续项目包括 Chinese-LLaMA-Alpaca-2(中文 LLaMA-2、Alpaca-2 大模型)与 Visual-Chinese-LLaMA-Alpaca(多模态中文 LLaMA & Alpaca 大模型)。
评论
0 评分人数达到10人后显示
登录后参与讨论。