FlexMerge提出了一种无数据的灵活模型合并框架,通过逐块贪婪合并微调模型,支持任意大小模型生成,并在精度-大小权衡上展现出显著的初期精度提升和接近微调精度的潜力。
Model Merging, Data-Free Merging, Accuracy-Size Tradeoff, Transformer, Fine-Tuning, Multi-Task Learning
Akash Dhasade, Divyansh Jhunjhunwala, Milos Vujasinovic, Gauri Joshi, Anne-Marie Kermarrec
EPFL, Carnegie Mellon University
Generated by grok-3
Background Problem
近年来,预训练后微调的范式在自然语言处理(NLP)和计算机视觉领域取得了巨大成功,但为每个任务部署单独的微调模型会导致高昂的存储和部署成本,而多任务学习(MTL)又面临计算开销和数据隐私问题。模型合并作为一种无需训练数据的解决方案,能够将多个微调模型合并为一个模型,但单一合并模型往往存在精度差距,尤其是在任务数量增加时。论文提出两个关键问题:如何在无数据条件下生成任意大小的合并模型,以及不同无数据合并算法在精度-大小权衡上的表现如何。FlexMerge框架旨在解决这些问题,通过灵活控制合并模型的大小,在精度和部署成本之间找到平衡。
Method
FlexMerge是一种无数据的模型合并框架,其核心思想是将每个微调模型视为由多个顺序块(例如Transformer块或层)组成,并通过贪婪策略逐步合并这些块,直到达到目标模型大小。具体步骤如下:
- 初始化:将每个任务的微调模型分解为块级任务向量,初始状态下保留所有任务的所有块,计算初始部署大小。
- 迭代合并:在每次迭代中,基于余弦相似度(选择最低相似度作为度量)识别最具相似性的块对,并使用现有的无数据合并算法(如Task Arithmetic、TIES-Merging等)合并这些块,更新部署大小。
- 终止条件:当达到目标大小或无法进一步合并时停止。 关键点:FlexMerge不依赖额外数据,合并过程完全基于模型参数,且支持非整数大小的模型(如1.75倍单一模型大小)。 批判性思考:虽然FlexMerge提供了灵活性,但其贪婪合并策略可能并非最优,余弦相似度的选择缺乏理论支持,可能导致次优合并决策。此外,论文未充分讨论不同块对模型性能的影响权重,合并顺序可能忽略了某些关键块的重要性。
Experiment
论文在视觉和NLP领域进行了广泛实验,涉及8任务和30任务的视觉基准(如ViT-B/32、ViT-L/14模型)、11任务的PEFT(基于T0-3B)和7任务的NLP全参数微调(基于T5-Base和T5-Large)。
- 实验设置:测试了多种无数据合并算法(如TA、TIES-Merging、Consensus、EMR-Merging),以评估精度-大小权衡。块粒度设置为Transformer层内的组件(如注意力、MLP模块)。
- 结果:FlexMerge在模型大小略增时即显著提升精度,例如FlexMerge+TA在8任务ViT-B/32上从1×的67.5%提升到2×的80%以上;在30任务中,Consensus从3×的76%提升到6×的84.5%。大多数算法在达到最大大小前已接近微调精度(如8任务在6×,30任务在23.5×)。
- 与其他方法的对比:FlexMerge优于Channel Merging,特别是在中间大小模型上精度更高。
- 效率:合并时间合理(30任务下约491秒),推理时间与标准合并方法相当。 批判性思考:实验设置较为全面,涵盖了多种任务和模型,但结果显示精度提升主要集中在大小增加的初期,后续提升有限,论文未分析这一现象的原因或是否与任务相关性有关。此外,实验未涉及极端异构任务或模型架构,可能限制了方法的普适性验证。
Further Thoughts
FlexMerge的块级合并思路为模型合并领域提供了一个新的视角,但其贪婪策略和相似度度量可能存在改进空间,例如是否可以引入任务相关性或块重要性权重来指导合并顺序。此外,论文未探讨异构模型合并的可能性,而这在实际部署中可能更为常见,未来可以尝试将FlexMerge与跨架构知识蒸馏结合,解决异构模型的参数冲突问题。另一个有趣的方向是,是否可以将FlexMerge的灵活大小控制与联邦学习结合,用于分布式环境中模型的动态调整,以适应不同客户端的资源限制和任务需求。最后,精度-大小权衡的非线性特性值得进一步研究,是否可以通过理论分析或模拟实验揭示其背后的机制,从而设计更高效的合并算法。