??MergeKit??:一個用于合并預訓練語言模型的開源工具包
Mergekit是什么?
Mergekit 是一個 Python 工具,能將多個大模型合并成一個,發揮各自優勢。比如,模型A寫作厲害,模型 B 編程出色,mergekit 就能把它們合起來,變成一個更強的模型。它還能在 CPU 或 GPU 上合并,建議先用高精度模型合并,之后再量化和校準。這個ai項目很受開發者歡迎,比如有人用它把教育內容改成游戲主題,讓創作更高效、更有趣。
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