Adapter
分类: 量化与低秩
Adapter
定义
Adapter 是一种参数高效微调方法,在预训练 Transformer 的每一层中插入小型瓶颈模块(bottleneck),训练时仅更新 Adapter 参数而冻结原始模型权重,以极少的额外参数实现下游任务适配。
数学形式
: 输入隐藏状态
: 下投影矩阵,将维度从 压缩到
: 上投影矩阵,将维度从 恢复到
: 非线性激活函数(通常为 ReLU 或 GELU)
: 瓶颈维度,控制 Adapter 的参数量(通常 或 )
残差连接确保当 Adapter 参数初始化为零附近时,模型行为接近原始预训练模型
核心要点
典型插入位置:每个 Transformer 层的 self-attention 后和 FFN 后各插入一个 Adapter
参数量通常为原始模型的 0.5%-8%,但性能接近全参数微调
与 LoRA 的对比:Adapter 引入额外的推理延迟(新增的前向路径),而 LoRA 可在推理时合并回原始权重
AdapterFusion(Pfeiffer et al., 2021)支持组合多个任务的 Adapter,实现知识迁移
Adapter 的瓶颈维度 是核心超参数:太小会限制表达能力,太大则失去参数效率的优势
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)