このプロジェクトでは、Amazon SageMaker Inference で ComfyUI をホストすることにより、安定した拡散を使用して画像を生成する方法を示します。これは、GenAI イメージ生成機能をアプリケーションに追加できるようにする設計パターンです。
ComfyUI は、安定した拡散を使用して画像を生成できる最も人気のある GUI およびバックエンドの 1 つです。主な機能の一部:
Amazon SageMaker Inference を使用して ComfyUI をホストすると、次のような場合に特に適しています。
画像を生成するために SageMaker 推論エンドポイント (ComfyUI を実行している) を呼び出す Lambda 関数があります。たとえば、Lambda 関数の URL は、この専用の HTTPS エンドポイントを呼び出してイメージ生成をテストできるように構成されています。
最も簡単な方法は、AMI Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.3.0 (Amazon Linux 2)
実行するg5.xlarge
の EC2 インスタンスを起動することです。 Session Manager を使用してインスタンスに接続し、次のコマンドを実行してユーザーをグループdocker
に追加します。
sudo usermod -a -G docker $( whoami )
更新されたグループ メンバーシップを有効にするには、切断してから再度接続します。
- ComfyUI をローカルで実行しない場合は、
t3.small
などの非 GPU インスタンスも機能します。- FLUX.1 モデルを実行する場合は、fp8 バージョンの
g5.2xlarge
以上を使用してください。 fp16 バージョンには少なくともg5.4xlarge
使用してください。
AWS Cloud9 またはローカル マシンも動作しますが、以下が適切にインストールされていることを確認してください。
注:コンテナのクロスアーキテクチャ ビルドがまだサポートされていないため、Apple M1/M2/M3 は動作しません。 SageMaker エンドポイントと一致する x86_64 上にビルドする必要があります。
ステップ 1 - プロジェクトのクローンを作成します。
git clone https://github.com/aws-samples/comfyui-on-amazon-sagemaker.git
ステップ 2 - 次のファイルをカスタマイズします (オプション):
FLUX.1 - FLUX.1 モデルを試したい場合:
- モデルをダウンロードするには、ここまたはここでコメントを解除してください。
- ここを更新して
SAGEMAKER_INSTANCE_TYPE
少なくともml.g5.2xlarge
に変更します。- API リクエストで、対応するプロンプト ファイル
flux1-dev-fp8-ckpt.json
またはflux1-schnell-fp8-ckpt.json
を使用します。
ステップ 3 - デプロイ.sh を実行します。通常、完了までに 1 時間もかかりません。
./deploy.sh
たとえば、Lambda 関数の URL が有効になっているため、この専用の HTTPS エンドポイントを呼び出してイメージ生成をテストできます。エンドポイント URL は、スタック出力のComfyUIFunctionUrl
で見つかります。
AWS_IAM
認証はデフォルトでラムダ関数 URL を呼び出すように設定されているため、AWS 署名バージョン 4 (SigV4) を使用して各 HTTP リクエストに署名する必要があります。 awscurl、Postman、AWS SigV4 プロキシなどのツールは、SigV4 でリクエストに署名するための組み込みの方法を提供します。 deploy.sh でLAMBDA_URL_AUTH_TYPE
NONE
に設定することで認証を無効にすることもできますが、関数 URL が誰にでも公開されるため危険です。
Postman を使用した AWS Signature 認証の例:
リクエスト本文の例は次のとおりです。
{
"positive_prompt" : " hill happy dog " ,
"negative_prompt" : " hill " ,
"prompt_file" : " workflow_api.json " ,
"seed" : 11245
}
呼び出しが成功すると、イメージが生成されます。
deploy.shでデプロイされた以下のリソースを削除します。
comfyui
)comfyui-sagemaker-<AWS_ACCOUNT_ID>-<AWS_REGION>
)comfyui-sagemaker
) 「開発」を参照
詳細については、「貢献」を参照してください。
このライブラリは、MIT-0 ライセンスに基づいてライセンスされています。 LICENSE ファイルを参照してください。