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 加速。
相關
- 專案
- 專案
- 專案
- 專案