Stable Diffusionでエラー落ちする!メモリ解放の設定と動作を軽くする対策!

「あと少しで画像が完成するのに、画面が真っ暗になって止まってしまった」という経験はありませんか。Stable Diffusionを使っていると、ビデオメモリ(VRAM)が足りなくなる「OutOfMemory」というエラーによく遭遇します。せっかくの創作意欲が削がれるのは本当にもったいないことです。この記事では、あなたのパソコンの動作を劇的に軽くし、エラー落ちを減らすための具体的な設定方法を教えます。

目次

Stable Diffusionでエラー落ちを防ぐためにすぐやるべき設定

生成ボタンを押した瞬間にエラーが出るのは、グラフィックボードの限界を超えた命令が送られているからです。まずは、今の機材のパワーを最大限に引き出すための「おまじない」をセットしましょう。起動時に読み込まれる設定ファイルを一行書き換えるだけで、魔法のように動作が安定します。

起動ファイルにxformersを書き足して処理を効率化する

xformersは、画像の計算を効率化してくれる非常に強力なライブラリです。これを有効にするだけで、ビデオメモリの消費を約20%も抑えることができ、生成スピードも上がります。エラー落ちに悩んでいるなら、まずは真っ先にこの設定を確認してください。

使い方は簡単です。Stable Diffusionをインストールしたフォルダにある「webui-user.bat」を右クリックで編集し、set COMMANDLINE_ARGS= の後ろに --xformers と書き足して保存するだけです。これだけで、これまでメモリ不足で諦めていた少し大きめの画像も作れるようになります。

  • webui-user.batを右クリックして編集を選択
  • set COMMANDLINE_ARGS= を探す
  • 末尾に半角スペースを入れて --xformers を追加
  • ファイルを保存して、いつものように起動する

ビデオメモリの容量に合わせてmedvramを使い分ける

グラフィックボードのメモリ(VRAM)が8GB以下の方は、メモリの使い道を節約するモードに切り替えましょう。--medvram という命令を追加すると、計算に必要なデータをこまめに整理してくれるようになります。多少速度は落ちますが、途中で止まってしまうストレスからは解放されます。

もし、VRAMが4GBや6GBしかないという場合は、より強力に節約する --lowvram を検討してください。自分のパソコンのスペックに合わせて無理をさせない設定を選ぶことが、快適に使い続ける一番のコツです。

VRAM容量推奨されるコマンド効果の目安
12GB以上指定なし(または–xformersのみ)最高速で動作し、大型モデルも余裕
8GB〜10GB--medvram安定性が向上し、一般的な生成で落ちなくなる
4GB〜6GB--lowvram速度は落ちるが、メモリ不足をほぼ回避できる

不要なブラウザのタブを閉じてグラボの負担を減らす

Stable Diffusionを使っている裏で、YouTubeを流したりゲームを開きっぱなしにしたりしていませんか。実は、ブラウザのタブをたくさん開いているだけで、グラフィックボードのメモリはどんどん削られていきます。

特に「ハードウェアアクセラレーション」が有効なブラウザは、AI生成に使うべき貴重なメモリを数GB単位で占有してしまうことがあります。生成作業に集中するときは、使わないタブやアプリを一度閉じるようにしましょう。 これだけで、エラーが出る境界線がぐっと遠ざかります。

メモリ解放をスムーズにして動作を軽くする対策

画像生成を何十回も繰り返していると、次第に動作が重くなっていくことがあります。これは、使い終わったはずのデータがメモリの中にゴミとして残ってしまうためです。このゴミを定期的に掃除して、常にフレッシュな状態で動かせるように設定を整えましょう。

溜まったキャッシュを捨ててVRAMを空けるボタンの活用

Stable Diffusionの画面上部にある「Settings」タブの中には、メモリを掃除するための項目が隠れています。特に「Unload VAE and CLIP from VRAM when switching models」にチェックを入れると、モデルを切り替えるたびに古いデータを追い出してくれます。

「最近、何だか動きがもっさりしてきたな」と感じたら、設定画面の下にある「Unload SD checkpoint to RAM」というボタンを押してみてください。 メモリが強制的にリセットされ、詰まっていたデータが綺麗に流れます。手動で定期的にメンテナンスしてあげることが大切です。

VAEを一度外してから読み込み直してリセットする

VAEと呼ばれる、色味を整えるための追加データもメモリを圧迫する原因になります。生成中にエラーが出る場合は、一度VAEを「None」の設定にして、メモリを軽くしてから再度読み込み直すと直ることがあります。

VAEはモデルに内蔵されている場合もあり、二重に読み込まれるとメモリを無駄食いしてしまいます。自分が今、どのデータをどれだけメモリに乗せているのかを意識することが、トラブル回避の第一歩です。

生成が終わるたびにメモリを自動で掃除する設定の変更

「System」設定の中には、生成が1枚終わるごとにガベージコレクション(メモリの自動掃除)を実行するスイッチがあります。これを有効にしておけば、自分でボタンを押さなくてもAIが勝手に中を片付けてくれます。

  • Settingsタブを開く
  • Systemセクションを探す
  • 「Run garbage collector after each generation」にチェックを入れる
  • 「Apply settings」を押して反映させる

この設定をしておくと、連続で生成したときに徐々にメモリを食い潰していく現象を防げます。長時間放置して大量の画像を生成させたい人には、特におすすめしたい設定です。

動作を軽くするコマンドライン引数の具体的な書き方

Stable Diffusionの動きを制御する「コマンドライン引数」は、いわばAIへの直接の指示書です。これを正しく書けるようになると、非力なパソコンでも驚くほどサクサク動くようになります。難しい呪文のように見えますが、基本のパターンを覚えるだけで十分です。

4GBや6GBのグラボでも動かせるlowvramの指定

最近の「SDXL」といった高性能なモデルは、標準では8GB以上のメモリがないとうまく動きません。しかし、--lowvram を起動設定に加えることで、4GBや6GBのグラボでもなんとか動作させることが可能になります。

計算の一部をグラボではなくメインメモリ(RAM)に逃がすため、生成時間は3倍から5倍ほど伸びてしまいます。それでも「全く動かない」よりは「時間はかかるが作れる」ほうが遥かに良いはずです。 低スペック環境でも諦めずに、この魔法の言葉を試してみてください。

NVIDIA以外の環境で有効なSDPアテンションの記述

もしあなたがNVIDIA以外のグラフィックボード(Radeonなど)を使っているなら、--xformers の代わりに --opt-sdp-attention を使ってみましょう。これは、xformersと同じように計算を効率化してくれる別の技術です。

Radeon環境ではxformersが動かないことが多いため、この引数が命綱になります。自分の使っているパーツの種類によって最適な呪文が違うことを覚えておきましょう。 これを書き換えるだけで、エラーがピタリと止まることもあります。

起動時に自動で設定を読み込ませるbatファイルの編集手順

これらのコマンドを毎回打ち込むのは面倒です。そこで、先ほど紹介した「webui-user.bat」の中身を書き換えて、ダブルクリック一つで設定が反映されるようにしましょう。

以下に、標準的な「動作を軽くするための書き換え例」を紹介します。

Plaintext

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --medvram --no-half-vae --autolaunch

call webui.bat

--no-half-vae を足しておくと、画像が真っ黒になるエラーも一緒に防げるのでおすすめです。 自分の環境に合わせた「最強のbatファイル」を作り上げるのが、快適なAIライフへの近道です。

高解像度での生成中にエラー落ちしないための工夫

「いつものサイズなら大丈夫なのに、高解像度にすると絶対に落ちる」という悩みは、多くの人が抱えています。画像が大きくなればなるほど、計算量は指数関数的に増えていくからです。一気に大きく作ろうとせず、AIが得意な「小分け」のテクニックを使いましょう。

Tiled VAEを使って画像を分割して計算させる

「Tiled Diffusion」や「Tiled VAE」という拡張機能は、メモリ不足の救世主です。これは、巨大な画像を小さなタイル状に分割して、一枚ずつ順番に処理していく機能です。

これを使えば、VRAMが8GB程度しかなくても、4Kを超えるような超高解像度画像を生成できるようになります。 広い部屋を一人で掃除するのは大変ですが、一畳ずつ掃除していけば最後まで終わるのと同じ原理です。エラー落ちに怯えながら巨大な画像を作る必要はもうありません。

  • ExtensionsからTiled Diffusionを検索してインストール
  • 設定内の「Tiled VAE」を有効にする
  • タイルサイズを小さめに設定してメモリ消費を抑える

一気に大きく作らずHires fixで段階的に拡大する

最初から大きなサイズ(例えば1024×1024など)で生成ボタンを押すのは、AIにとって非常に重い作業です。まずは 512×512 などの小さなサイズで生成し、「Hires fix(ハイレスフィックス)」機能を使って後から拡大しましょう。

最初に構図を確定させてから、仕上げに描き込みを増やすことで、メモリの負担を劇的に減らせます。 この方法なら、エラーのリスクを抑えつつ、細部まで描き込まれた精細なイラストが手に入ります。

生成中のプレビュー表示を止めて余計な計算を省く

生成がどこまで進んでいるかを見せてくれるライブプレビューは便利ですが、これ自体も貴重なVRAMを消費しています。特に高解像度生成の後半では、このプレビュー表示が最後の一押しとなってエラーを引き起こすことがあります。

「Settings」の「Live previews」から、プレビューを完全にオフにするか、表示の間隔を長くしてみてください。 画面が動かないのは少し不安かもしれませんが、その分AIは計算に集中できるようになります。一秒でも早く、確実に画像を完成させたい時のテクニックです。

Windows側の設定でStable Diffusionを安定させる方法

エラーの原因は、Stable Diffusionそのものだけでなく、土台となるWindowsの設定にあることも多いです。AIという「大食らい」なソフトを動かすために、OS側からもサポートしてあげましょう。ちょっとした設定の見直しで、システム全体のクラッシュを防ぐことができます。

仮想メモリの数値を手動で増やしてパンクを防ぐ

物理的なメモリ(RAM)が16GBや32GBあっても、AI生成中はそれ以上の領域が必要になることがあります。そんな時に助けてくれるのが「仮想メモリ」です。ハードディスクの一部をメモリとして代用する機能ですが、この数値が自動設定だと、急激な負荷に耐えられないことがあります。

仮想メモリの数値を、物理メモリの1.5倍から3倍程度に固定してみてください。 例えば16GBのメモリを積んでいるなら、仮想メモリを最低16GB、最大32GBに設定します。これで、メモリが溢れてもソフトが強制終了するのを防げます。

グラフィックドライバを最新にしてメモリ管理を改善する

グラフィックボードのドライバ(NVIDIAドライバなど)は、常に最新のものを使うようにしましょう。ドライバが古いと、最新のAI技術に必要なメモリ管理がうまくできず、無駄なエラーを出すことがあります。

また、NVIDIAのコントロールパネルから「CUDA – システムメモリへのフォールバック」の設定を確認してください。 これが有効だとメモリ不足時に遅くなりますが無効だと即座にエラー落ちします。安定を優先するなら、ここを調整するのも手です。

裏側で動いている録画ソフトやゲームアプリを止める

「GeForce Experience」の録画機能や、Discordの画面共有、Steamなどのゲームランチャー。これらは裏側で動いているだけで、静かにVRAMを消費し続けています。

本格的に画像生成の作業に入るときは、タスクバーの右端(通知領域)を確認して、不要なアプリを右クリックで終了させましょう。 小さな節約の積み重ねが、エラー落ちしない強固な環境を作ります。

拡張機能が原因でエラー落ちする時の解決手段

拡張機能は便利ですが、入れすぎるとお互いに喧嘩をしてエラーの原因になります。また、古いPythonやPyTorchを使っていると、メモリ効率が悪くなって損をしているかもしれません。環境をクリーンに保つことが、快適な動作への近道です。

競合している古い拡張機能を一つずつ無効にして試す

もし、特定の条件で必ず落ちるようになったなら、最近入れた拡張機能を疑ってみてください。「Extensions」タブの「Installed」から、チェックを外して一つずつ無効にしていき、原因となっている「犯人」を特定しましょう。

アップデートが止まっている古い拡張機能は、最新のStable Diffusionと相性が悪いことがよくあります。 不要なものは勇気を持って削除し、必要なものだけを厳選して使いましょう。

PythonやPyTorchを推奨されるバージョンに入れ直す

Stable Diffusionを動かすための土台である「Python 3.10.6」や「PyTorch 2.0以上」という組み合わせは、動作が安定するための黄金比です。特にPyTorchのバージョンが古いと、メモリの解放が下手でエラーが出やすくなります。

自分の環境のバージョンは、起動時の黒い画面(コマンドプロンプト)の最初の方に表示されています。 もし推奨よりも古い場合は、一度環境を整え直すことをおすすめします。これだけで、嘘のように動作が軽くなることがあります。

壊れた venv フォルダを削除してクリーンな環境を作る

どうしてもエラーが直らない、起動すら怪しいという時は、インストールフォルダにある「venv」という名前のフォルダを削除してみてください。これは設定が詰まった箱のようなもので、削除しても再起動時に自動で作り直されます。

「venv」を新しくすることで、ぐちゃぐちゃになっていた内部の依存関係がリセットされ、新品同様の安定感を取り戻せます。 大切な画像やモデルは消えないので、困った時の最終手段として覚えておくと便利です。

モデルを切り替える際のメモリ負荷を減らすテクニック

「SD 1.5」から「SDXL」に切り替えた瞬間、パソコンが悲鳴を上げて落ちてしまう。これは、巨大なモデルデータがメモリを一度に占有しようとするために起こります。大きなモデルを扱うときには、それ専用の「作法」が必要です。

複数のモデルを同時に読み込まないチェック項目の設定

「Settings」の「Stable Diffusion」セクションにある「Maximum number of checkpoints kept in RAM」という数値を「1」に固定してください。これを大きくすると、複数のモデルをメモリに乗せておけるので切り替えは速くなりますが、その分空きメモリが激減します。

メモリ不足で悩んでいるなら、常に「今使うモデル一つだけ」を乗せるように設定しましょう。 切り替えに数十秒かかっても、エラーでソフトが落ちるよりは遥かにマシです。

軽量なSafeTensors形式のファイルを優先して選ぶ

モデルファイルには「.ckpt」と「.safetensors」の二つの形式がありますが、必ず「.safetensors」の方を選びましょう。こちらはファイルサイズが小さく、読み込み時のメモリ消費も抑えられています。

また、セキュリティの面でもSafeTensorsの方が安全だと言われています。 ネットでモデルを探すときは、この拡張子がついたファイルを優先的にダウンロードする癖をつけましょう。

SDXLなどの巨大なモデルを使う時に気をつける数値

SDXLモデルは、最低でも8GBのVRAMを必要とします。6GB以下の環境で使う場合は、必ず --lowvram を併用し、解像度は 1024×1024 を超えないように注意してください。

大きなモデルほど、一回の失敗がフリーズや強制終了に繋がりやすくなります。 自分のパソコンの限界(キャパシティ)を正しく理解し、無理のない設定値で付き合っていくことが、長期的に見て最も多くの作品を生み出すコツです。

動作を最も軽くするための起動設定(webui-user.bat)

set COMMANDLINE_ARGS=–xformers –medvram –no-half-vae –opt-split-attention –disable-nan-check –api

※VRAM 4GB-6GBの場合は --medvram--lowvram に書き換えてください。

※–no-half-vae は「真っ黒な画像」が出るのを防ぐお守りとして非常に有用です。

この記事のまとめ

Stable Diffusionでエラー落ちしないための対策を、ハードからソフトの設定まで紹介してきました。一つひとつの設定は小さく見えますが、組み合わせることであなたのパソコンは今よりもずっと快適に、力強く動いてくれるようになります。最後に、重要なポイントを振り返ってみましょう。

  • 「webui-user.bat」に --xformers を追加して、メモリ消費を約20%節約する
  • VRAMが8GB以下なら --medvram、4GB以下なら --lowvram を必ず使う
  • 生成中はブラウザの不要なタブを閉じ、グラボをAI専用の状態にする
  • 設定から「ガベージコレクション」を有効にして、生成のたびにメモリを掃除させる
  • 高解像度画像を作るときは「Tiled VAE」や「Hires fix」で段階的に処理する
  • Windowsの「仮想メモリ」を手動で増やして、急な負荷によるクラッシュを防ぐ
  • 複数のモデルをメモリに乗せないようにし、常に1つだけを読み込む設定にする

エラー落ちを恐れずに、思いっきり画像生成を楽しめる環境を整えてください。一度設定してしまえば、あとは創作に没頭するだけです。

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

この記事を書いた人

目次