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 加速。

相關

  • 專案
  • 專案
  • 專案
  • 專案