🚀 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}
}
相关链接
