Stable Diffusion WebUI: ゲーミングノートPCでの最適環境探求
最新のゲーミングノートPCを使用させてもらう機会に恵まれたので、Stable Diffusion WebUI Automatic1111を実行する環境ををいくつか試してみて、どれが自分にあっているかを考えてみることにしました。(以下Stable Diffusion WebUI Automatic1111はStable Diffusionと略します)
前提とPC環境など
前提としてはあまりPC側の環境に引きずられないことです。何かあっても元の状態にすぐに戻せるということが自分の希望です。
インストールする環境は以下の3つ。
PCの環境にGit、PythonをインストールしてStable DiffusionをGitでCloneしてインストール(以下ノーマル版)
Stable MatrixからStable Diffusionをインストール(GitやPythonのインストールはStable Matrix経由で行われます)(以下Stable Matrix Portable版)
DockerコンテナでStable Diffusionを実行する(以下Docker版)
なお今回は、Stable MatrixではPortable設定を使用します。
自宅ではデモで借りているPCとはライトなゲーミングPCを使用しているので以下のようなスペックを想定しています。テストにはハイスペックのPCを用いていますが、使う環境との設定の差異がないようにしたいです。
PC … ノートPC
CPU … Intel Corei5プロセッサ 9世代(ノート用の省電力タイプのプロセッサ)
GPU … GTX1650(4GB)
メモリ … 16GB
ストレージ … SSD 512GB
1.ノーマル版のインストール
ノーマルの設定に関しては以下のURLを参考に行えば大丈夫です。事前にGitやPython(Python 3.10.6)をインストールすることが必要です。
GitでCloneを行ってあれば、あとは中にあるwebui-user.batを起動するだけで導入はできます。
2.Stable Matrix Portable版のインストール
こちらは以下の手順を参考に導入してみてください。
基本的にはローカル版をインストールの手順を簡略化するGUIをつけた環境だと思えば大丈夫です。モデル、LORA、拡張機能を管理する機能や、Stable Diffusion以外のUIのインストールにも対応しています。また、インストール時にPortableのチェックを使用すれば、インストール後のファイル構成をそのままコピーするだけでバックアップもできる点が大きな利点です。
3.Docker版のインストール
以下のまとめからインストールを行ってください、Dockerは仮想環境上の実行環境を使用して、その環境からPCのリソースを使用します。
Windows Homeからでも使用できるので、別の用途でも十分つかうこともできるので、興味のある方はこれと別としてもインストールしてもいいかもしれません。
PCの負荷比較
CPU負荷に関して
3つの環境で実行を行いましたが、どれもほぼ変わらない状況でした。CPU生成環境でなければ、ほぼ影響がないのだと思います。
GPU負荷に関して
GPUは処理中にかなり負荷がかかりますが、どの環境でも大きく変化はないようです。負荷の中でもGPUのメモリ関連の負荷が高いようです。貸出をしてもらっているハイスペックのゲーミングノートPC(RTX 4070 Laptop)でもGPUメモリに関していえば、ミドルスペック(8GB)に留まります。モデル(チェックポイント)によっては生成が失敗することもあるので、Stable Diffusionの起動オプションはメモリ消費を抑える--medvramや--xformersを併用してできるだけ、使用を抑えるのがいいのかなと感じました。自分の環境ではGPUのメモリが4GBですので、このあたりのオプションは必須です。
メインメモリの消費に関して
この点が一番大きな差だったように感じます。特にDockerのコンテナ環境ではメインメモリの消費がかなり激しく、16GBのメモリでは足りない状況でした。画像生成時に足りないこともさることながら、モデル(チェックポイント)の切り替えなどの管理操作だけでもかなりの消費が確認でき、コンテナが落ちるということもかなり多いです。Dockerを使用することでメインのPC環境にほぼ影響することのないインストールを行うことができますが、メインメモリの消費が激しすぎなので、流石に使用はやめてしまいました。メインメモリが32GBあれば改善するのかもしれません。
残る環境では16GBでもメモリの枯渇のような状況は発生しません。16GBのメインメモリでも残り6G近くは余裕があるという状況です。
Stable Matrix版のメモリ消費(ノーマル版と概ね消費量はかわりません)
Docker版のメモリの消費メモリの様子。Dockerエンジンのメモリ消費が8GBリミットになっているで消費量が多いです。画像を生成すると残りメモリがほぼ枯渇します。
個人的な評価まとめ
個人的な印象としては以下のような感じかなと思いました。
Stable Matrix版は、PCのリソース消費、インストール以外の管理機能に関しても優れていると思います。
ただ、WebUI側のバージョンアップが行われると対応が遅れてしまったり、独自機能が対応できなくなったりすることもあるので注意はいるかなと思います。
おわりに
PC関連初心者が少し手を出すなら選択肢としてはStable MatrixのPortable版一択かなと思います。
長く使用することを考えている方でGitの操作になれていたり、Pythonのバージョンに依存することを行っていないなら、ノーマル版でもいいかもしれません。
Docker版は管理や環境への影響度などのメリットがありますが、やっぱりメインメモリの消費が大きすぎるのが難点です。