Comfy UIをクラウドGPUで利用するためのRunpodのセットアップ
Runpodとは
AIのためのクラウドGPUプラットフォーム。
Cloud GPU、Serverless、Instant Clusters、Hubの4つのプロダクトがある。アカウント作成
トップページ「右上のGet Started」から。GitHubとGoogle、メールアドレスから選べる。
二段階認証の設定が推奨され、「Setting」>「Login Settings」のところの「Enable Multi-Factor Auth」をクリックすることで設定できる(Authenticatorアプリを利用する形)
資金の追加
「Billing」からクレジットを追加できる。最小課金額は10ドル。
GPUサーバーを借りる
管理画面の「Pods」からGPUを借りる。たくさんGPUが並んでいるが、今回はRTX 4090を借りることに。
クリックすると設定画面になるので、「Change Template」から「Runpod ComfyUI」テンプレートを選択する。
クラウドの種類として「Community Cloud」と「Security Cloud」があり、Security Cloudのほうが少し高い分、「Network Volume」と呼ばれる永続ストレージが利用ということでそちらを選択……するつもりが特に選ぶ箇所が見つからなかったが、無事Security CloudでGPUが立てられた。
ComfyUIに接続する
Podsから先ほど立てたGPUにアクセスし、「Connect」をクリックする。
「HTTP Service → :3000」にアクセスするとComfyUIの画面に遷移する。
Podを停止する
もしワークフローを作っていたらエクスポートして保存しておく。
利用を終えてPodを停止したいときは、RunpodのPodの管理画面に戻って「Stop」を押します。
'/workspace'に保存していないデータは失われますよ!と警告されますが、workspaceに保存されないデータというのはキャッシュや一時ファイル程度なので、停止して問題ない。
その間、永続ボリュームを動作させておくコストは掛かり続けるが、GPUを立て続けるのに比べたらだいぶ安い。
RunpodにHugging Face上のモデルをアップする方法
最初、Hugging FaceからモデルをDLして、Jupyter Labの画面にローカルからアップしてタイムアウトしていた。。。
Hugging Faceからモデルのダウンロードリンクを取得し、Jupyter Labのターミナルから、
$ wget "ダウンロードリンク"
とすることでタイムアウトせずにモデルをインストールすることができる。
※もっといい方法ありそうな気もするけどとりあえず…
大容量データを転送したい
大きくないデータならJupyterLabでOK。大規模データはrunpodctlを使う。
ドキュメントはこちらから。