AMD Radeon VII環境でStable Diffusionを使って画像生成してみた
2023-03-13旧世代のグラフィックボードではあるがVRAMだけを見れば現行製品に引けを取らないRadeon VII。入手することができたので、どこまでやれるのか試すことにした。
スペック
ここ参照。
VRAMがHBM2で実装されているので、GDDR実装の一般的なグラフィックボードと比較すると、メモリバス幅が広くメモリクロックが低いのが特徴。
どのメーカーもリファレンスモデルのみの販売だった。(オリファンモデルを見たことがない)
動画のフレーム補間技術Fluid Motionを使用できる最後のグラボとして、また仮想通貨のマイニングといった用途に重宝されていたようだ。もっとも後者は電気代の高騰もあったりしてほとんど下火だが…。
PC環境
眠っていたPCパーツにメモリとグラボを取り付けてUbuntuをインストールしただけのPC。
CPU | AMD Ryzen 7 1700 |
メモリ | DDR4-2400 32GB(8GB x 4) |
マザーボード | Fatal1ty AB350 Gaming K4 |
グラフィックボード | SAPPHIRE RADEON VII |
SSD(NVMe) | PX-256M9PeG |
無線LANアダプター | Archer TX3000E |
OS | Ubuntu 22.04.2 LTS |
NVMeへのUbuntuインストールは初めてだったが特に問題なし。 ただしTX3000Eは別途ドライバーをインストールしないと認識しないので注意すること。当初はエレコムのUSB接続の無線LANアダプターを使っていたが、SSH接続がよく切れて使い物にならなかったので変更した。まあ古いものだし多少は仕方ないよね。
Stable Diffusion導入
「Stable Diffusion Radeon」でググれば出てくるので割愛。
使用したリポジトリはこちら。
パフォーマンス確認
よく言及されているハローアスカベンチマーク(Hello Asuka Benchmark)はNovelAIのリークモデルを使用する必要がある。 そのリークモデルはµTorrentを利用して入手するらしいが、あまりこの手のソフトウェアはPCに入れたくないのでパス。
そこで、ちもろぐに掲載されている「Ayaka Benchmark」を採用しデータを取った。
設定
使用するモデル
AbyssOrangeMix2_nsfw
ポジティブプロンプト
masterpiece, best quality, soft lighting, absurdres, looking at viewer, solo, ponytail, kamisato ayaka, serafuku, kamisato ayaka (heytea), official art, official alternate costume, blunt bangs, hair bow, hair ribbon, red ribbon, school uniform, sailor shirt, sailor collar, pleated skirt, 1girl, skirt, black bow, cate, genshin,
ネガティブプロンプト
nsfw, (worst quality, low quality, extra digits, male:1.4), bad_prompt,
他設定
Sampling method | DPM++ 2M Karras |
Sampling steps | 20 |
Width | 512 |
Height | 768 |
Batch count | 10 |
Batch size | 1 |
CFG Scale | 7 |
Seed | 1091979662 |
測定結果
描画時間(Time taken):182.5s
普通に遅い。 Radeon RX 6700XTを少し上回るパフォーマンスだ。
高解像度の画像生成パフォーマンス
だが、Radeon VIIには16GBというVRAMを搭載している。これをフル活用するような設定ではどうだろう。
設定
使用するモデル
AbyssOrangeMix2_nsfw
ポジティブプロンプト
a photograph of an astronaut riding a horse
ネガティブプロンプト
nsfw, (worst quality, low quality, extra digits, male:1.4), bad_prompt
他設定
Sampling method | DPM++ 2M Karras |
Sampling steps | 20 |
Width/Height | 後述 |
Batch count | 10 |
Batch size | 1 |
CFG Scale | 7 |
Seed | 2382819807 |
WidthをHeightを徐々に上げ限界点を確かめる。
結果
Width | Height | 描画時間(Time taken) | Sys VRAM |
---|---|---|---|
512 | 512 | 58.7s | 2364/16368 MiB (14.44%) |
640 | 480 | 71.8s | 3158/16368 MiB (19.29%) |
800 | 600 | 137.7s | 3692/16368 MiB (22.56%) |
1024 | 768 | 349.6s | 3464/16368 MiB (21.16%) |
1280 | 720 | 304.9s | 3740/16368 MiB (22.85%) |
1280 | 768 | 強制終了 | 強制終了 |
16GBのVRAMでもHD以上の画像生成は無理そう。
まとめ
最初から分かり切っていたことではあるが、現状Radeonを選ぶ理由はない。 素直にGeForce RTX 3060の12GBを買おう。