??MergeKit??:一個用于合并預(yù)訓(xùn)練語言模型的開源工具包
Mergekit是什么?
Mergekit 是一個 Python 工具,能將多個大模型合并成一個,發(fā)揮各自優(yōu)勢。比如,模型A寫作厲害,模型 B 編程出色,mergekit 就能把它們合起來,變成一個更強的模型。它還能在 CPU 或 GPU 上合并,建議先用高精度模型合并,之后再量化和校準(zhǔn)。這個ai項目很受開發(fā)者歡迎,比如有人用它把教育內(nèi)容改成游戲主題,讓創(chuàng)作更高效、更有趣。
Mergekit主要功能
模型合并:將多個預(yù)訓(xùn)練語言模型合并為一個多功能模型,無需額外訓(xùn)練或集成計算開銷。
多種合并算法:支持多種合并方法,如線性插值、球面線性插值(SLERP)、任務(wù)算術(shù)(Task Arithmetic)、TIES、DARE 等。
硬件友好:支持在 CPU 或 GPU 上運行,最低只需 8GB 顯存。
低內(nèi)存使用:采用惰性加載張量技術(shù),降低內(nèi)存占用。
參數(shù)插值:支持參數(shù)值的插值梯度,提供更細(xì)粒度的控制。
分層組裝:支持從不同模型的層片段中拼接組裝語言模型(“Frankenmerging”)。
專家混合合并:將多個密集模型合并為專家混合模型。
LoRA 提取:從微調(diào)模型中提取 PEFT 兼容的低秩近似。
進(jìn)化合并方法:包含一些實驗性的進(jìn)化合并方法。
Mergekit主要特點
跨平臺執(zhí)行:支持GPU和CPU執(zhí)行,最低8GB VRAM即可加速。
低內(nèi)存使用:通過懶加載張量實現(xiàn)。
多種合并算法:包括線性插值、SLERP、任務(wù)算術(shù)等,未來還會增加更多算法。
圖形用戶界面(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應(yīng)用場景
模型能力融合:將不同專業(yè)領(lǐng)域的模型合并為一個多功能模型。
性能優(yōu)化:結(jié)合不同模型的優(yōu)勢,提升整體性能。
資源受限環(huán)境下的優(yōu)化:在計算資源有限的情況下創(chuàng)建更小但功能強大的模型。
個性化模型定制:根據(jù)特定需求定制模型。
模型研究與實驗:為研究人員提供靈活的平臺,探索不同的合并策略。
Github:https://github.com/arcee-ai/mergekit