✨ 复制成功!

以文会友,打造好学人设!

📋 已复制到剪贴板:

PEFT 方法汇总与各方法的对比

创建时间:2026-08-30 更新时间:2026-08-30 阅读次数:1021 次

一、什么是 PEFT?

PEFT(Parameter-Efficient Fine-Tuning,参数高效微调)是一类在不微调全部模型参数的情况下,通过只训练少量额外参数或少量原始参数,让大模型适配下游任务的方法。

核心目标:

  • 降低显存/算力需求;
  • 加速训练;
  • 便于多任务部署(每个任务只需保存很小的增量参数);
  • 避免灾难性遗忘。

二、主流 PEFT 方法汇总

1. Adapter(适配器)

核心思想:在 Transformer 子层(如 Attention 和 FFN)之后插入小型瓶颈结构。

结构:

输入 → 原层 → Adapter → 输出
Adapter: Linear_down(d) → 非线性 → Linear_up(d)
  • 每个 Adapter 参数量通常为 $2 \times d \times r$,$r$ 很小(如 8~64)。
  • 训练时只更新 Adapter 参数,原始模型冻结。

优点: - 参数少,效果好; - 可插拔,易于多任务。

缺点: - 推理时增加了额外层,推理延迟增加; - 无法通过重参数化合并回原模型,必须保留 Adapter 结构。


2. Prefix Tuning

核心思想:在输入序列前添加一组可训练的“前缀向量”,相当于给每层 Transformer 的 Key 和 Value 拼上可学习前缀。

  • 不修改模型结构,只增加虚拟 token;
  • 前缀向量通常通过一个 MLP 重参数化生成,训练时更新 MLP,推理时只用生成的前缀。

优点: - 参数量极小; - 不改变模型主体。

缺点: - 优化不稳定,对超参敏感; - 前缀会占用序列长度,影响有效上下文; - 效果通常略弱于 LoRA/Adapter。


3. Prompt Tuning / P-Tuning / P-Tuning v2

Prompt Tuning

  • 只在输入层添加可训练 soft prompt 向量;
  • 原模型全部冻结;
  • 参数量非常小(每个任务几十~几千参数)。

优点: - 参数极少,部署简单; - 多任务只需切换 prompt 向量。

缺点: - 小模型上效果差,通常需要大模型(>10B)才接近全参微调; - 收敛慢。

P-Tuning v2

  • 将可训练 prompt 插入到每一层,类似 Prefix Tuning 的改进版;
  • 效果更稳定。

4. BitFit(Bias-only Fine-tuning)

核心思想:只微调模型中的 bias 参数

  • 参数量占模型总参数不到 0.1%;
  • 实现极其简单。

优点: - 超低参数; - 训练快。

缺点: - 效果有限,通常不如 LoRA/Adapter; - 适合小规模任务或资源极端受限场景。


5. LoRA(Low-Rank Adaptation)

核心思想:对权重矩阵的更新量进行低秩分解。

对原权重 $W$(冻结),学习:

$$ \Delta W = B A $$

其中:

  • $A \in \mathbb{R}^{r \times d_{in}}$
  • $B \in \mathbb{R}^{d_{out} \times r}$
  • $r$ 通常为 4~64

前向:

$$ h = W x + \frac{\alpha}{r} B A x $$

优点: - 不增加推理延迟(训练后可将 $BA$ 合并回 $W$); - 参数少,显存占用低; - 效果好,接近全参微调; - 已成为事实标准。

缺点: - 秩 $r$ 需要调; - 对某些任务可能需要较大 $r$; - 多个 LoRA 模块需要额外管理。


6. IA3(Infused Adapter by Inhibiting and Amplifying Inner Activations)

核心思想:学习三个向量 $l_k, l_v, l_{ff}$,对 Key、Value、FFN 中间激活进行逐元素缩放。

  • 参数量极低(约为 LoRA 的 1/10);
  • 不影响推理延迟。

优点: - 参数极少; - 可与 LoRA 竞争甚至更好(在 T0、GPT-2 等模型上)。

缺点: - 通用性/生态不如 LoRA; - 对某些模型结构依赖较强。


7. LoRA 变体

QLoRA

  • 4-bit 量化基础模型 + LoRA;
  • 通过 NF4 量化、双重量化、分页优化器,大幅降低显存;
  • 可在单张 24GB 显卡上微调 65B 模型。

DoRA

  • 将权重分解为幅值(magnitude)和方向(direction);
  • 对方向做 LoRA,对幅值单独训练;
  • 效果常优于 LoRA。

LoRA+

  • 对 $A$ 和 $B$ 使用不同学习率,提升收敛速度。

三、核心对比表

方法 可训练参数量 插入位置 推理延迟 可合并回原模型 效果 工程成熟度
Adapter 每层子层后 增加 x
Prefix Tuning 每层 K/V 前 略增 x
Prompt Tuning 极小 仅输入层 几乎不变 x 大模型上好
BitFit 极小 全模型 bias 不变 较弱
LoRA 注意力/FFN 权重 不变(合并后) 好/接近全参 非常高
QLoRA 同 LoRA 不变(合并后)
IA3 极小 激活缩放 不变

四、面试常见追问与回答要点

Q1:为什么 LoRA 能成为主流?

  • 不增加推理延迟,可合并权重;
  • 参数少、显存低、效果稳定;
  • 社区生态好(PEFT、Transformers 原生支持);
  • 可与其他技术结合:量化(QLoRA)、多任务(AdaLoRA)、动态秩等。

Q2:LoRA 和 Adapter 的本质区别?

  • Adapter 是串行插入新模块,推理时必须保留,增加延迟;
  • LoRA 是对原有权重更新量做低秩约束,训练后可以合并,不改变推理结构。

Q3:Prefix Tuning 与 Prompt Tuning 的区别?

  • Prompt Tuning 只在输入层加 soft prompt;
  • Prefix Tuning 在每层 K/V 前都加前缀向量;
  • Prefix Tuning 表达能力更强,但参数更多,优化更难。

Q4:如何选择 PEFT 方法?

  • 工程首选:LoRA / QLoRA
  • 极致低参数:IA3 / BitFit / Prompt Tuning
  • 需要模块化插拔:Adapter
  • 模型非常大且显存受限:QLoRA

Q5:为什么 LoRA 通常加在 Query 和 Value,而不是所有矩阵?

  • Q、V 对注意力的语义影响最大;
  • 只加 QV 可以在参数量和效果之间取得好平衡;
  • 加全部矩阵(QKV+FFN)有时提升有限但参数翻倍。

五、结论

“PEFT 方法汇总与对比”是一个合格的、有区分度的面试题。 它既能筛掉只听说过 LoRA 的人,也能考察面试者对训练效率、推理部署、多任务管理等真实工程问题的理解。

建议准备时至少能流畅讲清:

  1. 什么是 PEFT,为什么需要;
  2. 5 种以上方法的核心思想;
  3. 一张对比表;
  4. 为什么 LoRA 是当前首选;
  5. 至少一个真实调参/训练经验。

📌 面试天下网:一款服务于大一新生的口袋书,让大家在无聊的公共课上可以学习大模型技术!
📌 网站公告:【悬赏 200 元/篇】寻找“大模型面试战场”的一手回忆录

评论专区

评论加载中...