すべてのプロダクト
Search
ドキュメントセンター

Function Compute:Function Compute を使用して ComfyUI と SD/FLUX でテキストから画像への変換サービスを構築する

最終更新日:Sep 06, 2025

このトピックでは、ComfyUI + SD/FLUX イメージと Function Compute の GPU 関数機能を使用して、テキストから画像への変換サービスを迅速に構築する方法について説明します。

ソリューションの概要

Alibaba Cloud Function Compute を使用して、テキストから画像への変換サービスを 2 つのステップで迅速に構築できます。

  1. パブリックイメージを選択するか、カスタムイメージをビルドしてプッシュします。

    パブリック ComfyUI + SD/FLUX イメージを使用するか、カスタムイメージをビルドして Alibaba Cloud Container Registry のイメージリポジトリにプッシュできます。

  2. GPU 関数を作成します。

    イメージに基づいて、Alibaba Cloud Function Compute で GPU 関数を作成します。関数が作成されると、システムはテキストから画像への変換サービスのエンドポイントとして機能するドメイン名を提供します。

これらのステップを完了すると、テキストから画像への変換サービスがデプロイされます。ユーザーはインターネットまたは内部ネットワークを介してサービスにアクセスできます。ブラウザから関数にアクセスするには、関数に カスタムドメイン名を設定する必要があります。

ステップ 1: Alibaba Cloud による text-to-image サービスの構築: Function Compute

イメージの構築と高速化

パブリックイメージ: 既存のパブリック ComfyUI + SD/FLUX イメージを使用して、迅速かつ簡単にセットアップできます。

カスタムイメージ: 特定のニーズに合わせてカスタムイメージを構築し、ユーザーエクスペリエンスとパフォーマンスを最適化できます。

  1. Dockerfile を準備する

    イメージをビルドする際は、ComfyUI プロジェクトの README.md ファイルのインストール手順に従ってください。 ComfyUI は Python に依存しているため、ベースイメージとして適切な Python イメージを選択してください。Docker Hub などのパブリックイメージリポジトリから Python イメージを取得できます。次のコードは、カスタムイメージのサンプルです。

    # Dockerfile
    FROM python:3.10
    
    # システム依存関係をインストールする
    RUN apt-get update && apt-get install -y \
        git \
        wget \
        && rm -rf /var/lib/apt/lists/*
    
    WORKDIR /app 
    
    # ComfyUI リポジトリのクローンを作成する
    RUN  git  clone  https://github.com/comfyanonymous/ComfyUI.git
    
    WORKDIR /app/ComfyUI
    
    # Python 依存関係パッケージのダウンロードを高速化する
    RUN pip config set global.index-url https://mirrors.cloud.aliyuncs.com/pypi/simple
    RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    RUN pip config set install.trusted-host mirrors.cloud.aliyuncs.com
    
    # PyTorch をインストールする (デフォルトでは NVIDIA CUDA バージョン。必要に応じて変更してください)
    RUN pip install torch==2.5.0+cu124 torchvision==0.20.0+cu124 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/cu124
    
    # プロジェクトの依存関係をインストールする
    RUN pip install -r requirements.txt
    
    # サービスポートを公開する
    EXPOSE 8188
    
    # 起動コマンド
    CMD ["python", "main.py"]
  2. イメージのダウンロードを高速化する

    1. パブリックイメージリポジトリへのアクセスが遅い場合は、Docker の registry-mirrors を設定してダウンロード速度を向上させることができます。たとえば、Linux システムでは、/etc/docker/daemon.json ファイルを編集し、次の設定を追加または変更します。

      {
          ......
          "registry-mirrors": [
              "https://docker.nju.edu.cn",
              "https://dockerproxy.com",
              "https://docker.mirrors.ustc.edu.cn",
              ......
          ]
      }
    2. ファイルを再読み込みし、Docker を再起動して変更を有効にします。

      systemctl daemon-reload  # 設定ファイルを再読み込みします。
      systemctl restart docker # Docker サービスを再起動します。

    または、頻繁に使用するベースイメージを独自のイメージリポジトリに保存するか、プライベート registry-mirror をセットアップすることもできます。

  3. Python 依存関係パッケージのダウンロードを高速化する

    ComfyUI プロジェクト の README.md ファイルに従ってパッケージをインストールする際に、Python 依存関係パッケージのダウンロードが遅い場合は、pip の index-url を設定してプロセスを高速化できます。たとえば、Alibaba Cloud または清華大学の Python ミラーソースを使用できます。

    ......
    
    RUN pip config set global.index-url https://mirrors.cloud.aliyuncs.com/pypi/simple
    RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    RUN pip config set install.trusted-host mirrors.cloud.aliyuncs.com
    
    ......
  4. イメージをビルドする

    docker build -t comfyui:latest .

イメージを Container Registry にプッシュする

Function Compute では、カスタムイメージを使用する関数を作成する場合、同じリージョンにある同じアカウント下の Alibaba Cloud Container Registry リポジトリのイメージを使用する必要があります。次のいずれかの方法でイメージを Container Registry にプッシュできます。

GPU 関数を作成する

Function Compute は、デフォルトですべての GPU 関数イメージの高速化 機能を提供します。この機能は、オンデマンドプルとピアツーピア (P2P) キャッシングをサポートしており、追加の設定は必要ありません。この機能を使用すると、大規模なイメージコンテナを迅速に作成し、弾力性を向上させることができます。詳細については、「GPU 関数を作成する」をご参照ください。Function Compute にはイメージサイズに制限があることに注意してください。イメージの作成時間が長くなるのを防ぐため、イメージに大きなモデルデータを含めないでください。イメージサイズの制限とクォータの増加をリクエストする方法の詳細については、「クォータと制限」をご参照ください。

次の例は、関数を作成するための起動コマンドとリスナーポートを示しています。

  • リスナーポート: 8188。注: リスナーポートは、ビルドされたイメージのポートと同じである必要があります。

  • 起動コマンド: python main.py --listen 0.0.0.0

image

関数のカスタムドメイン名を設定する

Alibaba Cloud Function Compute が関数に提供するドメイン名は、主に API アクセスを目的としています。 ComfyUI 可視化インターフェイスを介してサービスを運用するには、関数に カスタムドメイン名を設定する必要があります。

image

ブラウザで設定済みのカスタムドメイン名にアクセスして、ComfyUI インターフェイスを開きます。結果は次の図のようになります。

image

ステップ 2: モデルのダウンロードと高速化

Hugging FaceModelScopecivitai などのコミュニティからモデルをダウンロードできます。 ModelScope コミュニティは、Black Forest Labs などの組織向けに多くのモデルとミラーを提供しています。Hugging Face へのネットワークアクセスが制限されている場合は、ModelScope ミラーソースを使用できます。

Function Compute では、モデルデータを NAS または OSS に保存することをお勧めします。Performance NAS インスタンスは、約 600 MB/s の初期帯域幅を提供します。OSS は帯域幅制限が高く、NAS よりも関数インスタンス間の帯域幅の競合が発生しにくいです。また、OSS アクセラレータを有効にして、スループットを向上させることもできます。詳細については、「AI シナリオにおける Function Compute GPU インスタンスでのモデルストレージのベストプラクティス」をご参照ください。

  1. ModelScope のモデルライブラリで、Black Forest Labs を検索します。次の例は、FLUX.1-dev モデルをダウンロードする方法を示しています。

    image

  2. ダウンロードしたモデルを OSS にアップロードします。ダウンロードしたモデルを ComfyUI/models/ 下の指定されたフォルダに配置します。たとえば、flux1-dev.safetensors モデルを unet フォルダに配置します。次の例は、モデルパスを示しています。

    image

    フォルダ名

    ダウンロードしたモデル

    checkpoints

    dreamshaperXL_lightningDPMSDE.safetensors

    clip

    clip_l.safetensors

    t5xxl_fp8_e4m3fn.safetensors

    clip_vision

    clip_vision_g.safetensors

    clip_vision_l.safetensors

    controlnet

    flux-canny-controlnet-v3.safetensors

    loras

    FLUX1_wukong_lora.safetensors

    araminta_k_flux_koda.safetensors

    unet

    flux1-dev.safetensors

    vae

    ae.safetensors

    image

  3. 関数の詳細ページで、[構成] タブをクリックします。左側のナビゲーションウィンドウで、[権限] タブをクリックし、関数に OSS へのアクセス権限を持つロールを設定します。次に、[ストレージ] タブをクリックします。[Object Storage Service (OSS)] セクションで、[編集] をクリックします。表示されるパネルでパラメータを設定し、[デプロイ] をクリックします。

    image

  4. デプロイメントが完了したら、関数インスタンスにログインし、モデルが関数のローカルディレクトリに正常にマウントされていることを確認します。

    image

  5. (オプション) ComfyUI を開きます。デフォルトのワークフローには、Checkpoint ローダーモデルが必要です。dreamshaperXL_lightningDPMSDE.safetensors などの Checkpoint モデルも OSS の Checkpoint ファイルディレクトリにアップロードする必要があります。

    インスタンスにログインした後に表示されるパスは、次の図のようになります。

    image

    [実行] をクリックして、出力イメージを表示します。

    image

  6. 事前に設定されたワークフローファイル FLUX-base.json をダウンロードします。ComfyUI を開き、[ワークフロー] > [開く] を選択し、ダウンロードした FLUX-base.json ファイルをインポートします。このワークフローは、t5xxl_fp8_e4m3fn.safetensorsae.safetensorsflux1-dev.safetensors モデルを使用します。[実行] をクリックします。結果は次の図のようになります。

    image

    image.png

ステップ 3: 推論の高速化

テキストから画像への変換サービスの推論には、通常、数秒から数十秒かかります。推論の高速化は、応答時間を短縮し、ユーザーエクスペリエンスを向上させるだけでなく、リソースコストも削減します。次のセクションでは、2 つの推論高速化ソリューションについて説明します。

Alibaba Cloud DeepGPU Toolkit (DeepGPU)

DeepGPU Toolkit (DeepGPU) は、ComfyUI + SD/FLUX の推論高速化も提供します。DeepGPU Toolkit は、GPU コンピューティングサービスを強化する無料のツールセットです。迅速なビジネス展開、GPU 分分割、AI トレーニングと推論の最適化、人気のある AI モデル専用の高速化のためのツールが含まれています。現在、DeepGPU Toolkit の推論コンポーネントは、Alibaba Cloud Function Compute で無料で使用できます。これにより、ユーザーは Function Compute の GPU リソースをより便利かつ効率的に使用できます。

1. DeepGPU のインストール

DeepGPU を使用して ComfyUI + SD/FLUX の推論を高速化する前に、必要な依存関係パッケージをインストールする必要があります。

  • torch 2.5 をインストールする

    RUN pip install torch==2.5.0
  • deepgpu-torch をインストールする

    DeepGPU torch モデル高速化パッケージは、FLUX.1 や VAE などのモデルを高速化します。

    # ubuntu
    RUN apt-get update
    RUN apt-get install which curl iputils-ping -y
    # centos
    # RUN yum install which curl iputils -y
    
    # まず、torch をインストールします。deepgpu-torch は python3.10 と torch2.5.x+cu124 に依存しています (他のバージョンが必要な場合は、お問い合わせください)。
    RUN 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

    ダウンロードしたプラグインを custom_nodes/ ディレクトリに抽出します。

    RUN wget https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/flux/20250102/ComfyUI-deepgpu.tar.gz
    RUN tar zxf ComfyUI-deepgpu.tar.gz  -C  /app/ComfyUI/custom_nodes
    
    RUN pip install deepgpu-comfyui==1.0.8 -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/index.html
2. ComfyUI ソースコードの変更 (重要)
  1. 依存関係のバージョン

    x-flux-comfyui を GitHub の最新バージョンに更新します。

  2. ネイティブ LoRA のサポート

    LoraLoaderModelOnly を使用してネイティブ ComfyUI LoRA モデルを読み込み、deepgpu-torch を使用して高速化する場合、ComfyUI ソースコードの 1 行を変更する必要があります。

    • ComfyUI のバージョンが v0.3.6 より前の場合

      コードパス:

      https://github.com/comfyanonymous/ComfyUI/blob/v0.3.6/comfy/sd.py#L779

      image

      この行にパラメータ weight_inplace_update=True を追加します。

      return comfy.model_patcher.ModelPatcher(model, load_device=load_device, off
      load_device=offload_device, weight_inplace_update=True)
    • ComfyUI のバージョンが v0.3.7 以後の場合

      コードパス:https://github.com/comfyanonymous/ComfyUI/blob/v0.3.7/comfy/sd.py#L785

      image

      この行にパラメータ weight_inplace_update=True を追加します。

      model_patcher = comfy.model_patcher.ModelPatcher(model, load_device=load_de
      vice, offload_device=model_management.unet_offload_device(), weight_inplace
      _update=True)
  3. 次のコードは、DeepGPU をインストールするためのサンプルイメージです。

    # Dockerfile
    FROM python:3.10
    
    # システム依存関係をインストールする
    RUN apt-get update && apt-get install -y \
        git \
        wget \
        && rm -rf /var/lib/apt/lists/*
    
    WORKDIR /app
    
    # ComfyUI リポジトリのクローンを作成する
    RUN  git  clone  https://github.com/comfyanonymous/ComfyUI.git
    
    WORKDIR /app/ComfyUI
    
    # Python 依存関係パッケージのダウンロードを高速化する
    RUN pip config set global.index-url https://mirrors.cloud.aliyuncs.com/pypi/simple
    RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    RUN pip config set install.trusted-host mirrors.cloud.aliyuncs.com
    
    # PyTorch をインストールする (デフォルトでは NVIDIA CUDA バージョン。必要に応じて変更してください)
    RUN pip install torch==2.5.0+cu124 torchvision==0.20.0+cu124 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/cu124
    
    # プロジェクトの依存関係をインストールする
    RUN pip install -r requirements.txt
    
    # ubuntu
    RUN apt-get update
    RUN apt-get install which curl iputils-ping -y
    # centos
    # RUN yum install which curl iputils -y
    
    # まず、torch をインストールします。deepgpu-torch は python3.10 と torch2.5.x+cu124 に依存しています (他のバージョンが必要な場合は、DeepGPU チームにお問い合わせください)。
    RUN 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
    
    # プラグインをダウンロードした後、custom_nodes/ ディレクトリに抽出します。
    RUN wget https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/flux/20250102/ComfyUI-deepgpu.tar.gz
    RUN tar zxf ComfyUI-deepgpu.tar.gz  -C  /app/ComfyUI/custom_nodes
    
    RUN pip install deepgpu-comfyui==1.0.8 -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/deepgpu/comfyui/index.html
    
    # サービスポートを公開する
    EXPOSE 8188
    
    # 起動コマンド
    CMD ["python", "main.py"]
3. 環境変数の設定

Alibaba Cloud Function Compute で DeepGPU を使用する場合、DEEPGPU_PUB_LS=true および DEEPGPU_ENABLE_FLUX_LORA=true 環境変数を設定する必要があります。

image

4. (オプション) GPU アイドルモードを設定する

プロビジョニングされたインスタンスを設定することで、インスタンスのコールドスタートによるリクエストのレイテンシを削減できます。また、スケジュールされたスケーリングやメトリックベースのスケーリングなど、プロビジョニングされたインスタンスのスケーリングルールを設定して、インスタンスの利用率を向上させ、リソースの浪費を防ぐこともできます。

5. DeepGPU ComfyUI プラグインの使用方法

プラグインには、4 種類の DeepGPUノードが含まれています。ComfyUI インターフェイスの検索ボックスに DeepyTorch と入力することで見つけることができます。

  • 拡散モデルに DeepyTorch を適用する

  • vae モデルに DeepyTorch を適用する

  • DeepTorch Sampler を使用して XlabsSampler を置き換える

image

使用ガイド

挿入ポイント: Flux の場合、Load Diffusion Model、Load Flux LoRA、または Apply Flux IPAdapter ノードの後に Apply DeepyTorch to diffusion model ノードを挿入します。他のモデルの場合は、Load Checkpoint または LoraLoaderModelOnly ノードの後に挿入します。次の図は、インポートの例を示しています。

image

サンプラーの置き換え: Flux の場合、DeepTorch Sampler to replace XlabsSampler ノードを使用して XLabsSampler ノードを置き換えます。

ComfyUI TorchCompile* ノード

現在、いくつかのオープンソースの推論高速化ノードが利用可能です。例:

  • TorchCompileModel

  • TorchCompileVAE

  • TorchCompileControlNet

  • TorchCompileModelFluxAdvanced

これらのノードは、PyTorch の Just-In-Time (JIT) コンパイル機能を使用して、モデルの実行を最適化および高速化します。また、動的計算グラフを効率的な静的コードに変換することで、リソースの利用率も向上させます。

説明

現在、これらのノードのほとんどはベータ版または実験段階にあります。

image

TorchCompile* ノードと DeepGPU の使用状況とパフォーマンスの比較

推論高速化のために、ComfyUI の組み込み TorchCompile ノードと DeepGPU ノードのパフォーマンスを比較しました。使用方法、高速化効果、および適用可能なシナリオを分析して、参考資料を提供しました。

モデルリスト

フォルダ名

ダウンロードしたモデル

clip

clip_l.safetensors

t5xxl_fp8_e4m3fn.safetensors

clip_vision_l.safetensors

loras

FLUX1_wukong_lora.safetensors

unet

flux1-dev.safetensors

vae

ae.safetensors

構成パラメータ
  • サンプラー

    • steps: 20

  • 空の潜在画像

    • 幅: 768

    • 高さ: 1024

テストプラットフォーム

Alibaba Cloud Function Compute fc.gpu.ada.1 インスタンス。

推論高速化フレームワークのシナリオサポートマトリックスと推論高速化効果

image

image

テスト結果によると、TorchCompile シリーズノードと DeepGPU の両方が ComfyUI + SD/FLUX シナリオのほとんどをカバーし、Flux 関連のシナリオで約 20% から 30% の推論高速化を実現しています。

テストワークフロー

次の表に、さまざまなモデルで使用される推論高速化の Workflows.json ファイルを示します。

シナリオ

ワークフロー

FLUX のみ

image.png

image.png

FLUX-base.json

FLUX-torchcompile.json

FLUX-DeepGPU.json

FLUX + Lora

image.png

image.png

FLUX-Lora-base.json

FLUX-Lora-torchcompile.json

FLUX-Lora-DeepGPU.json

FLUX + ComfyUI Lora

image.png

image.png

FLUX-ComfyUI-Lora.json

FLUX-ComfyUI-Lora-torchcompile.json

FLUX-ComfyUI-Lora-DeepGPU.json

SDXL

image.png

image.png

SDXL-base.json

SDXL-torchcompile.json

SDXL-DeepGPU.json

参考資料

  • 長時間実行される GPU インスタンスは失敗する可能性があります。Function Compute は、デフォルトでリクエストベースのヘルスチェックメカニズムを提供し、カスタムインスタンスヘルスチェック ロジックを設定できます。

  • Function Compute は、関数とインスタンスの監視レポートをデフォルトで提供しており、追加の設定なしで表示できます。トラブルシューティングのために関数ログを収集するには、ログ収集を設定することができます。