FujitsuResearch/OneCompression

Python package for LLM compression

解決的問題

OneCompression (OneComp) 提供了一個完全自動化的大型語言模型(LLM)壓縮流程,可在不顯著犧牲準確度的情況下,減少模型的記憶體佔用與硬體需求。它將複雜的量化過程——選擇位元寬度、應用演算法、評估結果——簡化為一個流暢的工作流程。

工作原理

OneComp 使用多種事後訓練量化(PTQ)技術來降低模型權重的精確度。其 AutoBit 功能可自動偵測可用的 GPU VRAM,並據此決定每層的最佳位元寬度。主要技術方法包括:

  • 量化誤差傳播(QEP):透過將誤差傳播至後續層來修正誤差。
  • 層投影座標下降(LPCD):一種用於在任意子模組上優化量化的統一框架。
  • MDBF(多包絡雙二值因子分解):利用二值因子分解實現激進的亞1位元壓縮。
  • 旋轉預處理:使用 SpinQuant/OstQuant 學習最佳旋轉矩陣,在量化過程開始前降低量化誤差。
  • 後處理:提供區塊式蒸餾與 LoRA SFT 微調,以在量化後恢復準確度。

適用對象

專為希望在 VRAM 有限的本地硬體上部署 LLM 的開發者與研究人員設計,也適合希望實驗先進量化演算法以實現高效模型部署的使用者。

主要亮點

  • 一鍵自動化:透過簡單的 CLI 命令或 Python API 自動量化模型。
  • vLLM 集成:內建插件支援透過 vLLM 高效服務量化模型。
  • 混合精度支援:根據記憶體預算自動為每層分配位元寬度。
  • 廣泛架構支援:已驗證支援 Llama、Qwen、Gemma 與 GPT-OSS 架構。
  • GGUF 匯出:內建支援將模型轉換為 GGUF 格式,供 llama.cpp 與 Ollama 使用。

相關

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