合并多个微调模型是一种比托管多个专用模型更便宜的替代方案。但是,虽然模型合并可以在多个任务中提供更高的平均性能,但它通常会导致特定任务的性能降低。新研究解决了这个问题。
最新消息:伊利诺伊大学厄巴纳-香槟分校和香港科技大学的 Yifei He 及其同事提出了一种称为 Localize-and-Stitch 的模型合并方法。2022 年关于“模型汤”的论文提出对同一基础模型的多个微调版本的所有权重进行平均。相反,新方法有选择地保留与每个任务最相关的权重。
关键见解:通过平均其架构中对应的权重来简单地合并微调模型可能会导致性能不佳,因为不同的微调模型可能会使用相同部分的权重来执行不同的任务。例如,一个模型可能已经学会使用特定的权重子集来检测 HTML 代码,而另一个模型则学会使用相同的权重子集来检测城市名称。对它们进行平均可能会导致合并模型在这些任务上的表现不如微调模型。但研究表明,微调通常会导致许多冗余的权重集。只有一小部分总参数(约 1%)足以维持微调模型在其微调任务上的性能。这些子集足够小,不太可能重叠,因此与平均相比,保留它们可以提高合并模型的性能。
工作原理:作者尝试了 RoBERTa-base、GPT2-XL 和 CLIP。他们在 RoBERTa-base 语言编码器上创建了 12 个变体,对每个变体进行微调,以适应与 GLUE 不同的任务,例如问答或情绪分类。他们下载了三个版本的 GPT2-XL,这些版本已针对指令遵循、科学知识和真实性进行了微调。最后,他们通过在不同的图像分类数据集上对 CLIP 进行微调,创建了 8 种变体,这些变体包括手写数字、各种品牌/型号/年份的汽车照片以及森林、牧场、水体、建筑物等的卫星图像。
• 作者在每个微调模型中确定了特定于任务的权重。为此,他们将微调模型的权重分解为预训练权重和差异。
• 他们确定了可最大限度提高任务性能的最小差异数。他们将其余的归零。
• 如果非零条目不重叠,他们将差异添加到预训练权重中。在非零条目重叠的不太可能的情况下,他们对微调模型的权重取平均值。
结果:使用 Localize-and-Stitch 合并的模型优于或几乎匹配使用早期方法合并的相同模型,但它们的表现不如针对每个任务进行微调的单个模型。
• 使用 Localize-and-Stitch 合并 RoBERTa-base 的微调版本,合并后的模型在 GLUE 上的平均得分为 75.9%。之前的最佳方法 RegMean 的得分为 73.9%。针对每个 GLUE 任务进行微调的各个模型的平均得分为 81.1%。
• 使用 Localize-and-Stitch 合并的 GPT2-XL 微调版本在 MMLU、ARC 和 TruthfulQA 中的平均得分为 36.7%。通过平均相应权重合并的版本得分为 34.4%。各个微调模型的平均得分为 41.1%。
• 通过 Localize-and-Stitch 合并的 CLIP 微调版本在八个视觉任务中的平均得分为 79.9%。使用 AdaMerging 合并的版本得分为 80.1%。单个微调模型的平均准确率达到 90.5%。
是的,但是:作者没有将 Localize-and-Stitch 与模型合并的常见替代方案多任务学习进行比较。这种方法同时使用来自多个数据集的数据训练模型。如果没有多任务基线,就很难在多任务学习也是选项的情况下充分评估 Localize-and-Stitch 的优势。
重要性:与需要对所有任务进行训练的多任务学习相比,模型合并是一种计算效率高的方法,可以提高模型执行某些任务的能力。Localize-and-Stitch 改进了此过程以实现更高的性能。
我们在想:这个配方为模型汤增添了趣味!
(本文系翻译,内容来自DeepLearning.AI,文章内容不代表本号立场)
觉得文章不错,顺手点个“点赞”、“在看”或转发给朋友们吧。

相关阅读:
关于译者

关注公众号看其它原创作品
坚持提供对你有用的信息
觉得好看,点个“点赞”、“在看”或转发给朋友们,欢迎你留言。
Localize-and-Stitch模型合并方法新突破
1354

被折叠的 条评论
为什么被折叠?



