Stable Diffusionを高速化する方法!設定・おすすめ拡張機能まで徹底解説 | romptn Magazine

Stable Diffusionを高速化する方法!設定・おすすめ拡張機能まで徹底解説

Stable Diffusion

Stable Diffusionは高品質な画像を生成できる一方で、処理に時間がかかることも多いですよね。特に複数枚の画像を生成する場合や高解像度の画像を作成する際、待ち時間が長くなると作業効率が大幅に下がってしまいます。

この記事では、Stable Diffusionの生成速度を劇的に改善するための最新技術や設定方法を、初心者の方にも分かりやすく解説します。グラフィックボードの性能に悩んでいる方も、設定の最適化で驚くほど作業効率が上がるかもしれません!

今回の記事で分かること
  • Stable Diffusion高速化のための基本的な設定
  • xformers機能による高速化の方法
  • LCM・Turbo・Lightning・Hyperについて
  • TensorRTを使った高速化方法
  • Stable Diffusionの拡張機能による高速化方法
  • 環境ごとのおすすめ高速化方法
  • 高速化のための追加のポイント6選!

※Stable Diffusionの基本的な使い方については、下記記事で詳しく解説しています!

スポンサーリンク

Stable Diffusion高速化のための基本的な設定

Stable Diffusionを高速化するには、まず基本的な設定から見直していくことが重要です。

ここでは、誰でも簡単に実践できる基本的な高速化テクニックを紹介します。

Stable Diffusion Web UIの起動オプションで高速化する方法

Stable DiffusionのWebUIを起動する際のオプション設定を変更するだけで、大幅な高速化が期待できます。

Webui-user.batファイルの編集:<stable-diffusion-webuiフォルダ>内の<webui-user.batファイル>をメモ帳などで開き、以下のように編集します。

set COMMANDLINE_ARGS=--xformers --opt-sdp-attention

これにより、xformersという高速化機能が有効になり、メモリ使用量を抑えながら処理速度を向上させることができます。

xformersについては、後ほど詳しく解説します。

低VRAMモード設定:VRAMが少ない環境では、以下のように設定するとメモリ不足エラーを避けられます。

set COMMANDLINE_ARGS=--medvram --xformers

さらにVRAMが制限されている場合は、<--lowvramオプション>も使えます。ただし、処理速度は若干落ちるため注意が必要です。

NVIDIAドライバーのVRAMオフロード設定:NVIDIA GPUを使用している場合、ドライバーの設定を変更することで性能を改善できます。

手順は、以下の通りです。

  1. NVIDIAコントロールパネルを開く
  2. 「プログラム設定」でpython.exeを選択
  3. 「CUDA – Sysmem Fallback Policy」を「Prefer No Sysmem Fallback」に設定

この設定により、VRAMオフロードが無効になり、Stable Diffusionの処理速度が向上します。

Stable Diffusion Web UIの設定を最適化する方法

Stable Diffusion WebUI上での設定も画像生成速度に大きな影響を与えます。

モデルとVAEをRAMにキャッシュ:RAMに余裕がある場合、「Settings」→「Stable Diffusion」で以下を設定します。

  • 「RAMにキャッシュするモデルの数」を1以上に設定
  • 「VAE Checkpoints to cache in RAM」も同様に設定

これにより、モデルやVAEのロード時間が短縮され、継続的に使用する場合に効果的です。SDXLのモデルは最大10GB程度なので、32GB以上のRAMがあれば十分活用できます。

生成パラメータの最適化:以下の設定を行ってください。

  • サンプリングステップ数:20〜30が一般的ですが、画質と処理時間のバランスを考慮して調整
  • バッチサイズ:生成枚数を減らすと処理が速くなる
  • 解像度:小さいサイズで生成してから拡大する方法が効率的

不要な自動保存を無効化:「Settings」→「画像/グリッド画像の保存」で、グリッド画像の自動保存を無効にすると、ストレージへの書き込み時間を短縮できます。

Stable Diffusionの画像生成を最速で学びたいあなたへ!
  • Stable Diffusionの基礎を2時間でマスター!
  • 高スペックPCがない方向けに徹底解説。
  • ControlNetなど、必須級の拡張機能も網羅。
  • 今話題のSDXL、AI動画生成も。
  • 特典として、大人気「おすすめ拡張機能・モデル解説」「プロンプト大全」つき!
\このボタン限定!70%オフキャンペーン実施中!/
70%オフキャンペーン実施中!/

xformers機能による高速化の方法

xformersは、Stable Diffusionの画像生成を高速化する効果的な方法の一つです。

xformersを有効化にすることで、主に2つの効果を得ることが出来ます。

  • 画像の生成速度をアップしてくれる(環境によっては2倍以上も)
  • VRAMの使用量を抑えられる

Stable Diffusionでは、ランダムに画像が生成されるため自分の納得する画像にたどり着くまでに何度か生成することがあると思います。

しかし、xformersを使用することで画像生成にかかる時間を加速してくれるだけでなく、作業の効率化につながります。

xformersを有効にする方法

xformersは、Stable Diffusionにもとから備わっているものですが、初期状態では無効になっているので、このxformersを有効化する必要があります。

なぜ無効になっているかというと、すべてのGPUに対して絶対的な互換性があるわけでなく、高解像度・高画質の画像を生成すると逆にVRAM(メモリ)の使用量が大幅に増えてしまう可能性もあるからです。

それでは、xformersのインストール・有効化する方法を解説していきます。

【準備①】torchのバージョンを確認する

Stable Diffusionで「xformers」を有効化する前に、torchのバージョンを確認する必要があります。

torchとは、機械学習ライブラリ・科学計算フレームワークのことで、GPUを利用する機械学習のために幅広いアルゴリズムを提供するものです。

torvhのバージョンに対応するxformersのバージョンは以下の通りです。

  • torchが「1.x」系バージョン:xformersは「~0.0.16」
  • torchが「2.x」系バージョン:xformersは「0.0.17~」

※2023年5月以降にStable Diffusion Web UIをインストールした方は、torchのバージョンがデフォルトで2.0.0になっています。

バージョンの確認方法は、下記画像の箇所で確認することができます。

torchとxformersのバージョンが対応していない場合は、torchをアップデートしましょう。

torchのアップデート方法

①「Stable-Diffusion-webui」フォルダ内の下から2つ目にある「webui-user」ファイルを右クリックして、編集を押します。

②メモ量が出てきますので、「set COMMANDLINE_ARGS=」のあとに

reinstall-torch

と入力し、さらに続けて

set TORCH_COMMAND=pip install torch==2.0.0 torchvision --extra-index-url https://download.pytorch.org/whl/cu118

③「ファイル」→「上書き保存」をクリックして、ファイルを開くとtorchがアップデートされます。

【準備②】バックアップをとる

xformersをインストールする前に、バックアップを取りましょう。

環境によってはエラーが起きたり、今後のアップデートで何か問題が発生してしまう可能性もあるからです。

バックアップの取り方を説明していきます!

「stable-diffusion-webui」フォルダの下から2つ目にある「webui-user」ファイルをコピーして、ファイル右側など空白の部分にペーストします。

するとコピーしたファイルの上に「webui-user-コピー」というファイルが作成されますので、お好きな名前(分かりやすいもの)に変更します。

こちらでバックアップは完了です!

xformersのインストール方法

ここからは、xformersの導入方法について解説していきます。

1.webui-user.bat を開く

2.xformersをインストール&保存

3.webui-user.batを起動して確認

stable-diffusion-webuiから

webui-user.bar』を右クリック →(Windowsの方は その他のオプション)→「編集」を選択する。

次に『set COMMANDLINE_ARGS=』の後に『‐‐xformers』と入力してください。

入力したらファイルから保存をし、webui-user.bat を起動する。

Launching Web UI with arguments:–xformers 」となっていればインストール完了です。

xformarsを使用しない時は、先ほど入力した『‐‐xformars』を削除して保存してください。

NVIDIA系のGPUを搭載してあることが重要です。このGPUを搭載していない場合(MacBook 等)は、xformersを利用することが出来ないことがあります。

※さらに詳しい使い方や注意点については、下記記事を参考にしてください!

プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。

【最新の高速化技術!】LCM・Turbo・Lightning・Hyperについて

2023年後半から2025年にかけて、Stable Diffusionの高速化技術は劇的に進化しているんです!

LCM(Latent Consistency Model)

LCMは2023年10月に登場した高速化技術で、少ないステップ数でも高品質な画像を生成できます

特徴内部の拡散プロセスを確率フロー常微分方程式の解を予測する形式に変換し、
反復回数を大幅に削減
使い方LCM-LoRAをLoRAフォルダに配置し、以下の設定で使用する。
・CFG: 1〜1.5
・Steps: 6〜8
・Sampler: lcm
・Scheduler: sgm_uniform
生成速度通常の3〜5倍程度の高速化が可能
ダウンロードhttps://huggingface.co/latent-consistency/lcm-lora-sdv1-5

SDXL用とSD1.5用の両方が提供されていますが、ファイル名が同じなので注意が必要です。

Turbo

Stability.aiから2023年11月に発表された高速化モデルで、1ステップでの画像生成を実現しています。

特徴Adversarial Diffusion Distillationという蒸留方法を使用
使い方・Steps: 1〜4
・CFG Scale: 1〜2.5
・画像サイズ:512×512(推奨)
生成速度1秒未満での画像生成も可能
注意点画質とのトレードオフが大きく、細部の描写が甘くなりがち

※詳しくは、下記記事を参考にしてください!

Lightning

ByteDanceが2024年2月に発表した技術で、Progressive Adversarial Distillationを採用しています。

特徴教師モデルが複数ステップで推論した結果を、
生徒モデルが1ステップで直接推論できるように訓練
使い方・CFG: 1〜3
・Steps: 1, 2, 4, 8(LoRAごとに最適なステップ数が異なる)
・Sampler: euler
・Scheduler: sgm_uniform
生成速度4ステップで数秒程度
注意点LCMよりもディテールが保持される傾向にある

Hyper

2024年4月にByteDanceから公開された最新の高速化技術です。

特徴Trajectory Segmented Consistency Distillationを採用し、
人間のフィードバックを学習に取り入れたもの
使い方・CFG: 1〜8(CFG preservedモデルなら高めでもOK)
・Steps: 4, 8, 12(LoRAファイル名に従う)
・Sampler: euler
生成速度8ステップで従来の20ステップより高速かつ高品質
優位点高CFGでも破綻しにくく、バランスの良い画質と速度を実現

ここまで紹介したものを比較すると、用途によって最適なものが異なりそうですね。以下を参考にしてみてください!

  • 最高速重視:Turbo
  • バランス重視:Hyper(8step)
  • SD1.5安定性:LCM
  • SDXL高品質:Lightning(4step)

TensorRTを使った高速化方法

NVIDIAが提供する高速化技術「TensorRT」は、Stable Diffusionの生成速度を2倍程度向上させることができるツールです。

SD1.5では約2倍、SDXLでも30%程度の高速化が可能となっていますが、以下のような制限事項があるので注意が必要です。

  • ControlNetやFreeUなどの一部拡張機能と互換性がない
  • 解像度が64の倍数でないと正常に動作しない
  • 複数のLoRAを同時使用できない

それでは導入方法を紹介していきます!

TensorRTの導入方法

「Stable-Diffusion-WebUI-TensorRT」をインストールするために、「Extensions」タブからInstall from URLを開きます。

URL for extension’s git repositoryに下記のアドレスを張り付けて、Installボタンをクリックしてます。

https://github.com/NVIDIA/Stable-Diffusion-WebUI-TensorRT 

次にInstalledで「Apply and restart UI」 ボタンをクリックして適用して再起動します。

念のため再起動後、一度Webとコマンドプロンプトを停止し、Stable Diffusion web UI自体を再起動させて下さい。

再起動時、下記のようなエラーが出た場合は何度か「OK」を押すと起動できます。

「TensorRT」というタブが追加されていれば、正常にインストールされた証拠です。

もし項目が出てきていないときは再起動ができておらず反映がされていないか、インストール途中でエラーになっている可能性がありますので、再起動とコマンドプロンプトの確認をしてください。

TensorRTは、特に同じモデルで大量の画像を生成する場合に効果的ですが、多機能性よりも速度を重視する場合の選択肢となります。

※詳しい使い方については、下記記事を参考にしてください!

Stable Diffusionの拡張機能による高速化方法

Stable DiffusionにはToMeなど、画像生成速度を向上させるための様々な拡張機能が存在します。

ToMe (Token Merging)

ToMeは「Token Merging」の略で、冗長なトークンを除去して処理を効率化する技術です。

では早速、「ToMe」の導入方法について解説していきます。導入は以下の手順を踏むことで可能です。

  1. Stable Diffusionを起動し「Extensions」タブを開く
  2. 「Install fromURL」をクリックする
  3. 「URL for extension’s git repository」に「https://github.com/SLAPaper/a1111-sd-webui-tome」と入力する
  4. 「Install」をクリックする

以下の手順で「ToMe」のインストールが完了したら、Stable Diffusionを再起動してください。

そうすることで、「ToMe」の使用が可能になります。

Stable Diffusionを再起動した際、「Seed」という項目の下に「Enable ToMe optimization」と記載されていれば、正常にインストールされていることになります。

拡張機能「ToMe」の使い方

ここからは、「ToMe」の具体的な使い方について解説していきます。

「ToMe」の使用手順は、以下のとおりです。

  1. Stable Diffusionを起動し、「Settings」タブを開く
  2. 「ToMe Settings」をクリックする
  3. 「ToMe merging ratio」を設定する
  4. 「Only activate tome if image width reach this value」を設定する
  5. 「Only activate tome if image height reach this value」を設定する
  6. 「txt2img」タブか「img2img」タブを開き、「Enable ToMe optimization」にチェックを入れる

また、上記の手順に記載したとおり「ToMe」を使用するにあたって設定が必要なパラメーターは、

  • 「ToMe merging ratio」
  • 「Only activate tome if image width reach this value」
  • 「Only activate tome if image height reach this value」

の3つとなります。

※ToMeの詳しい使い方については、下記記事を参考にしてください!

その他の高速化拡張機能

他にも、以下のような拡張機能がありますので、気になる方は試してみてください。

  1. ComfyUI-TeaCache ComfyUI用のカスタムノードで、キャッシュ機能を使って生成速度を向上させます。特にFLUX.1などの重いモデルで効果的です。
  2. Comfy-WaveSpeed こちらもComfyUI用のカスタムノードで、torch.compile技術を利用してさらなる高速化が可能です。20ステップの生成が約60秒から50秒台に短縮できます。

環境ごとのおすすめ高速化方法

環境によって最適な高速化方法は異なりますので、GPUごとの推奨設定をまとめてみました!ぜひ参考にしてください。

NVIDIA GPUユーザー向けの設定方法

  1. RTX 30シリーズ/40シリーズ(12GB以上)
    • xformers + TensorRT + Hyper(8step)の組み合わせが最も効果的
    • RAMが32GB以上ある場合はモデルとVAEのキャッシュを有効化
  2. RTX 20シリーズ以前、または8GB以下のVRAM
    • xformers + LCM-LoRA + --medvramオプションの組み合わせ
    • 高解像度画像は低解像度で生成後にアップスケーリングを推奨

AMD/Intelグラフィックユーザー向けの設定方法

  1. AMD Radeonシリーズ
    • SPADオプション: --opt-sdp-attentionを追加
    • DirectML対応のWebUI Forgeを使用
    • LCM-LoRAまたはLightningで高速化
  2. Intelシリーズ
    • --opt-sdp-attentionオプションの追加
    • 低解像度生成と外部ツールでのアップスケーリング

Macユーザー向けの設定方法

Macでは、MPS(Metal Performance Shaders)を活用する設定が効果的です。

set COMMANDLINE_ARGS=--precision full --no-half --use-cpu interrogate

また、Macでは以下の高速化も有効です。

  • MichengTensor用のCoreMLモデル変換ツールの使用
  • LCM-LoRAとTurboの活用
  • ComfyUIの利用(WebUIより効率が良い場合あり)

高速化のための追加のポイント6選!

細かな設定や工夫で、さらなる高速化が可能です。

  1. Windows電源設定の最適化 電源プランを「高パフォーマンス」に設定することで、CPUとGPUのパフォーマンスを最大化できます。
  2. NVIDIAコントロールパネルの設定
    • 「電源管理モード」を「最大パフォーマンス」に設定
    • 「垂直同期」を「オフ」に設定
  3. Windowsのビジュアルエフェクト最適化
    • システムのプロパティ → パフォーマンス → 「パフォーマンスを優先する」を選択
    • HDR機能をオフに設定
  4. プロンプトの最適化
    • 短く具体的なプロンプトを使用
    • 不要なキーワードは削除し、必要最小限に
  5. Hires.fixの効率的な使用
    • Hires.fixを使う場合は、Denoising strengthを0.4程度に設定
    • 初期解像度を低くし、upscaleを2倍程度に設定
  6. バッチ処理の工夫
    • 複数画像をバッチで生成するか、1枚ずつ速く生成するかの選択
    • VRAM使用量とのバランスを考慮

まとめ

いかがでしたでしょうか?

Stable Diffusionを高速化する方法について、基本設定からポイント・コツまで幅広く解説してきました。

この記事で紹介したことをまとめると次のようになります。

  • xformersはNVIDIA GPUで劇的な高速化が期待できる(AMDやMacは非対応)
  • Hyper、Lightning、LCM、Turboなど新しい高速化技術が続々登場している
  • TensorRTを使うと生成速度を約2倍に向上できるがいくつか制限がある
  • モデルとVAEをRAMにキャッシュすることで読み込み速度を改善できる
  • GPU環境によって最適な高速化手法が異なる

画像生成AIの作業速度に悩まされている方や、より効率的に進めたい方にとって、かなり役立つ情報だったのではないでしょうか?

ぜひ、ご自身の環境に合わせて最適な高速化設定を試してみて、快適なStable Diffusionライフを楽しんでください!