大模型微调(Fine-tuning)全面解析:Full Fine-tuning、LoRA、QLoRA 原理与实践

发布时间:2026/7/19 15:47:16
大模型微调(Fine-tuning)全面解析:Full Fine-tuning、LoRA、QLoRA 原理与实践 前言随着 DeepSeek、Qwen、Llama 等开源大模型的不断发展越来越多的企业开始尝试训练属于自己的 AI 助手。然而一个通用大模型并不能直接满足所有业务需求例如企业知识库问答、客服机器人、代码助手等场景都需要让模型学习新的领域知识或特定的输出风格这时候就需要用到模型微调Fine-tuning我在这里将系统介绍大模型微调的原理、常见方法以及目前工业界最主流的 LoRA、QLoRA 技术希望帮助大家建立完整的知识体系一、什么是大模型微调在介绍微调之前我们先了解一下大模型是如何训练出来的一个大语言模型通常会经历三个阶段1、海量文本数据2、预训练3、微调预训练Pretraining模型学习语言规律、知识和推理能力例如阅读互联网网页、阅读代码、阅读论文、阅读书籍经过数万亿 Token 的训练之后模型已经拥有较强的通用能力但是它并不知道企业内部业务流程公司知识库医疗规范法律法规客服回复风格因此需要利用新的数据继续训练模型这就是Fine-tuning微调预训练决定模型知道什么微调决定模型如何完成你的任务。二、为什么需要微调你可能会有疑惑既然 Prompt 写得足够好是不是就不需要微调了实际上两者解决的问题不同。Prompt 更适合临时任务、一次性指令、灵活交互微调更适合固定输出格式、行业知识、企业术语、特定写作风格、提高稳定性、降低 Prompt 长度例如一个企业客服机器人如果完全依赖 Prompt可能需要每次都输入几百甚至上千字的系统提示而经过微调后模型可以天然遵循企业的话术和回答规范大幅减少 Prompt 的复杂度需要注意的是对于知识更新频繁的场景如企业文档、新闻、商品信息RAG检索增强生成通常比微调更合适而对于需要改变模型行为、风格或专业能力的任务微调依然是重要手段。实际项目中很多团队会采用Prompt RAG LoRA 微调的组合方案三、大模型微调有哪些方式目前主流的微调方式可以分为两大类Fine-tuning │ ├── Full Fine-tuning │ └── PEFT参数高效微调 ├── Adapter ├── Prefix Tuning ├── Prompt Tuning ├── BitFit ├── IA³ ├── LoRA └── QLoRA其中Full Fine-tuning 是传统方法PEFTParameter-Efficient Fine-Tuning是目前工业界主流方案LoRA、QLoRA 是使用最广泛的两种技术四、Full Fine-tuning全参数微调全参数微调就是模型中的所有参数全部参与训练优点能充分释放模型潜力微调效果通常最好适用于继续预训练Continual Pretraining缺点代价非常高一个 70B 参数模型参数约 700 亿Optimizer State 通常还需要额外存储 24 倍参数往往需要几十张甚至上百张 GPU因此全参数微调更多出现在大型模型研发团队而不是普通企业项目五、PEFT参数高效微调由于 Full Fine-tuning 成本过高研究者提出了PEFTParameter-Efficient Fine-Tuning。核心思想只有一句话冻结原模型只训练少量新增参数。示意图如下原模型冻结 ↓ 新增模块训练 ↓ 输出这样做有几个明显优势GPU 显存占用低训练速度快可以维护多个业务适配器原模型无需重复保存PEFT 已成为目前大模型微调的主流方向。六、LoRA目前最流行的微调方法如果要评选近几年影响力最大的微调技术LoRA 一定榜上有名。LoRA 全称Low-Rank Adaptation低秩适配它最大的特点就是冻结原模型仅学习一个低秩增量矩阵。假设模型中某一层为[Y WX]传统微调更新 WLoRA先冻结 W再训练 ΔW最终[W W \Delta W]LoRA 并不会直接学习完整的 ΔW而是将它拆成两个低秩矩阵[\Delta W BA]其中Ar × dBd × r这里的rRank一般远小于 d通常设置为 8、16、32 或 64。举个例子原矩阵4096 × 4096参数量约1677 万如果Rank 8LoRA 实际训练4096×8 8×4096总共约6.5 万参数相比千万级参数训练量减少了数百倍七、QLoRA消费级显卡也能训练大模型LoRA 已经降低了训练成本但模型本身仍然需要占用大量显存于是QLoRA 应运而生QLoRA 可以理解为LoRA 模型量化Quantization传统模型16 bitQLoRA4 bit训练时4bit 模型冻结 LoRA 参数训练这样可以显著降低显存需求例如一个 7B 模型精度显存占用约FP1614GBINT87GBINT43.5GB因此即使只有一张 24GB 显存的消费级 GPU也能完成很多开源模型的微调任务这也是目前开源社区最常见的微调方案八、其他常见微调方法除了 LoRA还有一些经典方法Adapter在 Transformer 中增加 Adapter 层训练时Transformer冻结 Adapter训练特点效果不错推理速度略慢使用率已被 LoRA 超越Prefix Tuning训练一段可学习的 Prefix。Prefix 输入参数极少但效果一般弱于 LoRAPrompt Tuning进一步缩小训练范围。训练内容只有 Prompt Embedding。适用于超大规模模型。BitFit仅训练 Bias 参数。实现简单但效果有限。IA³IA³ 不新增大型矩阵而是在模型内部增加少量可学习的缩放参数对中间激活进行调节。特点参数量极少推理效率高在部分任务中效果接近 LoRA微调方法对比微调方式更新参数显存需求效果推荐程度Full Fine-tuning100%⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐Adapter1%~5%⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐LoRA0.1%~1%⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐QLoRA0.1%~1%⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐Prefix Tuning极少⭐⭐⭐⭐⭐⭐Prompt Tuning极少⭐⭐⭐⭐⭐⭐BitFit极少⭐⭐⭐⭐IA³极少⭐⭐⭐⭐⭐⭐⭐⭐如何选择微调方案实际开发中可以参考下面的建议算力充足需要最大化性能选择 Full Fine-tuning。企业项目、需要快速适配业务优先选择 LoRA。单卡或消费级 GPU优先选择 QLoRA。维护多个业务版本LoRA/QLoRA 更容易管理和部署。对于绝大多数开发者而言LoRA 或 QLoRA 已经能够满足 90% 以上的微调需求。