Arcee MergeKit:用于合并大型语言模型的工具包

210 篇文章 0 订阅
197 篇文章 1 订阅

24年3月Arcee公司的论文“Arcee’s MergeKit: A Toolkit for Merging Large Language Models”。

开源语言模型领域的快速扩展提供了通过组合参数来合并这些模型检查点(checkpoint)能力的机会。 迁移学习(针对特定任务微调预训练模型的过程)的进步导致了大量特定任务模型的开发,这些模型通常专门针对单个任务,无法利用彼此的优势。 模型合并(model merging)有助于创建多任务模型,而无需额外的训练,为增强模型性能和多功能性提供了一条有希望的途径。 通过保留原始模型的内在功能,模型合并解决了人工智能中的复杂挑战,包括灾难性遗忘和多任务学习的困难。 为了支持这一不断扩大的研究领域,提出 MergeKit,一个综合性的开源库,旨在促进模型合并策略的应用。 MergeKit 提供了一个可扩展的框架,可以在任何硬件上有效地合并模型,为研究人员和从业者提供实用性。 迄今为止,开源社区已经合并了数千个模型,从而创建了一些世界上最强大的开源模型检查点,正如 Open LLM 排行榜所评估的那样。

GitHub - github.com/arcee-ai/MergeKit

模型合并(Ainsworth,2022)虽然是研究界相对较新的焦点,但它建立在大量先前研究奠定的基础上。 从本质上讲,模型合并涉及将两个或多个预训练模型(无论它们是针对相同任务还是不同架构进行训练)集成到一个统一模型中,该模型保留所有原始模型的优势和功能。 其中大部分建立在探索权重平均(weight averaging)的概念之上,例如 Utans (1996)。 这些技术的成功依赖于模式连接的概念(Garipov ,2018)。 在最简单的情况下,技术利用从一个从常见预训练模型(Nagarajan&Kolter,2019;Neyshabur,2021)微调后模型的线性模式连接(LMC)(Entezari ,2021)。 其他工作基于这一概念,通过采用排列对称性并对模型权重进行变换,将模型带入损失域中的公共区域(Ainsworth,2022;Stoica,2023;Verma & Elbayad,2024) 。

在工具包的开发过程中,如图所示,对现有的和预期的模型合并技术进行分类。 这种系统分类旨在增强对功能的理解,重点关注两个关键方面:权重初始化和各种检查点的架构配置。目前支持图中左侧概述的模型合并方法,并且正在积极努力合并其他合并技术,例如 ZipIt、OT Fusion 和 Git Rebasin。

注:在 HuggingFace Transformers 中,检查点通常是指训练期间模型的保存版本。 它是模型参数以及训练过程中特定点可能相关信息快照。 检查点的用途有多种,包括:恢复训练、微调、模型评估和部署。

添加图片注释,不超过 140 字(可选)

同样架构和初始化

模型合并技术,利用两个神经网络检查点之间的线性模式连接 (LMC)(Nagarajan & Kolter,2019)来导出最终的合并模型。 本质上,这里描述的方法采用线性插值技术的形式。 这些方法的一个关键要求是要合并的模型必须具有相同的架构以及相同的初始化。 然而,经过微调的具有相同初始化模型也与这些技术兼容。

最简单的方法,基于权重平均的结果 (Utans, 1996) (Smith & Gashler, 2017) (Garipov et al., 2018) (Izmailov et al., 2018) 和 Model Soups (Wortsman et al., 2022)方法,是权重的线性平均。 该技术依赖于线性模式连接,是大多数其他技术的基础。

任务算术(Task Arithmetic)(Ilharco et al., 2022)通过引入任务向量的概念扩展了这种方法,表明对微调模型和公共基础模型之间的差异执行算术既有用又具有语义意义。

Trim、Elect Sign & Merge (TIES merging) (Yadav et al., 2023)、Model Breadcrumbs (Davari and Belilovsky, 2023) 和 Drop And REscale (DARE) (Yu et al., 2023) 进一步介绍了稀疏化和将这些任务向量组合的方法,可以将大量模型组合成一个,而不会降低功能。

使用球面线性插值 (SLERP) 技术(Shoemake,1985)在模型检查点之间进行插值代表了简单权重平均的扩展,其成功表明通常存在比直接线性路径具有更低损失障碍的球面路径插值。 SLERP利用模型向量空间内的几何和旋转属性,确保混合更准确地体现两个家长模型的特征。

应该强调的是,上述方法不需要合并操作的训练数据或合并后的进一步微调。 与上述方法相比,其他方法通过为不同的神经网络参数引入不同的权重来扩展此范例,需要使用训练数据计算激活以确定这些不同的权重。 Matena 和 Raffel (2022) 探索Fisher 信息矩阵的使用,Jin (2022) 引入 RegMean (Jin, 2022) 方法,该方法允许合并生成关于模型预测的 L2 距离的最佳权重,同时保持训练数据的私密性。

相同架构但不同初始化

模型合并方法超出了简单地将检查点与相同初始化相结合的范围。 先前的研究表明,在处理来自不同初始化的检查点时,直接的线性模型组合(LMC)方法存在不足(Ainsworth,2022)。 因此,基本上,这一系列工作利用合并之前检查点不同初始化的排列对称性(Verma & Elbayad,2024;Ainsworth,2022)。

Git-Rebasin (Ainsworth et al., 2022) 探索了神经网络损失域中排列对称性对模型合并的影响。 他们引入了对齐两个独立训练模型权重的算法,实现功能等效的权重配置,从而促进权重空间中的模型合并。 他们的实证结果证明了跨各种架构和数据集的这种能力,揭示了神经网络优化通常会导致单一的、排列对称的局部形状。

类似地,之前的工作通过神经元对齐优化模式连接(Tatro et al., 2020)和最优传输融合(OTFusion)(Singh & Jaggi, 2020),假设可以利用神经网络隐藏单元的排列对称性来减少模型之间的插值障碍。 这些方法引入了各种策略来分配模型神经元之间的对应关系,并在变换后的权重空间中执行简单的插值。

Imfeld(2023)和 Verma & Elbayad (2024) 扩展了这些方法以支持基于 Transformer 的模型架构。 Jordan (2022) 阐述了插值深度网络中的方差崩溃问题,并提出了一个重新规模化步骤,进一步减少排列模型之间的损失障碍。

值得注意的是,上述方法有助于共享架构和大小的模型的合并,尽管它们不是线性模式连接的——差异可能源于不同的随机初始化、广泛的持续预训练或其他不同的原因。

与上述方法相比,ZipIt(Stoica et al., 2023)进一步扩大了范围,探索了合并在不同任务上训练过的相似架构模型的可能性。 该方法通过支持每个模型内部和跨模型相关特征的“压缩”来概括模型合并,并且它允许将模型部分合并到指定层,从而生成多头模型。 这代表着模型合并技术的灵活性和适用性向前迈出了重要一步,解决了在单个统一框架内保存和集成来自不同域模型知识的挑战,而无需任何额外的训练。

不同架构的模型

虽然不是严格的模型合并,通过组合增强语言模型(CALM)方法(Bansal,2024)和最近方法,如大语言模型的知识融合方法(FUSELLM)(Wan,2024)代表了朝实现目标迈出的重要一步。 CALM 利用交叉注意机制来混合来自不同模型的表示,旨在利用它们的综合优势和功能,从而促进跨不同神经网络结构的集成。 同样,FUSELLM(Wan,2024)专注于通过对齐和融合大语言模型 (LLM) 源的概率分布来利用其生成能力。 该策略旨在外在化和放大个体模型的集体知识和独特优势,增强融合LLMs的整体能力。 与上面讨论的方法相反,这样的方法需要对模型进行额外的持续预训练。

模型合并的实际用例

模型合并已在各种实际应用中占有一席之地,极大地影响了 HuggingFace 模型中心等平台上可用的机器学习模型的前景(Wolf,2019)。 这些合并模型已在一系列任务中展示了具有竞争力的性能。 一个著名的例子是 BioMistral(Labrak ,2024),该项目将域适应检查点与现有的 Mistral 聊天变型进行合并,展示模型合并在增强专业领域性能方面的功效。 OpenPipe 的 Mistral 7B Fine-Tune Optimized(Corbitt,2023)展示了合并微调模型的前景,可以为进一步调整提供高质量的基础,如(Choshen,2022)所示。 Wei (2024) 表明,使用 MergeKit 工具进行模型融合是提高幻觉检测性能的成功方法。

合并模型的成功案例强调了该技术在持续学习和多任务学习场景中的价值。 通过利用泛化LLMs,模型合并可以创建多功能且强大的模型,能够同时擅长多项任务或适应新领域,而无需从头开始训练。 这种方法不仅最大限度地利用现有资源,而且还为利用预训练模型解决复杂的现实问题的创新解决方案铺平了道路。

MergeKit 的主要接口是通过 YAML 配置文件,允许所有技能水平的用户定义复杂的合并操作,而无需编码经验。 这种方法既使 MergeKit 的使用民主化,又通过合并策略易于重复、可共享和可重新混合来促进社区参与。

YAML 配置文件定义合并方法、输入模型以及所选合并算法所需的任何参数。 参数可以全局设置或针对特定模型组件,并且可以指定为恒定标量值或逐层变化的插值梯度。 这些不同级别的粒度引入了简单合并方法,同时允许高级用户定义真正复杂的操作。

MergeKit 的设计以可组合性和可重用性为指导原则。 合并方法被设计为可互换且易于添加。 组件的结构使得它们可以添加、删除或互换,允许定制和实验。 只要有可能,组件就被设计为独立供外部使用。 例如,MergeKit 的懒惰张量加载功能是该工具包的核心组件,但也可以简单方便地引入一次性脚本中。

MergeKit 专为与 HuggingFace Transformers 库(Wolf,2019)及其模型中心的完美集成而设计,使用户能够轻松组合各种开源检查点,从而促进社区中可用的不同模型合并。

MergeKit 专为解决合并大型预训练语言模型的挑战而设计,确保各种计算资源的兼容性和效率。其效率的核心是模型合并的核外方法。 通过仅将每个单独操作所需的张量加载到工作内存中,MergeKit 可以从高端研究群一直扩展到没有 GPU 和有限 RAM 的个人笔记本电脑。
MergeKit 内部将合并表示为操作的有向无环图或任务实例。 该表示用于安排任务的执行,以便最小化任何给定时间所需的工作集。 该图的执行还隐式去除不再需要的中间值。 该基础设施允许开发人员构建新的合并方法,从而受益于MergeKit 的内存效率和硬件可扩展性,无需付出额外的努力。

鉴于模型合并技术的快速成功以及创新方法的预期发展,社区可以贡献合并策略和增强功能,从而为 MergeKit 的发展和完善做出贡献。

如图所示:MergeKit 结构用于添加新合并方法的关键模块。 该图描述在 MergeKit 存储库中引入新合并方法的工作流程。 最初,从两个模型 A 和 B 中提取张量,并由“架构”模块进行处理,以确保它们的结构兼容性。 接下来,“规划”组件制定详细说明合并过程的策略。 然后该计划被转发到“图”模块,概述了合并所需的操作。 在“图执行”期间,执行这些操作,从而产生“合并模型”——通过系统框架内指定的合并技术集成模型 A 和 B。

添加图片注释,不超过 140 字(可选)

在LLMs的开发和完善中使用模型合并技术在机器学习社区中引起了相当大的关注。 截至 2024 年 3 月 15 日的Open LLMs排行榜(Beeching et al., 2023)数据证明了这一趋势,该数据凸显了合并模式在高效LLMs中的日益普及。 具体来说,合并模型占前 50 名模型的 20% 和前 100 名模型的 34%,强调了它们在当前 LLM 进步中的重要性。 另外,当前 Open LLM 排行榜上表现最好的 3B、7B 和第三名的 13B 开源模型都是使用 MergeKit 的合并模型。 此外,如图清楚地说明了 MergeKit 存储库受欢迎程度的迅速上升,突出显示了随着时间的推移,GitHub 之星数量显着增加且不断增加,这表明其在开发者社区中的影响力和用户认可度不断增长。

添加图片注释,不超过 140 字(可选)

如图显示Open LLM 排行榜(Park,2023 年)上按“平均”分数排名的前 50 个开源模型的性能的直观比较。 “平均”分数是“ARC”(Clark,2018)、“HellaSwag”(Zellers,2019)、“MMLU”(Hendrycks,2021)、“ TruthfulQA’(Lin,2022)、‘Winogrande’(Sakaguchi,2019)、‘GSM8K’(Cobbe,2021)基准。 黑色虚线图说明了每个模型的参数计数,条形图表示每个模型的平均得分。 合并的模型用宝石红色条表示,而其余模型则用粉红色。 大多数领先的合并模型通常包含大约 7 到 130 亿个参数。 其中,表现最好的合并模型‘RubielLabarta/LogoS-7Bx2-MoE-13B-v0.2’8位列榜单第17位。 值得注意的是,除了利用专家混合 (MoE) 的模型(Gale,2023 年)之外,超过此性能的大多数未合并模型包含大约 35 到 70 多个十亿个参数。 正如Open LLM 排行榜所描述的,合并模型,特别是那些包含专家混合 (MoE) 架构的模型,成为强大的竞争者,在优化计算资源的同时提供卓越的性能——这证明了模型合并在推进自然前沿领域的变革潜力。

添加图片注释,不超过 140 字(可选)

如表所示,尝试MergeKit 上可用的一系列合并技术,包括线性插值 (LERP)、SLERP、TIES 和 DARE-TIES,将 Meditron-7B9(Chen,2023)检查点与 Llama2-7B 聊天模型(Touvron,2023)合并。 值得注意的是,这两个模型均基于 Llama2-7B 基本模型。 评估结果如表 所示。根据研究结果,所有合并模型在各种医疗基准上都优于 Meditron-7B 模型,包括美国医疗执照考试 (USMLE)(Jin,2021)、医疗多项选择题问答 (MedM-CQA)(Pal ,2022)和 PubMed10 问答题(PubMedQA)(Jin,2019)。 此外,使用 LERP 和 SLERP 技术合并的模型在一般基准测试中表现出优于 Llama2-7B 聊天模型的性能。 实证实验强调了合并模型的不同功能,并提供了比较性能的见解。 在医学领域,SLERP 方法似乎优于其他方法。 然而,更重要的是,这些实验揭示了模型合并如何造成开发更通用的模型,并在不同的应用程序中具有增强的功能。

添加图片注释,不超过 140 字(可选)

  • 18
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值