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 加速。
相关
- 项目
- 项目
- 项目
- 项目