Vast.aiのGPUクラウドにて片っ端から同じディープフェイクのリポジトリをインストールして同じ動画と同じ顔写真を使って変換速度をグラボ1枚1枚測ってみた。
stable diffusionのグラボのパフォーマンスデータはいくつかあるがディープフェイクについては見当たらなかったので比較表を作成した。
GPUクラウド: vast.ai
OS: ubuntu 20.04 vast.ai提供のdockerを使用
実行リポジトリ: roop
Cuda compilation tools, release: 11.7
使った動画: 多人数がダンスしている29.97fpsで26sの動画※
※著作権があるため非公開
使った写真:stable diffusionで作成
変換:20名以上の全ての顔を一括変更、比較的重い処理
方法: インスタンス(グラボ)あたり何度か26秒の動画の顔入れ替えを実施する。
完了時の変換FPS速度をグラボのパフォーマンスとする。
VRAMをどの程度使うかによってパフォーマンスに影響するため実行時スレッド数を8本から徐々に増やしながらVRAMの使用量を観察しつつGPUの使用量がマックスになるよう調整して何度か実施した中の一番成績のいいデータをピックアップした。
vast.aiにかかった費用: 約3ドル
結果
当初は1回の環境構築に1時間近くかかっていたのでこれほど計測するつもりはなくグラボの買い替えの参考にRTX3080とRTX4080あたりのデータが欲しかった。
インストールするツールやリポジトリやドライバーなどを極力抑えつつテンプレートのLinux起動から実行まで10分に短縮できたので12枚のグラボで計測することができた。
RTX2060はローカルのグラボなのでOSがWindowsでcuddnやCUDAのバージョンが異なるため参考程度となる。
それでもRTX3060に近い能力なのでそれなりにいい数値だ。
さすがに業務用のA6000やA5000やRTXシリーズのハイエンドは強力だ。
但しこのAIリポジトリではVRAMを18GB以上使っても逆にパフォーマンスが下がっていくため48GBとか24GBを使い切ることはできなかった。
トップのRTX3090は少しデータがおかしい気がするが他のグラボは能力+VRAM容量が順当に数字に現れているようだ。
トップのRTX3090が非常に高いのは搭載しているAMDスレッドリッパーによるものだろう。
stable diffusionに比べてディープフェイクの顔書き換えはCPU能力が速度に影響する。
ゲーム> ディープフェイク>stable diffusion、言語系AI
という順でCPUのボトルネックが発生しやすいと考えている。
裏付けるようにもう一つのXeonで稼働しているRTX3090はRTX4080よりも遅い。
これが順当なデータだ。
RTX4090にスレッドリッパー積んだインスタンスが見つかれば試してみたかった。
RTX3080Tiが遅いのもCPU能力不足だろう。
i7-6700が搭載されておりi7なのでそこそこ速いと勘違いしていたが第6世代と古くpassmarkでも手持ちのi3の半分近い。
RTX3070がRTX3060に比べて遅いのはVRAM不足が影響している。
デフォルトのスレッド8本では変換が完走しなかったため6本に減らして実行した。
RTX1070もテストを試みたがリポジトリのインストールでつまずいた。
RTX2080Tiについてはそれ以前のOSを起動してsshで接続できないので諦めた。
FLOPSから考えるとRTX4090はRTX3060の6倍の能力が出てもおかしくないはずだが実際には3倍も出ていない。
stable diffusionで高画質画像の同グラボ同士の比較だと約5倍の差が出るようなのでここからもよりCPUの影響を受けやすいといえる。
vast.aiのレンタル費用はstable diffusionでの能力+VRAMが24GB以上に付加価値でA6000やA4000やRTX40シリーズ上位がお高めに設定されている。
一方でRTX30シリーズ上位はstable diffusionではRTX40上位に遅れを取るためか比較的リーズナブルな価格設定だった。
CPUはレンタル代にあまり影響をしないのでディープフェイク目的でレンタルするならRTX3090でハイエンドCPUを狙うのがよさそうだ。
時間あたりの料金は能力だけでは無く人気などにより変動するので一概には言えないがRTX3090のインスタンス単価は33円/hで、自宅でフル稼働させても1時間で20円以上電気代がかかるのでかなりお得だ。
もちろんstable diffusionで高画質を扱うならRTX4090は RTX3090の約倍の性能が出るのでコスパよく大量に画像を生成したいならRTX4090だろう。
購入を検討していたRTX4070はvast.aiに無かったので速度検証はできなかった。
RTX3080とRTX4080の間くらいの数字になると推測できるので手持ちグラボの2倍そこそこだ。
そのために9万円出すのはもったいないしGPUクラウドで十分だとわかったので買い替えはやめる。
といいつつ事情が変わりRTX4070を買ってしまう。