24年10月UNC chapel hill分校、IBM和MIT的论文“TIES-MERGING: Resolving Interference When Merging Models”。
迁移学习——即在下游任务上进一步微调预训练的模型——可以带来显着的优势,包括改进的下游性能、更快的收敛和更好的样本效率。这些优势导致对特定任务微调模型的激增,这些模型通常只能执行一项任务,并且不能相互受益。最近,
模型合并
技术作为一种解决方案出现,将多个特定于任务的模型组合成单个多任务模型,而无需执行额外的训练。然而,现有的合并方法往往忽略了不同模型参数之间的干扰,导致合并多个模型时性能大幅下降。本文工作证明先前的合并技术由于两个主要干扰源而无意中丢失了有价值的信息:(a)由于冗余参数值引起的干扰;(b)跨模型给定参数值的符号不一致。为了解决这个问题,提出了TRIM、ELECT SIGN & MERGE (TIES-MERGING),它在合并模型时引入了三个新步骤:(1) 重置那些在微调期间仅改变少量的参数,(2) 解决符号冲突,以及(3)仅合并与最终商定的符号保持一致的参数。
代码的获取地址位于
github.com/prateeky2806/ties-merging
预训练模型 (PTM) 已在许多实际应用中广泛使用 [91, 6]。使用 PTM 通常需要对其进行微调,以专门处理特定任务 [69, 12],这可以通过减少特定于任务的标记数据来提高性能。这些好处导致了源自流行 PTM 数千个微调检查点 [81] 的发布,例如用于视觉的 ViT [14] 和用于语言的 T5 [58]。然而,为每个任务使用单独的微调模型有各种缺点:(1) 对于每个新应用程序,必须存储和部署单独的模型 [17, 89],(2) 单独训练的模型无法利用信息从相关任务中提取信息以提高域内性能或域外泛化能力[66,58,75]。多任务学习 [66, 57] 可以解决这些问题,但需要昂贵的训练和同时访问所有任务 [17]。此外,确定如何最好地混合数据集以确保多任务训练对所有任务都有利 [55,54,80,52,2,17],这可能是复杂且资源密集型的事情。
虽然模型参数加权平均已被证明对于
合并
是有效的,但所有这些方法都忽略了可能模型值被干扰的可能性,从而损害了合并模型的性能。本文首先证明干扰可能源于两个主要原因,这两个原因都可以减少合并模型中的参数大小并消除值之间的细微差别,如图所示:(1)冗余参数的干扰:先前的研究关于模型剪枝的研究[25, 76]表明,在微调过程中,许多模型参数可以在微调过程中发生变化[63],但对性能的影响很小。然而,当合并一个参数对一个模型有影响但对其他模型冗余(即无影响)时,有影响力的值可能会被冗余值掩盖,从而降低模型的整体性能。(2) 符号不一致的干扰:给定参数对于某些模型可能具有正值,而对于另一些模型则具有负值。因此,采用简单的平均可能会影响这两项任务的性能。在这两种情况下,简单地聚合值会导致干扰,从而收缩了合并模型中的参数值。影响参数之间的这种干扰可能解释了为什么合并模型和多任务训练模型之间的性能差距随模型数量的增加而增加[31]。
如图是TIES-MERGING步骤的描述。
模型中的每个参数画为正方块。
箭头描绘对不同任务(用颜色编码)进行微调而产生的参数更新(任务向量,τ),其方向表示符号,而长度表示幅度。
首先根据任务向量值大小进行修剪,然后解决符号冲突,选择每个参数的符号(γm,包含 +1 或 -1 的绿色向量)。
最后,仅选择与所选符号对齐的值,并将其平均值作为最终参数值。
TIES-MERGING包括三个步骤:
1. 修剪:对于每个任务 t,从任务向量 τ 中修剪冗余参数以创建 τˆ,方法是根据其大小保留 排名前-k% 值,并通过重置来修剪底部 (100 − k)% 的冗余参数,即设置它们为 0。这可以进一步分解为 τˆ = γˆ ⊙ μˆ 。
2.选取:接下来,为合并模型创建一个聚合的选取符号向量γm,以解决不同模型中每个参数p的符号不一致问题。为了创建选取的符号向量,选择所有相关模型中总幅度最高的符号。对于每个参数 p ∈ {1, 2, ..., d},根据值 {τˆp} 的符号(+1 或 −1)分开,并取各自总和来计算正方向和负方向的总质量(即总幅度)。然后将 γp 指定为具有更大总运动的符号。
3. 不相交合并:然后,对于每个参数 p,仅保留符号与聚合所选的符号相同的模型参数值来计算
不相交均值