arcee-ai/mergekit

Tools for merging pretrained large language models.

解决的问题

mergekit 是一个工具包,旨在将多个预训练语言模型组合成单个模型,无需额外训练或集成的高计算成本。它允许用户合并专用模型以创建多功能模型,在模型之间转移能力,并在保持推理成本与单个模型相同的同时优化性能。

工作原理

该工具直接在模型的权重空间中操作。它使用“核外”方法和张量的惰性加载,这使得即使在资源受限的硬件(包括 CPU 或仅有 8 GB VRAM 的 GPU)上也能执行复杂的合并。用户通过 YAML 配置文件定义合并操作,指定合并方法、要使用的模型以及权重和密度等参数。

适用对象

它面向希望在不进行昂贵重新训练的情况下,通过组合现有检查点来创建新的高性能 LLM 的 AI 研究者和开发者。它支持多种架构,如 Llama、Mistral 和 GPT-NeoX。

亮点

  • 多样的合并方法:支持多种算法,包括 Linear、SLERP、TIES、DARE 和 Arcee Fusion。
  • 内存效率:惰性加载和核外处理允许在低内存硬件上进行合并。
  • 高级模型手术:包括“弗兰肯合并”(层的分段组装)以及将密集模型合并为专家混合(MoE)的能力。
  • 专业工具:提供 LoRA 提取、分词器移植(mergekit-tokensurgeon)和多阶段合并工作流的实用程序。
  • CUDA/CPU 支持:可以完全在 CPU 上运行,或通过 GPU 加速。

相关

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