見出し画像

自作PCパフォーマンス検証 画像生成AI

この検証では、画像生成AIツールとして「Stable Diffusion」を使用して、実際の画像生成速度とグラボ負荷状況をモニタリングしていきます。モニタリングには、Windows標準搭載のタスクマネージャを使います。

「Stable Diffusion」についてはまだまだ勉強不足のため、どのパラメータが生成速度に影響するのかまでは理解していないのですが、少なくとも枚数が増えたり、高い解像度で生成しようとすると多くの時間がかかります。

また、グラボのメモリ(VRAM)も大量消費するため、これから画像生成をローカル環境で試したい方のグラボ選びの参考になればと思います。

Stable Diffusionを起動すると生成解像度512*512pxがデフォルト値として設定されておりますので、この解像度で検証してみます。

512×512pxの画像生成(1枚)

Stable Diffusionの起動直後

次に、適当にプロンプトを指定して512×512pxの画像1枚生成してみますそのときの処理結果ログがこちら。

処理結果ログ

10回ほどリトライして、概ね1.4~1.6秒の間に収まっています。グラボの負荷状況は以下の通り。

512×512pxの画像生成(1枚)時のグラボ負荷

1枚とはいえGPU使用率はほぼ100%に達していますし、VRAMもアイドル時+1GB以上は使用します。ちなみにアイドル時はこちら。

アイドル時のグラボ負荷

では、もう少し負荷をかけてみましょう。

512×512pxの画像生成(8枚)

バッチサイズを最大値の8に設定して同様に生成します。処理結果ログがこちら。

処理結果ログ

12.6秒でした。
この後もリトライを繰り返し、概ね11.5~12.6秒の間に収まっています。
1枚のときが1.4~1.6秒でしたので、概ね比例してそうな印象です。グラボの負荷状況は以下の通り。

512×512pxの画像生成(8枚)時のグラボ負荷

GPU使用率はほぼ100%に達しており、VRAMはほぼ上限の15.7GBまで使用しています。温度も上昇していますね。

では、さらに負荷をかけてみましょう。

512×512pxの画像生成(64枚)

64枚という指定はできないのですが、バッチ数を8に設定して合計8×8=64枚の画像を生成します。処理結果ログがこちら。

処理結果ログ

2分14秒でした。
念のためもう1回実行しましたが、2分10秒とほぼ同じ結果になりました。8枚のときが11.5~12.4秒の間でしたので、これに関しては比例しておらず速度低下が発生しています。グラボの負荷状況は以下の通り。

512×512pxの画像生成(64枚)時のグラボ負荷


生成枚数と速度が比例しない理由は?

改めておさらいすると、以下の結果となりました。

  • 1枚生成時・・・1.4~1.6秒

  • 8枚生成時・・・11.5~12.4秒

  • 64枚生成時・・・2分10秒~2分14秒

ここからはようくんの予測になるので、参考程度に捉えてほしいのですが、アイドル時のメモリ使用量(VRAMじゃなくてメインメモリの方)を見ると、10.4GBとあります。ただ、8枚生成時は11.8GB、64枚生成時は12.1GBとなっており、生成枚数が増えるとメインメモリの使用量も増加していることが分かります。

コンピュータの仕組みとして、万が一メモリ不足に陥った場合は他の記憶装置(SSDとか)から容量を借りにいくため(専門用語でスワッピングと呼びます)、VRAMとメインメモリの間でこれが発生している可能性があります。
この2つのメモリ間でスワッピングが発生した結果、生成時間に加えてスワッピング時間も加わり、余計に時間がかかったものと推測します。


推測が正しいのかは置いといて

処理時間を高速化したいのであれば、より上位スペックのグラボを選択するべきなのは間違いありません。

VRAM容量だけで見ればRTX 4060 Tiも16GB搭載モデルが存在しますが、そもそもの処理能力(Shader, Tensor)がボトルネックになるため、快適さを重視するならRTX 4070 SUPER以上を選びたいところです。今回の検証に使用したグラボはこちら。


さいごに

ご覧いただきありがとうございました。
Amazonアフィリエイトプログラムに参加しています。この記事が少しでもお役に立てましたら、リンクからの商品ご購入、フォロー、スキをクリックいただけますと記事更新の励みにもなりますので嬉しいです!

画像生成AIツールについては、自分がこれだと思った画像を生成できるようになるまでにはスキルも必要ですし、仮にスキルがあったとしても満足のいく画像ができるまでには細かいやり直しも発生します。また、そのやり直しにも時間が必要ですので結局のところはグラボ性能に依存するのです。

ようくんのように、「画像生成AIを試してみたい」みたいな軽いノリで考えているのであれば、RTX40シリーズであればどれを選んでも問題ないでしょうけど、だんだん高性能なグラボがほしくなってくるはず・・・。

あくまでようくん個人の場合ですが、画像生成を待っている間は他の作業ができるため生成速度はそこまで重要ではないのですが、グラボの選定基準は4Kゲーミングの方に重きを置いておりましたので、結果論にはなりますがRTX 4070 Ti SUPERを選択して満足しています。

この記事が気に入ったらサポートをしてみませんか?