Diffusers原生支持Nunchaku 4位量化 推动消费级扩散模型高效运行
•0 阅读•4分钟•开源
Hugging FaceDiffusersNunchaku4位量化
•0 阅读•4分钟•开源

背景
Diffusion 大模型在文本到图像任务上表现卓越,但 BF16 精度往往需要 20‑30 GB 显存,普通显卡难以承载。量化是降低显存的传统手段,然而多数后端仅实现权重量化,计算时仍需恢复高精度,速度提升有限。Nunchaku 采用 SVDQuant 技术,在权重与激活均使用 4 位(W4A4),实现显存压缩的同时提升推理吞吐。
Nunchaku Lite 关键特性
- 无需本地 CUDA 编译:Diffusers 通过
kernels包自动下载 NVFP4/INT4 核心,无需手动编译。 - 结构无关:只需在模型的
config.json中加入quantization_config,即可在任意 Diffusers 模型上启用,无需模型特定适配。 - 双路径支持:
svdq_w4a4(NVFP4 或 INT4)用于 Transformer 的注意力与 MLP 主干;awq_w4a16(INT4)用于激活敏感的调制层,如 FLUX 的 adanorm。
- 兼容现有生态:支持
torch.compile、CPU/GPU offload、LoRA 等常用插件,保持与原生 Diffusers 完全兼容。
性能基准(RTX PRO 6000, 1024×1024)
| 配置 | 峰值显存 | 端到端延迟 | 加速比 |
|---|---|---|---|
| BF16 基线 | 31.1 GB | 3.00 s | 1.0× |
| Nunchaku Lite NVFP4 | 20.6 GB | 2.27 s | 1.35× |
NVFP4 + torch.compile | 20.6 GB | 1.68 s | 1.80× |
| NVFP4 + NF4 文本编码器 | 16.0 GB | 2.29 s | 1.35× |
结果显示,4 位量化在显存上削减近 50%,同时在完整流水线下实现约 30%‑80% 的速度提升,图像质量与 BF16 基线相差无几。
使用指南
import torch
from diffusers import ErnieImagePipeline
pipe = ErnieImagePipeline.from_pretrained(
"lite-infer/ERNIE-Image-Turbo-nunchaku-lite-nvfp4_r32-bnb4-text-encoder",
torch_dtype=torch.bfloat16,
).to("cuda")
image = pipe(
prompt="晨曦中的红狐肖像,细腻毛发,体积光",
height=1024, width=1024,
num_inference_steps=8,
guidance_scale=1.0,
generator=torch.Generator("cuda").manual_seed(42),
).images[0]
image.save("output.png")
上述代码展示了无需额外编译或自定义类,即可像加载普通 Diffusers 模型一样调用 Nunchaku Lite 检查点。对于自研模型,可使用 diffuse-compressor 工具完成 SVDQuant 量化、配置生成以及 Hub 推送,全流程与官方文档保持一致。
影响与展望
Nunchaku Lite 的原生集成降低了高质量扩散模型的硬件门槛,使得个人创作者、教育科研团队能够在消费级 GPU 上运行 8‑10 B 参数的文本‑图像模型。与此同时,开源社区可以基于该后端快速实验新量化方案,进一步推动生成式 AI 的算力效率提升。未来若 NVIDIA 推出更高算力的 Blackwell 系列,NVFP4 路径有望在保持显存优势的前提下进一步压缩延迟,开启更大规模模型的本地推理时代。
“量化不应只是显存压缩,更是提升推理速度的关键”。—— Hugging Face 团队
本文是对第三方新闻源的主观解读。消息可能出现过时、不准确、歧义或错误的地方,仅供参考使用。点击此处查看消息源。