
Stable Diffusion Web UIを使ってみたいけど「PCスペックが足りなくてローカル版が使えるか不安」という方もいるのではないでしょうか?
Google ColabならPCスペックを気にせず、Stable Diffusion Web UIを利用できます。
また、ローカル版より手順も少ないため、比較的導入が簡単です。
この記事では、Google ColabでStable Diffusion Web UIを使う方法について解説します。
Google ColabでStable Diffusion Web UIの利用を考えている方は、ぜひ参考にしてみてください。
- Google ColabでStable Diffusionの動かし方が知りたい
- Google Colabのスペックや制限について知りたい
- ローカル版との違いをしりたい
ローカル版のインストール方法は以下の記事で解説しています。
Google ColabでStable Diffusion Web UIを使う前に
先にGoogle ColabでStable Diffusion Web UIを使うときの注意点をいくつかご紹介します。
- Google Colabは有料版の加入が必要
- 100コンピューティングユニットの制限がある
- 仮想マシン・Google ドライブで使用感が異なる
Google Colabは有料版の加入が必要
Google ColabでStable Diffusion Web UIを動かすには、有料版のColab Proに加入する必要があります。
これは無料版でStable Diffusion Web UIの利用者が増えたため、制限がかかるようになったからです。
プロダクトリーダーChrisさんは「無料版はサポートできない、有料版を制限する予定はない」とTwitterに投稿しています。
GPU go brrrrrrr
— Chris Perry (@thechrisperry) April 20, 2023
We prioritize interactive notebook compute for free of charge tier users; the stable diffusion webUI usage got super big; we can't support the usage growth on our team's budget.
no plans to restrict paid plans from using webuis.
— Chris Perry (@thechrisperry) April 20, 2023
re: gradio, we like them a lot, will try to turn a blind eye as long as usage doesn't blow up like stable diffusion webui did
ですので、Google ColabでStable Diffusion Web UIを使用するのであれば、有料版への加入が必要です。
23年6月現在、月額1,179円(税込み)となっています。
100コンピューティングユニットの制限
Google Colab Proに加入すると高性能な仮想マシンを利用して、ノートブックを実行できます。
ただし、100コンピューティングユニットまでという制限があり、無制限ではありません。
コンピューティングユニットは使用できるリソースを表すもので、下記記事では以下のように書かれています。
https://atmarkit.itmedia.co.jp/ait/articles/2106/07/news025.html
- CPU: 0.08(1250時間相当=約52日間相当)
- 標準GPU(T4): 1.96(約51時間相当=約2日間相当)
- プレミアムGPU(V100): 5.36(約18時間30分相当)
- プレミアムGPU(A100): 13.08(約7時間30分相当)
- TPU: 1.96(約51時間相当=約2日間相当)
実際に私がA100でStable Diffusionを動かしていたら、1日持たずコンピューティングユニットがなくなりました。
コンピューティングユニットを使い切ったあとにStable Diffusionのコードを実行すると、無料版と同じ警告が表示されます。

ですので、基本的に100コンピューティングユニットを使い切ったら、Stable Diffusionは使えないと考えた方が良さそうです。
仮想マシン・Google ドライブで使用感が異なる
どちらでもStable Diffusion Web UIは使えますが、それぞれメリット・デメリットがあります。
仮想マシン | セッションが切れる、または時間制限でデータが削除される Stable Diffusion Web UIを使う度に再インストールが必要 快適で画像生成は速い |
Google ドライブ | データは残るが無料版は容量が15GB モデルや拡張機能を自由に使いたい場合は有料版が必要 ドライブをマウントして動かすため若干動作が重い |
Google Colabの仮想マシンは、セッションごとにファイルを一時データとして保存します。
ただし、セッションを切断したり、有料版でも最大24時間経過したりすると、インストールしたデータなどは全て削除されます。
ですので、Stable Diffusion Web UIを使用する度に、インストールが必要になります。
一方、Google ドライブを使用する場合、ファイルやデータを残せますが、無料版は容量が15GBしかありません。
Stable Diffusionはモデル1つで数GB使用するため、モデルを複数使用したり、拡張機能を何個も入れたりといった使い方は難しいです。
容量を気にせず使用したい場合は、Google ドライブも有料版にアップデートする必要があります。
一番安いプランだと月額250円で100GBです。
Google ColabでStable Diffusion Web UIをインストールする方法
それでは実際にコードを書いてStable Diffusion Web UIをインストールしていきます。
仮想マシンにStable Diffusion Web UIをインストールする方法
まずGoogle Colabを開き、ファイルから「ノートブックを新規作成」をクリックします。


ファイル名をわかりやすくStable Diffusion Web UIに変えておきます。

次にメニューバーにあるランタイムから「ランタイムのタイプを変更」をクリックします。

そうすると以下の画面が表示されるので、ハードウェア アクセラレータをGPUにします。

GPUのタイプは上記で書いたようにコンピューティングユニットの消費に影響するため、ご自身で選択してください。
快適に動かすのであれば、A100が一番性能の良いGPUです。
設定したら保存をクリックして、右上にある接続をクリックします。

以下のような表示になったら、ノートブックが実行できるようになります。

次に「コード」をクリックしてセルを追加し、以下のコードを実行します。
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

これはgit cloneでStable Diffusion Web UIをインストールするコマンドです。
このように表示されれば、無事インストールできています。

再度コードから新しいセルを追加して、以下のコードを実行します。
%cd /content/stable-diffusion-webui
!COMMANDLINE_ARGS="--share --enable-insecure-extension-access --xformers python launch.py
これはディレクトリを変更してから、コマンドライン引数を指定してlaunch.pyを実行しています。
コマンドライン引数の設定は以下の通りです。
--share | ColabでStable Diffusionを使うときに必要なもの |
--enable-insecure-extension-access | 拡張機能を使えるようにするもの |
--xformers | VRAMの消費量を抑えて画像生成の高速化ができるもの |
それ以外もお好みで設定可能です。詳しくは公式ページを確認してください。
実行すると必要なファイルが自動でインストールされるので、少し待機します。
インストールが終わり、出力に「gradio.live」というURLが表示されたらアクセスします。

以下のような画面が表示されれば、無事インストール完了です。

プロンプトに「cat,forest」と入力して右上の「Generate」をクリックすると、以下のように画像が生成できます。

もしセッションが切れてデータが消えてしまった場合は、再度同じ手順を実行する必要があります。
コードを書いたノートブックはファイルから保存、またはCtrl+Sで残せるので、このノートブックを開いて、上から順に実行してください。
Google ドライブにStable Diffusion Web UIをインストールする方法
google ドライブにgit cloneするやり方だとうまくインストールできなかったので、「fast-stable-diffusion」を使う方法をご紹介します。
Google Colabを開いてファイルから「ノートブックを開く」をクリックします。

GitHubタブで以下のURLを入力するとリポジトリが選べるので、「TheLastBen/fast-stable-diffusion」を選択して、一番下の「fast_stable_diffusion_AUTOMATIC1111.ipynb」を開きます。
https://github.com/TheLastBen/fast-stable-diffusion.git

そうするとこのような画面が表示されます。

あとは上から順に実行ボタンをクリックしていくだけです。
Connect Google Drive
最初のConnect Google Driveを実行すると、Google ドライブへのアクセス許可を求められます。
「Google ドライブに接続」をクリックしてください。

その後、使用するアカウントの選択とファイル共有の許可を求められるので、アカウント選択後、ファイル共有を許可します。

実行後、Doneというテキストが表示されたら次に進みます。

「Install/Update AUTOMATIC1111 repo」「Requirements」
次の「Install/Update AUTOMATIC1111 repo」と「Requirements」は特に設定することはないので、そのまま順に実行してください。

Model Download/Load
Model Download/LoadはStable Diffusionのバージョンを選べます。
ここではV2.1-512pxを選択して実行します。

ControlNet
ControlNetはStable Diffusionで使用できる拡張機能です。
ControlNetは全部で21GB以上容量が必要なため、無料版のGoogle ドライブじゃ使用できません。
ですので、今回ここは実行せず飛ばします。
もしドライブの容量を増やしてインストールできるという方は、All、もしくは使いたいモデルを選択して実行してください。

それぞれどんな機能か知りたい方は、ローカル版のものを解説した記事があるので、こちらを参考にしてみてください。
Start Stable-Diffusion
最後に「Start Stable-Diffusion」を実行すると、必要なファイルなどがダウンロードされ、出力に「gradio.live」のURLが表示されます。

アクセスしてStable Diffusion Web UIの画面が開ければ、無事インストール完了です。

プロンプトに生成したい英単語を入れて「Generate」を押せば、画像が生成されます。

セッションが切れたあとに、再度使用する場合も、このノートブックを開き上から順に実行します。
ただし、モデルやControlNetのファイルはGoogle ドライブに保存されるため、2回目以降は「Model Download/Load」「ControlNet」を実行する必要はありません。
Google Colabで好きなモデルを追加する方法
Twitter上にあるようなハイクオリティな画像を生成するには、別途モデルが必要です。
自分の好きなモデルを入れるには以下の手順を実行します。
・URLからダウンロード
Stable Diffusionをインストール後、セッションがつながっている状態で新しくコードを追加して、以下を実行します。
URLから指定のディレクトリに、モデルをダウンロードするコードです。
!curl -Lo /content/stable-diffusion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.ckpt https://huggingface.co/LarryAIDraw/v1-5-pruned-emaonly/resolve/main/v1-5-pruned-emaonly.ckpt
!curl -Loより後の黒字がディレクトリのパス、赤文字の部分がファイル名、青文字がモデルデータのURLになっています。
例えばchilled_remixを追加したい場合は、以下のように書き換えます。
!curl -Lo /content/stable-diffusion-webui/models/Stable-diffusion/chilled_remix_v2.safetensors https://huggingface.co/sazyou-roukaku/chilled_remix/resolve/main/chilled_remix_v2.safetensors
wgetでも追加が可能です。
!wget -O /content/stable-diffusion-webui/models/Stable-diffusion/chilled_remix_v2.safetensors https://huggingface.co/sazyou-roukaku/chilled_remix/resolve/main/chilled_remix_v2.safetensors
ディレクトリのパスを変えれば、Google ドライブにも同じコードでダウンロードできます。
この方法はGoogle Colab上で操作できるので便利ですが、モデルデータの容量が大きいため、何らかの原因により途中で接続が途切れてしまう場合があります。
もし途切れてしまう場合は、後述するローカルからのアップロードを試してみてください。
・ローカルからアップロードする方法
一度モデルデータをローカルにダウンロードして、それをGoole Colab、またはGoogle ドライブにアップロードする方法です。
まず以下URLからファイルの横にある矢印アイコンをクリックして、モデルをダウンロードします。
https://huggingface.co/sazyou-roukaku/chilled_remix/tree/main

gitでStable Diffusionをインストールした後、ノートブックの左側にあるフォルダアイコンをクリックします。

中に「stable-diffusion-webui」というフォルダがあるので、開いて「models」の中にある「Stable-diffusion」を右クリックします。

アップロードという項目があるので、そこからローカルに保存したモデルをアップロードします。

Google ドライブで実行した場合は既にフォルダが作成されているため、そこにアップロードします。
stable-diffusion-webui以降のパスは同じです。
stable-diffusion-webui/models/Stable-diffusion
モデルを入れたらWeb UIを開いて、左上プルダウンから追加したモデルを選択します。
表示されない場合は更新ボタンをクリックしてください。

この状態でプロンプトを入力して「Generate」を実行すれば、追加したモデルで画像生成ができます。
モデルデータを配布しているサイトや使い方については、こちらの記事を参考にしてみてください。
Google ColabでLoRAを使用する方法
LoRAはベースモデルに対して、さらに学習したモデルを適用できる技術です。
基本的にはモデルと一緒で、LoRAデータをLoRAフォルダに追加すれば使えるようになります。
なお、仮想マシンにURLからコードでLoRAを導入する場合、一度セルの実行を停止する必要があるため、今回はローカルからアップロードする方法で追加します。
まずLoRAデータをダウンロードします。
以前別の記事で紹介した「A-Mecha Musume」という機械少女を生成できるLoRAを使用します。
以下URLからダウンロードをクリックして、データを保存してください。
次にGoogle Colabでフォルダを開き、LoRAフォルダを右クリックします。

アップロードをクリックして、そこからローカルのLoRAデータをアップロードしてください。
アップロードできたら、Web UIを開いて「Generate」の下にある花札アイコンをクリックします。

LoRAのタブを開くと追加したLoRAデータが表示され、クリックすると自動的にプロンプトが入力されます。

さらにLoRAにはそれぞれトリガーワードというものが設定されています。
これをプロンプトに入力しないと、うまくLoRAの要素が反映されません。
ダウンロードしたページで確認できるので、これらをカンマ区切りでプロンプトに入力します。

これでGenerateをクリックすると、機械少女が生成できます。

LoRAを使用する場合、ベースモデルや他のプロンプトとの組み合わせによって結果が異なるので、いろいろ試行錯誤してみてください。
また自分でLoRAを作成する方法や、ローカル版の導入方法を解説している記事もあるので、こちらも参考にしてみてください。


Google Colabで拡張機能をインストールする方法
Stable Diffusion Web UIには便利な拡張機能が複数存在します。
拡張機能はローカル版と同じやり方でインストールが可能です。
今回は例として、日本語化できる拡張機能をインストールしてみます。
Stable Diffusion Web UIを起動して「Extensions」から「Available」を開き、「localization」のチェックを外して、「Load from:」をクリックします。

③はチェックが入っている種類の拡張機能を非表示にするものなので、「localization」のチェックを外してます。
そうすると使用できる拡張機能一覧が表示されます。

Searchの欄に「ja_JP Localization」と入力して絞り込み、表示された拡張機能をinstallしてください。

インストールしたらInstalledのタブに行き、拡張機能がインストールされているのを確認して「Apply and restart UI」をクリックします。

UIをリスタートしたら「Setting」から「Bilingual Localization」を開いて、「Localization file」を「ja_JP」にします。

最後に上部にある「Apply settings」で設定を保存して、「Reload UI」でリロードします。

これで日本語にすることができました。

なお、拡張機能は一覧に表示されないものもあります。
その場合は「Extensions」の「Install from URL」からgitのURLを入力すれば、直接インストールが可能です。

日本語化の詳しい使い方についてはこちらの記事を参考にしてみてください。
Google Colabとローカル版の違い
Google Colabを試してみて感じた、ローカル版との違いをご紹介します。
- 画像生成はかなり高速
- コンピューティングユニットの制限がつらい
画像生成はかなり高速
私はRTX3060Ti(8GB)でローカル版を使用しています。
Hires.fix(高解像度化)を使用するだけでVRAM消費量が100%になり、ファンがうなりを上げます。
Google Colabは似たような条件で画像生成をしても高速で、RTX3060Ti(8GB)より何倍も性能が良いです。
ローカルでhires.fix未使用の時より、Colabでhires.fixを使用している時の方が速いレベルなので、スペックに関してはGoogle Colabの方が圧倒的でした。
コンピューティングユニットの制限がつらい
無制限で使えれば月1,179円(税込み)円は非常にリーズナブルです。
もう1つ上のプラン、Golab Pro+(5,767円)だったとしても安く感じるくらい性能は良いと思います。
ただし、コンピューティングユニットの制限があるため、満足に画像生成ができません。
冒頭でも書きましたが、A100のGPUだと約7時間でコンピューティングユニットを使い切ってしまいます。
7時間で100コンピューティングユニット(1,179円)とすると、約170時間分で20万円のPCが買えます。
作りたいものが決まっていて一時的に大量生成したい、とりあえず体験してみたい方はGoogle Colabはありかもしれません。
ただStable Diffusionを使うために継続して利用するのは、あまりおすすめできないです。
Google ColabでStable Diffusion Web UIを動かす方法まとめ
今回はGoogle ColabでStable Diffusion Web UIを動かす方法について解説しました。
- Google ColabでStable Diffusion Web UIを使う前に
- Google ColabでStable Diffusion Web UIをインストールする方法
- 仮想マシンにStable Diffusion Web UIをインストールする方法
- Google ドライブにStable Diffusion Web UIをインストールする方法
- Google Colabで好きなモデルを追加する方法
- Google ColabでLoRAを使用する方法
- Google Colabで拡張機能をインストールする方法
- Google Colabとローカル版の違い
画像生成は本当に高速なので、どうしても制限がネックに感じてしまいました。
経済的な面を長期的に見るのであれば、PCスペックを揃えた方がコスパは良いかと思います。
ただし、「PCスペックを揃える前にStable Diffusionを体験したい」という用途であれば、Google Colabは良い環境です。
Web UIの操作はローカル版と同じなので、実際に触ることで具体的な動かし方が学べます。
用途によって人を選びますが、PCに負担をかけずにStable Diffusionを触ってみたいという方は、Google Colabを試してみてはいかがでしょうか。
コメント
YouTubeの方ではコードなしで起動してる人が多いですが,なぜGoogleの方ではコードを書く難しい方法でやってる方が多いのですか?
コメントありがとうございます。
少し質問の意図がわかりかねますが、本記事で紹介しているコードあり・なしの主な違いは、ドライブにマウントするか、しないかの違いです。
処理速度だったり、データ保存の有無だったり使い勝手が異なります。
ドライブにモデルを追加してある場合は,コードなしで読み込んでくれるのですか?つまり何も書かなくていいですか?
ドライブにモデルを追加している場合は、特にコードの記述は必要ありません。
Web UIを起動(起動中の場合はリロード)すればモデルが切り替えられると思います。