Adapter

分类: 量化与低秩

Adapter

定义

Adapter 是一种参数高效微调方法,在预训练 Transformer 的每一层中插入小型瓶颈模块(bottleneck),训练时仅更新 Adapter 参数而冻结原始模型权重,以极少的额外参数实现下游任务适配。

数学形式

hh+f(hWdown+bdown)Wup+buph \leftarrow h + f(h W_{\text{down}} + b_{\text{down}}) W_{\text{up}} + b_{\text{up}}

hRdh \in \mathbb{R}^d: 输入隐藏状态

WdownRd×rW_{\text{down}} \in \mathbb{R}^{d \times r}: 下投影矩阵,将维度从 dd 压缩到 rr

WupRr×dW_{\text{up}} \in \mathbb{R}^{r \times d}: 上投影矩阵,将维度从 rr 恢复到 dd

ff: 非线性激活函数(通常为 ReLU 或 GELU)

rdr \ll d: 瓶颈维度,控制 Adapter 的参数量(通常 r=64r = 64r=128r = 128

残差连接确保当 Adapter 参数初始化为零附近时,模型行为接近原始预训练模型

核心要点

典型插入位置:每个 Transformer 层的 self-attention 后和 FFN 后各插入一个 Adapter

参数量通常为原始模型的 0.5%-8%,但性能接近全参数微调

与 LoRA 的对比:Adapter 引入额外的推理延迟(新增的前向路径),而 LoRA 可在推理时合并回原始权重

AdapterFusion(Pfeiffer et al., 2021)支持组合多个任务的 Adapter,实现知识迁移

Adapter 的瓶颈维度 rr 是核心超参数:太小会限制表达能力,太大则失去参数效率的优势

MAM Adapter(He et al., 2022)统一分析了 Adapter、Prefix Tuning 和 LoRA,发现它们在数学上有联系

代表工作

Houlsby et al. (2019): “Parameter-Efficient Transfer Learning for NLP” (ICML 2019),提出 Adapter 方法

Pfeiffer et al. (2021): “AdapterFusion: Non-Destructive Task Composition for Transfer Learning” (EACL 2021)

He et al. (2022): “Towards a Unified View of Parameter-Efficient Transfer Learning” (ICLR 2022)

相关概念

PEFT

Prefix Tuning

Prompt Tuning

Fine-tuning

AdaLoRA

低秩分解