Chinese-LLaMA-Alpaca
中文LLaMA & Alpaca大模型开源项目,支持本地CPU/GPU量化部署,LoRA微调方案让中
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
中文LLaMA & Alpaca大模型开源项目,支持本地CPU/GPU量化部署,LoRA微调方案让中
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你想让电脑扮演一位精通中文的AI助手——能写文案、答问题、做翻译,甚至陪你聊天。但面对GPT-4、ChatGPT等云端服务的隐私顾虑,或者付费墙的门槛,你只能望而却步。
Chinese-LLaMA-Alpaca 正是为解决这个痛点而生:它把Meta开源的LLaMA大模型"汉化",让你在个人电脑甚至没有高端显卡的机器上,也能跑起一个真正懂中文的大语言模型。
2023年2月,Meta AI开源了LLaMA模型,在学术圈引发轰动。但原版LLaMA对中文支持极差——词表几乎不含中文token,用中文对话时效率极低、效果糟糕。与此同时,斯坦福大学发布了英文指令精调模型Alpaca,却也没有中文能力。
面对这一空白,以崔一鸣为代表的开发者在GitHub上发起了 Chinese-LLaMA-Alpaca 项目。他们的核心思路是两步走:第一步,用大量中文语料对LLaMA进行继续预训练,同时扩充中文词表;第二步,用中文指令数据对模型进行精调,使其理解中文指令并生成符合中文习惯的回复。
通俗来说,这就像给一位只会说英语的"聪明人"上了一门高强度中文课,还额外给他配了一本《中文词典》,让他不仅能读懂中文问题,还能用地道的中文回答。
2023年7月,项目进一步升级到LLaMA-2版本,并持续迭代至今。最新的Alpaca-Pro系列模型(C-Eval测试集平均分达46.5)已经具备了相当强的中文推理能力。

图1:Chinese-LLaMA-Alpaca 项目Banner
项目采用了清晰的训练管线:
第一阶段:词表扩充与中文预训练
原版LLaMA的词表约32,000个token,对中文编码效率极低——一个汉字往往需要多个token表示,既浪费计算资源,又损害模型对中文的语义理解。项目团队基于中文语料训练了一个专门的中文SentencePiece词表,然后通过矩阵乘法将原版LLaMA的词表向量映射到扩充后的新词表空间,实现了"无损嫁接"。
在中文预训练阶段,团队使用了约20GB(基础版)到120GB(Plus版)的中文通用语料,使模型习得中文的语法结构、世界知识和常识推理能力。
第二阶段:指令精调
预训练后的中文LLaMA虽然能续写中文文本,但"不懂指令"——你问它"帮我翻译",它可能会继续续写"帮我翻译..."这句话,而不是执行翻译操作。
为此,团队收集了约200万条(Plus版430万条)中文指令-回复对,涵盖问答、写作、摘要、翻译、代码生成等多种任务,对模型进行Supervised Fine-Tuning(SFT)。精调后的Alpaca模型才能真正扮演"听话的AI助手"角色。
训练脚本参考了HuggingFace transformers的 run_clm.py 和 Stanford Alpaca 的数据处理流程,并使用 PEFT(LoRA)技术高效微调,大幅降低了训练成本。
项目最大的亮点之一是提供了极其丰富的本地部署路径,覆盖从极低门槛到高性能的各种场景:
| 部署方式 | 最低硬件要求 | 图形界面 | 适用场景 |
|---|---|---|---|
| llama.cpp量化 | CPU可跑7B | ❌ | 极致低配机器、快速体验 |
| HuggingFace Transformers | CPU/GPU | ❌ | 开发者集成、项目开发 |
| text-generation-webui | CPU/GPU | ✅ | 想用Web界面交互 |
| Gradio Demo / Colab | CPU/GPU | ✅ | 零配置快速体验 |
| LangChain / privateGPT | CPU/GPU | ❌ | 基于大模型开发RAG应用 |
以 llama.cpp 量化部署为例:7B模型的4-bit量化版本只需3.9GB,一台没有独立显卡的办公笔记本也能流畅运行;13B模型8-bit量化约15GB,在普通游戏显卡(RTX 3060)上可以接受的速度推理。
Gradio Demo 则提供了开箱即用的Web界面,pip install requirements.txt 后两行代码即可启动服务,还支持多轮对话。
尽管项目文档强调"笔记本CPU可跑",实际操作中仍有几道坎需要迈过:
第一道坎:获取原版LLaMA权重。 由于LLaMA采用非商业许可证,Meta不直接开放模型下载,需要自己申请或通过第三方渠道获取。这是整个流程中最麻烦的一步。
第二道坎:合并LoRA权重。 项目发布的是"补丁"(LoRA权重),不能单独使用,需要与原版LLaMA权重合并。项目提供了合并脚本,但对新手来说仍然有一定门槛——特别是Plus/Pro版本需要两阶段合并(先合并中文LLaMA,再合并Alpaca)。
第三道坎:模型文件体积。 即使量化后,13B模型也要8GB,33B模型17GB,下载和存储都需要时间。HuggingFace国内访问不稳定,百度网盘成了"Plan B"但速度也不快。
第四道坎:中文理解能力的局限性。 Plus-7B在C-Eval测试集上的得分约36.7(满分100),与GPT-3.5的水平仍有显著差距。对话中偶尔会出现"幻觉"(一本正经地胡说八道)或回复质量不稳定的问题。
项目代码结构清晰,核心分为三个模块:
scripts/merge_tokenizer/ — 词表扩充脚本,将中文词表与原版LLaMA词表合并scripts/training/ — 预训练(run_clm_pt_with_peft.py)和指令精调(run_clm_sft_with_peft.py)脚本,基于PEFT实现LoRA微调scripts/inference/ — 推理脚本,含HuggingFace Transformers推理(inference_hf.py)、Gradio Web界面(gradio_demo.py)和LangChain集成示例技术栈:Python + PyTorch + transformers + peft,代码质量较高,配有完整训练脚本和详细Wiki文档。License为Apache-2.0,可自由用于商业项目(需注意LLaMA本身非商业许可的合规问题)。
Chinese-LLaMA-Alpaca 之所以在GitHub上获得近19,000颗星,根本原因在于它填补了中文大模型开源生态中的一个关键空白。在它发布之前,中文NLP社区想基于LLaMA做中文任务,几乎只能从零预训练,门槛极高;有了这个项目,开发者可以站在LLaMA的肩膀上,用LoRA快速适配自己的中文应用。
更重要的是,项目配套提供了完整的训练流程和工具链,包括词表扩充脚本、预训练脚本、指令精调脚本、量化工具和多种推理框架的集成。这相当于给中文NLP社区提供了一套"大模型汉化"的参考实现,推动了后续大量中文LLaMA变体模型的出现。
当然,项目也在快速演进——2024年4月已发布基于Llama-3的第三代版本,并推荐一期、二期用户升级。这说明开源社区的生命力正在于此:不断迭代,永不满足于现状。
Chinese-LLaMA-Alpaca 是一个定位明确、执行到位的开源项目。它不是追求SOTA的学术研究,而是解决实际问题:让中文大模型在消费级硬件上跑起来、跑得动、跑得有效果。对于想在本地部署中文大语言模型进行开发、实验或个人使用的研究者和开发者来说,这是一个值得深入探索的起点。