Stable Diffusionを使うにあたって、SSDかHDDかで快適さは変わるのか気になったので検証してみました!
なお、本記事ではWebUI Forgeを使用して検証しています。
まだAUTOMATIC1111を使っている方、高速&軽快になるForgeへの乗り換え検討してみてください!
細かい話は良いから手早く結果だけ見たいよーって方は↓の目次から「結果のまとめ」を選んで御覧ください。

検証の内容
HDD、SATA接続のSSD、M.2のSSDの3種類で検証しています。
検証内容は以下のとおり。SSDかHDDかで速度に大きな影響が出そうなもので比較してみます。
WebUI Forgeの起動にかかる時間
WebUI Forgeの起動にかかる時間がHDDとSSDで違いがあるのか検証します。
WebUIは起動時に拡張機能の読み込みが入るため、拡張機能をたくさんいれると起動に時間がかかるようになってきます。
今回はなるべく拡張機能の影響が少ない状態で検証したいので、Forgeをインストール後追加でADetailerだけを入れた状態の起動速度を検証しました。
それぞれの時間はプロンプトに表示されるログのここ↓を参照しています。

モデルの読み込みにかかる時間
Stable Diffusionを使う上で一番重いファイルといったらモデルです。
たいてい2GB以上。SDXLも含めると5GB6GB当たり前のファイル。
画像生成時にはそんなギガバイト単位のファイルをストレージから読み出すわけなので、ストレージからの読み出し速度は結構影響しそうです。
モデル読み込みにかかった時間もコマンドプロンプトのログに表示されるのでそこから確認しています。

なお、今回の検証ではSDXLのanimagine-xl-3.0を使用しています。約6.8GB!
10枚の画像生成にかかる時間
一番気になるのはやっぱり生成速度!
SDXLで1536 × 1024の画像を10枚生成してかかった時間を計測します。アップスケールは無しでやってます。
ADetailerのみ有効にしてその他はそんなに凝ったことはしてません。詳細な生成条件は「検証の条件」の項目に書いています。
WebUIではモデルを切り替えると画面上ではわかりませんが、裏でモデルファイルの読み込みが始まります。
モデルファイルの読み込み中に生成を開始してしまうと読み込みが終わるまで待機した後生成が始まるので、しっかりとモデルファイルの読み込みが完了してからGenerateボタンをクリックしてます。
検証の条件
検証に使うPCはこんな感じです。6年くらい前の微妙なPCなのでそれを念頭に御覧ください。
| CPU | Intel Core i7 8700K |
| メモリ | DDR4 16GB |
| グラフィックボード | NVIDIA GeForce RTX 3060 Ti |
プロンプトとネガティブプロンプトは以下の通りです。
a woman, beautiful anime, full body, standingworst quality, lower quality, extra hand, extra head, extra leg, extra arm, monochrome, extra finger, extra body, extra eyes, glitsシード値は同じもので固定してます。
検証の条件
| 項目 | 設定値 |
| モデル | animagine-xl-3.0 |
| VAE | None |
| Clip skip | 2 |
| Sampling method | DPM++ 2M |
| Sampling steps | 25 |
| Hires.fix | 無効 |
| Upscaler | – |
| Hires steps | – |
| Denoising strength | – |
| Upscale by | – |
| Width * Height | 1536 × 1024 |
| Batch count | 10 |
| Batch size | 1 |
| CFG Scale | 7 |
| ADetailer | 有り |
生成する画像のイメージ

検証結果
ではここからは実際に検証した結果です。
HDD → SATA SSD → M.2 SSD と発表して、最後に保存先だけHDDにした場合に影響があるかを試しています。
WebUIをHDDにインストールした場合
| WebUI起動 | 約1分19秒 |
| モデルの読み込み | 約2分32秒 |
| 10枚生成にかかった時間 | 8分16秒 |
WebUIの起動もモデルの読み込みも結構かかりました。
私は普段はStable DiffusionはSATA接続のSSDの中で使っているので、今回初めてHDDにインストールして使ってみたのですが、思っていた以上に遅くて驚きでした。
WebUI起動後にモデルの読み込みが始まることを考えると、HDDでStable Diffusionを使用すると起動バッチを実行してから生成を始めるまで4分近く待つことになる計算です。
モデルファイルの読み込みも7GB近くのファイルとはいえ2分半かかるのはちょっときつい気がします。
とはいえ、WebUIを起動してモデルファイルの読み込みが終わってしまえば、画像生成速度自体はSSDとそこまで変わらないのでなんとかなる気もします。
WebUIをSATA SSDにインストールした場合
| WebUI起動速度 | 約24秒 |
| モデルの読み込み | 約33秒 |
| 10枚生成にかかった時間 | 7分19秒 |
HDDと比べるとかなり早くなりました。
起動はそんなに変わらないんじゃないかと思っていましたがHDDと1分近い差がつきました。
モデルの読み込みに至っては2分近く早くなってます。やっぱり7GBとなると読み込み速度はかなり差がつきますね。
反面、画像生成にかかった時間は10枚で約1分の差なので、思っていたよりも差がつきませんでした。
生成中はモデル自体はメモリに読み込み済みだからか、ストレージへのアクセスはそんなに無いのかもしれません。
WebUIをM.2 SSDにインストールした場合
| WebUI起動速度 | 約20秒 |
| モデルの読み込み | 約19秒 |
| 10枚生成にかかった時間 | 7分8秒 |
同じSSDでもSATA SSDと比べるとM.2 SSDの方が少し早くなりました。
こちらも思っていたよりは差はついたものの、HDDとSATA SSDとの間の差と比べるとそこまで気にしなくていいレベルですかね。
なお今回使用しているM.2 SSDはGen3なので、Gen4であればもう少し早くなるかもしれません(そんなに変わらない気もしますが)
WebUIをSATA SSDで、保存先をHDDにした場合
ここまでの検証で、やっぱりモデルファイルをHDDに置くのはけっこうキツイことがわかりました。
では、生成した画像の保存先はどうでしょうか。モデルファイルはSSDに置かざるを得ないとしても、出力先をHDDにできれば多少の容量の節約はできそうです。
一応試してみました。
※Web UIとモデルはSATA SSDに置いてます(M.2ではない)
| WebUI起動速度 | 変化なし |
| モデルの読み込み | 変化なし |
| 10枚生成にかかった時間 | 7分15秒 |
WebUI起動とモデル読み込みはほとんど変化なし。
生成にかかる時間はなぜかちょっと早くなりましたがこれも誤差の範囲でしょう。
というわけで、画像保存先をHDDにするだけであれば生成速度にほとんど影響ないということが確認出来ました。
結果のまとめ
それぞれこんな結果になりました。
| WebUI起動速度 | モデルの読み込み | 10枚生成にかかった時間 | |
| HDD | 1分19秒 | 2分32秒 | 8分16秒 |
| SATA SSD(保存先もSSD) | 24秒 | 33秒 | 7分19秒 |
| SATA SSD(保存先はHDD) | 24秒 | 33秒 | 7分15秒 |
| M.2 SSD | 20秒 | 19秒 | 7分8秒 |
やっぱりHDDの遅さが際立ってます。
とはいえ、WebUIの起動速度とモデルの読み込みにさえ目を瞑れば生成速度はそこまでかわらないので、我慢出来ないというレベルではない気もします。
ただし、起動速度は拡張機能が増えたりControlNetを使って読み込むモデルが増えるとどんどん遅くなるので凝ったことをしたい場合はSSDを使いたいところ。
それぞれの検証結果のグラフも貼っておきます。
WebUI起動速度

モデルの読み込み速度

10枚生成にかかった時間

結論
HDDでも無理ではないけど、SSDの方がいい
HDDはWebUIの起動とモデルファイルの読み込みに特に時間がかかることがわかりました。
逆に生成速度はそこまで大きな差は出ないこともわかりました。
拡張機能モリモリにすると起動は更に遅くなっていくので、やっぱりSSDの方が快適なのは間違いなさそうです。
SSDでやるけど、生成画像の出力先をHDDにするのはアリ
SSDの容量を少しでも節約したいなら、生成したファイルの保存先をHDDにしましょう。
これなら多少生成画像の整理をサボってもSSDがいっぱいになっちゃうということは無くなります。
モデルファイルをHDDに置くのはおすすめできません!
まとめ
とりあえずHDDだけでやるのはちょっと厳しいことがわかりました。
ただ、画像生成自体の速度はSSDと大差なかったので、凝ったことをしなければ画像生成にそんなに支障はないです。
SSDの容量にあまり余裕のない私のような人にとっては、WebUI本体やモデルファイルはSSDにおいて画像保存先は大容量のHDDにするのが良さそうです。



コメント