Stable Diffusionでメモリ不足が発生!メモリー(VRAM)不足対策を紹介します

グラフィックボードの写真

はじめに

Stable Diffusionを使い始めたけどメモリ不足や、VRAMが足りない状態でエラーが発生したことはありませんか?

大丈夫です!

ちょっとした設定をするだけで問題なく画像生成ができるようになります。

今回はメモリ不足や、VRAMが足りない場合の対策を紹介していきます。

この記事で理解できること
  • Stable Diffusion WebUIの推奨スペック
  • Stable Diffusionのメモリ不足、VRAMが足りない場合の対策
目次

メモリ不足の原因を探るため推奨スペックを確認する

Stable Diffusionはオープンソースソフトウェアなので、PCゲームにあるような必要なスペックが明記されていません。
ただ、推奨されているスペックがあるので以下にまとめてみます。

OSWindows 10/11 64bit
CPUIntel Core-i シリーズ・AMD Ryzenシリーズ
メモリー16GB以上
グラフィックボード8GB以上

Stable Diffusionのメモリ不足、VRAMが足りない場合の対策

–medvramもしくは–lowvramを設定する

メモリ不足、VRAM不足でエラーが発生した場合は、コマンドライン引数で–medvram、もしくは–lowvram設定してみましょう。

多くの場合は、この対応で解決できます!

(参考)AUTOMATIC1111コマンドライン引数一覧

  • STEP1
    webui-user.batを開く

    Stable Diffusion WebUIを起動する時にダブルクリックしている「webui-user.bat」を右クリックし「編集」をクリックします。
    (もしくは普段お使いのテキストエディターにドラッグ&ドロップしてください)

    webui-user.batを編集モードで開くよう促している

    編集するwebui-user.batは念のためにバックアップしておきましょう。

    僕はwebui-user.batをコピーして、用途によって使い分けているよ

  • STEP2
    webui-user.batにコマンドライン引数を記述する

    webui-user.batを開いたらCOMMANDLINE_ARGSに「-medvram」もしくは「-lowvram」を追記します。
    (ハイフンは2つです)

    コマンドライン引数を環境に合わせて設定するよう促している

    使用しているGPUのVRAMに合わせてlowvram、medvramどちらか選択しましょう。

    あとはいつも通りにwebui-user.batをダブルクリックしてStableDiffusion WebUIを起動するだけです。

–lowvram、–medvramを記載した際の画像生成時間について

lowvramもしくはmedvramを適用すると、画像生成時間が低下します。
どのくらい低下するのか気になりますよね?

ということで、通常、lowvram、medvramの3種類で画像生成時間を比較してみました。

画像生成に使用したGPUはRTX3060tiで生成の設定は全て同じです。

使用したモデルはmeinamixです。

xformers非適用xformers適用
通常モード4.7sec
VRAM5.3GB使用
4.5sec
VRAM4.3GB使用
medvram設定5.8sec(通常比123%)
VRAM4.7GB使用(通常比89%)
6.0sec(通常比133%)
VRAM3.9GB使用(通常比91%)
lowvram設定37.9sec(通常比806%)
VRAM3.3GB使用(通常比62%)
38.4sec(通常比853%)
VRAM2.6GB使用(通常比60%)
画像生成時間、VRAM使用量の比較

以上の結果となりました。
medvram指定すると約30%画像生成時間が低下し、VRAMは約10%低減されます。
lowvram指定すると約830%画像生成時間が低下し、VRAMは約40%低減されます。

この結果を見るとlowvramは緊急用として使ったほうが良いですね。
medvramくらいなら許容できる人も多いかと思います。

動画編集などと並行して作業する場合は、medvram指定すると快適に使えるかも

xformers非適用サンプル画像
黒髪ショートヘアー、青瞳女性のAIイラスト
通常モード
黒髪ショートヘアー、青瞳女性のAIイラスト
medvram
黒髪ショートヘアー、青瞳女性のAIイラスト
lowvram

通常モード、medvram、lowvram全て同じ画像が生成できました。

xformers適用サンプル画像
黒髪ショートヘアー、青瞳女性のAIイラスト
通常モード
黒髪ショートヘアー、青瞳女性のAIイラスト
medvram
黒髪ショートヘアー、青瞳女性のAIイラスト
lowvram

xformersを適用すると細かい所で差分が発生します。

xformersを使用する

Stable Diffusionのxformersを使用すれば、必要なVRAM量を大幅に削減することが可能です。

画像生成速度も少し向上するよ

xformersについては↓の記事で紹介しているので、ご参考ください。

あわせて読みたい
Stable Diffusionを高速化できるxFormersの使い方を紹介します! Stable Diffusionの画像生成を高速化できる、xformersの使い方を紹介します。 この記事で理解できること xFormersのインストール方法・有効化手順 xFormersを導入すると...

–opt-sdp-attentionを使用する

Stable Diffusionの–opt-sdp-attentionを使用すれば、xformers程ではありませんが必要なVRAM量を削減することが可能です。

画像生成速度では–opt-sdp-attentionの方が優れるので、VRAM量と相談して決定しよう

–opt-sdp-attentionについては↓の記事で紹介しているので、ご参考ください。

あわせて読みたい
Stable Diffusionを高速化するSDPAを紹介します はじめに Stable Diffusionの高速化では定番となるxFormersがありますが、さらなる高速化が可能となるSDPAの使い方を紹介します。 導入の仕方から、生成時間の比較結果...

ComfyUIを使用する

AUTOMATIC1111と比較して、軽量かつ高速なComfyUIもおすすめです。

ComfyUIのインストール方法については以下の記事で紹介しているので、ご参考ください。

あわせて読みたい
ComfyUIのインストール手順を画像付きで解説【軽量、高速なStable Diffusionクライアント】 はじめに この記事はComfyUIをインストールしたい人向けに、画像付きで手順を解説しています。 また、ComfyUIの特徴や、StableDiffusionクライアントとしての利用方法に...

Fooocusを使用する

SDXLベースモデルを使用してメモリ不足、VRAMが足りない場合には、Stable Diffusionの新しいWebUIである「Fooocus」を使用しましょう。

FooocusはAUTOMATIC1111と比較してVRAM使用量が少ないです。

Fooocusの使い方については以下の記事で紹介しているので、ご参考ください。

あわせて読みたい
【簡単】Fooocusのインストールと使い方を紹介します! はじめに この記事ではFooocusのインストールから簡単な使い方を紹介します。 記事を参考に作業して頂ければ、ローカルPCに簡単にFooocusを導入することが可能です。 こ...

Stable Diffusionのメモリ不足、VRAMが足りない場合の最終手段

Stable Diffusionのメモリ不足、VRAMが足りない状態が上記の方法で解決できない場合には、以降の最終手段を検討しましょう。

Google Colaboratoryを利用する

Googleのクラウドサービスである、「Google Colaboratory」上でもStableDiffusion WebUIを実行できます。
下記の記事を参考に環境構築してみましょう!

あわせて読みたい
Stable Diffusion WebUIをGoodle Colabで使う方法を解説します Stable Diffusion WebUIでAI画像生成したいけど、高性能なPC持ってないよ・・・ 今回はそんな悩みを解決する記事を作成しました。 手順に沿って設定していくだけで、低...

グラフィックボードを変更する

VRAMが足りないのであれば、よりVRAMの多いグラフィックボードを新調しましょう。

資金に余裕があるのであれば、根本解決となるのでおすすめです。

おすすめGPUはNVDIA製 12GB以上の製品です!

まとめ

今回はStable Diffusionでメモリ不足、VRAMが足りない場合に対する解決方法を紹介しました。

簡単な手順で対策可能なので、GPUを更新する前に試してみましょう。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次