对于语言模型(LM)而言,有监督式微调(SFT)是一种被广泛采用的策略。SFT 在预训练模型的基础上,通过微调其参数来获得激发了特定能力的微调模型。显而易见,SFT 带来的效果体现在了模型在 SFT 前后的参数变化中,可以称之为 delta 参数。阿里团队的研究者们首先证实 SFT 后的 LMs(无论是基于编码器还是基于解码器的)倾向于学习到大量冗余的 delta 参数。
研究者们借鉴 Dropout 的思路提出了 DARE(Drop And REscale)来显著降低 delta 参数的冗余性。在将 DARE 应用于拥有 700 亿参数的 LMs 后,可以在维持模型性能的前提下去除多达 99% 的 delta 参数。同时,LMs 拥有的参数越多,它就能容忍越大的。
进一步地,研究者们通过 DARE 来合并多个同源的 LMs(即从同一个预训练模型微调而来的多个模型):首先使用 DARE 降低每个模型中的参数冗余性,而后利用现有模型合并方法来获得具有多样能力的单个模型。
给定任务t,预训练 LM 的参数和 SFT LM 的参数,delta 参数被定义为 SFT 前后 LM 参数之差:
给定一组 K 个任务 {t1, t2, - - , tK } 和 K 个相应的 SFT 模型(参数为 θt1 SFT, θt2 SFT, - - , θtK SFT),模型合并的目的是将 K 个模型的参数融合为一个能同时处理 K 个任务的单一模型。
DARE 由两个步骤组成:删除和重缩放。给定delta参数,DARE 首先根据丢弃率 p 对 δt 进行随机丢弃(将其值设为零),然后按系数 1/(1 - p) 对剩余的delta参数进行重新缩放,如下所示:
最后, 研究者们将 和 相加来得到用于推理的参数,:
研究模型合并方法的一个难点在于:对原始的模型参数进行简单的加权平均等运算会产生参数冲突,导致合并得到的模型效果比合并前的模型差。研究者们认为 DARE 具备的大幅降低参数冗余性的能力能天然地克服这一问题,并将 DARE 作为一个通用的预处理技术来有效地合并多个 LMs。
研究者们首先使用 DARE 来消除每个模型中的冗余 delta 参数以缓解多个模型之间的参数冲突,而后基于现有的模型合并方法整合降低了冗余性的 delta 参数。DARE 能应用于任何现有的模型合并方法,以 Task Arithmetic 方法来举例,DARE 的应用过程可以写为如下公式:
当 SFT delta 参数的绝对值相对较小(例如小于 0.005)时,DARE 可以很好地工作。否则,DARE 可能会失败。