标准回答
一、为什么模型合并可行
深度神经网络的损失景观存在"低损失盆地"特性:从同一初始化出发、独立优化到不同任务的多个模型,其权重往往落在同一个误差盆地内。这意味着它们的权重可以安全平均而不显著增加损失——这就是 Model Soups(Wortsman et al., 2022)的核心发现。
二、基础方法:Task Arithmetic
Ilharco et al.(2023)将微调过程形式化为任务向量:τ = θ_finetuned - θ_base。合并就是对这些向量做算术运算(加权平均、求和等),推理时只运行合并后的单一模型,成本远低于集成学习。
三、参数干扰问题与 TIES 的解决
朴素合并会遇到参数干扰:不同任务对同一参数施加方向相反的更新,合并后互相抵消。TIES-Merging(Yadav et al., 2023)通过三步解决:
- Trim:只保留每个任务向量中变化幅度最大的 top-k% 参数,丢弃冗余
- Elect Sign:对每个参数位置,统计所有任务向量的符号投票,选出主导方向
- Intersect Merge:仅合并符号与主导方向一致的任务向量值
四、DARE 的稀疏化魔法
DARE(Yu et al., 2024)更进一步:随机丢弃任务向量中 90%-99% 的参数,然后对剩余参数除以保留比例进行重缩放(保持期望值不变)。直觉是任务向量高度冗余,稀疏化反而去噪,合并效果显著提升。
五、工程实践
开源社区用 mergekit 工具在 Open LLM Leaderboard 上多次用合并模型击败原生训练模型。典型流程:选 3-5 个同基座的不同任务微调模型 → 用 TIES/DARE 合并 → 少量评估数据验证 → 部署。
追问
追问 1:SLERP 插值与 Task Arithmetic 有什么区别?各自适用什么场景?
SLERP(球面线性插值)将权重视为高维球面上的点,沿大圆路径插值,适合两个模型的平滑混合(如不同风格的对话模型)。Task Arithmetic 在欧氏空间做向量运算,适合多任务组合。SLERP 更几何直觉友好,Task Arithmetic 更适合多模型场景。
追问 2:模型合并后精度下降怎么诊断和缓解?
追问 3:为什么 mergekit 在 Open LLM Leaderboard 上能赢过原生训练?
Leaderboard 评测多个独立任务。原生训练在单一任务上过拟合,而合并模型天然继承了多个微调模型各自的优势领域。本质上是"任务多样性"的集成增益——每个子模型在自己的领域已经很强,合并后在一个综合评测上自然占优。
没找到想看的面试题?把你想看的告诉我们 →
延伸学习
按主题分类的相关资源,便于系统复习
