Nunchaku是一款专为4-bit神经网络优化的高性能推理引擎,简单说就是更小的显存占用,更快的生成速度,以及很少的图片质量损失。
大家好,我是每天分享AI绘画的萤火君!
Flux.1模型自发布以来,一直占据AI绘画领域的领先地位,不过Flux.1模型的生成速度有点慢,原始模型甚至需要分钟级的时间才能完成1次推理;对于这个问题,社区也贡献了各种各样的优化路径,从分钟级到10秒级,再到现在的秒级,今天这篇文章就给大家介绍一种最新的推理优化技术:Nunchaku。
效果展示
在Nvidia 4090D上,使用Nunchaku技术量化的Flux.1-Dev的4位模型生成单张1024*1024图片只需要1-2秒钟,实际推理时间消耗如下图所示:
推理时间更短,同时质量没有明显下降。相同参数的情况下,4位模型与fp8模型推理结果的构图基本相同,只是在细节上有所差异,但是推理时间和显存使用都大幅下降。实际生成效果对比:
Nunchaku介绍
Nunchaku是一款专为4-bit神经网络优化的高性能推理引擎,基于论文 SVDQuant 提出。SVDQuant 是一种支持4-bit权重和激活的后训练量化技术,能有效保持视觉质量。在12B FLUX.1-dev模型上,相比BF16模型实现了3.6倍内存压缩。通过消除CPU卸载,在16GB笔记本RTX 4090上比16位模型快8.7倍,比NF4 W4A16基线快3倍。在PixArt-∑模型上,其视觉质量显著优于其他W4A4甚至W4A8方案。
简单说就是更小的显存占用,更快的生成速度,以及很少的图片质量损失。
运行环境
Nunchaku 可以单独运行,也可以在 ComfyUI中运行,需要特别注意的是它依赖的torch版本至少是2.5,Linux环境CUDA≥12.2,Windows环境CUDA≥12.6。
想快速体验的同学可以直接使用我的云镜像,无需复杂的安装部署,启动即可生图:
https://haoee.com/applicationMarket/applicationDetails?appId=27&IC=XLZLpI7Q
想自己安装的同学可以继续看下边的安装说明。
独立版的安装可以参考这里:https://github.com/mit-han-lab/nunchaku
因为ComfyUI使用比较广泛,这里介绍下ComfyUI中Nunchaku的安装方式:
安装Python包
需要先安装nunchaku的Python包,在下边这两个地方可以找到适合你环境的包:
https://github.com/mit-han-lab/nunchaku/releases
https://huggingface.co/mit-han-lab/nunchaku/tree/main
可以先下载到本地,也可以直接通过网络地址安装。
以网络地址安装为例,执行下边的命令:
pip install https://github.com/mit-han-lab/nunchaku/releases/download/v0.2.0/nunchaku-0.2.0+torch2.6-cp311-cp311-linux_x86_64.whl
它会安装基于Linux+Python3.11+torch2.6 的nunchaku的0.2.0版本的包。
通过git安装插件
cd custom_nodes
git clone https://github.com/mit-han-lab/ComfyUI-nunchaku nunchaku_nodes
通过Manager安装插件
安装成功之后,不要忘了重启。
模型下载
Int4模型
Nunchaku 的4位模型在huggingface上都可以下载到,地址是这个:https://huggingface.co/mit-han-lab
0.2.0的模型下载这几个就好了(下载后放到ComfyUI模型目录下的diffusion_models文件夹下):
svdq-int4-flux.1-dev
svdq-int4-flux.1-fill-dev
svdq-int4-flux.1-canny-dev
svdq-int4-flux.1-depth-dev
svdq-int4-flux.1-schnell
最新的Nunchaku0.3.0支持单模型文件,在huggingdace仓库中也可以找到它们:
nunchaku-flux.1-dev
nunchaku-flux.1-fill-dev
nunchaku-flux.1-canny-dev
nunchaku-flux.1-depth-dev
nunchaku-flux.1-schnell
LoRA模型
示例工作流中还有一些LoRA模型,这里也分享下下载地址。
flux.1加速模型(建议下载后改名为 flux.1-turbo):
https://modelscope.cn/models/AI-ModelScope/FLUX.1-Turbo-Alpha/resolve/master/diffusion_pytorch_model.safetensors
吉卜力模型:
https://huggingface.co/aleksa-codes/flux-ghibsky-illustration/resolve/main/lora_v2.safetensors
工作流
下边介绍下nunchaku工作流的使用方法,工作流下载方式见文末。
基本工作流
先看这个基本的工作流,重点是:基础模型、LoRA模型 和 文本编码器 这几个节点,它们加载模型并调整为nunchaku可以使用的格式。其它节点都是通用的了。
Tools工作流
Nunchaku也支持Flux.1 Tools,以canny线稿为例,可以直接使用4位的Flux.1-Canny模型,如下图所示:
也可以使用 Flux.1-Dev + Canny LoRA 组合模型的方式,这种方式更灵活,可以使用基于Flux.1-Dev训练的各种风格模型。
资源下载
本文用到的工作流已经整理好,给公/众\号 "萤火AI绘画" 发消息 "工作流" 即可获取下载地址。
另外我也总结了很多AI绘画的实战经验,开发了很多更加好用的高级工作流,如有需要请点击下方链接或者扫码订阅小册:https://xiaobot.net/post/03340243-9df6-4ea0-bad6-9911a5034bd6
以上就是本文的主要内容。
后续我将发布更多关于Nunchaku的内容,欢迎及时关注,以免错过重要内容。
没有评论:
发表评论