安装并使用ComfyUI+DeepGPU

更新时间:
复制为 MD 格式

对于需要文生图的业务场景,使用ComfyUI+DeepGPU可以加速FLUX模型或SD模型的推理速度。例如,对于FLUX模型来说,相比未配置ComfyUI DeepGPU加速节点的情况,在GPU实例上配置ComfyUI+DeepGPU加速节点后,其文生图加速性能提升约30%。本文为您介绍如何安装并使用ComfyUI+DeepGPU来加速文生图。

加速性能对比

说明

DeepGPU推理加速组件由阿里云推出,旨在为FLUX.1、SDSDXL模型提供显著的文生图推理加速性能。

与未配置ComfyUI+DeepGPU加速节点的场景相比,在GPU实例上(推荐单卡gn8is实例配置ComfyUI+DeepGPU加速节点后,针对bf16fp8两种精度的flux1-dev模型来说,其加速性能提升约30%。部分模型的文生图加速性能对比如下:

模型权重精度

图像分辨率(WxH)

耗时(未启用deepgpu加速功能)

耗时(启用deepgpu加速功能)

速度提升率

default(bf16)

1024 x 1024

20.83s

16.62s

25.3%

default(bf16)

1280 x 720

19.02s

15.07s

26.2%

default(bf16)

680 x 1024

14.21s

11.21s

26.8%

default(bf16)

576 x 768

8.81s

7.27s

21.2%

fp8_e4m3_fast

1024 x 1024

15.16s

11.15s

36.0%

fp8_e4m3_fast

1280 x 720

13.66s

9.97s

37.0%

fp8_e4m3_fast

680 x 1024

9.93s

7.51s

32.2%

fp8_e4m3_fast

576 x 768

6.07s

4.88s

24.4%

前提条件

  • 已创建GPU实例,且GPU实例需满足以下要求:

    • 操作系统仅为Ubuntu 20.04Ubuntu 22.04。

    • 已安装NVIDIA Driver、CUDA且满足相应的版本要求。

      说明

      创建GPU实例时,建议在选择镜像后,同时选中安装GPU驱动选项,并依次选择的CUDA版本、Driver版本以及cuDNN版本。

    • 实例已分配固定公网IP地址或绑定弹性公网IP(EIP)。如您不清楚如何开通公网,请参见开通公网

  • 已配置安全组规则。

    远程连接实例所需的22端口在创建安全组时默认为开启状态,启动ComfyUI服务器时需指定端口(例如7860)用于访问其图形化界面。您需要提前确认安全组的入方向已开放22、7860端口,如果未开放,请手动配置安全组规则

安装ComfyUI+DeepGPU加速组件

ComfyUI属于开源项目,请您自行安装,然后按照本文操作安装DeepGPU加速组件。如需了解ComfyUI上集成的DeepGPU类型节点及相关工作流,请参见节点和工作流介绍

  1. 自行准备ComfyUI。

    说明

    ComfyUI属于开源项目,请您自行安装。如需了解ComfyUI上相关的节点和工作流示例,请参见节点和工作流介绍

    如果在ComfyUI上加载原生LoRA模型(即使用LoraLoaderModelOnly加载LoRA模型),且使用deepgpu-torch加速该模型时,须修改ComfyUI源代码中的一行代码。

    • ComfyUIv0.3.6及以下版本

      ComfyUI/comfy/sd.py中的如下代码行,添加一个参数weight_inplace_update=True),修改为新目标代码。

      779

      新目标代码如下:

      return comfy.model_patcher.ModelPatcher(model, load_device=load_device, offload_device=offload_device, weight_inplace_update=True)
    • ComfyUIv0.3.7及以上版本

      ComfyUI/comfy/sd.py中的如下代码行,添加一个参数weight_inplace_update=True,修改为新目标代码。

      785

      新目标代码如下:

      model_patcher = comfy.model_patcher.ModelPatcher(model, load_device=load_device, offload_device=model_management.unet_offload_device(), weight_inplace_update=True)
  2. 安装DeepGPU加速组件。

    1. 通过Workbench远程连接GPU实例

    2. 查看python版本,确认是否适配deepgpu-torch加速组件依赖要求。

      deepgpu-torch加速组件依赖于python 3.10环境,需提前确认python版本是否满足依赖条件。

      Ubuntu 22.04

      执行python3 -V查看Python版本(如下图所示),Ubuntu 22.04系统默认已安装Python 3.10.12版本,满足deepgpu-torch加速组件依赖要求。

      python3

      Ubuntu 20.04

      执行python3 -V查看Python版本(如下图所示),Ubuntu 20.04系统默认已安装Python 3.8.10版本,不满足deepgpu-torch加速组件依赖要求。

      python3

      您可以通过安装 Miniconda 来搭建一个基于Python 3.10的独立环境,或者自行选择其他方法创建基于Python 3.10的环境。

      1. 执行以下命令,下载Miniconda安装脚本。

        wget https://repo.anaconda.com/miniconda/Miniconda3-py310_24.1.2-0-Linux-x86_64.sh
      2. 执行以下命令,安装Miniconda并激活Miniconda环境。

        bash ./Miniconda3-py310_24.1.2-0-Linux-x86_64.sh -b -p /workspace/miniconda
        source /workspace/miniconda/bin/activate
      3. 再次执行python3 -V查看Python版本。

        3

        说明

        重新进入系统时,您需要执行source /workspace/miniconda/bin/activate命令切换到虚拟的Python 3.10环境。

    3. 执行以下命令,安装torch。

      deepgpu-torch加速组件依赖于torch 2.5.x+cu124(即torch 2.5.x默认安装的CUDA版本)环境。本示例以安装torch 2.5.0版本为例,如需安装其他版本,请替换相应的torch版本。

      pip install torch==2.5.0

      执行python3 -c "import torch; print(torch.__version__)"确认torch 2.5.0+cu124已安装。

      torch

    4. 执行以下命令,安装deepgpu-torch。

      apt-get install which curl iputils-ping -y
      pip install deepgpu-torch==0.0.15+torch2.5.0cu124 -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/deepytorch/index.html

      执行pip list | grep deepgpu-torch,查看已安装的deepgpu-torch版本信息。

      deeptorch

    5. 执行以下命令,下载并安装DeepGPU加速组件的插件(用于适配ComfyUI)。

      DeepGPU加速组件的插件下载后,解压到ComfyUI/custom_nodes/目录下。

      cd ComfyUI/custom_nodes/
      wget https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/flux/20250102/ComfyUI-deepgpu.tar.gz
      tar zxf ComfyUI-deepgpu.tar.gz
      cd ../..
      
      pip install deepgpu-comfyui==1.0.8 -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/index.html

      执行pip list | grep deepgpu-comfyui命令,查看DeepGPU加速组件的插件已安装。

      chajian

使用ComfyUI+DeepGPU加速文生图

本示例以Ubuntu 22.04系统的gn7ix实例上安装DeepGPU加速版为例,展示使用ComfyUI+DeepGPU测试FLUX模型的文生图加速效果。

  1. 安装基础环境(torch、ComfyUI相关依赖和deepgpu加速组件)。

    1. 通过Workbench远程连接GPU实例

    2. 执行python3 -V命令,确保python版本为3.10版本。

      Ubuntu 22.04系统默认已安装Python 3.10.12版本,满足deepgpu-torch加速组件依赖要求。如果您使用的是Ubuntu 20.04系统的GPU实例,请继续搭建一个基于Python 3.10的独立环境。更多信息,请参见Ubuntu 20.04

    3. 执行以下命令,安装torch。

      # 以安装torch 2.5.0版本为例,如需安装其他版本,请替换相应的torch版本。
      pip install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0

      执行python3 -c "import torch; print(torch.__version__)" 查看已安装的torch版本。

      torch版本

    4. 执行以下命令,安装ComfyUI相关依赖。

      pip install PyYAML safetensors numpy Pillow einops psutil transformers scipy torchsde aiohttp comfyui-frontend-package==1.11.8 kornia spandrel av
    5. 执行以下命令,安装deepgpu加速组件。

      apt-get install which curl iputils-ping -y
      pip install deepgpu-torch==0.0.15+torch2.5.0cu124 -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/deepytorch/index.html
      pip install deepgpu-comfyui==1.0.8 -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/index.html

      执行pip list | grep deepgpu-torchpip list | grep deepgpu-comfyui查看安装的deepgpu加速组件版本。

      deepgpu版本

  2. 执行以下命令,下载ComfyUI源代码。

    本示例仅以下载ComfyUI源代码为例,您可以自行下载定制化后的ComfyUI代码。

    Ubuntu 22.04

    git clone -b v0.3.26 https://github.com/comfyanonymous/ComfyUI
    sed -i "s|comfy.model_patcher.ModelPatcher(model, load_device=load_device, offload_device=model_management.unet_offload_device())|comfy.model_patcher.ModelPatcher(model, load_device=load_device, offload_device=model_management.unet_offload_device(), weight_inplace_update=True)|g" ComfyUI/comfy/sd.py

    Ubuntu 20.04

    apt install git
    git clone -b v0.3.26 https://github.com/comfyanonymous/ComfyUI
    sed -i "s|comfy.model_patcher.ModelPatcher(model, load_device=load_device, offload_device=model_management.unet_offload_device())|comfy.model_patcher.ModelPatcher(model, load_device=load_device, offload_device=model_management.unet_offload_device(), weight_inplace_update=True)|g" ComfyUI/comfy/sd.py
  3. 执行以下命令,下载DeepGPU加速组件的插件。

    cd ComfyUI/custom_nodes/
    wget https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/flux/20250102/ComfyUI-deepgpu.tar.gz
    tar zxf ComfyUI-deepgpu.tar.gz
    ls
    cd ../..
  4. 执行以下命令,下载FLUX模型。

    本示例仅以下载官网FLUX模型为例,您可以自行下载已训练的模型。

    cd ComfyUI
    wget -P models/unet https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/flux/models/flux1-dev.safetensors
    wget -P models/clip https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/flux/models/t5xxl_fp16.safetensors
    wget -P models/clip https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/flux/models/clip_l.safetensors
    wget -P models/vae https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/flux/models/ae.safetensors
    说明

    下载模型可能需要大约一定时间,请您耐心等待。

  5. 执行以下命令,启动ComfyUI服务。

    python3 main.py --listen 0.0.0.0 --port 7860
  6. 在浏览器中输入http://IP:7860,访问ComfyUI服务。

    IP为所在GPU服务的公网出口IP。

  7. ComfyUI界面,选择工作流 > 打开,选择示例工作流中提供的json文件,然后单击执行

    重要

    如果先测试了配置DeepGPU加速节点场景,再测试未配置DeepGPU加速节点场景,则每次切换配置时您都需要重启ComfyUI服务。

    • 未启用deepgpu加速功能:即JSON文件选择flux-dev基础版本(workflow_flux.json),工作流执行效果展示:

      文生图

    • 启用deepgpu加速功能:JSON文件选择flux-dev DeepyTorch加速版本(workflow_flux_deepytorch.json),工作流执行效果展示:

      文生图2

    执行完成后,在GPU远程连接页面查看文生图执行时间,即查看Prompt executed in字段后的时间(如下图)。您可以看到,相比未配置ComfyUI+DeepGPU加速节点的情况,在GPU实例上配置ComfyUI+DeepGPU加速节点后,其文生图加速性能显著提升,更多性能比较,请参见加速性能对比

    时间

节点和工作流介绍

DeepGPU类型的节点介绍

DeepGPU加速组件插件中包含DeepGPU类型的节点,您可以进入ComfyUI界面,在空白处右键单击后,选择,查看包含的DeepGPU类型节点。

deepseek节点

进入ComfyUI/custom_nodes/ComfyUI-deepgpu路径下,打开__init__.py文件,您可以看到相应的节点类型,

节点类型

主要节点类型说明如下:

  • ApplyDeepyTorch节点:针对FLUX模型,ApplyDeepyTorch节点依赖其他节点,您需要将该节点插入到Load Diffusion Model、Load Flux LoRA或者Apply Flux IPAdapter节点之后;针对其他模型,该节点需插入到Load Checkpoint或者LoraLoaderModelOnly节点之后。

  • DeepyTorchSampler节点:针对FLUX模型,该节点是优于XLabsSampler的新采样节点,用于替换XLabsSampler节点(x-flux-comfyui),您无需再插入ApplyDeepyTorch节点。

  • ApplyPulidFluxDeepyTorch节点:针对FLUX模型,该节点在功能和性能方面优于ApplyPulidFlux节点,用于替换ApplyPulidFlux节点(ComfyUI-PuLID-Flux-Enhanced),您无需再插入ApplyDeepyTorch节点。

示例工作流

本示例为您展示如何在FLUX模型或者SD模型的工作流中使用各节点来加速模型的推理性能。

FLUX.1模型

  • 仅针对flux-dev基础模型

    ComfyUI界面的Load Diffusion Model节点后插入ApplyDeepyTorch节点,如下图所示:

    image

    示例工作流文件:

  • 针对ComfyUI原生LoRA模型

    说明

    开源FLUX.1-dev模型结合LoRA技术时,即支持XLabs实现的LoRA使用方式,也支持ComfyUI原生实现的LoRA使用方式。

    ComfyUI界面的最后一个LoraLoaderModelOnly节点的后面插入ApplyDeepyTorch节点,如下图所示:

    image

    示例工作流文件:

  • 带有Pulid插件的FLUX模型

    说明

    Pulid插件来源于ComfyUI-PuLID-Flux-Enhanced

    ComfyUI界面,将Apply Pulid Flux节点替换为Apply Pulid Flux of DeepGPU节点后,再无需ApplyDeepyTorch节点。如下图所示:

    image

  • 针对FLUX定制LoRA模型

    在启动ComfyUI服务前,您需要设置以下环境变量才能在ComfyUI页面执行工作流。

    export DEEPGPU_ENABLE_FLUX_LORA=true

    ComfyUI界面的最后一个Load Flux LoRA节点的后面插入ApplyDeepyTorch节点。如下图所示:

    image

    示例工作流文件:

  • 针对FLUX定制IP-Adapter

    在启动ComfyUI服务前,您需要设置以下环境变量才能在ComfyUI页面执行工作流。

    export DEEPGPU_ENABLE_FLUX_LORA=true

    ComfyUI界面的Apply Flux IPAdapter节点后插入ApplyDeepyTorch节点,并用DeepyTorch Sampler替换XLabsSampler节点,如下图所示:

    说明

    该场景输入的测试图像为XLabs-AI图像

    image

    示例工作流文件:

  • 针对FLUX定制ControlNet

    ComfyUI界面,使用DeepyTorch Sampler替换XlabsSampler节点即可,如下图所示:

    说明

    该场景输入的测试图像为XLabs-AI图像

    image

    示例工作流文件:

SD1.5模型

  • 针对ComfyUI原生LoRA模型

    说明

    开源FLUX.1-dev模型结合LoRA技术时,即支持XLabs实现的LoRA使用方式,也支持ComfyUI原生实现的LoRA使用方式。

    ComfyUI界面的最后一个LoraLoaderModelOnly节点的后面插入ApplyDeepyTorch节点,如下图所示:

    image

    示例工作流文件:

  • 针对SD定制ControlNet

    ComfyUI界面的Load Checkpoint节点后插入ApplyDeepyTorch节点,如下图所示:

    image

    示例工作流文件:

SDXL模型

为提高SDXL模型的推理速度,需在ComfyUI界面的BASEREFINERLoad Checkpoint节点后分别插入ApplyDeepyTorch节点。如下图所示:

image

示例工作流文件: