🌊

画像生成AI「Stable Diffusion XL(SDXL)1.0」をインストール

2023/07/29に公開

つい先日、画像生成AI「Stable Diffusion」の最新バージョンが公開されたのでインストールしてみました。

https://ascii.jp/elem/000/004/147/4147167/

既にネット記事やYoutubeでもインストール方法に関する情報が公開されてるので、その辺りを参考にしつつ備忘録的メモ。

推奨スペックとインストール環境

ネット情報を元にした推奨スペック

RAM:32G
VRAM:12GB

グラボは、RTX3060以上あった方が良さそう?

うちのPCスペック

CPU: Intel Core i7-12700K
MB: ASRock Z690 Steel Legend
MEM: hynix DDR4-2400 PC4-19200 16GBx2 (32GB)
GPU: 玄人志向 NVIDIA GeForce RTX4070Ti GDDR6X 12GB
SSD: Samsung SSD 980 1TB PCIe Gen 3.0 ×4

Stable Diffusion XL(SDXL)1.0をインストール

Stable Diffusion Webuiのインストール方法は、ネット上に多数あるので其方を参照。

旧バージョンを残したい場合は、フォルダごと丸コピーし、コピー先を「SDXL」などに変更。

[SDXL]⇒[Stable Diffusion]フォルダ内の「venv」はリネームするか、削除。

コマンドプロンプトを起動し、Stable Diffusionがインストールされたフォルダ内へ移動して

git pull

コマンドを実行。

これで、v1.5.1 へアップデート完了。

次に、いつも通り「webui-user.bat」を実行すると、Pythonのライブラリ関係を新規にダウンロードされ少し時間がかかるようです。

終了後、localhostアドレスの指定ポートで起動確認。

http://127.0.0.1:7860/

version: v1.5.1  になっていれば無事終了。

SDXL用の学習データをダウンロード

SDXL用の学習データ(モデルデータ)をダウンロード

https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/tree/main

https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main

保存先:

\stable-diffusion-webui\models\Stable-diffusion\

動作テスト(1024x1024px)

「Stable Diffusion checkpoint」から保存したモデルデータを選択。

画像サイズ(Width , Height)を最小値の1024 x 1024に変更。

プロンプトに適当なキーワードを入れて、Generateボタン。

実行結果はこんな感じで、生成されるまでの時間は、15秒ほど。

GPU、VRAM、メモリ使用率:

動作テスト(FHD: 1920x1080px)

FHD(1920x1080px)も試してみましたが生成時間は44秒ぐらいでした。

リソースモニタを見ると、GPU(3D)の使用率がMAXな他、DDR4 32GBの使用率も一時期的にMAXの32GBをほぼ使い切ってるようです。

GPU+VRAMも重要ですが、メインメモリも32GBだときつそうなので増設した方がいいかもしれません。

まとめ

以上、駆け足で簡単ですが、自宅のメインマシンンにStable Diffusion XL(SDXL)1.0をインストール+動作確認の備忘録的なメモでした。

この記事の対象読者は、恐らくStable Diffusion XL(SDXL)をローカル環境で動かしたい方で、PCスペックの参考まで。

ネット上の情報を読んでいても、RTX4070Ti 12GB でもパワー不足という情報が見られましたが、うちでとりあえず動かしてみた感じでは、何とか使えるレベルで、FHDの画像も44秒と実用的な数字は出てるようです。

ただ、リソースモニタの画像通り、GPUやVRAM、メインメモリの使用率はほぼMAXで使い切っていますので、ギリギリ動くスペックと考えた方が良さそうで、更にピクセル数を上げると、多分ERRORで落ちて画像生成できない気がします。

あと、今回はバックグラウンドで、アプリを何も動かしてない状態で試していますので、Android Studio など重いアプリを動かしつつ、画像生成AIを活用したいような場合には、スペック不足で、最悪、メモリのスワップが起こりそうな気がします。

追記:メモリ増設(DDR4 32GB -> 64GB)(2023/8/4~)

前回の記事の通り、メインメモリ32GBをほぼ使い切ってスワップしそうだったので、アマゾンで以下のメモリを購入してみました。

https://www.amazon.co.jp/gp/product/B0BB21KR4K?psc=1&tag=fixtan-22&th=1&linkCode=osi

メモリの相性問題は最近パソコンでは起こりにくいようですが、念の為、全て新品に買い替えて、全部同じメーカーの同じロットでそろえています。

ヒートシンクを付けてドレスアップ。w

PCに取り付け。
余談ですが、自作PCユーザーにとっては常識的な事ですが、パソコンのマザーボードを弄る場合は、必ずメイン電源を落として電源を完全に切った後、5分ぐらい置いてから作業した方がいいです。(良く分からない場合は、コンセントを抜く)

パソコンをシャットダウンした状態でも、マザーボードは通電しており、この状態でメモリを交換したり、拡張カードの増設なんかを行うと故障原因になります。(過去経験あり)

交換完了後、電源を入れて動作チェック。

メモリ増設後、初回起動時は数分程度、時間がかかります。
 BIOSが立ち上がり、DDR4 64GBの認識確認。

ベンチマーク(DDR4-2400 -> DDR4-3200)

前回のメモリは、DDR4-2400だったのですが、今回は、DDR4-3200で、若干性能アップしたので試しにベンチマークを計測。

DDR4-2400

DDR4-3200

こんな感じで、DDR4-3200の方が、若干早いようです。
 SDXLを何時間もフルで動かすような場合は、生成画像枚数に差が出るかもしれませんが、普通に使う分にはほとんど変わらないと思います。

というか、画像生成中は、GPUにかなり負担がかかってるので、長時間動かし続けるような使い方は、グラボの寿命を縮めそうで辞めておかれた方がいいかもしれません。

GPUに負荷をかけると寿命が縮むのか?(追記:2023/8/7)

GPUに負荷がかかった状態で長時間運用する場合、GPUの寿命が縮むかどうか調べて見ましたが、OC(オーバークロック)せず、定格で規定温度内で運用するなら、それほど問題は無いようです。
 注意すべき点は「温度」で、RTX4070Tiの最大温度を調べて見ると90度のようです。

Nvidia公式サイト:
https://www.nvidia.com/ja-jp/geforce/graphics-cards/40-series/rtx-4070-4070ti/

仕様⇒詳細をクリックすると温度情報を確認できます。

RTX30系も同じように90度ぐらいのようなので、ゆとりを見て80度以下をキープできる環境を作れば良さそうな気がします。

GPUの温度は何度までが安全ライン?グラボの温度の確認方法まとめ
https://digitaldiy.jp/article/firstdiy/13435/

画像生成テスト(1024x1024px)

前回同様、1024x1024pxで画像生成テスト。

メモリは、30GBをオーバー。

画像生成テスト FHD(1980x1080px)

次は、FHD(1980x1080px)。

一時的ではありますが、約40GBのメモリを使用。

画像生成テスト MAX(2048x2048px)

前回はメモリ不足で諦めたMAXの「2048x2048px」にも挑戦。
テストで動かしてるので、画像がおかしいのはご了承ください。

メモリは過去最高の約54GBを使用。

内蔵GPU「Intel UHD Graphics770」でメモリ消費

スクショを見て気づかれた方も多いかと思うのですが、GPUに関しては、RTX4070Ti以外に、CPU内蔵GPU「Intel UHD Graphics770」を同時に使用してる為、メインメモリの一部はGPUで使用されています。

なので、内蔵GPUを使わなければ、32GBでも問題ないかもしれません。

余談ですが、外付けGPUと、内蔵GPUを同時に利用するとトラブルが起こりやすいので余りお勧めはしません。
 昔、同時使用してて不都合が起きて最悪起動しなくなったこともあります。
 (BIOSで片方のGPUを無効化したところ正常に動作)

最近のパソコン(マザーボード)は高性能化して、メモリの相性問題なども起こりにくく、トラブルが減っていますが、一応、同じ様な使い方を検討される場合、ご注意ください。

ASCIIの方でSDXL 1.0 のインストールを含め、詳細な記事が公開されたようなのでそちらを見られたが方がいいかもです。

https://ascii.jp/elem/000/004/147/4147298/

https://www.amazon.co.jp/gp/product/B0BB21KR4K?psc=1&tag=fixtan-22&th=1&linkCode=osi

https://www.amazon.co.jp/dp/B09FXNVDBJ?psc=1&tag=fixtan-22&th=1&linkCode=osi

https://www.amazon.co.jp/dp/B09JM6L6MH?psc=1&tag=fixtan-22&th=1&linkCode=osi

https://www.amazon.co.jp/dp/B0C1GVNLVK?psc=1&tag=fixtan-22&th=1&linkCode=osi

https://www.amazon.co.jp/dp/B08XY3QQBK?psc=1&tag=fixtan-22&th=1&linkCode=osi

Discussion