/ 资源 / 318浏览

Flux双截棍加速节点介绍和使用教程

一、Nunchaku介绍

Nunchaku是由MIT Han Lab开发的4位扩散模型高效推理引擎,专为优化生成式模型(如Stable Diffusion)的推理速度和显存占用设计。结合SVDQuant量化技术,它在保持生成质量的同时显著提升性能。其技术优势如下:

  1. 显存优化:相比传统BF16模型,显存占用减少3.6倍(例如16GB显存设备可运行更大模型)。
  2. 速度提升:在16GB显存设备上,推理速度比16位模型快8.7倍,比传统4位量化(NF4 W4A16)快3倍。
  3. 无损生成:通过低秩分解和核融合技术,4位量化模型生成质量与原始模型几乎无差异(参考官方对比图)。
  4. 兼容性:支持Flux模型生态、Redux、Lora、ControlNet及多显卡架构(NVIDIA Ampere/Ada/A100)。

官网地址:https://github.com/mit – han – lab/nunchaku

二、相关安装

(一)插件安装

插件地址:https://github.com/mit – han – lab/ComfyUI – nunchaku 在节点管理器里面搜索ComfyUI - nunchaku进行安装。

(二)模型下载

模型下载地址:https://huggingface.co/mit – han – lab 这里包含了很多模型,不过主要使用的就2个:svdq - int4 - flux.1 - devsvdq - int4 - flux.1 - fill - dev。如果是50系列显卡,那就下载fp4这个名称的,不然就下载int4的。

(三)版本依赖及升级

要想使用上nunchaku这个加速技术,官网要求必须PyTorch >= 2.5才行。查看自己本地安装的ComfyUI PyTorch版本,一般启动的时候系统打印的信息里面会带。例如之前是2.4.1 + cu124,就需要升级到2.5.1 + cu124。

安装PyTorch是要配套的,如果是本地安装秋叶整合版,这里有介绍匹配的依赖版本。CUDA驱动一般安装12.4就够了。Torch以及Xformers可以通过命令执行升级,以下是升级Torch到2.5.1的命令:

步骤一:卸载旧的
pip uninstall torch torchvision torchaudio

步骤二:安装对应版本
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index - url https://download.pytorch.org/whl/cu124

步骤三:安装xformers
pip uninstall xformers
python.exe - m pip install xformers==0.0.28.post3 --pre --extra - index - url https://download.pytorch.org/whl/cu124

(四)安装依赖库

轮子配套文件地址:https://huggingface.co/mit – han – lab/nunchaku/tree/main 这里有好多版本,需要根据自己本地情况下载指定的。比如本地torch是2.5.1,对应torch 2.5,python是3.10,对应cp310,最终要下载的就是 nunchaku - 0.2.0+torch2.5 - cp310 - cp310 - win_amd64.whl这个轮子。下载好了之后,丢到ComfyUI对应的python目录下,然后打开对应的CMD路径,输入下面安装命令,就能安装上这个依赖了:

python.exe - m pip install nunchaku - 0.2.0+torch2.5 - cp310 - cp310 - win_amd64.whl

三、使用说明

(一)在线体验地址

RH在线体验:https://www.runninghub.cn/post/1909977345107918850?utm_source=1c704ef9

(二)工作流变化

要使用这个新技术,工作流变化其实不大,就加载模型的换一下而已,完整文生图工作流中,以前用的是UENT加载器,现在该用Numchaku Flux DiT Loader

(三)参数说明

  1. cache_threshold:控制首块缓存容差,类似于WaveSpeed中的residual_diff_threshold。增加此值可提高速度,但可能会降低质量。典型值为0.12。将其设置为0可禁用该效果。
  2. attention:定义注意力实现方法。可以选择flash – attention2或nunchaku – fp16。nunchaku – fp16比flash – attention2快约1.2倍,且不影响精度。对于不支持flash – attention2的Turing GPU(20系列),必须使用nunchaku – fp16。
  3. cpu_offload:为Transformer模型启用CPU卸载。虽然这会减少GPU内存使用量,但可能会减慢推理速度。当设置为auto时,它将自动检测可用GPU内存。如果GPU内存超过14GiB,则卸载将被禁用。否则,它将被启用。
  4. device_id:运行模型的GPU ID。
  5. data_type:定义反量化张量的数据类型。Turing GPU(20系列)不支持bfloat16,只能使用float16。
  6. i2f_mode:对于Turing(20系列)GPU,此选项控制GEMM实现模式。enabled和always模式略有不同。其他GPU架构会忽略此选项。

(四)文生图效果

以1024 * 1024分辨率25步为例,使用nunchaku加速后,flux的文生图出图速度基本维持在3s,而且出图质量依旧在线。同时,nunchaku还支持FLUX.1 – tools全家桶,如flux – fill的重绘工作流、flux – canny、flux – depth等出图速度都很快,基本3秒就能搞定,flux最重要的redux也可以正常使用,出图速度依旧强劲,3秒即可出图。

四、注意事项

  1. 在升级PyTorch版本之前,记得做好环境备份,这样如果升级出现问题,切换到旧版本就可以了。安装自己不确定是否会损坏环境的插件的时候,也可以先进行下python环境的备份。
  2. 安装文件以自己下载的文件为准,在使用命令安装依赖库时,需要自己复制一下文件名替换命令双引号内的文件名。
  3. 如果爆显存,“UNET加载器”节点中的weight_dtype可以控制模型中权重使用的数据类型,设置为fp8可降低显存使用量,但可能会稍微降低质量。
  4. 在训练Flux时,应尽量使用长提示词或自然语言,避免使用短提示词,因为T5自带50%的删标。

0

  1. This post has no comment yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注