Skip to content

Latest commit

 

History

History
120 lines (84 loc) · 11.9 KB

File metadata and controls

120 lines (84 loc) · 11.9 KB

Nunchaku 是一款为 4-bit 神经网络优化的高性能推理引擎,详见我们的论文 SVDQuant。底层量化库请参考 DeepCompressor

欢迎加入我们的用户群:SlackDiscord微信,与社区交流!更多详情见 这里。如有问题、遇到 bug 或有意贡献代码,欢迎随时联系我们!

最新动态

更多历史
  • [2025-03-07] 🚀 Nunchaku v0.1.4 发布! 支持 4-bit 文本编码器和逐层 CPU 下放,将 FLUX 最低显存需求降至 4 GiB,同时实现 2–3× 加速。本次还修复了分辨率、LoRA、pin memory 和稳定性等问题,详见发布说明!
  • [2025-02-20] 🚀 RTX 5090 支持 NVFP4 精度! NVFP4 相比 INT4 画质更佳,在 RTX 5090 上比 BF16 快 ~3×。详情见博客,用法见 examples,在线体验点此
  • [2025-02-18] 🔥 自定义 LoRA 转换模型量化 教程上线!ComfyUI 工作流现已支持 自定义 LoRAFLUX.1-Tools
  • [2025-02-11] 🎉 SVDQuant 入选 ICLR 2025 Spotlight!FLUX.1-tools Gradio 演示上线! 详情见 这里。全新 depth-to-image 演示 也已上线,欢迎体验!
  • [2025-02-04] 🚀 4-bit FLUX.1-tools 发布! 推理速度比原模型快 2-3×。用法见 examplesComfyUI 集成即将上线!
  • [2025-01-23] 🚀 4-bit SANA 支持! 推理速度比 16-bit 模型快 2-3×。用法见 示例部署指南。在线体验 svdquant.mit.edu
  • [2025-01-22] 🎉 SVDQuantICLR 2025 录用!
  • [2024-12-08] 支持 ComfyUI。用法见 ComfyUI-nunchaku
  • [2024-11-07] 🔥 最新 W4A4 Diffusion 量化工作 SVDQuant 正式发布!量化库见 DeepCompressor

总览

teaser Nunchaku 是一款面向低比特神经网络的高性能推理引擎。其实现了 SVDQuant,一种针对 4-bit 权重和激活的后训练量化技术,能很好地保持视觉质量。在 12B FLUX.1-dev 上,相比 BF16 模型实现了 3.6× 显存缩减。通过消除 CPU 下放,在 16GB 笔记本 4090 GPU 上比 16-bit 模型快 8.7×,比 NF4 W4A16 基线快 3×。在 PixArt-∑ 上,视觉质量显著优于其他 W4A4 甚至 W4A8 基线。"E2E" 指包括文本编码器和 VAE 解码器的端到端延迟。

SVDQuant: 通过低秩分支吸收异常值,实现 4-bit Diffusion 模型
Muyang Li*,Yujun Lin*,Zhekai Zhang*,Tianle CaiXiuyu LiJunxian GuoEnze XieChenlin MengJun-Yan ZhuSong Han
MIT, NVIDIA, CMU, Princeton, UC Berkeley, SJTU, Pika Labs

demo.mov

方法

量化方法 -- SVDQuant

intuitionSVDQuant 概览。阶段1:原始激活 $\boldsymbol{X}$ 和权重 $\boldsymbol{W}$ 都包含异常值,导致 4-bit 量化困难。阶段2:我们将异常值从激活迁移到权重,得到更新后的激活 $\hat{\boldsymbol{X}}$ 和权重 $\hat{\boldsymbol{W}}$。此时 $\hat{\boldsymbol{X}}$ 更易量化,但 $\hat{\boldsymbol{W}}$ 更难。阶段3:SVDQuant 进一步将 $\hat{\boldsymbol{W}}$ 分解为低秩分支 $\boldsymbol{L}_1\boldsymbol{L}_2$ 和残差 $\hat{\boldsymbol{W}}-\boldsymbol{L}_1\boldsymbol{L}_2$。低秩分支用 16-bit 精度运行,从而缓解量化难度。

Nunchaku 引擎设计

engine (a) 直接用 rank 32 跑低秩分支会带来 57% 延迟开销,因需额外读写 16-bit 输入/输出。Nunchaku 通过内核融合优化此开销。(b) Down ProjectionQuantize 内核输入相同,Up Projection4-Bit Compute 内核输出相同。为减少数据搬运,Nunchaku 将前两者和后两者分别融合。

性能

efficiencySVDQuant 将 12B FLUX.1 模型体积缩小 3.6×,显存占用降至 16-bit 模型的 1/3.5。Nunchaku 的 INT4 模型在桌面和笔记本 4090 上比 NF4 W4A16 基线快 3.0×。在笔记本 4090 上,通过消除 CPU 下放,总加速比达 10.1×。NVFP4 模型在 RTX 5090 上也比 BF16 和 NF4 快 3.1×。

快速上手

路线图

暑期开发计划见 这里

联系我们

如有企业合作、技术咨询、赞助或合作意向,请联系 muyangli@mit.edu

相关项目

引用

如果您觉得 nunchaku 对您的研究有用或相关,请引用我们的论文:

@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}
}

致谢

我们感谢 MIT-IBM Watson AI Lab、MIT 和 Amazon Science Hub、MIT AI Hardware Program、National Science Foundation、Packard Foundation、Dell、LG、现代和三星对本研究的支持。我们感谢 NVIDIA 捐赠的 DGX 服务器。

我们使用 img2img-turbo 训练草图到图像的 LoRA。我们的文本到图像和图像到图像 UI 分别基于 playground-v.25img2img-turbo 构建。我们的安全检查器来自 hart

Nunchaku 还受到许多开源库的启发,包括(但不限于)TensorRT-LLMvLLMQServeAWQFlashAttention-2Atom

Star 历史

Star History Chart