Dataless Weight Disentanglement in Task Arithmetic via Kronecker-Factored Approximate Curvature¶
会议: ICLR 2026
arXiv: 2602.17385
代码: https://github.com/aimagelab/mammoth
领域: AI安全 / 模型编辑
一句话总结¶
该工作将曲率近似的经典理论(KFAC)与任务算术的实际需求巧妙结合,提出了一种无需外部数据的权重解缠正则化方法。理论推导清晰,从表征漂移正则化 → Jacobian Gramian → GGN → KFAC 的逻辑链条流畅。实验覆盖视觉和语言两个领域的多种模型规模,对 \(\alpha\) 超参数的鲁棒性分析很实用。不足在于 KFAC 对大模型仍有 \(O(d^2)\) 存储开销,且在文本领域与使用外部数
评分¶
⭐⭐⭐⭐
该工作将曲率近似的经典理论(KFAC)与任务算术的实际需求巧妙结合,提出了一种无需外部数据的权重解缠正则化方法。理论推导清晰,从表征漂移正则化 → Jacobian Gramian → GGN → KFAC 的逻辑链条流畅。实验覆盖视觉和语言两个领域的多种模型规模,对 \(\alpha\) 超参数的鲁棒性分析很实用。不足在于 KFAC 对大模型仍有 \(O(d^2)\) 存储开销,且在文本领域与使用外部数据的方法仍有差距。
研究背景与动机¶
领域现状¶
任务算术(Task Arithmetic)通过微调基础模型产生任务向量 \(\boldsymbol{\tau}_t = \boldsymbol{\theta}_t^{\star} - \boldsymbol{\theta}_0\),然后通过线性组合 \(\boldsymbol{\theta}_0 + \sum_t \alpha_t \boldsymbol{\tau}_t\) 实现多任务能力合并。这种方式无需额外训练、支持跨域甚至跨骨干网络的知识复用,具有极大的灵活性和可扩展性。
现有痛点¶
朴素的线性组合会导致跨任务干扰——添加新任务向量会修改共享表征,破坏其他任务的表示,导致组合模型性能退化。为减少干扰,需要促进权重解缠(weight disentanglement),使不同任务向量只影响各自任务对应的输入空间区域。
核心矛盾¶
现有的表征漂移正则化方法(如 \(\tau\)Jp)可以有效促进权重解缠,但需要访问其他任务的训练数据。这在隐私约束、去中心化训练、数据不可分享等实际场景中不可行,与任务算术的模块化精神相矛盾。
本文方案¶
提出 TAK(Task Arithmetic with KFAC regularization):在线性化微调框架下,将表征漂移正则化转化为 Jacobian Gramian 的二次型,而 Gramian 恰好是广义 Gauss-Newton(GGN)矩阵的特殊实例。利用 KFAC 近似 GGN,预计算 Kronecker 因子后可在无需数据的情况下作为正则项使用。进一步提出累积正则化策略,将多任务 KFAC 因子合并为单一代理,实现 \(O(1)\) 的任务数量复杂度。
方法详解¶
整体框架¶
TAK 把"添加新任务向量不要破坏旧任务表征"这件事,拆成解耦的两步:先在每个任务各自的私有数据上离线预计算一组 KFAC 曲率因子 \(\{(\boldsymbol{B}_t^l, \boldsymbol{A}_t^l)\}_l\),把它当作"哪些方向碰不得"的紧凑代理;再在线性化微调阶段,用这些因子构造一个完全不需要其他任务数据的正则项,约束当前任务向量远离会引起跨任务干扰的方向。总目标函数写作
第一项是任务 \(t'\) 自身的微调损失,第二项是对所有其他任务 \(t\) 的曲率惩罚,\(\beta\) 与 \(\lambda_t\) 控制强度。关键之处在于:其他任务的数据只在最左侧的离线曲率预计算里出现,进入正则化微调时已被压成不含数据的曲率因子,这正是"无数据"的来源。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["各任务私有数据"] --> B["从表征漂移到 KFAC<br/>离线预计算曲率因子 (B_t, A_t)"]
B --> C["累积正则化<br/>跨任务合并成单一代理"]
C --> D["线性化微调任务 t'<br/>自身损失 + 无数据曲率惩罚"]
D --> E["任务算术合并<br/>θ_0 + Σ α_t·τ_t"]
B -.->|"读 Jacobian Gramian"| F["任务定位与 OOD 检测<br/>‖J·τ‖² 作正常性评分"]
关键设计¶
1. 从表征漂移到 KFAC:把"别人的数据"换成"别人的曲率"
要衡量给任务 \(t'\) 加上任务向量后会对任务 \(t\) 造成多大破坏,本来需要任务 \(t\) 的数据去实测表征变化,这正是隐私/去中心化场景下不可行的根源。本文借助线性化模型 \(f_\text{lin}(\boldsymbol{x}, \boldsymbol{\theta}) = f(\boldsymbol{x}, \boldsymbol{\theta}_0) + \mathrm{J}_{\boldsymbol{\theta}} f(\boldsymbol{x}, \boldsymbol{\theta}_0)(\boldsymbol{\theta} - \boldsymbol{\theta}_0)\) 把表征漂移化简成一个干净的二次型 \(\Delta_{t \to t,t'}(\boldsymbol{x}) = \alpha_{t'}^2 \| \mathrm{J}_{\boldsymbol{\theta}} f(\boldsymbol{x}, \boldsymbol{\theta}_0) \boldsymbol{\tau}_{t'} \|_2^2\),对样本求期望后正则项就成了 \(\boldsymbol{\tau}_{t'}^\top \boldsymbol{G}_t \boldsymbol{\tau}_{t'}\)。关键观察是:这里的 Jacobian Gramian \(\boldsymbol{G}_t\) 恰好是广义 Gauss-Newton(GGN)矩阵在平方损失(\(\nabla^2 c = \boldsymbol{I}\))下的特例。既然如此,就能直接套用成熟的 KFAC 近似,把每层的 GGN 写成两个小矩阵的 Kronecker 积
其中 \(\boldsymbol{A}^l\) 是该层输入的协方差、\(\boldsymbol{B}^l\) 是输出梯度的协方差。这一步把"需要访问数据的表征对比"彻底替换为"可离线预存的曲率因子",正则化因而变得无数据。
2. 累积正则化:让任务数从 \(O(T)\) 退化成 \(O(1)\)
朴素做法是为每个其他任务都保留一份 KFAC 因子并逐一加惩罚,存储和计算都随任务数 \(T\) 线性增长。本文提出一个启发式合并,把所有 \(t \neq t'\) 的因子分别在两个 Kronecker 侧聚合成单一代理
这样无论有多少任务,正则项都只需一份因子。合并当然引入误差,但理论给出 Frobenius 范数上界 \(\|E\|_F \leq T \sigma_A \sigma_B\),说明当各任务的 KFAC 因子彼此差异不大时近似才好——而共享同一预训练骨干恰好满足这个前提,这也解释了实验中累积版与朴素版差距能控制在 0.3 点以内。
3. 任务定位与 OOD 检测:正则化顺带得到一个免费的"正常性评分"
这套正则化还有个副产品:量 \(\| \mathrm{J}_{\boldsymbol{\theta}} f(\boldsymbol{x}, \boldsymbol{\theta}_0) \boldsymbol{\tau}_t \|_2^2\) 天然可以读作输入 \(\boldsymbol{x}\) 对任务 \(t\) 的"正常性评分"。因为惩罚项做的事就是压低分布外输入上的这个二次型,训练后 OOD 样本的评分被推向零,于是每个任务向量的影响被局部化到自己负责的输入子空间,跨任务干扰自然减弱——权重解缠和 OOD 检测在同一个量上统一了起来。
实验关键数据¶
主实验:8 Vision 任务加法¶
| 方法 | 无须数据 | \(\alpha\) | ViT-B/32 (Abs.) | ViT-B/16 (Abs.) | ViT-L/14 (Abs.) |
|---|---|---|---|---|---|
| Pre-trained | - | - | 48.4% | 55.4% | 65.0% |
| Linear FT | - | 1.0 | 76.7% | 80.2% | 88.0% |
| \(\tau\)Jp | ✗ | 1.0 | 85.0% | 88.2% | 90.9% |
| Diag. GGN | ✓ | 1.0 | 80.1% | 82.9% | 87.9% |
| TAK (Ours) | ✓ | 1.0 | 85.8% | 88.3% | 91.6% |
| \(\tau\)Jp | ✗ | Best | 85.6% | 88.6% | 91.1% |
| TAK (Ours) | ✓ | Best | 86.0% | 88.3% | 91.6% |
TAK 在无需外部数据的条件下达到或超过使用数据的 \(\tau\)Jp 方法,且 \(\alpha=1.0\) 时即可获得接近最优的性能。
消融实验与分析¶
| 分析维度 | 关键结果 |
|---|---|
| 任务去学习 | TAK 目标任务准确率降至 3.4(ViT-B/32),同时控制任务保留 62.4% |
| 累积 vs 朴素 | ViT-B/16 上差距 < 0.3,验证合并策略有效性 |
| KFAC 数据量 | 128-256 样本即可饱和性能 |
| Monte Carlo 采样 | 1-2 个样本/数据点即可,更多反而性能下降 |
| KFAC 压缩 | Block-8 策略实现 87% 内存节省,仅损失 ~1 点准确率 |
| 训练开销 | MC=1 时全部因子预计算仅需 3.9 分钟 |
| 语言任务 (T5-base) | TAK: 78.7 Abs. / 98.9 Norm.;\(\tau\)Jp: 81.3% / 100 |
局限与展望¶
优点: - 理论推导严谨,将表征漂移正则化与 GGN/KFAC 优雅连接 - 无需外部数据,满足隐私和模块化约束 - 对 \(\alpha\) 高度鲁棒,消除超参搜索需求 - 实验全面覆盖视觉+语言领域,消融分析充分 - 累积合并策略以 \(O(1)\) 复杂度扩展到任意数量任务
缺点: - KFAC 因子的存储随层宽度二次增长,对超大模型可能成为瓶颈 - 在文本领域(T5-base)与使用数据的 \(\tau\)Jp 仍有差距 - 理论分析基于线性化假设,虽然非线性实验也有效但缺乏严格保证 - 未探索参数高效微调(如 LoRA)场景下的适用性
亮点与洞察¶
- 方法设计简洁有效,核心思路清晰
- 实验验证全面,消融分析充分
- 对领域的关键问题提供了新的解决思路
局限与展望¶
- 方法在特定条件下可能存在局限性,泛化性待进一步验证
- 计算效率和可扩展性可做进一步优化
- 与更多相关方法的结合值得探索
相关工作与启发¶
- vs 同领域代表性方法:本文在方法设计上有独特贡献,与现有方法形成互补
- vs 传统方法:相比传统方案,本文方法在关键指标上取得了显著提升
- 启发:本文的技术路线对后续相关工作有重要参考价值