arcee-ai/mergekit

Tools for merging pretrained large language models.

解决的问题

mergekit 提供了一种将多个预训练语言模型合并为单一模型的方法,无需额外训练,也无需承担集成学习的高昂计算成本。这让用户能够结合专业能力、在模型间转移技能,并在保持与单一模型相同推理成本的前提下,找到最佳的性能平衡点。

运作原理

该工具包直接在模型的权重空间中运作。它采用“out-of-core”方法与张量延迟加载技术,使其能够在资源受限的硬件上执行复杂的合并任务,完全在 CPU 上运行或仅需 8 GB VRAM 即可运作。用户通过 YAML 配置文件定义合并操作,指定合并方法、要使用的模型或层(切片),以及合并参数。

适用对象

希望通过合并现有模型来创建高性能语言模型,且无需大规模数据集或庞大训练运算资源的 AI 研究人员与开发者。

特色亮点

  • 低资源需求:支持 GPU 或 CPU 执行,并通过延迟加载将内存使用量降至最低。
  • 广泛的模型支持:兼容于 Llama、 Mistral、 GPT-NeoX、 StableLM 等模型。
  • 多样化的合并方法:包含 Linear、 SLERP、 TIES、 DARE 以及 Mixture of Experts 合并等多种技术。
  • 进阶功能:支持“Frankenmerging”(层的片段组合)、 LoRA 提取以及演化合并方法。
  • 灵活的 Tokenizer 处理:提供对词汇对齐与嵌入移植的细粒度控制。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目