跳转至

Trans-PEFT: Transferable Parameter-Efficient Fine-Tuning on Evolving Base Models

会议: ACL 2025
arXiv: 2506.06844
代码: https://github.com/gccnlp/Trans-PEFT
领域: 模型压缩
关键词: PEFT, LoRA可迁移性, 基座模型更新, FFN知识掩码, Adapter

一句话总结

Trans-PEFT 发现基座模型更新(如 Qwen2→Qwen2.5)主要改变 FFN 层的任务知识存储而较少影响 Attention 层的任务模式,据此提出层内知识掩码和跨层知识丢弃两种策略,使在旧版本上训练的 PEFT 模块可直接迁移到新版本而不需重新微调,性能提升可达 30%。

研究背景与动机

  1. 领域现状:PEFT(如 LoRA、Adapter)已成为大模型微调的主流方法,允许一个基座模型通过动态切换 PEFT 模块服务多个用户。基座模型需要周期性更新(如 Qwen2→Qwen2.5、InternLM2→InternLM2.5)以更新知识和提升能力。
  2. 现有痛点:基座模型更新后,基于旧版本微调的 PEFT 模块会出现严重性能下降(直接迁移失败)。对于大规模部署中的大量 PEFT 模块,重新微调不仅计算开销巨大,还涉及用户数据的长期存储和隐私问题。
  3. 核心矛盾:PEFT 模块与基座模型的 FFN 层形成了紧密耦合——PEFT 学会了利用特定的知识存储模式,而模型更新恰恰改变了这些模式。
  4. 本文要解决什么? 让 PEFT 模块在旧版本上训练后能直接迁移到新版本,无需重新微调。
  5. 切入角度:分析模型更新前后的内部激活分布变化,发现 Attention 层的任务模式跨版本稳定,而 FFN 层的知识存储发生了显著变化。因此让 PEFT 减少对 FFN 知识的依赖,转而捕获 Attention 中不变的任务模式。
  6. 核心idea一句话:通过训练时随机掩码 FFN 层输出,强迫 PEFT 捕获跨版本不变的 Attention 任务模式而非版本相关的 FFN 知识。

方法详解

整体框架

在旧版本基座模型上微调 PEFT 时,对 FFN 层施加两种随机干预:(1) 层内知识掩码——随机置零 FFN 中间维度;(2) 跨层知识丢弃——随机丢弃整个 FFN 层的输出。推理时在新版本上直接使用 PEFT 模块,无需任何额外操作。

关键设计

  1. 层内知识掩码 (Intra-layer Knowledge Masking):
  2. 做什么:在 FFN 激活函数输出后随机掩码中间维度
  3. 核心思路:对每个 FFN 层引入 Bernoulli 掩码 \(m \sim \text{Bernoulli}(1-p_i)\),逐元素与激活值相乘:\(\text{FFN}(\mathbf{X}) = \sigma(\mathbf{X}(\mathbf{W}_{fc1}+\Delta\mathbf{W}_{fc1})) \odot m \cdot (\mathbf{W}_{fc2}+\Delta\mathbf{W}_{fc2})\)
  4. 设计动机:由于更新后 FFN 内部的知识存储分布会变化(实验观察),掩码引入的随机性使 PEFT 不再依赖特定维度的知识

  5. 跨层知识丢弃 (Cross-layer Knowledge Dropping):

  6. 做什么:以概率 \(p_c\) 随机丢弃整个 FFN 层的输出
  7. 核心思路:\(\widetilde{\text{FFN}}(\mathbf{X}) = z \cdot \text{FFN}(\mathbf{X})\),其中 \(z \sim \text{Bernoulli}(1-p_c)\)
  8. 设计动机:实验发现更新后不同 FFN 层对激活值大小的影响也会改变(甚至呈现相反效果),因此需要从跨层视角减少依赖

  9. 理论保证:

  10. 提供了损失差异上界:\(|\mathcal{L}(\theta; \mathcal{M}_1) - \mathcal{L}(\theta; \mathcal{M}_0)|\) 受 FFN 扰动幅度 \(\rho\) 和 PEFT 对 FFN 的梯度范数约束
  11. Trans-PEFT 通过减小 \(\|\nabla_{\theta_{ffn}} \mathcal{L}\|\) 来降低迁移损失上界

损失函数 / 训练策略

标准任务损失(如交叉熵),仅在训练时施加掩码和丢弃,推理时不需要。掩码率 \(p_i\) 和丢弃率 \(p_c\) 是超参数。方法与 LoRA 和 Adapter 都兼容,不需要修改模型架构。

实验关键数据

主实验

7 个基座模型(Qwen2/2.5-7B, InternLM2/2.5-7B, Llama3/3.1/3.2 等),12 个数据集(数学推理、代码生成、常识推理)。

迁移设置 直接迁移 Acc Trans-PEFT Acc 提升
Qwen2→Qwen2.5 (GSM8K) 54.2 71.3 +17.1
InternLM2→InternLM2.5 (GSM8K) 48.7 63.5 +14.8
Qwen2→Qwen2.5 (HumanEval) 42.1 55.8 +13.7
平均提升 - - ~30% (最高)

与在新版本上直接微调的对比:

方法 GSM8K Acc 说明
在 Qwen2.5 上重新微调 73.8 上界(需要重新训练)
Trans-PEFT 迁移 71.3 不需要重新训练
直接迁移 54.2 性能大幅下降

消融实验

配置 GSM8K Acc 说明
Trans-PEFT (完整) 71.3 层内掩码 + 跨层丢弃
仅层内掩码 67.5 去掉跨层丢弃
仅跨层丢弃 65.8 去掉层内掩码
直接迁移 54.2 无任何策略

关键发现

  • 两种策略互补:单独使用任一策略都有大幅提升,组合使用效果最好
  • Trans-PEFT 不仅保持性能还能利用新版本的改进:在某些设置下,迁移后的性能甚至优于在旧版本上的原始性能
  • 方法对 LoRA 和 Adapter 都有效:不依赖于具体的 PEFT 方法
  • 掩码率和丢弃率敏感性适中\(p_i\) 在 0.1-0.3 范围、\(p_c\) 在 0.05-0.15 范围效果较好

亮点与洞察

  • "Attention 不变而 FFN 变"的观察非常有洞察力:这个观察将不可处理的"模型更新"问题简化为"FFN 变化"问题,为解决方案指明了方向
  • 类 Dropout 的思路但有精确的目标:表面上是 Dropout,但深层逻辑是通过减少 PEFT 对 FFN 知识的梯度来降低迁移损失上界,有理论支撑
  • 迁移价值极高:在 LLM 频繁迭代的当下(Llama3→3.1→3.2→3.3),避免每次升级都重新微调所有 PEFT 模块具有极大的工程价值

局限性 / 可改进方向

  • 仅测试了架构不变的版本更新(如同系列的迭代),跨架构迁移未涉及
  • 理论分析依赖 Attention 权重近似不变的假设,当更新幅度大时可能不成立
  • 未探索自适应掩码率(根据层的变化幅度动态调整)
  • 仅测试了 7B 规模,更大模型(70B+)的效果有待验证

相关工作与启发

  • vs Qin et al. (2023): 他们指出 PEFT 直接迁移会失败,但未提出解决方案。Trans-PEFT 是首个系统性的解决方法
  • vs Dropout: Trans-PEFT 类似 Dropout 但有明确的目标——减少对 FFN 知识的依赖。普通 Dropout 应用于所有位置,而 Trans-PEFT 仅针对 FFN 层
  • vs LoRAHub/Model Merging: 这些方法关注 PEFT 模块间的组合,Trans-PEFT 关注跨版本迁移,解决的是不同的问题

评分

  • 新颖性: ⭐⭐⭐⭐ "FFN变Attention不变"的观察新颖,解决方案设计合理
  • 实验充分度: ⭐⭐⭐⭐⭐ 7个模型 × 12个数据集 × 2种PEFT方法,覆盖非常全面
  • 写作质量: ⭐⭐⭐⭐ 分析清晰,从观察到方法到理论到实验的逻辑链完整
  • 价值: ⭐⭐⭐⭐⭐ 解决了一个实际且紧迫的工程问题,对LLM生态有重要贡献