模型融合(Model Merging,又称模型合并)是一类将两个或多个神经网络模型合并、从而形成一个新的神经网络模型的技术。成功的模型融合,可以将多个源模型中所具有的知识和能力传递给合并后的新模型,使得合并后的新模型具有多方面的知识和能力。合并后的新模型无需再进行训练,因此模型融合技术还具有成本低的优点。
模型融合的概念有别于混合专家模型(MOE)。混合专家模型需要训练模型内部的多个“专家”,而模型融合无需训练这一环节。
模型融合也有别于模型微调。通过模型微调产生的模型主要继承一个源模型的知识和能力,而通过模型融合,合并后的模型有可能继承多个源模型的知识和能力。
由于当前训练新的大模型所涉及的成本、环保等问题,具有上述优点的模型融合技术正在得到越来越多的研究[1]。在现实中,不少经过模型融合而产生的、性能不错的大模型已经问世,例如 Hugging Face 的 Open LLM Leaderboard 榜单中就存在这样的模型。另外,一些模型融合工具,例如针对 Stable Diffusion 及其衍生模型的模型融合工具[2]、以及针对语言模型的模型融合工具[3]也已经吸引了不少使用者。
在针对多个大模型进行模型融合时,需要尝试多个大模型在结构和参数方面的多种组合。由于大模型的结构复杂多样、参数量大,多个大模型的合并有非常多的可能方式,依靠人工来合并大模型效率较低。
为了更高效地发现合并大模型方式的最优解,前谷歌员工创建的初创公司 Sakana AI[4] 不久前发表了一篇论文[5],介绍了:
- 如何将进化算法(Evolutionary Algorithms)用于搜索可能的大模型合并方式;
- 基于进化算法而合并出的 SOTA 水平的日语 Math LLM(数学语言大模型):源模型为一个日语语言大模型和两个英语数学语言大模型,三个源模型的大小均为7B;
- 基于进化算法而合并出的 SOTA 水平的日语 VLM(视觉语言大模型):源模型为一个日语语言大模型和一个英语视觉语言大模型,两个源模型的大小均为7B。
这篇论文所采用的进化算法起源于多年前,是一类受生物进化、自然选择机制的启发而设计出的优化求解算法,适用于在巨大的问题空间内进行高效搜索。基于进化算法,这篇论文试验了针对多个开源大模型的以下多种合并方式的搜索:
- 相同模型层中权重的合并;
- 不同模型层的合并;
- 权重和模型层的混合合并。
搜索以 MGSM 准确率、VQA 的 ROUGE 分数等指标作为向导。
在论文所介绍的方法中,待合并的源模型目前还需要人工事先选择出来。另外,论文也指出了其部分成果的局限性,包括:
- 合并后大模型有可能继承源模型的缺点,例如回答问题时缺乏逻辑上的连贯性;
- 指令微调和对齐未纳入此次的研究之中,因此合并后的大模型有可能产生与事实相悖的输出。
论文的作者们希望通过模型融合等方面的研究,改变AI大模型在研发阶段耗资巨大的现状。Sakana AI 公司的研究者们还设想[6],未来的AI不是由单一、全能、巨大、昂贵的AI系统组成,而是由大量的小型AI组成,每个小型AI各有所长,相互协作,新的小型AI不断出现,用以解决新的特定问题。
参考文献:
[1] https://huggingface.co/collections/osanseviero/model-merging-65097893623330a3a51ead66
[2] https://github.com/AUTOMATIC1111/stable-diffusion-webui
[3] https://github.com/arcee-ai/mergekit
[4] https://sakana.ai/evolutionary-model-merge/
[5] https://arxiv.org/abs/2403.13187
[6] https://venturebeat.com/ai/sakana-ais-evolutionary-algorithm-discovers-new-architectures-for-generative-models/
封面图:Eric Krull、Unsplash