摘要

在大模型微调(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 #大模型微调

本文为原创内容,版权归作者所有,转载需注明出处。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐