Stable Diffusionの推奨スペックは?GeForceとRTX搭載PCで検証
2023/04/09
画像AI「Stable Diffusion」をWindowsローカルで使う場合に必要なのがグラフィックボードです。
どのくらいのVRAMがあればいいのか?グラボの性能が違うとどのくらい出力時間が変わってくるのかなどを調べてみました。
Contents
Stable DiffusionではどれくらいVRAMがあればいいのか?
※VRAMの限界など、もうちょっと色々テストした記事を書きました。そちらのほうが濃いです。
以下は過去記事です。
Stable DiffusionではグラフィックボードのVRAMが重要だとされています。
VRAMはグラフィックボードに内蔵された映像用のメモリで、メインメモリと違って後から増やすことができません。
そのため、Stable Diffusionで画像をたくさん高速に出したい人はグラボ選びが重要になってきます。
そこで今回は、VRAM16GBを搭載するNVIDIA RTX A4000搭載のクリエイターPC「raytrek ZQ-A4000」をサードウェーブさんにお借りして、Stable DiffusionがどのくらいVRAMを使うのか動作をテストしてみました。
GPU:RTX A4000 16GB
メモリ:32GB DDR4
ストレージ:1TB Gen4 NVMe SSD NVMe SSD
出力解像度の限界はVRAM量で決まる
Stable Diffusionで最初に知っておきたいのは、VRAM量で出力できる解像度の上限が決まるということです。
テストケース
- txt2img
- prompt : photograph, forest, morning, canon
- Sampling Steps : 150
- Sampling method : DDIM
- Batch count : 1
- Batch size : 1
- CFG Scale : 30
- Seed : 2398368750
解像度 | 使用したVRAM量 |
512x512 | 6.9GB |
640x640 | 11.3GB |
640x832 | 15.9GB |
768x768 | 15.9GB |
512x512の画像を同時に1つ出すのにおよそ7GBのVRAMを利用していました。最新のWEB UIでは4GBでもなんとかなるよと言っていますが、かなり頑張ってやりくりしているのだと思います。
640x640では11.3GB。12GBのVRAMを持つRTX 3060やRTX 3080 12GB、RTX 3080 Tiなどは640x640くらいまで出せることになります。
768x768になると、RTX A4000の16GBのVRAMを使い切る感じです。832x832になるとエラーになってしまいました。
16GBのVRAMで出せた最高解像度は、640x832でした。
こんな感じです。より高い解像度にしたい場合は、Stable Diffusion Web UI上からも利用できる、Real-ESRGANなどの画像拡大処理を利用するのが最近のトレンドでしょう。
解像度まとめ
- VRAM8GBのグラボならまず512x512は出せる
- VRAM12GBなら640x640や768x512くらいは出せる
- VRAM16GBなら768x768,640x832くらいは出せる
VRAM24GBは私は試せていませんが、1024x1024はダメらしい。
Stable Diffusion, 3090 だと 1024×512 は生成できるけど 1024×1024 は生成できない。
— suzuki_ith (@suzuki_ith) August 25, 2022
WEB UI版のBatch countとBatch sizeの関係
次に画像の連続出力についてです。
Stable Diffusion Web UIにおいては、一度に複数枚の画像を出す方法が2つあります。
Batch count
Batch countはカウントという名の通り、繰り返して何回出すかです。1台のプリンターで1枚ずつ繰り返し印刷するようなイメージです。
使うVRAM量はずっと変わりませんので、VRAMが少ない場合はBatch countでこれを使うのが良いでしょう。
Batch size
Batch sizeオプションでは、1度に複数枚を出せます。言ってみれば、プリンターを複数台用意する感じ。
ただ、Batch sizeを増やしても単純にn倍の速度になるというわけではなく、使わないよりちょっと早くなるくらいの改善度です。
Batch sizeを増やすと利用するVRAM量が増えます。
VRAM 12GBならBatch sizeを2にして、2つ同時に行けました。
VRAM16GBなら、4つをギリギリ行ける感じです。5つになるとエラーになります。
また、Batch countとBatch sizeは掛け合わせることができます。
例えば、Batch count=5、Batch size=5の場合、1回の生成で5x5=25枚の画像が得られます。
まとめ
VRAMギリギリの高解像度画像をたくさん出したい = Batch countだけを増やす
512x512の画像を素早くたくさん出したい = Batch countとBatch sizeを両方増やす
GeForce RTXとNVIDIA RTXの違いは?
Stable DiffisionではNVIDIA製のグラフィックボードのCUDAという機能を使います。
現在、NVIDIA製のグラフィックボードには、一般向けの「NVIDIA GeForce」シリーズと、プロフェッショナルモデルの「NVIDIA RTX」シリーズがあります。
そこで、GeForce RTX 3080 12GBを搭載したGALLERIAもお借りしてStable Diffusionの性能比較をすることにしました。
CPUはどちらもi7-12700Kです。
グラフィックボード自体は、ベースとなるGPUグレードが違い、GeForce RTX 3080 12GBの方が格上です。
マシン | raytrek ZQ-A4000 | GALLERIA ZA7C-R38 12G |
CPU | Intel Core i7-12700K | Intel Core i7-12700K |
グラフィックボード | NVIDIA RTX A4000 | GeForce RTX 3080 12GB |
GPU | GA104 | GA102 |
VRAM | 16GB ECC GDDR6 | 12GB GDDR6X |
メモリインタフェース幅 | 256bit | 384bit |
Tensorコア | 192 | 280 |
RTコア | 48 | 70 |
CUDAコア | 6144 | 8960 |
GPU消費電力(TDP) | 140W | 350W |
ディスプレイ出力 | DisplayPort 1.4a x4 | HDMI 2.1 x1 DisplayPort 1.4a x3 |
CUDA性能(Geekbench5) | 149625 | 228897 |
消費電力(SD処理時) | 240W | 452W |
ドスパラ製品ページ | raytrek ZQ-A4000 | 販売終了 |
NVIDIA RTX A4000に搭載されるGA104は、GeForce RTX 3060 Tiや3070に搭載されているチップです。GA102を搭載するRTX 3080 12GBの方が、CUDA性能は1.52倍ほど上になります。
この性能差でStable Diffusion利用時にどのくらい出力時間に差があるのかをチェックします。
また、Stable Diffusionで処理時の消費電力は、RTX 3080 12GBの方が1.88倍ほど多いです。
そこで、RTX 3080は定格動作に加えて、トータル消費電力を240Wで合わせた場合の処理性能も見てみました。
結論:早さのGeForce RTX 3080、効率のNVIDIA RTX A4000
ボード | 32枚出力所要時間 (少ない方が良い) |
消費電力 (少ない方が良い) |
時間×電力 (少ない方が良い) |
RTX A4000 16GB | 764.55s | 240W | 183492 |
RTX 3080 12GB | 478.09s | 452W | 216097 |
RTX 3080 12GB | 1010.73s | 240W* | 242575 |
*GPUパワーリミット46%にて調整
結論を先に述べますと、Stable Diffusionの出力が主目的で、予算で選ぶならGeForceで問題ありません。
RTX A4000をテストした後にRTX 3080 12GBをテストしたのですが、明らかに画像出力にかかる時間が短くて生産性が高いです。
もし24時間の機械学習などで稼働させる場合には、ランニングコストやECCによる信頼性を考えて、NVIDIA RTXシリーズを選ぶのも良いと思いました。
今回行ったのは次の条件をベースにした3つのテストです。
- txt2img
- prompt : photograph, forest, morning, canon
- Sampling Steps : 150
- Sampling method : DDIM
- CFG Scale : 30
- Width : 512
- Height : 512
- Seed : 2398368750
テスト1 (Batch count=16, Batch size=1)
512x512pxの画像16枚を最高の精細度で出力するのにかかった時間を比較します。VRAM使用量は7GB程度です。
定格だとパワーの差でRTX 3080 12GBが最も早く画像出力が終わります。
ただ、消費電力を240Wに揃えるとRTX A4000の方が早く処理が終わり、効率に優れていることがわかります。
RTX 3080 12GBは240Wに落とすために54%パワーダウンさせましたが、やはり所要時間は大きく増えました。
テストケース2 (Batch count=16, Batch size=2)
テストケース1からBatch sizeを2に変更。2x16=32枚の画像が出力されるのにかかった時間を比較します。VRAMは10GB程度使われました。このあたりでRTX 3080 12GBのBatch size限界になります。
テストケース1の2倍の数の画像を出していますが、RTX A4000は1.84倍、RTX 3080 12GBは1.73倍の時間で終わっていることがわかります。
Batch sizeを増やしたほうが効率が良く、GPU性能が高いほどその効果も大きいようです。
また、RTX 3080 12GBで消費電力を落とした場合の差はより大きく広がっています。省エネで長時間動かす前提だと、RTX A4000が優れていることがわかります。
テストケース3 (Batch size=8, Batch count=4)
Batch sizeを4に増やし、Batch countを8に減らして4x8=32枚とした時、テストケース2より効率が上がるかをチェックします。
RTX 3080 12GBはVRAM不足で「CUDA out of memory」のランタイムエラーです。RTX A4000は16GBのVRAMを活かし、テストケース2より20秒近く時間を短縮しました。
Stable Diffusionの動作におすすめのPC
Stable DiffusionのためにPCを買おうと思っている方は、3つのポイントがあります。
- NVIDIA製グラフィックボード(GeForce等)を搭載していること
- VRAM量が多いほど出力できる解像度の限界が高くなる (12GB以上が望ましい)
- グラフィックボードのスペックが高いほど出力が早くなる
これらのことから、いわゆる「ゲーミングPC」や「クリエイター向けPC」と呼ばれるパソコンは相性が良いです。
当サイトはゲーミングPCとして圧倒的な認知度を誇る「GALLERIA(ガレリア)」などを2018年から実際に触ってレビューを行ってきました。
半導体不足からPCの価格も昔に比べると上がっていますが、その中でもお得度や信頼性の高いモデルをご紹介します。
安めのPC:RTX 3060 12GB搭載PC
raytrek MV
NVIDIAのGeForce RTX 30シリーズのグラフィックボードの中で、エントリーに近い性能を持っているのがRTX 3060 12GBです。
こちらはエントリーとしてはVRAM搭載量が12GBと多く、ほとんどの人にとって無難なPCとなるでしょう。ゲームについても、1920x1080までなら動かないゲームはほとんどないと思いますので、PCゲームデビューをしてみたい方にもおすすめです。
ミドルハイスペックPC:RTX 4070 Ti 12GB搭載PC
RTX 40シリーズは2022年に登場した最新のグラフィックボードです。先代のRTX 30シリーズに比べて非常にパワーがあるため画像出力速度も速く、消費電力あたりのパフォーマンスも良いです。
GPU:RTX 4070 Ti 12GB
メモリ:16GB DDR4
ストレージ:1TB(Gen3) NVMe SSD
ミドルハイに位置するRTX 4070 Tiは、12GBのVRAM量こそRTX 3060 12GBと変わりませんが、圧倒的な処理速度の差があるため、同じ時間で大量に画像を出力することができます。
また、XA7C-R47Tは大型のグラフィックボードを搭載するために冷却力が高く、ファン回転数も少なくなるために高負荷でも動作音が静かでした。ゲーミング用途でも満足度が高いマシンで、2023年おすすめの一台です。
本格ハイスペックPC:RTX 4080 16GB / RTX 4090 24GB 搭載PC
RTX 4080以上はスペックが良い分価格も一気に上がります。大量に画像を出して選別したりするなど、本格的な利用の際に検討したいモデルとなります。
ここではStable Diffusionはもちろん、3DCGや4K,VRゲームなどにも幅広く使えるPCをご紹介します。
GALLERIA ZA9C-R48
GPU:RTX 4080 16GB
メモリ:16GB DDR5
ストレージ:1TB(Gen4) NVMe SSD
GeForce RTX 4080を搭載しており、VRAMは16GB利用可能です。2023年を見据えても非常にハイスペックなモデルです。
raytrek 4CZZ
最上位となるGeForce RTX 4090を搭載しており、ゲーマーとしても垂涎の何でもできるPCです。VRAMは24GB利用可能で、RTX 4080より高解像度で高速に画像出力が可能です。
VRAM量については、機械学習目的などでは24GBを使い切ることもあります。本格的なAI時代で「開発」側に回りたい人は大容量VRAM搭載モデルをおすすめします。
記事の内容は執筆、更新日時時点の情報であり、現在は異なっている場合があります。 記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
【今日のおすすめ】
【auひかり】最大10Gbpsの超高速通信!最大126,000円還元キャンペーンキャッシュバックで初期工事費も実質無料!