Chinese-LlaMA2

GitHub
739 55 中等 2 次阅读 3周前语言模型开发框架
AI 解读 由 AI 自动生成,仅供参考

Chinese-LlaMA2 是一个基于 Meta 最新开源的 LLaMA2 模型进行中文适配的开源项目。虽然 LLaMA2 本身支持中文,但实际使用时容易出现中英混杂或全英文回答的情况,Chinese-LlaMA2 通过大规模中文预训练和指令微调,解决了这一痛点。

该项目提供两个版本:不扩充词表版和扩充词表版,用户可根据需求灵活选择。同时发布 LoRA 轻量级微调权重和完整模型权重,方便开发者进行二次开发和部署。项目还支持 vllm 加速推理和模型量化,能够显著提升部署效率。

除了通用版本,Chinese-LlaMA2 还推出了垂直领域专业模型,包括医疗大模型 ChatMed 和中医药大模型 ShenNong-TCM,专注于医疗健康场景的多轮对话和知识问答。

适合谁使用:对中文大模型有需求的研究人员、开发者和企业用户,尤其适合需要快速部署中文 AI 应用的团队。项目完全开源可商用,代码和模型权重均已公开。

使用场景

某互联网医疗公司的技术团队正在开发一款面向患者的智能问诊助手,需要在自有服务器上部署一个大语言模型来提供 7×24 小时的健康咨询对话服务。

没有 Chinese-LlaMA2 时

  • 团队基于 Meta 发布的 Llama-2-7B 部署了对话系统,但患者用中文提问时,模型经常出现中英混杂的回复,比如“请多喝热水,remember to rest”
  • 模型对中文医学术语理解不准确,常把“高血压”误理解为普通词汇,无法给出专业的健康建议
  • 患者描述症状时,模型难以准确提取关键信息,经常答非所问,导致用户满意度低
  • 部署后推理速度慢,单次响应需要 5-8 秒,患者体验差,客服成本未得到有效降低
  • 需要额外开发后处理规则来过滤和纠正英文输出,增加了开发工作量

使用 Chinese-LlaMA2 后

  • 模型能够用流畅的中文进行对话,告别了中英混杂的问题,患者阅读体验大幅提升
  • 在中文医学语料上微调后,模型对“糖尿病”“冠心病”等专业术语理解准确,能给出符合临床常识的建议
  • 模型支持多轮对话上下文理解,能够准确追踪患者描述的症状变化,问诊流程更自然
  • 配合 vllm 框架部署,推理速度提升约 2.7 倍,响应时间缩短至 2 秒以内,患者几乎无需等待
  • 直接使用开源的中文指令微调权重,无需额外开发纠错规则,大幅降低了工程化成本

Chinese-LlaMA2 让企业能够以最低成本获得一个真正懂中文、专业、可商用的开源大模型客服系统。

运行环境要求

操作系统
  • Linux
GPU

需要 NVIDIA GPU,建议显存 16GB+(7B 模型)

内存

32GB+

依赖
notes主要支持 Linux 系统;需提前申请 Meta Llama 2 权重;使用 conda 管理环境;推理部署推荐使用 vllm 框架以提升约 2.7 倍速度;支持模型量化部署以降低显存占用
python3.8+
torch
transformers
accelerate
vllm
gradio
sentencepiece
Chinese-LlaMA2 hero image

快速开始

Chinese-LlaMA2



GitHub GitHub top language

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

  • 🚀 Chinese-LlaMA2-chat-sft:对Llama-2直接进行有监督微调(Supervised Fine-Tuning,SFT),
    • 采用开源指令微调数据,如UltraChat、各种版本的中文alpaca语料(如Chinese-alpaca, BELLE)等;
    • 注意LLaMA词表本身是支持中文的,所以我们会训练不扩充词表版本和扩充词表版本
  • Chinese-LlaMA2: 对Llama 2进行大规模中文预训练;
    • 第一步:先在42G中文语料上进行训练;后续将会加大训练规模
  • Chinese-LlaMA2-chat: 对Chinese-LlaMA2进行指令微调和多轮对话微调,以适应各种应用场景和多轮对话交互。

注意,遵循相应的许可,我们将发布完整的、合并LoRA(Low-Rank Adaptation,低秩适应)权重的完整模型,且同时发布LoRA权重,方便开源社区使用。

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

  • Chinese-LlaMA2-chatmed: Chinese-LlaMA2医学领域大模型,支持多轮在线问诊;
  • Chinese-LlaMA2-tcm: 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)

  • 几个测试例子见test examples
  • 此模型是PEFT(Parameter-Efficient Fine-Tuning,参数高效微调)模型加上微调后的embedding(嵌入层)和LM head(语言模型头部)参数,使用部署请参照SFT-README或者vllm-REAME;
  • 此模型具有初步的中文沟通和任务能力,但是中文知识仍然有限;我们会持续更新更加强大的版本

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

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

为什么LlaMA-2需要汉化?

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

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

  • 是否需要扩充词表? 是否扩充词表后效果会更好?另外扩充词表必然是需要更大规模预训练的,毕竟会引入初始化参数;
  • 是否需要中文上的预训练?多大的中文预训练合适?在中文上预训练是否会退化其英文AIGC(Artificial Intelligence Generated Content,人工智能生成内容)能力?

快速上手

获得llama-2权重

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

下载模型权重,运行:

src/further_ft/download_checkpoints.py

指令微调

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

model serving(模型部署)

  • vllm 部署:模型部署采用huggingface原生代码效率比较慢,为了获得2.7倍左右推理速度提升,我们采用vllm框架进行部署,操作步骤参照vllm-serving-README.
  • 模型量化:参考ChatGLM的量化代码,对Chinese-llama2模型进行量化。详见量化部署代码
  • gradio demo代码:见gradio demo code

扩充词表和扩展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日有效):



团队介绍

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

团队成员:

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架