AI 术语表 · 进阶 · 语言模型
模型合并
模型合并是一种技术:把从同一个基础模型分化出来的多个微调模型的权重混合在一起,无需额外训练,就得到一个兼具各模型长处的新模型。
通俗解释 这就像把从同一个底味出发、各自调出不同风味的两种酱汁按比例混合。底味不同的酱汁混在一起味道会被毁掉,同样,出发点不同的模型也很难合并好。
工作原理
最简单的方法是对相同位置的权重取平均。更进一步,还有提取基础模型与微调模型之间的差异(为获得某种能力而改变的部分)再进行加减的 Task Arithmetic、先整理相互冲突的变化再合并的 TIES、在两个模型之间平滑过渡的 SLERP 等方法。由于不需要再用 GPU 重新训练,可以低成本地尝试多种组合。mergekit 等开源工具只需一个配置文件就能完成这类合并。
在哪里会见到
在 Hugging Face 上,会见到名字里带“merge”的模型,或者模型卡中附有合并方法、源模型列表和比例配置的模型。社区制作的合并模型登上开放排行榜前列也很常见。企业会尝试把擅长编程的微调和擅长韩语的微调合并起来。合并结果与原模型大小相同,因此不会增加服务成本。
注意事项
通常只有架构和基础模型都相同的模型之间才能合并。合并并不总是只集合优点,可能会削弱某一方的能力或产生奇怪的输出,因此合并后必须进行评估。为了刷高排行榜分数而反复合并,也可能得到过度拟合测试题的模型。合并结果还会继承各源模型的许可证条件,只要其中有一个带非商业条件,结果也就很难用于商业用途。
示例
如果一个团队在同一个开放权重基础模型上,分别做了用于客户咨询的微调和用于公司内部文档摘要的微调,就可以用 mergekit 合并这两个模型,测试能否用一个模型处理两项任务。需要提供服务的模型减少到一个,就能让 GPU 配置保持简单,但要先确认合并模型通过了两项任务的评估集,然后再部署。