🚀 SVDQuant:4位權重和激活的後訓練量化技術
SVDQuant是一種用於4位權重和激活的後訓練量化技術,能很好地保持視覺保真度。在12B的FLUX.1 - dev上,與BF16模型相比,它實現了3.6倍的內存縮減。通過消除CPU卸載,在配備16GB的筆記本4090 GPU上,它比16位模型快8.7倍,比NF4 W4A16基線快3倍。在PixArt - ∑上,它展示了比其他W4A4甚至W4A8基線明顯更優的視覺質量。
🚀 快速開始
環境設置
請按照[mit - han - lab/nunchaku](https://github.com/mit - han - lab/nunchaku)中的說明設置環境。
運行模型
Diffusers
import torch
from diffusers import FluxPipeline
from nunchaku.models.transformer_flux import NunchakuFluxTransformer2dModel
transformer = NunchakuFluxTransformer2dModel.from_pretrained("mit-han-lab/svdq-int4-flux.1-schnell")
pipeline = FluxPipeline.from_pretrained(
"black-forest-labs/FLUX.1-schnell", transformer=transformer, torch_dtype=torch.bfloat16
).to("cuda")
image = pipeline(
"A cat holding a sign that says hello world", width=1024, height=1024, num_inference_steps=4, guidance_scale=0
).images[0]
image.save("flux.1-schnell-int4.png")
Comfy UI
請查看comfyui/README.md瞭解使用方法。
✨ 主要特性
- 高效量化:SVDQuant是一種後訓練量化技術,用於4位權重和激活,能有效保持視覺保真度。
- 內存縮減:在12B的FLUX.1 - dev上,與BF16模型相比,實現了3.6倍的內存縮減。
- 速度提升:通過消除CPU卸載,在16GB的筆記本4090 GPU上,比16位模型快8.7倍,比NF4 W4A16基線快3倍。
- 視覺質量優:在PixArt - ∑上,展示了比其他W4A4甚至W4A8基線明顯更優的視覺質量。
📚 詳細文檔
方法
量化方法 -- SVDQuant
SVDQuant概述。階段1:最初,激活 X 和權重 W 都包含離群值,使得4位量化具有挑戰性。階段2:我們將離群值從激活遷移到權重,得到更新後的激活和權重。雖然激活變得更容易量化,但權重現在變得更難。階段3:SVDQuant進一步使用SVD將權重分解為低秩分量和殘差。因此,低秩分支以16位精度運行,減輕了量化難度。
Nunchaku引擎設計
(a) 天真地以秩32運行低秩分支會由於Down Projection中額外讀取16位輸入和Up Projection中額外寫入16位輸出而引入57%的延遲開銷。Nunchaku通過內核融合優化了此開銷。
(b) Down Projection和Quantize內核使用相同的輸入,而Up Projection和4 - Bit Compute內核共享相同的輸出。為了減少數據移動開銷,我們將前兩個和後兩個內核融合在一起。
模型描述
屬性 |
詳情 |
開發團隊 |
MIT、NVIDIA、CMU、Princeton、UC Berkeley、SJTU和Pika Labs |
模型類型 |
INT W4A4模型 |
模型大小 |
6.64GB |
模型分辨率 |
像素數量需為65,536的倍數 |
許可證 |
Apache - 2.0 |
💡 使用建議
💡 使用建議
- 該模型僅可在具有sm_86(安培架構:RTX 3090、A6000)、sm_89(阿達架構:RTX 4090)和sm_80(A100)架構的NVIDIA GPU上運行。更多詳細信息請參閱此[問題](https://github.com/mit - han - lab/nunchaku/issues/1)。
- 您可能會觀察到與BF16模型在細節上有一些細微差異。
📄 許可證
本項目採用Apache - 2.0許可證。
引用
如果您發現此模型對您的研究有用或相關,請引用:
@inproceedings{
li2024svdquant,
title={SVDQuant: Absorbing Outliers by Low-Rank Components for 4-Bit Diffusion Models},
author={Li*, Muyang and Lin*, Yujun and Zhang*, Zhekai and Cai, Tianle and Li, Xiuyu and Guo, Junxian and Xie, Enze and Meng, Chenlin and Zhu, Jun-Yan and Han, Song},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025}
}
相關鏈接
