一句话定义
PEFT(参数高效微调)是一族方法:冻结大部分基座参数,只训练少量新增或选定的参数,比如 Adapter、LoRA、Prefix Tuning。全参数微调是它的对照基线,不算 PEFT。
为什么需要它
全参数微调要更新整个模型、保存完整副本,每个任务一套权重,显存和存储成本都很高。PEFT 把可训练参数压到很小,让单卡微调、多任务切换和低成本实验成为可能。
常见方法
Adapter
在 Transformer 层之间插入小瓶颈模块(降维→激活→升维),只训练 Adapter。推理时可以保留旁路,或合并/切换不同任务的 Adapter。
LoRA
在原有线性层旁挂低秩矩阵 A、B,冻结原权重,只训练 A/B;推理可合并回原权重,零额外延迟。详见 LoRA。
其他
Prefix/Prompt Tuning 训练前缀向量,Bias-only 只训练偏置;它们同属 PEFT,但实现和适用场景不同。
关键取舍
- PEFT 省可训练参数和优化器状态,但激活显存仍可能存在。
- 效果不一定追平全参数微调;任务越复杂,差距可能越明显。
- Adapter 可能增加推理旁路;LoRA 合并后无额外延迟,但多任务切换要规划。
- 多租户场景适合“一份基座 + 多套适配器”。
常见误区
- PEFT 一定和全量微调效果一样:不一定,要按任务评测。
- PEFT 没有推理成本:Adapter 可能增加延迟;LoRA 合并后没有,但切换/加载有成本。
- PEFT 只有 LoRA:Adapter、Prefix Tuning、Bias-only 都属于 PEFT。
- 全参数微调也叫 PEFT:它是基线,不是参数高效方法。
用在哪里
- 单卡/少卡做领域、风格、格式适配。
- 一个基座服务多个任务,按请求切换适配器。
- 与 量化 组合成 QLoRA,进一步降低显存。