大模型微调(Fine-tuning)全面解析:Full Fine-tuning、LoRA、QLoRA 原理与实践
2026/7/23 17:15:18 网站建设 项目流程

前言:

随着 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 是传统方法

  • PEFT(Parameter-Efficient Fine-Tuning)是目前工业界主流方案

  • LoRA、QLoRA 是使用最广泛的两种技术


四、Full Fine-tuning(全参数微调)

全参数微调就是:模型中的所有参数全部参与训练

优点

  • 能充分释放模型潜力

  • 微调效果通常最好

  • 适用于继续预训练(Continual Pretraining)

缺点

代价非常高,一个 70B 参数模型:

  • 参数约 700 亿

  • Optimizer State 通常还需要额外存储 2~4 倍参数

  • 往往需要几十张甚至上百张 GPU

因此,全参数微调更多出现在大型模型研发团队,而不是普通企业项目


五、PEFT:参数高效微调

由于 Full Fine-tuning 成本过高,研究者提出了PEFT(Parameter-Efficient Fine-Tuning)

核心思想只有一句话:冻结原模型,只训练少量新增参数。

示意图如下:

原模型(冻结) ↓ 新增模块(训练) ↓ 输出

这样做有几个明显优势:

  • GPU 显存占用低

  • 训练速度快

  • 可以维护多个业务适配器

  • 原模型无需重复保存

PEFT 已成为目前大模型微调的主流方向。


六、LoRA:目前最流行的微调方法

如果要评选近几年影响力最大的微调技术,LoRA 一定榜上有名。

LoRA 全称:Low-Rank Adaptation(低秩适配)

它最大的特点就是:冻结原模型,仅学习一个低秩增量矩阵。

假设模型中某一层为:[Y = WX]

传统微调:更新 W

LoRA:先冻结 W,再训练 ΔW

最终:[W' = W + \Delta W]

LoRA 并不会直接学习完整的 ΔW,而是将它拆成两个低秩矩阵:[\Delta W = BA]

其中:

  • A:r × d

  • B:d × r

这里的r(Rank)一般远小于 d,通常设置为 8、16、32 或 64。

举个例子,原矩阵:

4096 × 4096

参数量约:

1677 万

如果:

Rank = 8

LoRA 实际训练:

4096×8 + 8×4096

总共约6.5 万参数,相比千万级参数,训练量减少了数百倍


七、QLoRA:消费级显卡也能训练大模型

LoRA 已经降低了训练成本,但模型本身仍然需要占用大量显存,于是,QLoRA 应运而生

QLoRA 可以理解为:

LoRA + 模型量化(Quantization)

传统模型:

16 bit

QLoRA:

4 bit

训练时:

4bit 模型(冻结) + LoRA 参数(训练)

这样可以显著降低显存需求

例如,一个 7B 模型:

精度显存占用(约)
FP1614GB
INT87GB
INT43.5GB

因此,即使只有一张 24GB 显存的消费级 GPU,也能完成很多开源模型的微调任务,这也是目前开源社区最常见的微调方案


八、其他常见微调方法

除了 LoRA,还有一些经典方法:

Adapter

在 Transformer 中增加 Adapter 层,训练时:

Transformer:冻结 Adapter:训练

特点:

  • 效果不错

  • 推理速度略慢

  • 使用率已被 LoRA 超越


Prefix Tuning

训练一段可学习的 Prefix。

Prefix + 输入

参数极少,但效果一般弱于 LoRA


Prompt 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% 以上的微调需求

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询