StabilityMatrixについて
1年ぶりくらいに画像生成AIの環境を作ろうと思って、いろいろ迷走しているうちに、StabilityMatrixにたどり着いた話を書く。
念のために書いておくと紹介したソフトウェアによって起きた問題について、一切の責任を負えない点は留意して頂きたい。
目次
Stable Diffusionなどの基礎的な話
Stable Diffusion
Stable Diffusionは、画像生成や編集を行うためのディープラーニングモデルの一種である。
テキストから画像を生成する「テキスト・トゥ・イメージ(text-to-image)」の分野で注目されている。
この技術は、拡散モデル(diffusion model)と呼ばれる手法に基づいており、画像を徐々にノイズでぼかしていき、その後、ノイズを取り除く過程で新しい画像を生成する。
Stable Diffusionはオープンソースで提供されているため、研究者や開発者が自由に使ったり、カスタマイズしたりできる。
そのまま使おうとした場合、pythonでStable Diffusionを扱うのに必要なライブラリをインストールして、プログラムを書いて画像を生成することになる。
pythonを普段から使っている人には簡単だが、そうでない人にはかなり厳しいだろう。
Stable Diffusion WebUI
GitHub – AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI
前述の通り、そのまま使うのは難しいが、これをWebブラウザで簡単に実行するのを作ってくれたのがAutomatic1111氏である。
彼が作ったWebユーザーインターフェイスが「Stable Diffusion WebUI AUTOMATIC1111版(以降はStable Diffusion WebUIと書く)」である。
これによってStable Diffusionを使うハードルが劇的に下がった。
ただStable Diffusionを使うときと同じく、pythonのインストールはもちろんStable Diffusion WebUIをインストールし管理するためのgitをインストールする必要がある。
特にPython 3.10.6でないとエラーが起きるなど、導入難易度はそこそこ高い。
GitHub – lllyasviel/stable-diffusion-webui-forge
またForge版という、VRAM消費を抑えて高速化を図った派生版も出ているらしい。
ComfyUI
前述のStable Diffusion WebUIとは全く別路線のUI。
ノードと呼ばれるWindowをつなぎ合わせて、直感的に画像を生成する仕組みを提供している。
Stable Diffusion WebUIと使い勝手がまるで違うため、戸惑うことは間違いない。
拡張機能なども当然互換性がないので、Stable Diffusion WebUIで蓄積したノウハウが活かせない。
ただしstable-diffusion-3.5-mediumなどの最新のモデルを使う場合、このComfyUIを使うことが推奨されている。
stabilityai/stable-diffusion-3.5-medium · Hugging Face
実はstable-diffusion-3.5-mediumをStable Diffusion WebUIで使おうとして失敗したので、やむを得ずComfyUIを使用したという訳だ。
未だにStable Diffusion WebUIで使う方法については分からない。
StabilityMatrix
GitHub – LykosAI/StabilityMatrix: Multi-Platform Package Manager for Stable Diffusion
Stable Diffusion WebUIやComfyUIでも、インストールをするのはそこそこ大変。
またモデルを複数のUIで使い回すのも工夫がいる。
それらの問題を解決してくれるのが、StabilityMatrixである。
これはいわば環境を管理するためのツールで、StabilityMatrixを通してStable Diffusion WebUI(Automatic1111版だけでなくForge版も対応)やComfyUIをインストールしたり、アップデート、削除も対応している。
特にStabilityMatrix内でPythonとそのライブラリを自動でインストール・管理してくれるので、依存関係も丸投げできる。
とにかく簡単に、また複数のUIを使いたい人に勧められる。
欠点はStabilityMatrixに依存してしまうこと。
最新のStable Diffusion WebUIやComfyUIが登場しても、StabilityMatrixが対応しなければアップデート出来ない。
またStabilityMatrixのメンテナンスが止まれば、同様に更新出来なくなるだろう。
複数のUIを使うにしても、各UIの設定で一つのモデルを参照することは可能なので、特にStabilityMatrixが必須という訳ではない。
必要スペック
上記のどれを使ってStable Diffusionを利用するにしても、肝心なのはパソコンのスペックである。
特に抑えておかなければならないのは、NVIDIA製のグラフィックボードだ。
基本的にはデスクトップPCが必要で、ノートPCはまず不可と思って良い。
ゲーミング向けノートPCなら実行出来る可能性(Radeonは対応していない)があるものの、画像生成には多大な負荷が長い時間掛かるため推奨しない。
最近では要求されるVRAMも増しており、最低でも12GBのメモリを積んだグラフィックボードが求められる。
むろんVRAMは多ければ多いほど良いが、グラフィックボードの価格もまるで放物線のように高くなる。
ちなみに僕が使っているのは、コレ。
購入した時は3,6万円だったはずだが、どうやら1年経って5万円くらい(2024-12-03時点)まで高騰しているようだ。
単純な値上がりか、それとも旧モデルゆえに高騰しているのか分からない。
オンライン上において無料で利用可能な画像生成AIがいくつかあるので、まずはそちらを試す方が良いだろう。
経緯
先にも書いたが、Stable Diffusion WebUIでstable-diffusion-3.5-mediumを使おうとして、エラーが出た。
ゆえにStabilityMatrixでStable Diffusion WebUIとComfyUIを併用して使う方法で落ち着いた。
次回はStabilityMatrixによる導入とStable Diffusion WebUIやComfyUIの初期設定の話でも書こうと思う。