RunPodで構築するStable Diffusion WebUI環境
Google Colabが無料枠でのStable Diffusion実行を制限したため、代替となるクラウドリソースとしてRunPodを紹介します。
必要なもの:
$10
RunPodアカウント
Backblazeアカウント
まずはRunPodとBackblazeにアクセスしてアカウントを作成しておいてください。
料金支払い
RunPodは前払い制なので、最低金額の$10を先に支払う必要があります。
Stripeの画面に移動するので、クレジットカード情報を入力します。
支払いが成功すれば、以下の画面が表示されます。
Stable Diffusion 環境構築
RunPodでStable Diffusion環境を構築します。
Secure Cloudに移動し、使用するリソースを選択します。今回は一番安いRTX A4000を選択します。
既存のテンプレートから、RunPod Fast Stable Diffusionを選択します。
確認画面が表示されたら、Deployをクリックします。
My Podsをクリックし、デプロイしたPodを確認します。
CPU使用率が下がったことを確認してから、Connectをクリックし、Connect to Jupyter Labをクリックします。
RNPD-A1111.ipynbを開きます。
ノートブックを開いたら、上から順番にDependencies, Install/Update AUTOMATIC1111 repo, Model Download/Load,ControlNet, Start Stable-Diffusionまで実行します。
Start Stable-Diffusionを実行すると、Running on local URL: https://foobar-3000.proxy.runpod.net のようなURLが表示されますので、そちらにアクセスします。
おなじみの画面が表示されるので、クレジットの許す限り画像生成を楽しんでください。
終了する場合は、My PodsでStopをクリックします。
確認画面が出るのでStop Podをクリックします。
確認画面にも書いてある通り、RunPodはPodを終了しても、使用しているストレージが開放されない限り課金が継続されます。上の例で言えば、1時間あたり$0.014が減っていきます。
これを止めるには、TerminateをクリックしてPodを完全に削除するしかありません。
BackblazeでRunPodのデータの保存
このままだと、生成した画像が消えてしまうので、Backblazeに保存します。
Backblazeに移動して、BucketsからCreate a Bucketをクリックします。
Bucket Unique Nameを入力し、Create a Bucketをクリックします。
次にApplication Keysに移動します。
Add a New Application Keyをクリックして新しいKeyを発行します。
Keyの名前と先程設定したBucketを指定します。
ここで表示されるkeyIDとkeyNameをメモしておきます。
RunPodに戻り、CloudSyncをクリックします。
クラウドストレージの選択画面が出るので、Backblaze B2をクリックします。
Copy to Backblaze B2をクリックします。
先ほどメモしたkeyIDとkeyNameを以下のように入力します。
Account ID: Backblazeでキーを生成した時に表示される keyID
Application Key: Backblazeでキーを生成した時に表示される keyName
Bucket Path: {bucket}はbucketName, {folder}は適当な名前。 ex: RunPodCloudSyncSDWebUI/fast-stable-diffusion
Pod Path: /workspace
これでStable Diffusionの出力結果やプロパティがBackblaze B2に保存されます。
アップロードが終わったら、BackblazeのBrowse Filesを見ると、指定したフォルダにファイルが保存されていることを確認できます。
これでPodをTerminateしても、生成した画像が消えません。次のPodを起動した際はCopy from Backblaze B2をクリックして、Backblaze B2からファイルをコピーすることで、前回の続きから画像生成ができます。
結論
Stable Diffusionで頻繁に画像生成する環境としてはGoogle Colab Pro版の方が料金的に優れています
たまにしかStable Diffusionで画像生成しない場合は、従量課金制で柔軟性のあるRunPodの方が良いです。
モデルの学習などでGoogle Colabが提供している以上のスペックを一時的に借りたい状況なら、RunPodの方が適しています。
コメント