Skip to content

参数高效微调(PEFT)面试题

内容整理自学习笔记,仅供面试备考参考;不构成录用、培训或考试承诺。

1. 微调方法概述

方法说明
Fine-Tuning(全参微调)全部参数参与更新,效果好但资源需求大
参数高效微调(PEFT)含 Prompt/Prefix 类(如 P-Tuning)、重参数化类(如 LoRA)、Adapter 等;只更新少量参数,训练更快、显存更省

效果对比

  • 链家 BELLE 实验:FT 效果稍好于 LoRA
  • AdaLoRA:在部分设定下可接近甚至优于固定秩 LoRA / 全量微调,但并非在所有任务上全面碾压 FT

2. 为什么需要 PEFT?

问题PEFT 解决方案
Full Fine-Tuning 太低效最小化微调参数量和计算复杂度
固定部分层微调效果差通过高效微调技术保持模型性能
计算资源受限即使资源有限也能利用预训练模型快速适应新任务
灾难性遗忘PEFT 可缓解全量微调带来的灾难性遗忘问题

3. PEFT 的优点

  • 提高模型效果的同时大幅缩短训练时间和计算成本
  • 让更多人能够参与深度学习研究
  • 缓解全量微调的灾难性遗忘问题

4. 不同微调方法的显存与速度对比(以 LoRA 为例)

方法Batch Size精度GPU 显存速度
LoRA (r=8)16FP1628GB8ex/s
LoRA (r=8)8FP1624GB8ex/s
LoRA (r=8)4FP1620GB8ex/s
LoRA (r=8)4INT810GB8ex/s
LoRA (r=8)4INT48GB8ex/s
P-Tuning (p=16)4FP1620GB8ex/s
Freeze (l=3)4FP1624GB8ex/s

5. PEFT vs 全量微调

核心差异:LoRA 等 PEFT 方法本质上是低秩的,无法对模型产生决定性改变(更多是改变风格而非知识)。全量微调仍然可以改变模型知识。

6. 各类 PEFT 方法对比

按参与参数量分类

类别代表方法参数量级
增加额外参数Prefix Tuning、Prompt Tuning、Adapter Tuning0.01%-3%
选取部分参数更新BitFit0.1%
引入重参数化LoRA、AdaLoRA、QLoRA百万-千万级
混合高效微调MAM Adapter、UniPELT组合

按评估规模分类

方法评估模型规模
Prompt Tuning<1B, <20B, >20B
Prefix Tuning<1B, <20B
LoRA<1B, <20B, >20B

7. 方法选型建议

场景推荐
显存资源有限QLoRA
简单任务场景P-Tuning、Prompt Tuning
综合效果P-Tuning v2、LoRA

8. 当前 PEFT 技术存在的问题

问题说明
参数计算口径不一致可训练参数数量 vs 实际参与训练的参数数量差异(如 DiffPruning 更新 0.5% 但实际参与 200%)
缺乏模型规模考虑大模型需要更新的参数量比例更小
缺乏统一评测基准不同方法使用不同模型/数据集/评价指标组合
代码可读性差很多开源代码简单拷贝 Transformer 库后小修小补
推理速度变慢大多数 PEFT 方法的推理速度比全参微调慢
模型精度变差相比全参微调,大部分 PEFT 方法存在精度损失

9. 最佳实践

  1. 明确声明参数数量类型(可训练参数 vs 实际参与参数)
  2. 使用不同大小的模型进行评估
  3. 和类似方法进行公平比较
  4. 标准化 PEFT 测量基准
  5. 重视代码清晰度,以最小化实现