1. はじめに
Stable Diffusion は拡散モデルに基づく画像生成技術であり、テキストから高品質な画像を生成できます。CG、イラスト、高解像度の壁紙など、さまざまな分野に適しています。
しかし、計算プロセスが複雑なため、Stable Diffusion の画像生成速度がボトルネックになることがよくあります。この問題に対処するため、novita.ai では、Xformers、Aitemplate、TensorRT、OneFlow といった加速手法の比較テストを実施しました。
本記事では、これらの加速手法の原理とパフォーマンステストの結果を紹介し、コストパフォーマンスを考慮したグラフィックボードの選び方について考察します。これにより、導入時の判断材料を提供します。
テスト結果によると、OneFlow は RTX 3090 上で Xformers と比較して 211.2% の速度向上、RTX 4090 上でも 205.6% の速度向上を達成しました。Stable Diffusion を導入する際には、RTX 3090 が推奨される GPU です。

2. 加速スキームの原理と特性の比較
まず、Stable Diffusion の高速化に使用できる各手法を整理しました。

今回の加速スキームとして、Xformers、Aitemplate、TensorRT、OneFlow を選択しました。NvFuser は原理的に Xformers と同様であり、FlashAttention 技術を使用しています。DeepSpeed と colossal は主に学習の高速化を目的としており、OpenAI Triton はモデルデプロイメントエンジンであり、バッチサイズの高速化には適していますが、モデル最適化レイテンシのシナリオには適していません。そのため、これらは比較対象から除外しました。
今回は、WebUI の基本スキームと 4 つの加速スキーム(Xformers、Aitemplate、TensorRT、OneFlow)の性能を、さまざまな GPU 上でテストしています。
Aitemplate の加速効果の評価には VoltaML を使用し、Xformers の加速効果の評価には Stable Diffusion WebUI、TensorRT の性能評価には公式 TensorRT サンプルを使用し、OneFlow は Diffusions に統合してその加速効果をテストしました。

3. 加速スキームのテスト
次に、関連するテスト設定を示し、実際のテスト結果を共有します。
3.1 テスト環境
今回のテストでは、パフォーマンス指標として 1 秒あたりのイテレーション数(its/s)を使用します。
画像設定: 512*512、ステップ数 100
プロンプト: A beautiful girl, best quality, ultra-detailed, extremely detailed CG unity 8k wallpaper, best illustration, an extremely delicate and beautiful, floating, high resolution.
ネガティブプロンプト: Low resolution, bad anatomy, bad hands, text error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, bad feet, fused body.
サンプラー: Euler a
モデル: Stable Diffusion 1.5
3.2 テスト結果
一連のテストの結果、各 GPU でのパフォーマンステスト結果は以下の通りです。

上の表から、加速の比較は次のようになることがわかります。OneFlow > TensorRT > Aitemplate > Xformers。
OneFlow は RTX 3090 上で Xformers と比較して 211.2% の相対速度向上、RTX 4090 上でも 205.6% の速度向上を達成しています。

4. GPU 性能とコストパフォーマンスの比較
さまざまな GPU についてコストパフォーマンス分析を行いました。結論は以下の通りです。
結論 1: コストパフォーマンスの観点からは、RTX 4090 が最も高い価値を提供します。
結論 2: 非常にローエンドの GPU は全体のコストを増加させる可能性があります。RTX 2080Ti は、初期の大きな投資と全体的なコストのバランスを取る選択肢となり得ます。
結論 3: 最もパフォーマンスが低いGPU
今回のテストでは、メモリ容量が 6GB を超えるいくつかのローエンド GPU を選択しました(M60、1660s、1080 など)。
1660s や 1080 などの GPU は、TensorRT、Aitemplate、OneFlow といった加速スキームをサポートしていません。これは、メモリ不足または GPU の非互換性が原因と考えられます。
これらのうち、1660s(1080)は 512*512 画像生成(ステップ数 20)で 2.61 it/s(2.64 it/s)、所要時間 7.66 秒(7.57 秒)を達成しており、ある程度実用可能です。
一方、M60 は 1.27 it/s、512*512 画像生成(ステップ数 20)に 15.74 秒を要し、実用性は低いと言えます。


5. 選択の推奨
5.1 RTX 4090 は最も高いコストパフォーマンスを提供しますが、導入には RTX 3090 を推奨します。
例えば、runpod テストを使用して各 GPU の「1 ドルあたりのイテレーション数」を計算することで、GPU のコストパフォーマンスを評価できます。
同じような稼働率の条件下では、RTX 4090 は RTX 3090 よりも高いコストパフォーマンスを示しています。さらに、RTX 3090 は同じレベルの他の GPU(A5000、A4000 など)を上回っています。

Stable Diffusion モデルに RTX 4090 を選択するかどうかは、具体的な状況によります。
- 実際のコストパフォーマンスは、稼働率(1 時間あたりの使用時間 / 60 分)× its/$ によって決まります。サービス形態と推定稼働率によって異なります。RTX 4090 の稼働率が RTX 3090 の約 2 倍に相当する場合、RTX 4090 のコストパフォーマンスは高くなります。しかし、2 台の RTX 3090 をデプロイした方が、同時処理能力とリクエスト処理能力が向上し、稼働率が高くなる場合は、RTX 3090 の方が適している可能性があります。稼働率は具体的なシナリオに基づいて分析する必要があります。
- its/$ は推論性能を表します。一方、大容量の VRAM により、より多くのモデルをキャッシュでき、モデル読み込み時間を削減し、画像生成プロセスを大幅に高速化できます。RTX 3090 と RTX 4090 はともに 24GB の VRAM を搭載していますが、Stable Diffusion WebUI が VRAM 使用量に基づいて最適化されている場合、VRAM コストの面では RTX 3090 が有利かもしれません。
- 推論速度を最優先する場合、RTX 4090 が最良の選択です。推論時間は RTX 3090 の約半分です。
これは、https://timdettmers.com/2023/01/30/which-gpu-for-deep-learning/ の知見とも一致しています。GPU の詳細データについては、以下のグラフを参照してください。

処理チェーン全体の中で GPU 時間が占める割合が小さい場合は、RTX 3090 の代わりにやや性能の低い GPU を選択することも可能です。これには、A5000、A10G、RTX 3080、RTX 3080Ti、RTX 2080Ti などが含まれます。
ご質問がある場合や、Stable Diffusion のさらなる高速化オプションを検討したい場合は、Discord でお気軽にお問い合わせください。
novita.ai とともに Stable Diffusion の可能性を探求しましょう!
novita.ai は、Stable Diffusion API と、10,000 モデルに対応する数百の高速かつ低コストな AI 画像生成 API を提供しています。🎯 最短 2 秒で生成可能、従量課金制、標準画像 1 枚あたり最低 $0.0015、独自モデルの追加が可能で、GPU メンテナンスは不要です。オープンソースの拡張機能を自由に共有できます。
おすすめ記事
