LoRA、Adapter、Prefix Tuning 有什么本质区别?一文彻底讲清 PEFT 三大方案
摘要 本文系统对比了大模型微调中的三种高效参数微调方法(PEFT):LoRA、Adapter和Prefix Tuning。LoRA通过在权重空间中学习低秩增量实现微调,Adapter通过插入可训练子网络扩展结构,Prefix Tuning则通过操控注意力层的上下文记忆来引导模型。三者各具特点:LoRA参数少、兼容性好,Adapter表达能力更强,Prefix Tuning对原模型侵入性最低。
摘要
在大模型微调(Fine-tuning)领域,PEFT(Parameter-Efficient Fine-Tuning) 已成为事实标准。其中,LoRA、Adapter、Prefix Tuning 是最常见、也最容易混淆的三种方法。
它们看起来都是“少量参数微调”,但在修改位置、能力表达方式、对模型结构的影响等方面存在本质差异。
本文将从原理层面 + 工程视角,系统对比三者的核心思想、优缺点与适用场景,帮你在实际项目中选对方案。
一、为什么需要 PEFT?
传统全参数微调存在明显问题:
- 参数量巨大,显存和算力成本高
- 容易发生灾难性遗忘
- 多任务 / 多领域切换成本极高
PEFT 的核心目标只有一句话:
在尽量不修改原模型参数的前提下,让模型学会新能力。
LoRA、Adapter、Prefix Tuning 正是在这一目标下诞生的不同技术路线。
二、先给结论:三种方法的“本质差异”
| 方法 | 本质思想 |
|---|---|
| LoRA | 在权重空间中,学习一个低秩增量 |
| Adapter | 在网络结构中,插入可学习的功能模块 |
| Prefix Tuning | 在注意力层中,操控模型的“上下文记忆” |
下面我们逐一拆解。
三、LoRA:在“权重空间”里学新能力
1️⃣ 核心思想
LoRA 不改变模型结构,而是认为:
权重更新本质上是低秩的
因此用两个小矩阵表示权重增量:
W′=W+AB W' = W + AB W′=W+AB
- W:冻结的原始权重
- A、B:低秩可训练参数
2️⃣ LoRA 在做什么?
- ❌ 不改网络结构
- ❌ 不加新层
- ✅ 只在前向计算中“偷偷加一项”
从工程视角看:
- 非侵入式
- 易部署
- 与推理框架(如 vLLM)兼容性好
3️⃣ LoRA 的特点
优点:
- 参数量极小
- 显存占用低
- 灾难性遗忘风险低
- 多 LoRA 可并存
缺点:
- 表达能力受 rank 限制
- 对结构层面的任务(如重推理路径)能力有限
四、Adapter:在“结构空间”里加功能模块
1️⃣ 核心思想
Adapter 的做法非常直观:
在 Transformer 层中插入一个小型可训练子网络
典型结构为:
Transformer Layer
↓
Adapter (Down → Up)
↓
Transformer Layer
2️⃣ Adapter 在做什么?
- 在每一层中插入一个 bottleneck 网络
- 原模型参数冻结
- 通过新增模块学习新能力
📌 本质是结构扩展,而不是参数重写
3️⃣ Adapter 的特点
优点:
- 表达能力强于 LoRA
- 对复杂任务(如多阶段推理)更友好
- 模块化清晰,任务隔离好
缺点:
- 改变模型结构
- 推理速度变慢
- 对推理框架侵入性较强
五、Prefix Tuning:在“上下文空间”中引导模型
1️⃣ 核心思想
Prefix Tuning 的关键思想是:
不改模型参数,只改模型“看到的上下文”
具体做法是:
- 为每一层 Attention 引入一组可训练的 虚拟 Key / Value
- 它们在计算 Attention 时始终存在
2️⃣ Prefix Tuning 在做什么?
- 不改权重
- 不改结构
- 通过“前缀记忆”影响注意力分布
可以理解为:
在每一层给模型植入“隐形提示词”
3️⃣ Prefix Tuning 的特点
优点:
- 对原模型几乎零侵入
- 参数极少
- 非常适合指令 / 风格控制
缺点:
- 表达能力有限
- 对复杂领域迁移效果不稳定
- 对长上下文场景不友好
六、三者核心维度对比(重点)
| 维度 | LoRA | Adapter | Prefix Tuning |
|---|---|---|---|
| 修改位置 | 权重增量 | 网络结构 | Attention 上下文 |
| 是否改结构 | ❌ | ✅ | ❌ |
| 参数量 | 极小 | 小 | 极小 |
| 表达能力 | 中 | 高 | 低~中 |
| 灾难性遗忘 | 低 | 低 | 极低 |
| 推理性能影响 | 几乎无 | 有 | 有 |
| 工程复杂度 | 低 | 中 | 中 |
七、工程选型建议(非常实用)
✅ 优先选择 LoRA 的场景
- 大模型领域适配
- 指令微调
- 多任务 / 多 LoRA 切换
- 对推理性能敏感
📌 当前最通用、最稳妥的选择
✅ Adapter 更适合的场景
- 任务逻辑复杂
- 需要较强结构表达能力
- 不太在意推理速度
✅ Prefix Tuning 更适合的场景
- 风格控制
- Prompt 类任务
- 低算力 / 极少参数场景
八、一句话终极总结
LoRA 是“改权重”,Adapter 是“加模块”,Prefix Tuning 是“控注意力上下文”。
如果你不知道怎么选:
90% 的大模型微调场景,直接选 LoRA,不会错。
感谢你的阅读,希望这篇文章能帮你真正搞清楚 PEFT 三大方案的本质差异 🙌
如果你感兴趣,下一篇我可以继续写:
👉 《LoRA rank 怎么选?r=8 和 r=64 差别到底有多大?》
标签:#PEFT #LoRA #大模型微调
本文为原创内容,版权归作者所有,转载需注明出处。
更多推荐


所有评论(0)