見出し画像

Glaze 2.0 (2.1)とNightshade 1.0の演算処理用GPU導入と実測等備忘録

実測時間の記載に入る前に導入・購入その他で脇道にそれる長文がありますので、数値を見たい方は目次から各処理時間へ直接飛んでください

結論を書いてしまうと写真や描いたイラストに処理を施すことだけを考えれば、Glaze 2.0/Nightshade 1.0共にCPU処理からは考えられない1枚辺り2〜3分以内というごく短時間で処理が完了するので基本的にこのGTX 1060 6GBで必要十分です。後述しますがNightshadeはVRAM 6GBではいくつか条件があります。

(2024/06/20追記) Glaze 2.1がリリースされました。旧来の2.0より処理時間を1.2~1.3倍ほど要するようですが様々な修正や対応が行われているようです。付与されるノイズも1.1.1から2.0で大幅に目立たなくなっていましたが、今回も若干視覚的により分かりづらくなっているようです。


画像生成AI(俗に言うAIイラスト)が絡むデータ収集に対しての保護・学習阻害用にシカゴ大学で開発されたGlazeとNightshade。PCの汎用CPUを計算に用いる他、GeForceシリーズなどnVidiaのビデオカードに計算(GPGPU処理)を行わせることで高速化が可能とのことなので実行可能なビデオカードを導入してみました。実際どの程度の速度が出せるのか数値及び実測値その他諸々を載せていきます。

GlazeやNightshadeそのものに関しては公式及び解説がされている各サイトをご参照ください。
いずれ1つのソフトにまとまるという話もありますが、併用する際はNightshadeをかけてからのGlaze処理が推奨されています。

https://nightshade.cs.uchicago.edu/

ZOTAC GeForce GTX 1060 6GB

ZOTAC GeForce GTX 1060 6GB

この導入にあたって手を出したのが、7000円程で売りに出されていたZOTACのGeForce 1060 6GB3GBではありません6GBです。(大事なので2回言いました)

中古相場は2024/06現在、ソフマップ・じゃんぱらなどを見るに状態の良い品は9000~11000円といった所なので割とお買い得な品でした。これと言って異常もなく状態も非常によさそう(なぜか付いてくるとは思わなかった箱が若干ヤニ臭い気がするので風通しの良い場所に隔離)

後述しますが、調べた限り恐らくこのGTX 1060 6GBがGlaze 2.0とNightshade 1.0をGPU処理で動かす際の最低限の動作環境と思われます。その環境及び処理能力がどの程度か示すことに意義があると思いましたので今回はひとまずこちらをチョイス。

GTX 1060 6GBは補助電源が必要

GTX 1060 6GB マザーボードに装着の図+補助電源

TDP 120WのGeForce GTX 1060 6GBはPCI Expressの給電(75W)のみでは動作せず、PCI Express用の補助電源6pin(+75W)が必要です。オーバークロック版など製品によっては8pin仕様のものもあるかもしれません。グラボ右端が補助電源6pin挿入口。右下から伸びるのがPC電源からのPCIe 6+2pin (8pin)補助電源ケーブル。

補助電源挿入

このように6+2pinの6pin部分をしっかり挿し込みます。

GeForce 1060 6GB用ドライバソフト

こちらでGeForce 1060 6GBのWindows 10 64bit用ドライバを検索し、執筆時点で最新であった2024/6/4リリースらしき555.99をダウンロードしインストール。

CUDAtoolkitはいらない

GlazeとNightshadeのGPU処理にCUDAToolkitが必要との情報もありましたが、ドライバを導入し各ソフトウェアを起動するだけでGPUを認識しGPU処理で計算処理を行ってくれるようなのでCUDAToolkitは特に不要なようです。

中古製品を選ぶ場合の注意

https://www.janpara.co.jp/sale/search/result/?OUTCLSCODE=17&PRBFLT30_FILTER%5B%5D=11&ORDER=3

GeForce GTX 1060 6GBは2016年発売と2024年現在8年前の製品で新品流通は基本的にありません。入手は中古がメインとなるでしょう。

中古製品の購入にあたっては状態の説明をよく熟読する(ヤニ臭さ・ファン不良・高負荷時コイル鳴き等の注意事項がある場合もあります)、ないし実店舗で手にとって状態を確認するなどをオススメします。なお繰り返しになりますがGeForce GTX 1060には性能も異なる3GB仕様もあるので同GPUを選ぼうとする方は注意。恐らくGlaze・NS共に動きません。

GTX 1060 6GBを選んだ理由 - VRAM容量

GeForce GT 1030で起動した際のメッセージ

選択理由の1つとして、Nightshade 1.0がGPU処理の実行にVRAM(ビデオメモリ) を5GB以上要求することが挙げられます。CPU処理でもメインメモリを10GB程、GTX 1060 6GBを用いた場合でもVRAM容量の上限近い5.5~5.6GBもの膨大な量を使用するのです。
Glaze 2.0実行時のVRAM使用量は当環境で1.9GBでした。CPU処理では3~4GB程。

ただしこれもまた後述しますが、Nightshade 1.0をVRAM 6GB環境で動作させる際、そのまま同GPUをメインの映像出力用として用いる(=映像出力用にVRAMを500MB程度使用している)とNightshadeをフルに動作させるには微妙にVRAMが足りなくなる場合もあるようで、半端なCPU処理よりは圧倒的に高速なものの処理時間が若干増えます。

Glazeに関しては恐らく1.1.1ではVRAM容量4GBのGeForce 1050 Tiなどで動作している方もいらっしゃったようですが、同環境でGlaze 2.0がVRAM不足で動かなくなったという報告も目にしているので、推測を含みますがNightshadeに合わせて5GB以下の環境を弾いているのかもしれません(CPU処理の場合も8GB*1などで起動した際にメインメモリの空き残量が5GB以下だと弾かれる)。

その他の選択肢 -GeForce 1660シリーズは避ける

またVRAM 6GBと言えばGeForce 1660シリーズも該当しますが、GeForce 16xxシリーズでGlazeやNightshadeの処理を行った場合、正常動作には程遠い真っ黒な画像が出力されると言った不具合がある為、同シリーズは除外しています。
Glaze 2.0で正常に出力されたらしき報告もありますが、公式にはGeForce 1660/1650/1550で恐らく正常に動作しない旨での名指しをしたまま撤回していないのでなんとも言えません。(1550って何?)

その他の選択肢 - GeForce RTXシリーズ等

2024/06現在で中古相場11000~14000円のGeForce GTX 1070、同15000~19000円程のGeForce GTX 1080、17000~21000円程のGeForce RTX 2060 6GB辺りも考慮しましたが、これらはPCI Express補助電源8pin*1からの製品で、手持ちに6pinのみのPC電源が多いこと、そして補助電源6pin*1仕様でかつ最低動作環境とも言えるGTX 1060 6GBでの速度を計測して周知したかった事もあり今回は除外しました。

しかしVRAM 6GBではNightshade 1.0を高速に動作させるにはVRAM容量が極めてギリギリのようなので、電源容量と補助電源に問題がないようであれば(近似の価格帯であれば)GTX 1070/1080をオススメします。

また補助電源の不要な、新品でも27000円~33000円と言った辺りのGeForce RTX 3050 6GB、偶に特価で39000円程のRTX A2000も考慮しましたが、8GBも含めて3050の報告が乏しかったこと(おそらく動くはずですが全く見かけない)、A2000でNightshadeを動作させた際に途中で止まるという報告を見かけたことからこれも除外。

GeForce RTX 4060は40000円少々でかつワットパフォーマンスが非常に良好なので新品であれば一番有力に思えます。Glazeの動作報告は見かけましたがNightshadeは見られませんでした。
画像生成AIユーザー御用達のRTX 3060 12GBなどは4060と比べてあまりにワットパフォーマンスが悪すぎたのでこれもなし。

Nightshade 1.0の処理時間

Nightshade 1.0 (GeForce GTX 1060 6GBを認識している際の画面)
Nightshade 1.0 (Ryzen 5 5600G CPU処理の際のRender Qualityのおおよその値)

GeForce 1060 6GBにドライバを導入した状態でNightshade 1.0を起動、処理を行っている際の画面と、比較でCPU処理の際の数値部分をピックアップ。これはあくまでおおよその数値を表しているだけで実時間とはかけ離れているのですが、この大雑把な数値だけでもCPUとは隔絶した数字を見せてくれます。

1536x2048のイラストをNightshade 1.0で処理した際の計測速度

実際のLOW-Faster設定での処理時間がこちらとなりますが、5分半かかっている1つ目がブラウザなどを立ち上げてある程度VRAMを消費している(500MB)状態でNightshade 1.0を起動→処理を行った際。
当環境で最も高速なRyzen 5 5600Gで処理を行った際、SMT(IntelのHyper-Threading的な仮想コア技術)を有効にした状態で約28分、SMTを切った状態で約17分と想定されますが、その3分の1もの速度。圧倒的です。

しかしこのいわゆるPCの常用に近い状態ではNightshade 1.0を十分に動作させるには若干ビデオメモリが不足するらしく、顕著にわかりやすく開始直後に数秒で終わるような表示を行い、直後に残2分残3分と大きく変動するなどプログレス表示の数値が全く安定しません。
またワットモニターでシステム全体を計測すると消費電力が一定にならず、75~140W程をふらふらとGPUがフル稼働するにはネックがある状態となっているようです。
3DソフトやGPU支援を行うソフトウェアを起動しているとさらに消費が進み、試してはいませんが起動時に弾かれるかもしれません。ただその辺りの処理がザルなのか、NS起動後にGlazeを立ち上げて処理を行いVRAMが大幅に不足した場合でも更に不安定ながらも動きはします。

2つ目がPCを起動した直後でVRAMを200MBしか使っていない状態でNSを起動し処理を行わせた場合です。この状態からNSを実行すると5.6/6.0GBまでVRAM使用量が増加し、プログレス表示の進捗も1秒単位で推移するなど非常に安定した動作を見せもしますが、この状態でも若干プログレス表示が不安定になることもあるなど非常にギリギリな状態を思わせます。
画面解像度は1920x1080のフルHDでしたが、1280x800や1024x768などに変えてもVRAM使用量に大きな変動はないようです。

しかし開始のRun Nightshadeを押してから3分以内に処理が終わるなど、仮想コア有効の5600GのCPU処理の10分の1前述の常用状態での処理の2分の1と更に速い。
プログレス表示が安定している状態では150W近くで消費電力も安定し、効率よくGPU処理が行われていることが伺えます。

そして3つ目がGTX 1060 6GBで映像出力を行わず、BIOSで映像出力を内蔵のIntel HD 630に行わせた状態です。映像ケーブルは未接続。完全に演算用に徹する状態で、起動直後のVRAM消費は 0.0/6.0GBと欠片も使用されていません。
この状態でNightshadeを実行すると5.4/6.0GBまで増加し、プログレス表示には一切の乱れも無く、ほんの僅かですが先述の2つ目の状態より高速。5.5GBを超えた辺りで何かあるのでしょうか。

最低限の動作環境であるGeForce GTX 1060 6GBでボトルネックが生じてもなおCPU処理とは隔絶した相当な高速処理を見せてくれますが、増設したビデオカードで映像出力を行い、常用環境用に使うということであればVRAM 8GBのGTX 1070やGTX 1080の方が良いのかもしれません。
もしくは非常に微々たる差かつCPU処理と比べて隔絶した速度には違いないので気にしないのもありです。

Glaze 2.0の処理時間

Glaze 2.0起動/処理画面
Glaze 2.0 5600GでのCPU処理の際の表示

あまりあてにならないとは言え、大雑把な想定値がSlowestでも4分ととんでもない数値になっています。では実測。

Glaze 2.0 GTX 1060 6GBでの実測値

以前のGlaze 1.1.1に比べてCPU処理の際もプログレス表示までの推移が圧倒的に高速化したGlaze 2.0ですが、GTX 1060 6GBでは更に速かった。LOW-Faster設定で1536x2048のイラスト処理が全工程2分以内に終わってしまいます。

しかもGlaze 2.0はNightshadeに比べてメモリ使用量が圧倒的に少なく1.9/6.0GBしか消費しません。そのためその他のソフトを立ち上げての常用環境で実行してもボトルネックが発生せず、ほぼ常時爆速を維持できます。

Glaze 2.0 - CPU処理の場合

ちなみにRyzen 5 5600GでCPU処理を実行した際は、やはりSMTが有効で仮想コアが動いていると処理速度が低下します。6コア12スレッド中、大体7スレッド程しか動作しません。やはり1536x2048のイラストをLOW-Faster設定。SMT無効で約15分、SMT有効で約25分です。GTX 1060 6GBの処理時間は前者の8分の1、後者の13分の1程。
非常に近似した性能のCore i3-13100Fは4C8TですがIPCが5600Gより高いこともあって、Hyper-Threadingを切った4C4T状態で19分程です。

時にこのGTX 1060 6GBを搭載しているのはCore i3-7100マシンなのですが、これでCPU処理を行った際は、Power LimitをPL1/PL2ともに13Wに制限し2C4T 3GHz程で動作させた状態で驚愕の75分かかるようです。
例によってCPU処理はHyper-Threadingが有効だと処理速度が低下するので、PL制限を解除して仮想コアを切り2C2T 3.9GHz動作とした上で46分少々まで縮みます。

Glaze 2.1の処理時間

2024/06/20にリリースされたGlaze 2.1ではGlaze 2.0比で処理時間が1.2~1.3倍かかるようになりました。

Glaze 2.1 - GPU処理

上述の2.0でプログレス表示が成されてから処理が終了するまでの1:40に対して、1:58と18秒の増加。
消費電力の低減にMSI Afterburnerを用いてPOWER LIMIT 50%、それを補うためのCORE CLOCK+200MHzした状態ではGlaze 2.0で2:05 (125秒)掛かっていた所が2:37 (157秒)と32秒増加しています。概ね1.2倍少々増加する傾向のようです。

Glaze 2.1 - CPU処理

  • アスペクト比 1:1 53:53→59:20 (1.1倍増)

  • アスペクト比 3:4 26:46→32:04 (1.19倍増)

CPU処理の場合は1秒単位でプログレス進捗が行われる、ほぼ実時間に等しいGPU処理と違って若干振れ幅があると思われるので参考程度に。1.1~1.2倍程度の数値が予想されるようです。

総評 - GTX 1060 6GBを試してみて

最低動作環境と言える2024年現在で8年前の品であり、7000円というお手頃価格で手に入ったGTX 1060 6GBでここまでの速度が出せるとは正直思いませんでした。

GTX 1060や上位のGTX 1070で処理に10分少々かかる(恐らくRender QualityがSlowestとか、VRAM不足だったのではと推測)といった散文を見かけていたので「(手持ち環境最速15分の)CPU処理よりほんの少し速いくらいで多少ワットパフォーマンスが上回るのかな?」程度に考え、上位の中古17000円〜のRTX 2060や現行品で40000円少々のRTX 4060を視野に入れていたのですが、万単位のお金をかけてプログレス開始からの実処理時間2分以内のものを1分とか30秒にするのはコスパ悪いかなぁと裏付けが取れたのが大きな収穫。(性能的にはより縮む気もします)

GlazeとNightshadeに関してはCPU環境で様々な検証を行っているので、時間があればこの記事に追記ないし別エントリで投稿しようと思います。

Glaze 2.0のアスペクト比別処理時間

Nightshadeでは生じない現象ですが、Glazeではアスペクト比1:1(正方形)の画像を処理すると、1:2/2:3/3:4/9:16など縦長(ないし横長)の画像と比べて処理が倍ほどかかります。その点に付いていくつか上記エントリで個別にまとめてみました。

MSI Afterburnerで低発熱・省電力に

GlazeやNightshadeの演算用にビデオカードをGPGPU処理で用いると、本来の用途(?)であるゲーム時を遥かに上回るフルロードで常時稼働するため、消費電力と発熱(あとファン回転数)がかなりのものになります。
これをMSI Afterburnerというツールを用いることで電力制限をかけて発熱と消費電力を緩やかにしようというアレコレをまとめてあります。

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