TensorRT Node for ComfyUI:TensorRT插件正式上架ComfyUI,加速图像生成

之前英伟达已经在Stable Diffusion web UI上推出了TensorRT插件,近日又联合ComfyUI开发者推出了ComfyUI插件,此插件专为英伟达GeForce RTX与 RTX显卡量身定制,确保Stable Diffusion 1.5至SDXL Turbo,乃至Stable Video Diffusion系列的运行更加流畅,全面释放RTX显卡的性能。简单来说,能够更快的生成图片。

TensorRT是英伟达推出的一个高性能深度学习推理优化器,它包括深度学习推理优化器和运行时,能够为深度学习应用提供低延迟和高吞吐量的部署推理。TensorRT能够对训练后的深度学习模型进行优化,包括量化、内核自动调整、动态张量显存、多流执行等多种优化策略,以提高模型的执行速度和效率。

支持的版本包括:

  • Stable Diffusion 1.5
  • Stable Diffusion 2.1
  • SDXL
  • SDXL Turbo
  • Stable Video Diffusion
  • Stable Video Diffusion-XT

使用前提:

  • 需要一块英伟达GeForce RTX 或 NVIDIA RTX 的显卡
  • 对于 SDXL 和 SDXL Turbo,推荐使用至少 12 GB 显存的 显卡来获得最佳体验
  • 对于 Stable Video Diffusion (SVD),建议使用至少 16 GB 显存的显卡
  • 对于 Stable Video Diffusion-XT (SVD-XT),则建议使用至少 24 GB 显存的显卡

安装指南:

最简单的安装方式是通过 ComfyUI Manager ,它可以帮助你轻松完成安装。

你也可以手动安装,只需将代码仓库克隆到你的 ComfyUI/custom_nodes 文件夹,并安装所需的依赖项

cd custom_nodes 
git clone https://github.com/comfyanonymous/ComfyUI_TensorRT 
cd ComfyUI_TensorRT 
pip install -r requirements.txt

技术解析:

英伟达TensorRT 是一项技术,它可以优化 AI 模型在你的 RTX显卡上的运行,从而大幅提升性能。要做到这一点,我们需要为你的 GPU 生成专属的 TensorRT 引擎。

你可以选择构建两种类型的 TensorRT 引擎:

  • 动态引擎(Dynamic engines 可以适应不同的分辨率和批量大小,你可以根据最常用的设置来指定参数,以获得最佳性能。
  • 静态引擎(Static engines则只支持特定的分辨率和批量大小,它们提供了与动态引擎最优设置相同的性能提升。

小贴士:大部分用户可能更倾向于使用动态引擎,但如果你经常使用固定的分辨率和批量大小,静态引擎会是一个很好的选择。静态引擎还占用较少的显存;动态范围越宽,所需的显存就越多。

操作指引:

在代码仓库的 workflows 文件夹中找到不同的操作流程,直接将这些 .json 文件拖入 ComfyUI 中即可使用。

构建 TensorRT 引擎的步骤:

1. 在 ComfyUI 中添加一个模型加载点,也可以直接从workflows 文件夹中加载转换工作流

2. 选择添加静态模型 TensorRT 转换节点或动态模型 TensorRT 转换节点

3. 将模型加载节点的输出连接到 TensorRT 转换节点的模型输入端口

4. 为了更容易识别转换后的 TensorRT 模型,请给文件名加上有意义的前缀,并放在“tensorrt/”后面

在设置转换的时候,需要注意尺寸和批次,批次不宜设置过大,除非你显存大

动态转换后的TensorRT引擎,对于显存占用非常高,生成时间可能会更长

5. 点击开始提示以构建 TensorRT 引擎,生成的引擎存放在ComfyUI\output中

转换一次SD1.5动态引擎所消耗的时间

注意事项:

  • 构建过程中,模型转换节点会有高亮提示。
  • 关于模型转换的详细信息可以在控制台中查看。
  • 第一次为模型生成引擎可能需要一些时间,但之后再次生成会快得多。图像生成模型的引擎生成可能需要 3-10 分钟,SVD 可能需要 10-25 分钟。SVD-XT 是一个极其庞大的模型 - 引擎构建时间可能需要一个小时。

使用 TensorRT 引擎加速图像生成:

大家从下图图示也能看出,使用了TensorRT 引擎的工作流与原工作流唯一的区别就是在K采样器的模型端口连接处,原工作流是将模型加载处与K采样器连接。

这是使用SD1.5模型使用TensorRT 引擎生成图片时间对比,快了近2秒钟时间

常见问题与限制:

  • ComfyUI 的 TensorRT 引擎目前还不支持 ControlNets 或 LoRAs,但未来的更新将会解决这个问题
  • 不建议使用动态引擎,从下图可以看出使用动态引擎,显存不够大,生成的时候反而会更长
  • 加速效果适用性广,单更推荐大家使用蒸馏模型,如LCM、PCM、SDXL-Lightning、Hyper-SD等

0

评论0

没有账号?注册  忘记密码?