💻

ComfyUI 環境構築をする際の企業における検討点

2024/09/06に公開
1

人工知能(AI)による画像生成技術の進化は目覚ましく、一般ユーザーでも手軽に高品質な画像を生成できるようになってきました。そんな中、注目を集めているのが「ComfyUI」というオープンソースの画像生成ツールです。

ComfyUI は、ノードベースのグラフィカルユーザーインターフェース(GUI)を備えており、エンジニア以外の方でも直感的に画像生成プロセスを構築・制御できるのが大きな特徴です。さらに、オープンソースであるため、コミュニティによって開発された様々な拡張機能を追加することで、高度なカスタマイズが可能になります。

しかし便利な反面、セキュリティ上の課題もあり、2023年6月には拡張機能にキーロガーが仕込まれていたことが発覚するなど、企業導入を検討する際は様々な点を慎重に検討する必要があります。

本記事では、ComfyUI の概要から企業導入時の検討事項、さまざまな導入オプション、コスト比較までを解説します。

ComfyUI とは

ComfyUI は、柔軟なグラフィカルユーザーインターフェース(GUI)を備えたAI画像生成ツールです。他の AI 生成ツールとは異なり、ノードベースのワークフローを自由に組むことができるため、クリエイターのような非エンジニアでもエンジニアに頼ることなく、画像生成プロセスを視覚的に構築し、細かく制御することが可能です。

また、オープンソースソフトウェア(OSS)であるため、コミュニティ活動が活発で、さまざまなカスタムノード(拡張機能)が有志の手で開発されています。これらの拡張機能をインストールすることで、より高度なワークフローを組むことができます。

https://github.com/comfyanonymous/ComfyUI

ComfyUI 導入にあたる検討事項

個人で ComfyUI を試す場合は手軽な選択肢がいくつかありますが、企業で導入する際は以下の点を検討する必要があります。

セキュリティ

2023年6月、ComfyUI の拡張機能にキーロガーが仕込まれていたことが発覚し、クレジットカード情報やパスワードなどが漏洩する可能性があることが報告されました。ComfyUI では第三者が開発した拡張機能(カスタムノード)を追加でインストールでき、Python コードを実行できるため、悪意のある拡張機能をインストールした場合、実行環境で悪意のあるコードが実行される恐れがあります。

https://gigazine.net/news/20240611-comfyui-llmvision-malware/

実際、Python をローカルで動かせるのであれば、さまざまなマルウェアを仕込むことは簡単です。GitHub から自由にダウンロードし実行するには一定のリスクがあることを認識しておく必要があります。

一方で、カスタムノードは ComfyUI の自由度を高める重要な機能です。公開されているワークフローを利用する際に、簡単に足りないノードをインストールできることが望ましいため、利便性とセキュリティのトレードオフが発生します。

対策としては、ローカルで実行する場合は Docker などで隔離されたサンドボックス環境で実行し、実行環境のリスクを軽減することが考えられます。また、社内ネットワークにデプロイする場合は、ネットワーク制御も検討する必要があります。

これらを踏まえると、社内システムとは分離されたサンドボックス環境で実行し、最小限の権限でデプロイすることが重要です。例えば、Google Colab や SageMaker Studio Lab のようなサンドボックス環境、あるいはクラウド上に専用の VPC を作成してデプロイするなどの方法が考えられます。

ComfyUI を個人で利用していてシャドー IT 化しているケースもあるため、適切な環境を整備することをお勧めします。

他に企業で検討すべき点としては、認証、IP によるアクセス制限、セキュリティスキャンなどがあります。ComfyUI 自体にはこれらの機能が組み込まれていないため、アプリケーションをデプロイする際に上記のネットワーク制御とともに考慮する必要があります。

また、企業によってはユーザー間のデータの独立が求められる場合があります。ComfyUI はモデルや入出力をフォルダで管理しており、ユーザー間のデータ独立機能がありません。この要件が必須の場合、ユーザーごとに ComfyUI を用意するか、ComfyUI 自体をカスタマイズする必要が出てくる可能性があります。(ComfyUI の今後のアップデートに期待。Issue)

コスト

コストについては、利用人数、ワークロード、利用時間帯を考慮する必要があります。

ComfyUI はユーザーのリクエストをキューに貯め実行するため、ユーザー数が多い場合や、大量の画像生成、アニメーション生成、3D モデル生成など負荷の高いユースケースでは、キューの待ち時間が長くなる可能性があります。その場合、実行環境をスケーリングできるかどうかが検討点となります。1台のサーバーで済む場合は簡単ですが、複数サーバーにまたがる場合は、モデルなどのファイルの同期を検討する必要があります。

利用時間も考慮する必要があります。例えば、平日の9時から18時のみ利用する場合は、サーバーを停止することでコストを削減できます。ビジネスにおいてビジネスクリティカルではない場合(数分の中断などは許容される場合。多くの場合 ComfyUI は数分程度停止していても問題ない)は、スポットインスタンスなどを利用することでさらにコスト削減が可能です。

UX

ComfyUI では最新の様々なワークフローがコミュニティで公開されています。ワークフローの JSON ファイルさえあれば、同じワークフローを実行することができます。

ただし、ワークフローを導入する際、必要なカスタムノードがインストールされていない場合は追加でインストールする必要があります。また、必要なモデルがない場合も、モデルを追加する必要があります。

一つ一つ手動でサーバーにダウンロードしてインストールすることも可能ですが、ComfyUI Manager を使用すると、アプリケーション内から足りないカスタムノードやモデルをインストールできるため便利です。これがない場合、システム管理者が事前にインストールした拡張機能とモデルしか使えず、新しいワークフローを検証するたびにシステム管理者に依頼する必要があり、利用者の利便性が下がり、システム管理者の手間も増えます。

ただし、ComfyUI Manager にはセキュリティ上の課題もあります。カスタムノードは Python で記述されており、追加の Python ライブラリの依存関係もインストールされるため、十分なセキュリティ対策を施す必要があります。

ComfyUI 導入のオプション比較

ローカル/社内サーバーで構築

ローカルに GPU マシンがある場合は、ローカルに ComfyUI をインストールして利用することができます。ただし、セキュリティ面を考慮すると、最低限 Docker などで ComfyUI を隔離された環境で実行することが望ましいでしょう。また、社内ネットワークに接続している場合は、ネットワーク制御についても検討する必要があります。

SageMaker Studio Lab

SageMaker Studio Lab では、1日4時間まで GPU(T4) を無料で利用できるため、ComfyUI を試してみたいユーザーにはお勧めです。

ストレージは 15GB 割り当てられており、利用モデルが増えてきた場合は、Google Drive や S3 など外部ストレージをマウントすることを検討する必要があります。Google Colab とは異なり、ストレージが永続するため、起動するたびのダウンロードは不要です。

ngrok を使用しており、トークンによる Basic 認証をかけることが可能です。

https://github.com/Laft02/ComfyUI-notebook-for-SageMaker-Studio-Lab

Google Colab (Pro / Pro+)

従来、Google Colab の GPU を無料で利用して ComfyUI を試すことができましたが、現在は画像生成系のワークロードが禁止されており、最悪の場合アカウント停止の可能性があります。そのため、Google Colab で ComfyUI を利用する場合は、Pro 以上のプランが必要です。

Pro は月額 $9.99 で 100 Compute Unit(CU) が付与され、T4 で約57時間利用できます。Pro+は月額 $49.99 で 500 CU が付与され、T4で約284時間利用できます。CUの追加購入も可能です。

ストレージは 30GB 割り当てられていますが、永続しないため毎回インストールとモデルのダウンロードが必要になります。利用モデルが増えてきた場合は Google Drive など外部ストレージをマウントすることを検討する必要があります。

また、90分のセッションが切れるとランタイムがリセットされるため、再接続するスクリプトを設定する必要があります。さらに、起動から12時間で強制的にランタイムがリセットされます。

SageMaker Studio Lab が毎日4時間、毎月最大120時間まで無料で使えることを考えると、Google Colab Pro ではメリットは感じにくいです。Google Colab Pro+ であれば、通常の利用であれば十分な CU が付与されているため、メリットがあると言えるかと思います。

スケーリングはしないですが、性能が高い GPU に切り替えて処理速度を上げることは可能です。(その分クレジット消費速度も上がります)

https://colab.research.google.com/github/comfyanonymous/ComfyUI/blob/master/notebooks/comfyui_colab.ipynb

Amazon Web Services (AWS)

AWS 上で ComfyUI を動作させるソリューションが複数公開されています。すぐにデプロイでき、そのまま使いやすいソリューションとしては、以下の GitHub リポジトリで公開されているものがお勧めです。

https://github.com/aws-samples/cost-effective-aws-deployment-of-comfyui

このソリューションでは、SAML 認証、セキュリティスキャン、WAF (Web Application Firewall)、起動/停止の自動化など、企業導入時によく要件とされるセキュリティ面やコスト面の機能が実装されています。CDK と ECS で構築されており、デプロイと運用が簡単です。複数人で利用できる社内環境を構築する際に適しています。

上記以外にも、いくつかのソリューション/サンプルコードが公開されています。

https://github.com/aws-samples/comfyui-on-eks
https://github.com/aws-samples/comfyui-on-amazon-sagemaker
https://github.com/terrificdm/stable-diffusion-comfyui-ec2

また、 ComfyUI をバックエンド API として利用し、作成したワークフローを別アプリとして公開するソリューションも公開されています。

https://github.com/aws-samples/comfyui-personalized-generative-ai-avatars-app

コスト比較

T4 もしくは 16GB vRAM の GPU で、CPU、RAM、Storage は可能な限り揃えた環境 (4vCPU, 16GB RAM, 100GB Persistent Storage) を想定し、24時間稼働させた場合と業務時間(8時間/日)のみ稼働させた場合のコストを比較しました。

環境 実行時間 月額コスト
SageMaker Studio Lab 4h/日 $0
Google Colab Pro 57h/月 $9.99
Google Colab Pro+ 284h/月 $49.99
AWS Solution (8h/day) 8h/日 $81
AWS Solution (24/7) 24/7 $185
AWS EC2 (8h/day) 8h/日 $57
AWS EC2 (24/7) 24/7 $154
  • SageMaker Studio Lab は g4dn.xlarge + 15GB Storage
  • Google Colab は T4 換算 + 30GB Storage
  • AWS Solution は ECS ソリューション(g4dn.xlarge spot + ALB + EBS 100GB)
  • AWS EC2 は g4dn.xlarge spot (62% discount) + EBS 100GB
  • 記事公開時点での価格のため変動する可能性があります。

試算は Spot など価格変動のある利用形態で試算しているため、時期により前後する可能性があります。例えば EC2 は62%の割引率で計算していますが、リージョンと時期次第では72%の割引率の時もあり、さらにコストを抑えられる場合があります。

まとめ

ComfyUI は柔軟性と拡張性に優れた画像生成ツールですが、企業導入を検討する際は様々な課題に目を向ける必要があります。

セキュリティ面では、悪意のある拡張機能によるデータ漏えいなどのリスクがあり、サンドボックス環境での実行やネットワーク制御など、適切な対策が不可欠です。

コスト面では、利用人数、ワークロード、利用時間帯を考慮し、必要に応じて実行環境のスケーリングや、スポットインスタンスの活用などを検討する必要があります。

UX の観点では、カスタムノードやモデルの導入を円滑に行えるよう、ComfyUI Manager などの拡張機能を活用することで利便性が大きく向上します。

導入オプションはいくつかありますが、AWS 上で公開されているソリューションなどを活用すれば、認証やコスト最適化など企業要件を満たしたデプロイが可能です。一方で、個人利用であれば SageMaker Studio Lab など無料で試せる選択肢もあります。

ComfyUI はクリエイターでも高いカスタマイズが可能でさまざまなワークフローを実行できるため注目を集めていますが、企業導入に当たってはセキュリティ、コスト、UX の側面から総合的に検討し、要件に合ったソリューションを選ぶことが重要です。本記事が、ComfyUI の適切な導入の一助となれば幸いです。

Discussion

dxh188dxh188

ありがとうございます。非常に興味深いです。