李宏毅 AI 课程:模型合并与任务向量
整理任务向量、Task Arithmetic、TIES、DARE 和模型能力合并中的参数干扰。
文章目录
10 模型合并:不重新训练地组合能力
原始课件:
merging (v7).pptx(25 页)
1. 基本思想:任务向量
设基础模型参数为 ,在任务 A 上微调得到 。任务向量定义为:
若有多个任务向量,可以直接组合:
整个过程不需要访问原始训练数据,也不需要重新进行完整训练。合并的直觉是:微调增量记录了模型为某个任务学到的方向,组合这些方向就可能得到多能力模型。
2. Task Arithmetic
Editing Models with Task Arithmetic 展示了任务向量的加、减和类比操作:
- 加上分类任务向量,获得对应分类能力。
- 减去某个风格或属性向量,削弱该行为。
- 用向量差异表达任务之间的迁移关系。
方法简单、计算便宜,但线性叠加只是近似。不同任务可能修改同一组参数,导致干扰、符号冲突或能力相互抵消。
3. 能力、语言与对齐的迁移
课件用中文模型和对齐模型说明,合并可以把语言能力、任务能力和安全行为组合到同一模型中。实际效果取决于:
- 任务向量是否在相近的参数坐标中表达。
- 合并系数是否经过验证。
- 不同模型的基础检查点是否一致。
- 能力和安全向量是否互相冲突。
一个重要教训是:合并成功不代表所有行为都能无损叠加。安全拒答、风格控制和事实知识可能共享参数,因此需要单独回归测试。
4. 跨领域案例
课件列出若干应用:
- 语言模型:把中文能力、指令跟随和安全对齐向量合并。
- 奖励模型:合并不同偏好或不同奖励目标的模型,研究行为权衡。
- 语音模型:Synthesized2Real 使用模型向量把合成数据训练的能力迁移到真实语音场景。
- 持续学习:用合并避免多任务顺序微调带来的遗忘,相关研究包括 arXiv:2412.19512 和 arXiv:2502.12672。
5. 解决参数干扰
5.1 TIES-Merging
TIES-Merging 观察到微调向量中包含大量小幅噪声,且不同任务对同一参数的更新符号可能冲突。其主要步骤是:
- 截断幅度较小的更新,减少噪声。
- 对同一参数的更新符号进行冲突处理。
- 只聚合与共识符号一致的有效更新。
5.2 DARE
DARE 随机丢弃部分任务向量元素,再对保留部分进行重缩放,减少更新密度和相互干扰。它与稀疏化的直觉相似:很多微调增量并非都必须保留。
5.3 系数和层选择
也可以按层或参数块设置不同合并系数,或仅合并被认为与目标能力相关的模块。层选择需要实验验证,不能仅凭参数位置推断语义。
6. 合并的失败模式
- 基础模型不同:参数坐标不一致,直接相减失去意义。
- 任务冲突:同一参数需要相反更新,简单平均会抵消能力。
- 尺度不匹配:某个向量幅度远大于其他向量,导致结果被单一任务支配。
- 过度合并:加入过多能力后,模型在所有任务上都变得中等。
- 安全回退:能力合并覆盖掉拒答或风险控制行为。
- 评估缺失:只在合并目标任务上测试,忽略通用能力和局部性。
7. 实践流程
- 选择相同基础检查点派生的模型。
- 计算并统计每个任务向量的范数、稀疏度和方向相似度。
- 从简单加权和开始,记录每个系数的结果。
- 对参数冲突使用 TIES、DARE 或按层合并。
- 同时评估各目标任务、通用能力、事实性、格式遵循和安全性。
- 保存基础模型、所有派生模型、合并系数和评估结果,确保可复现。
8. 方法与研究索引
| 方法 | 核心机制 | 对应研究 |
|---|---|---|
| 任务向量 | 用微调模型减基础模型得到能力增量 | Task Arithmetic |
| 线性合并 | 对多个能力增量加权求和 | Task Arithmetic 及后续工作 |
| TIES-Merging | 截断噪声并解决符号冲突 | TIES |
| DARE | 随机稀疏化并重缩放任务向量 | DARE |
| 奖励模型合并 | 组合不同偏好或奖励目标 | arXiv:2407.01470 |
| 语音能力合并 | 将合成域能力迁移到真实语音 | Synthesized2Real |
9. 本章结论
- 任务向量让模型合并成为低成本的能力组合方法。
- 合并效果依赖共同基础模型、向量尺度和任务冲突。
- TIES 和 DARE 通过去噪、解决符号冲突和稀疏化降低干扰。
- 合并后必须测试能力、局部性和安全性,不能只看目标任务得分。
相关文章