2026年4月19日

01-PEFT 总览

markdown

知识库大模型训练与对齐

markdown

01-PEFT 总览

什么是 PEFT

PEFT(Parameter-Efficient Fine-Tuning,参数高效微调)是一类微调技术的总称,其核心思想是:冻结预训练模型的大部分参数,仅训练极少量额外参数,即可在下游任务上达到接近全参微调的效果。

代表性开源库:HuggingFace PEFT(pip install peft),支持 LoRA、QLoRA、AdaLoRA、DoRA、IA³、Prefix Tuning、Prompt Tuning、Adapter 等数十种方法。

为什么需要 PEFT

1. 全参微调的代价难以承受

以 LLaMA-2-70B 为例:

  • 模型参数:700 亿
  • 全参微调需要存储:模型权重(FP16)+ 梯度(FP16)+ 优化器状态(Adam 需要 momentum 和 variance,各一份 FP32)≈ 1.6 TB 显存
  • 即便使用 A100 80GB,也需要至少 8 卡并行

2. 灾难性遗忘

全参微调容易覆盖预训练阶段习得的通用知识,导致模型在微调任务上表现提升、但在其他任务上能力退化。

3. 存储与服务成本

每个下游任务保存一份完整模型副本(数百 GB),在多任务场景下不可持续。

4. PEFT 的核心优势

优势 说明
显存降低 仅训练 0.1%~1% 的参数,优化器状态和梯度大幅减少
存储高效 每个任务只需保存 MB 级的适配器文件
模块化 多个适配器可热插拔、合并、组合
减少遗忘 冻结基座模型,保留通用能力

PEFT 方法分类

PEFT 方法可以从多个维度分类,最常见的维度是 新增参数的插入方式

第一类:基于 Adapter 的方法

在 Transformer 层中插入小型神经网络模块(通常是降维-升维的瓶颈结构),只训练这些模块。

  • Houlsby Adapter(2019):在每个 Transformer 子层后插入两层 MLP(降维→激活→升维),插入位置在注意力层和 FFN 层之后各一个。
  • Pfeiffer Adapter(2020):简化版,仅在 FFN 层之后插入一个 Adapter,减少推理延迟。
  • AdapterFusion(2020):支持多任务适配器的融合。
  • 优点:结构直观,效果稳定。
  • 缺点:增加推理延迟(新增模块串行执行)。

第二类:基于软提示的方法

通过学习连续向量(soft prompts)来引导模型行为,不修改模型权重。

  • Prefix Tuning(Li & Liang, 2021):在每层 Transformer 的注意力输入前添加可学习的前缀向量。这些前缀参与 attention 计算,但不对应任何真实 token。
  • Prompt Tuning(Lester et al., 2021):仅在输入层添加可学习的 soft prompt 向量,比 Prefix Tuning 更轻量。模型越大效果越好(与全参微调差距随模型规模增大而缩小)。
  • P-Tuning v2(Liu et al., 2022):Prefix Tuning 的改进版,在每层添加 prompt,对中小模型也有效。
  • 优点:完全不修改模型权重。
  • 缺点:占用序列长度(减少有效上下文窗口),表达能力有限。

第三类:基于低秩分解的方法

将权重更新矩阵分解为低秩矩阵的乘积,只训练这些低秩矩阵。

  • LoRA(Hu et al., 2021)W=W0+BAW = W_0 + BA,冻结 W0W_0,只训练 BRd×rB \in \mathbb{R}^{d \times r}ARr×kA \in \mathbb{R}^{r \times k}
  • QLoRA(Dettmers et al., 2023):在 LoRA 基础上将基座模型量化到 4-bit。
  • AdaLoRA(Zhang et al., 2023):自适应分配不同层的 rank。
  • DoRA(Liu et al., 2024):将权重分解为幅度和方向,分别适配。
  • IA³(Liu et al., 2022):用 rank-1 向量对激活值进行缩放。
  • 优点:不增加推理延迟(训练后可将 BABA 合并回 W0W_0),效果好,生态完善。
  • 缺点:rank 选择需要调参。

第四类:其他方法

  • BitFit(2022):只训练 bias 项参数,极其轻量。
  • Side-Tuning:在模型旁路添加一个小的"影子网络"。
  • DiffPruning:学习一个稀疏的参数差分掩码。

分类总结表

类别 代表方法 新增参数量 推理开销 适用场景
Adapter Houlsby, Pfeiffer 中等(0.5%~3%) 有额外延迟 多任务迁移
软提示 Prefix Tuning, Prompt Tuning 很少(<0.1%) 占序列长度 大模型、少样本
低秩分解 LoRA, QLoRA, AdaLoRA, DoRA 少(0.1%~1%) 无(可合并) 通用场景,首选
其他 BitFit, DiffPruning 极少 极端资源受限

当前主流选择

2024-2025 年的实际实践中,LoRA 及其变体(特别是 QLoRA)是使用最广泛的 PEFT 方法,原因:

  1. 不增加推理延迟
  2. 效果接近全参微调
  3. HuggingFace PEFT / Unsloth 等工具链成熟
  4. 社区生态最丰富(适配器共享、合并工具等)

参考:HuggingFace PEFT 文档 — https://huggingface.co/docs/peft


---