Nunchaku Lite:在Diffusers中对扩散模型进行4位推理
Hugging Face
Baidu
Nunchaku 是一种用于扩散变换器的量化方法 SVDQuant(W4A4)。新的 Nunchaku Lite 集成允许直接在 Diffusers 中通过 from_pretrained() 加载量化检查点,无需单独的引擎。生成速度提升高达1.8倍,峰值显存消耗降低高达50%。
Hugging Face博客宣布将Nunchaku(基于SVDQuant)量化方法集成到Diffusers库中。SVDQuant支持4比特权重和激活(W4A4),通过将异常值转移到权重中,并保留一个低比特16比特的低秩分支来处理异常值。原有的Nunchaku引擎需要为每种架构单独集成。Nunchaku Lite解决了这个问题,它将扩散模型中的nn.Linear模块替换为带有CUDA内核(用于主要计算的svdq_w4a4和用于归一化层的awq_w4a16)的专用线性层。检查点通过标准的from_pretrained()调用加载,量化配置存储在模型的config.json中。与BF16相比,Nunchaku Lite可提升约30%的速度,并将显存占用降低高达50%。使用torch.compile时,加速比可达1.8倍。该方法支持Blackwell(NVFP4)以及Turing、Ampere、Ada(INT4)架构的GPU。对于用户自己的模型量化,提供了diffuse-compressor工具包,该工具自动确定量化目标并将结果打包为Diffusers格式。
来源: Hugging Face blog —
原文
