こんにちは!悠です!
2023年5月28日にリリースされた「Stable Diffusion WebUI」のVer1.3.0で、SettingsタブにOptimizationsの設定が追加されました。
そこで今回は、このOptimizationsの設定で追加された高速化の手法を全て試して、どれが一番早いのか比較してみたいと思います。
Optimizationsの種類
v1.3.0で追加されたOptimizationsの種類は次の8個です。
- Automatic
- xformers
- sdp-no-mem
- sdp
- Doggettx
- sub-quadratic
- V1 – original v1
- InvokeAI
Automaticを選択すると、webui-user.batのCommandline Agesに設定したオプションが使われるようです。
sdpとsdp-no-memに関しては下の記事で紹介しているものですね。RTX30XX以上ではxformersより高速化できるといわれています。

Doggettx以下に関しては、詳細は正直よくわかりません。
InvokeAIは、AUTOMATIC1111と同じく画像生成をUIで行うことができるソフトウェアのようなので、そういった技術を使ったものなのかな?と想像しています。
下のOptimizationsのページにこれらの説明がちょっとだけ載っています。
Optimizationsの比較
txt2imgタブで画像を1枚生成するのにかかった時間(Time Taken)で、各Optimizationを適用した際の生成速度を簡単に比較していきます。
モデルには「Yuzu」を使用し、下記のプロンプト(MajinAIを参考にさせていただきました)で画像を生成します。
masterpiece, best quality, absurdres, highres, 1girl, solo, cowboy shot, himecut, traditional japanese clothes, praying, red eyes, standing, cartoon style, joe fenton, a black and white photo of deadpan, camping, unbecoming, gnawling, envy, Ghast (Lovecraftian),calm, soft smile,
(worst quality, low quality:1.4), (monochrome, greyscale:1.4), nude, bad anatomy, logo, EasyNegative, text, watermark, bad_prompt_version2

生成される画像の例
Seed値を固定した場合、全てのOptimizationでほぼ同じ画像が生成されました。
全7種のOptimizationsによるTime Takenの比較は次の通りです。なお、Batch sizeは1です。
- xformers(Time Taken: 22.60s)
- sdp-no-mem(CUDA out of memory)
- sdp(Time Taken: 24.48s)
- Doggettx(Time Taken: 30.05s)
- sub-quadratic(Time Taken: 27.80s)
- V1 – original v1(Time Taken: 31.03s)
- InvokeAI(Time Taken: 25.31s)
私の環境ではxformersの圧勝でした。やっぱりロースペックGPUはxformers一択のようですね。
Token merging ratioについて
Optimizationsの項目では、Token merging ratioという機能も追加されています。
前々から要望があったようで、下の記事で紹介した「ToMe」という拡張機能がついにWebUI本家にマージされたようです。

詳しくは上の記事を参考にしていただきたいんですが、無駄なトークンを統合して生成時間を高速化する技術です。xformersとも併用ができます。
ただ本家の拡張機能と違い、WebUIに内蔵されたものは0.3程度でも結構画像の雰囲気が変わってしまう印象を受けました。

これはモデルやプロンプトの影響も大きそうなので、一概には言えませんけどね。
以下xformersとToken merging ratioを併用した際の参考画像です。
【Token merging ratio: 0】
【Token merging ratio: 0.3】
【Token merging ratio: 0.5】
まとめ
以上が「Stable Diffusion WebUI」のVer1.3.0で、Settingsタブに追加された各Optimizationsの比較でした。
ちなみに1.2.1から1.3.0にアップデートしても、私の環境では特に拡張機能等の不具合は生じませんでした。

結構安定したバージョンだと思います!
では、ここまで読んでいただきありがとうございました。
コメント
Stable Diffusionを新規で作るとCross attention optimizationのリストにxformersが無いんですが
xformers使いたかったら今まで通りCommandline Agesに追加して一度インストールしないといけないということですかね
こんばんはです!
そのチェックはしていませんでした!確かに初回起動時に、Commandline Agesに–xformersを設定していないと、xformers自体がインストールされない可能性がありますね!
複数回SDの新規作成を行っているんですが、毎回webui-user.batに–xformersを記載してから起動していたため完全に盲点でした!