​​MergeKit​​:一个用于合并预训练语言模型的开源工具包

Mergekit是什么?

Mergekit 是一个 Python 工具,能将多个大模型合并成一个,发挥各自优势。比如,模型A写作厉害,模型 B 编程出色,mergekit 就能把它们合起来,变成一个更强的模型。它还能在 CPU 或 GPU 上合并,建议先用高精度模型合并,之后再量化和校准。这个ai项目很受开发者欢迎,比如有人用它把教育内容改成游戏主题,让创作更高效、更有趣。

MergeKit:一个用于合并预训练语言模型的开源工具包.jpg

Mergekit主要功能

  • 模型合并:将多个预训练语言模型合并为一个多功能模型,无需额外训练或集成计算开销。

  • 多种合并算法:支持多种合并方法,如线性插值、球面线性插值(SLERP)、任务算术(Task Arithmetic)、TIES、DARE 等。

  • 硬件友好:支持在 CPU 或 GPU 上运行,最低只需 8GB 显存。

  • 低内存使用:采用惰性加载张量技术,降低内存占用。

  • 参数插值:支持参数值的插值梯度,提供更细粒度的控制。

  • 分层组装:支持从不同模型的层片段中拼接组装语言模型(“Frankenmerging”)。

  • 专家混合合并:将多个密集模型合并为专家混合模型。

  • LoRA 提取:从微调模型中提取 PEFT 兼容的低秩近似。

  • 进化合并方法:包含一些实验性的进化合并方法。

Mergekit主要特点

  • 跨平台执行:支持GPU和CPU执行,最低8GB VRAM即可加速。

  • 低内存使用:通过懒加载张量实现。

  • 多种合并算法:包括线性插值、SLERP、任务算术等,未来还会增加更多算法。

  • 图形用户界面(GUI):提供基于Arcee的GUI,简化合并过程。

安装与使用

安装

git clone https://github.com/arcee-ai/mergekit.git
cd mergekit
pip install -e .

使用

mergekit-yaml config.yml ./output-dir --cuda

Mergekit应用场景

  • 模型能力融合:将不同专业领域的模型合并为一个多功能模型。

  • 性能优化:结合不同模型的优势,提升整体性能。

  • 资源受限环境下的优化:在计算资源有限的情况下创建更小但功能强大的模型。

  • 个性化模型定制:根据特定需求定制模型。

  • 模型研究与实验:为研究人员提供灵活的平台,探索不同的合并策略。

Github:https://github.com/arcee-ai/mergekit

收藏

相关文章

最新工具
GridType
GridType

一款网格化字体设计工具。它让你生成不同类型的网格,在网格里画字体...

Solitaire Bliss
Solitaire Bliss

一个免费、无限次数的在线单人纸牌游戏网站,主要玩经典单人纸牌游戏...

TalenCat
TalenCat

一家提供在线简历制作工具的公司,主要产品TalenCat CV ...

BoardGameArena
BoardGameArena

简称BGA,是一个专注于在线桌游的平台,它通过将传统的桌面游戏数...

Dogod.io
Dogod.io

一款浏览器多人在线实时对战游戏,主题是“狗狗抡棒子”,画风魔性搞...

Drive Mad
Drive Mad

Martin Magni 开发的热门在线驾驶游戏。玩家需要驾驶车...

Fugue
Fugue

icons8旗下的免版税音乐下载网站,音乐可免费用于非商用场景...

PlayClassic Games
PlayClassic Games

PlayClassic Games 是一个能让你直接在浏览器里玩...

Modelfy 3D
Modelfy 3D

一个能把2D图片快速变成高质量3D模型的工具,生成的模型最多能有...

DryVocal
DryVocal

一款专业音频处理工具,主要用于从复杂音频中提取和增强人声,特别适...