Grow, Don't Overwrite: Fine-tuning Without Forgetting
Grow, Don’t Overwrite: Fine-tuning Without Forgetting
一句话总结
通过 function-preserving expansion 在 Transformer 子模块中复制预训练参数并施加缩放校正,使扩展后模型在初始化时与原模型数学等价,从而在微调新任务时完全消除灾难性遗忘。
核心问题
标准微调覆盖预训练参数 → 内部表征漂移 → 灾难性遗忘。正则化方法(如 EWC)在固定容量内做零和博弈——分配给记忆的资源无法用于学习。
形式化:给定预训练模型 (参数 ),目标是:
关键公式
MLP 扩展的 Function-Preserving 变换
原始 MLP 层:
其中 ,。
Step 1: 复制 Up-Projection(隐藏维度 ):
Step 2: 缩放 Down-Projection(除以复制因子 ):
Function-Preserving 证明
令 ,扩展后输出:
任意扩展因子 :Up-projection 拼接 次,Down-projection 每份缩放 ,function-preserving 对任意 成立。
方法详解
微调策略
| 策略 | 训练参数 | 适用场景 |
|---|---|---|
| G-Freeze | 仅新增权重(复制的 up-proj 和 down-proj) | 默认方案,简单任务 |
| G-Train | 整个扩展后的 up-projection | 复杂任务(如 MathQA) |
关键洞察:事实性知识定位在 down-projection 层,因此 G-Train 只解锁 up-projection。
选择性层扩展
不需要扩展所有层——先做一次 SFT 预实验,按权重更新幅度排序各层,选 top-N 层扩展:
选择 9-10 层即可匹配全量扩展性能
可训练参数从 ~60%(全量)降至 ~30%(选择性)
任务复杂度与扩展需求
通过分析权重更新矩阵 的 effective rank:
简单任务(entailment):高秩更新集中在少数层
复杂推理(MathQA):高秩更新分散在几乎所有层 → 需要更广泛的扩展
关键图表
Figure 1: Growing Approach 概览

复制预训练参数 + 缩放校正 → 初始化时数学等价 → 微调时新增容量吸收新知识。
Figure 2: 遗忘消除实验
展示四个下游任务(翻译、蕴涵、科学QA、数学推理)上的结果。SFT baseline 在大领域迁移时原始性能近乎归零;G-Freeze/G-Train 完全保持原始性能,同时匹配或超越 SFT 的新任务表现。
Figure 3: 选择性扩展
9-10 层选择性扩展 ≈ 全量扩展性能,可训练参数减半。
实验结果
主实验:Gemma3-1B
| 任务 | SFT 新任务 | SFT 原始域 | G-Freeze 新任务 | G-Freeze 原始域 |
|---|---|---|---|---|
| 法语翻译 | ✓ | 近零 | ✓(匹配) | 保持 |
| 蕴涵推理 | ✓ | 严重退化 | ✓(匹配) | 保持 |
| 科学QA | ✓ | 轻度退化 | ✓(匹配) | 保持 |
| 数学推理 | ✓ | 中度退化 | ✓(G-Train超越) | 保持 |
Function Vector 保持分析
| 数据集 | 方法 | 交叉因果头 | FV 余弦相似度 |
|---|---|---|---|
| 蕴涵 | SFT | 2/10 | 0.28 |
| 蕴涵 | Ours | 5/10 | 0.95 |
| 翻译 | SFT | 3/10 | 0.58 |
| 翻译 | Ours | 5/10 | 0.76 |
方法保持了预训练模型的内部神经回路(Function Vectors),直接阻止了表征漂移。
消融实验
初始化策略对比
零初始化新层:新任务学习失败
零初始化 + 冻结原始参数:灾难性遗忘
Function-preserving(本文):两者兼顾
扩展哪个组件?
| 扩展目标 | 效果 |
|---|---|
| MLP 隐藏维度 | 最优 |
| Attention head 维度 | 效果差 |
| Attention head 数量 | 效果差 |
| MLP + Attention | 无额外收益 |
结论:MLP 扩展是最参数高效且性能最好的策略。
与已有工作的关系
| 方法 | 思路 | 与本文区别 |
|---|---|---|
| Net2Net | Function-preserving wider/deeper | 用于训练加速,非抗遗忘 |
| LoRA | 低秩增量微调 | 不保证 function-preserving |
| GROWN%3A Grow Only When Necessary for Continual Learning | 持续学习中的增长 | 关注何时增长,本文关注如何增长 |
| EWC / L2-SP | 正则化约束 | 固定容量零和博弈 |
| Progressive Neural Networks | 任务增加新列 | 不共享参数,不 function-preserving |
对我们工作的启示
- 核心方向直接相关:这是 function-preserving expansion 从训练加速向抗遗忘微调的扩展,验证了 function-preserving 约束的通用价值
- 缩放校正的具体实现: 缩放是最简洁的 function-preserving 方案,可直接复用
- 选择性扩展:不需要扩展所有层,按权重更新幅度选层 → 可以迁移到模型增长的”在哪里增长”问题
- MLP > Attention:MLP 扩展效果最好,与 AMP 剪枝论文的发现一致(MLP 是 ViT 的参数大户)
- Effective rank 分析:任务复杂度与需要的扩展广度正相关 → 可以作为自适应增长策略的理论基础
局限性
只在语言模型(Gemma3-1B/4B)上验证,缺少视觉模型实验
选择性扩展的层选择依赖 SFT 预实验,不是端到端自动化的
未与 LoRA + regularization 的组合方案对比
扩展因子 是经验选择,缺少理论指导
相关概念
Net2Net
持续学习