RTX3060TiでStable Diffusionはまともに使えるか

検証

今回は私がStable Diffusionで画像生成する時に使っているPCのグラボ、RTX3060Tiはどのくらいの速度で画像生成出来るのか紹介します。

Stable Diffusionをこれから始める方でグラボを検討中の方、グラボの買い替えを検討している方、RTX3060Tiを使ってるけどStable Diffusionでまともに使えるのか気になっている方の役に立つような記事になっていると思うのでぜひチェックしてみてください!

私のPCスペック

まずは私のPCの主要パーツのスペックです。

5年前に自作したものなので今となっては結構貧弱なPCになってます。

CPUIntel Core i7 8700K
メモリDDR4 16GB
グラフィックボードNVIDIA GeForce RTX 3060 Ti

本記事投稿時点ではIntelのCPUも第14世代まで来ているのに私はまだ第8世代です笑

メモリもいまや32GBは欲しいと言われることが多い中私は16GB…。

グラフィックボードはRTX3000番台です。

Stable Diffusionの解説ブログやってるにしてはだいぶ貧弱なスペックです。

でもこの程度のPCでも充分画像生成は楽しむことが出来るんです!

前提

この記事では2024年2月に公開されたWebUI、Forgeを使用した生成結果をまとめています。

従来のWebUI、AUTOMATIC1111で生成した場合、ここに書いてある結果の数倍の時間がかかると思われます。物によってはメモリ不足でエラーになる可能性もありますのでご注意ください。

おそらくRTX3060Tiの購入を検討している方はAUTOMATIC1111ではなくForgeを使うと思うのであまり気にする必要ないかもしれませんが一応の補足でした。

生成にかかる時間一覧

ではここからは、RTX3060Tiを搭載したPCでStable Diffusionで画像生成した時にどのくらい時間がかかるかをいろんなパターンで検証します。

512×512のとりあえずな画像

512×512の完全な素の状態で画像生成します。

512×512はStable Diffusionで一番の基本になるサイズの画像生成です。

呪文を考えている時にお試し出力するときなんかには今でもよく使う生成方法です。

生成した画像例

かかった時間

10枚の生成にかかった時間24.5秒
1枚あたり約2.45秒

生成ボタンクリックした後にテンポよく生成中の画像が切り替わっていくので、速度はかなり早く感じます。

ただ、↑の生成した画像例をみると分かる通り、この生成の仕方は結構いい加減な画像しか出来ないので「どんな画像が生成されるか」の雰囲気を確認するときぐらいしか使いません。

右の画像を見るとわかりますが、顔が特にいい加減ですよね…。

Stable Diffusionは素の状態で使うと顔の描写がテキトーになりがちです。

とはいえ、その用途でとりあえず10枚ぐらい生成してみるってことはよくあるので、2~3秒で1枚生成出来るのは便利です。

1536 × 1024ピクセルの高品質画像

次は1536 × 1024ピクセルのサイズで、人物の顔もきれいに描かれたイラストを生成してみます。

なんで1536って中途半端なサイズなのかはとりあえず気にしないでください!

わりと高品質な画像を生成するときは大体はこのサイズで生成することになると思っていただいてよいと思います。

生成した画像例

素の512×512の状態と比べると絵全体が結構書き込まれていて、引きの構図でもそれなりにしっかり描かれているのがわかると思います。

Stable Diffusionはこんな感じで、大きい画像を生成すると単に拡大されるわけではなく情報量自体も増えたりします

大きすぎると画像が破綻するので、大きければ大きいほど良いというわけでも無いです。

長辺が1536~1920ピクセルの画像が破綻しづらく画質もそれなりに満足できる良いラインのサイズなんですよね。(それ以上に大きくしたい場合はまた別のテクニックを使うことが多いです。)

かかった時間

10枚の生成にかかった時間4分26秒
1枚あたり約27秒

1枚あたり約27秒!素の状態と比べると10倍以上時間かかるようになりました。

生成する画像を大きくしたりあれこれ機能を使ったりすると、生成にかかる時間はばんばん増えていきます。

1枚30秒近くとなるとずいぶんかかるように思われるかもしれませんが、画像生成中って連続生成させた状態のまま放置して別のことしていることが大半なのでそんなに気になりません

もちろん速ければ速いほどいいに決まっているので結局は財布と相談です。

1920 × 1360ピクセルの、設定にも少しこだわった画像

次は、画像生成する時のいろいろな設定値を、この記事で使っているモデル(絵柄を決めるもの)の配布ページに載っているとおりにいじってみます。

Stable Diffusionは画像の生成時にいろんなパラメータをいじって好みの画風を探す様な事もできるのですが、このパラメータには生成にかかる時間に影響するものがたくさんあります

この項目で紹介するのはそれなりにこだわった少し贅沢な設定ですが、生成される画像やかかる時間にどのくらい影響するでしょうか。

生成した画像例

画質もきれいでよく書き込まれたサイズの大きい画像が生成出来ました。

画像自体もとてもいい感じ、このモデルすごくないですか!?

この記事読んでいる方、今後Stable Diffusion始めることになったらぜひこのモデル使ってみてください!!

Vsukiyaki/ShiratakiMix · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

かかった時間

10枚の生成にかかった時間30分3秒
1枚あたり約3分

時間はまたかなり伸びて1枚あたり約3分かかりました。

画像サイズも大きくなり、生成するときにも少し時間がかかる仕組み(サンプリングメソッド)を使って手間のかかる生成方法をしています。

1枚あたり3分となると画像生成中に「まだかな」「はやく出来ないかな?」とそわそわします笑

とはいえ、そこまで苦痛に感じるほどでもありません。

サンプリングメソッドを速度重視にしたり設定を少し妥協すれば、ほとんど同じクオリティで1~2分ぐらいまで短縮もできるので、シンプルに1920ピクセルあたりの画像を生成するならRTX3060Tiでも充分楽しめるでしょう!

ちなみに一つ前の項目で計測した1536 × 1024サイズの画像と比べると、今回のほうがずっとクオリティが高く見えますが、それは呪文や設定値を変えているからであって、1536 × 1024だとクオリティを高く出来ないわけではありません!

1536 × 1024サイズでも今回と同レベルのすごい画像はいくらでも出来るので、速度重視の方は1920にこだわらず1536で生成するとよいでしょう!

1536で生成して、気に入った構図の画像が出来たら1920で生成し直すということも出来ますよ!

SDXLで1536 × 1024(アップスケール無し)

SDXLは2023年6月ごろに発表されたStable Diffusionのパワーアップ版みたいなもので、従来よりも高精細な画像を正確に生成出来ます。

従来のStable Diffusionは画像生成の基準のサイズが512×512だったのがSDXLは1024×1024となっています。

その分PCの要求スペックが従来のStable Diffusionより高いのと、画像生成時の設定にややクセがある(これまでのやり方が通用しない)ので従来のStable Diffusionを使っている方がまだ多い印象。

私も基本は従来のStable Diffusionを使っていますが、RTX3060TiだとSDXLでの画像生成にどれくらいかかるのか計測してみます。

生成した画像例

かかった時間

10枚の生成にかかった時間8分34秒
1枚あたり約52秒

1枚あたり52秒!1分を切りました。

SDXLではない従来のStable Diffusionで1536 × 1024を生成したときが30秒切っているので倍くらいはかかっていますね。

SDXL、ControlNetのIP-Adapter使用Hires.fixで2倍(2024×2024)

あえて負荷が高くなることをしてみました。

SDXLでHires.fixを使うとかなり負荷が上がるため、それなりのスペックが要求されます。

結果1枚の生成にかかった時間は7分58秒でした。

時間かかるしPCへの負荷がすごいので1枚で生成ストップしました。

そして出来上がった画像もなんかいまいちだったのでこの記事には載せません…。

ここまで来るとRTX3060Tiではかなりきついですねー。かかる時間どうこうよりもPCがかなり悲鳴を上げます

CPUの使用率はそこまで上がらないですが、専用GPUメモリ、共有GPUメモリともに大半を使い切り、メインメモリ(16GB)も99%まで上昇。

画像生成の終盤はマウスカーソルすらまともに動かせないほど負荷がかかります。

RTX3060TiではSDXLのモデルを使用しながらControlNetやHires.fix等重めのものを使用するのはかなりキツイということがわかりました。

とはいえ、相当なこだわりが無い限りはここまでのことはしないのであまり気にしなくてよい気はします。

結論 Stable DiffusionはRTX3060Tiで充分楽しめる!

もちろん人によって感じ方は異なりますし、高性能なグラボをお持ちの方からしたら「RTX3060Tiおっそ!」と思うかもしれません。

ただ、私は十分楽しめています!

2024年1月まではAUTOMATIC1111というWebUIで使用していたのですが、そのときは生成にかかる時間が今よりも3倍ほどかかっていました

その頃は新しいグラボが欲しくてほしくてたまらなかったのですが、新しいWebUI、Forgeが公開されて乗り換えてからは当分の間はRTX3060Tiでいいかという気持ちになりました。

おそらくStable Diffusionを使うというだけれあればRTX3060の方が向いているのですが、「ゲームもやりたいから3060よりも少し高性能の方がいい!」という方はRTX3060Tiを選んでも問題ないかと思います。

しっかり悩んで後悔のない選択をしてくださいね!

コメント

タイトルとURLをコピーしました