microsoft/TransformerCompression

For releasing code related to compression methods for transformers, accompanying our publications

解決的問題

它在不需要複雜程式碼優化的情況下,減少變換器網路和大型語言模型(LLMs)的大小與記憶體佔用。這使得模型能運行得更快,並使用更少的記憶體,同時盡可能維持性能。

工作原理

SliceGPT 使用一種訓練後的稀疏化方案。它首先對每個變換器層應用正交變換,這些變換不會改變模型的行為。接著,根據特徵值衰減,識別並「切掉」權重矩陣中影響最小的列與行。這會將大型權重矩陣替換為較小的密集矩陣,有效降低模型的嵌入維度。

適用對象

尋找方法壓縮 LLM 以實現更高效部署的開發者與研究人員,特別是那些使用 Hugging Face hub 中模型(如 Llama-2、Llama-3、Phi-2 和 OPT)的人。

特色

  • 訓練後壓縮:可直接應用於現有模型,無需從頭重新訓練。
  • 減少記憶體與加速:透過降低嵌入維度,實現更快的推論與更低的記憶體使用。
  • 恢復微調:支援使用 LoRA 進行切片後的恢復微調(RFT),以恢復損失的性能。
  • 可擴展架構:提供框架(ModelAdapter 和 LayerAdapter),可輕鬆新增對新 Hugging Face 模型類型的支援。

這是一種訓練後的稀疏化方案,透過切掉權重矩陣的不重要部分,有效減少 LLM 的大小與記憶體佔用。 — @username

相關

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