nunchux-ai/nunchaku
[ICLR2025 Spotlight] SVDQuant: Absorbing Outliers by Low-Rank Components for 4-Bit Diffusion Models
它解決的問題
Nunchaku 是一個高性能的推論引擎,專為讓大型擴散模型(如 FLUX.1 和 SANA)運行更快並大幅減少記憶體使用量而設計,同時不犧牲視覺品質。它解決了 4 位元量化所帶來的挑戰,其中神經網路權重與激活值中的「異常值」通常會導致影像保真度下降。
如何運作
該引擎實現了 SVDQuant,一種後訓練量化技術。它分為三個階段:
- 異常值遷移:將異常值從激活值移動到權重,使激活值更容易進行量化。
- 低秩分解:使用奇異值分解(SVD)將更新後的權重拆分為一個低秩成分(保持 16 位元精度)和一個殘差成分(量化至 4 位元)。
- 核心融合:為防止低秩分支拖慢系統,Nunchaku 使用專用的融合核心,將投影與量化步驟結合,減少資料移動的開銷。
適用對象
主要針對需要在消費級硬體(如 NVIDIA RTX 4090 或 5090 GPU)上部署擴散模型的開發者與研究人員,這些硬體的 VRAM 有限。
主要特色
- 大幅減少記憶體使用:將 12B 的 FLUX.1 模型大小減少 3.6 倍,記憶體使用量減少 3.5 倍。
- 顯著加速:在筆電 GPU 上,相比 16 位元模型,最高可達 10.1 倍加速,無需 CPU 離線處理。
- 廣泛的模型支援:支援 FLUX.1(含 Krea 和 Kontext 變體)、SANA 和 Qwen-Image。
- 硬體優化:針對 NVIDIA GPU 優化,並在 RTX 5090 上原生支援 NVFP4 精度。
- 生態系整合:提供 ComfyUI 插件與 Python 後端,支援模組化整合。
相關
- 專案
- 專案
- 專案
- 專案