模型融合的进化算法优化策略
0. 摘要
背景:模型融合依赖于人类的直觉和领域知识,限制了其潜力
方法:自动发现不同开源模型的有效组合,无需大量额外训练数据或计算。此方法同时在模型参数空间(权重)和数据流空间(推理)进行操作,并允许优化多个模型的权重。该方法还促进了跨领域模型,比如可以生成能够进行数学推理的日语LLM以及日语VLM
1 .引言
模型融合是策略性地将多个LLMs结合到一个单一的结构中,其不需要额外的训练,成本低廉且效果良好。
然而模型融合被许多人认为是依赖于模型融合者的直觉来选择模型进行融合和完善其在特定任务上的表现。
作者认为进化算法能够解决模型融合对人类直觉的依赖,发现更优的模型选择和融合策略,从而进行对更强大的融合模型的创造。本文的方法能够指导模型融合在权重和推理路线方面的策略。
本文的贡献总结如下:
自动模型融合:我们引入了进化模型合并,这是一种通用的进化方法,可以自动发现不同开源模型的最佳组合,以创建具有用户指定功能的新基础模型
跨领域融合:本文的方法能够融合不同领域的模型,如非英文领域和数学领域,非英文领域和视觉领域
SoTA表现:本文尝试的跨领域模型EvoLLM-JP和EvoVLM-JP在多种基准上取得了SoTA效果
2. 背景与相关工作
2.1 模型融合概述
模型融合是利用多个PLMs进行组合形成一个统一的模型。
与迁移模型的区别:迁移学习是针对新任务对原本的模型进行微调,其一般局限在单个任务,而模型融合产生的新模型一般能处理多个任务
一个简单的模型融合策略是对从同一基座模型的多个微调模型进行权重平均,称为model soup方法。具体来说,model soup方法将不同超参数所微调出的多个微调模型进行参数平均
2.2 融合语言模型
目前已经有人提出融合语言模型的方法,称为Task Arithmetic
该方法通过对预训练权重中的向量进行不同的操作使其适应不同的任务。
但是该方法被两种干扰源干扰:
冗余的参数值
不同模型中同一参数的符号可能会不同
所以后面的学者提出了TIES-Merging方法
TIES-Merging包含三个步骤:
剪枝:保留同一参数的前k%的值,将后(100-k)%的值重置为0,这样可以减少冗余参数值的影响
选择:对于每一个参数,选择一个合适的符号
合并:计算保留的参数中与选择出的符号一致的值的不相交均值,然后计算均值作为该参数的最终合并值
3. 方法
目标:创建一个框架,能够从选定的基座模型中自动生成合并模型,并确保该模型的性能
核心:进化算法
3.1 参数空间的融合
沿用了TIES-Merging方法与DARE方法、
3.2 数据流空间的融合
DFS的融合保留了每一层的原始权重,但优化了token的推理路径,如,在模型A中的第i层之后,令牌可以被定向到模型B中的第j层
具体来说,DFS的融合就是要找到一个序列$L^{(t)}_{i, j}$,使得其能够描绘出在特定任务下所有token应该遵循的路线,其代表第t步时,token处于第i个模型的第j层。
由于在这种设置下,DFS融合的搜索空间大小为$(M+1)^T$,是很难接受的。而作者修改设置,定义一个大小为$T = M \times r$的重复数组$\mathcal{I}$,其中r为重复次数。如果$\mathcal{I_i} > 0$,那么第i层被纳入新模型中
实验部分,进化算法使用的是CMA-ES
3.3 融合策略
先PS融合再DFS融合