• TOP
  • NEWS
  • ABOUT
  • SERVICE
  • WORKS
  • PROJECT
  • BLOG
  • CONTACT
taziku
  • TOP
  • NEWS
  • ABOUT
  • SERVICE
  • WORKS
  • PROJECT
  • BLOG
  • CONTACT

Stable Diffusionのメモリ不足対策・解決策まとめ

2023年5月9日
AI BLOG Technology
Stable Diffusion ジェネレーティブAI

様々なモデルを駆使して自分の思うがままの画像を生成できる「Stable Diffusion」。動作には高速なグラフィックボードと大容量のVRAMが必要です。

公式ではVRAM4GB以上で動作するとされており、そのためStable DiffusionではVRAM容量が4GB以下の場合、エラーが発生する可能性が高くなります。実際実用的に動かすためには8GBでなんとか、色々な処理を実行しようとすると、12GBは欲しく、欲を言えば24GB、さらにとVRAMはあればあるほど良いです。

メモリ不足のエラーが発生

メモリが足りないと、画像生成時に「RuntimeError: CUDA out of memory」とエラーが出現します。この場合画像の生成が中断され、正しく画像を生成できなくなってしまいます。このメモリ不足は生成画像のサイズに対してVRAMが足りていないという場合がほとんどなので、生成する画像の解像度を下げることで、ある程度回避できるのですが、大きい画像をどうしても生成したいという場合いくつかのStable Diffusionの設定を見直すことで、生成することが可能となります。

Stable Diffusionのメモリ不足対策

Stable Diffusionの設定を司るパラメーターについては、Stable Diffusionを起動する際のbatファイル、webui-user.batをテキストエディタで開き、書き込んで設定していきます。いくつかの方法がありますので自身の環境やVRAMに合わせて対策を選択しましょう。

対策1:GPUのメモリを再利用する

GPUのメモリの利用率が60%を超えた場合は、GPUのメモリのブロックを再利用してメモリ不足を防ぎます。このしきい値を変えることでパーセンテージを変更することも可能です。末尾の数字を変更することで、しきい値を変更することが可能です。

set PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.6

対策2:GPUのメモリの断片化を防ぐ

設定したサイズよりも大きな断片化を防ぎ、メモリ不足を発生しにくくします。

max_split_size_mb:128

対策3:-–medvramや–lowvramを利用する

CPU RAMを使いVRAMの負担を軽減する方法。VRAMの負担を減らしたぶん生成速度が遅くなりますが、メモリ不足が起きにくくなります。

set COMMANDLINE_ARGS=-–medvram

あまり推奨はされていませんが、「–medvram」の代わりに「–lowvram」と記載すると、生成がかなり遅くなってしまうため多くの場合はオススメされていませんが、どうしても動かない場合はお試しください。

set COMMANDLINE_ARGS=--lowvram

対策4:-–xformersを使う

xformersライブラリを使用します。メモリ消費量と速度が大幅に改善します。

set COMMANDLINE_ARGS=--xformers

対策5:–opt-sdp-attentionを使う(xFormersと併用不可)

環境によってはxFormersが動作しない環境もあります。xFormersが利用できない環境での高速化にはopt-sdp-attentionが有効とされています。Pytorch2.0系の環境ではxformersよりも高速化できるという報告も上がっています。注意点としてxFormersと併用はできないためご注意ください。

「xFormers以外で、Stable Diffusionの生成速度を高速化」をご覧ください。

set COMMANDLINE_ARGS=–opt-sdp-attention

対策6:その他アプリケーションを閉じる

原始的な方法ですが、他のアプリケーションが起動している場合は終了し、PC及びVRAMのリソースを集中させましょう。

設定はwebui-user.batに書き込む

1.2はファイル冒頭に、3.4はset COMMANDLINE_ARGS=に続いて書き込みましょう。

パラメータを合わせて利用する際は半角スペースで繋いでいきます。

set COMMANDLINE_ARGS=--xformers -–medvram

Google Colabの場合は?

「Google Colab」でStable Diffusionoを利用している場合、「webui-user.bat」にアクセスするにGoogle Driveのマイドライブsdフォルダ内のstable-diffusion-webuiフォルダを開き「webui-user.bat」を「Text Editor」か「Anyfile Notepad」で開きます。

それでもメモリ不足に悩まされたら

かなりエラーがでる率は下げることができますが、どうしても限界は存在しますので、作業効率があまりにも悪いと思ったら、より高速で大容量のVRAMのグラフィックボードを導入しましょう。現状1.5については4GBあれば動作するとされていますが、体感的には8GB、欲を言えば12GBのVRAMは欲しいところです。

Windowsの設定、ドライバや様々な設定を見直すことで高速化できることがわかってきています。詳しい情報は「Stable Diffusionのパフォーマンスを向上させるための15のTips」もご覧ください。

※当サイトに掲載されている商標、一部画像、スクリ-ンショット、文章に置いては著作権侵害を目的に利用しておらず、第三十二条で定められる引用の範囲で使用しています。万が一問題があれば、お問い合わせからご連絡ください。即刻削除いたします。また、本ブログは業務の研究開発のためのものとなり、一部、弊社に関連性が無いものも掲載しております。

Stable Diffusion 最新情報

tazikuでは画像生成AI Stable Diffusion(スティーブルディフュージョン)AUTOMATIC1111を中心に、最新情報、機能紹介、様々なTipsを発信中!Stable Diffusionに関するまとめ記事、記事一覧は以下のリンクからご覧ください。

Stable Diffusion関連記事まとめ

Stable Diffusion記事一覧

AIの最新情報を随時発信中

Xやnoteでは、AI・生成AI・LLMなどの最新情報や、ChatGPTやMidjourneyのプロンプトテクニックを連載中!フォローよろしくお願いします。

生成AI・AIの導入・研修・DXの支援はtazikuへ

生成AI・LLMなど、AIを活用したAIの導入・DXコンサルティング、AI領域の研修・講演などのご相談はお気軽にお問い合わせフォーム、もしくは生成AIソリューションAI CREATIVE BASEから、ご相談・お問い合せください。

PREV MidJourneyを使って再度、中華料理屋の店舗デザインを実施
NEXT 画像生成AI「Stable Diffusion」のライセンスと商用利用について
Related Post
Midjourneyのインペイント機能「Vary (Region)」のヒントとコツ
Stable Diffusionの「Poor man’s outpainting」を利用してアウトペインティング
MusicGen(audiocraft)で様々なプロンプトで音楽を生成
Stable Diffusion WebUI ForgeにLayerDiffuseをインストール
SDXLで高精度に生成するためのサイズ一覧 SDXLサイズチートシート
ChatGPTが組み込まれたAI時代のコードエディタ「Cursor」
Related Post
進化するMidjourney v7が描く次世代のAI画像生成
Claude 3.5の新機能 新モデル登場とPC操作機能
Claude 3 の連鎖プロンプト「プロンプトチェーン」を試す
Claude 3 で画像をピクセル化するプログラムを生成
Claude 3で登場人物の会話を生成する
Claude 3 でXMLタグを利用する

« PREV

Back to list

NEXT »

  • 投稿検索

  • ABOUT US?

    tazikuは東京・名古屋を拠点に活動するクリエイティブスタジオです。
    AI・生成AI・LLMとクリエイティブを掛け合わせ、新しいクリエイティブを提供します。
    Works
    Service
    Contact
  • AI CREATIVE BASE

    デザイン、ビジュアル、音声、空間演出。生成AIでクリエイティブワークフローに革新を与え、ビジネスの成果を最大化します。

    詳細を見る

  • MENU

    • BLOG
      • Think
      • Creative
      • Technology
        • AI
        • メタバース
    • Project
      • AIアニメプロジェクト
      • どうくつたんけん
  • NEW POST

    • 進化するMidjourney v7が描く次世代のAI画像生成
    • Claude 3.5の新機能 新モデル登場とPC操作機能
    • Claude 3 の連鎖プロンプト「プロンプトチェーン」を試す
    • Claude 3 で画像をピクセル化するプログラムを生成
    • Claude 3で登場人物の会話を生成する
© 2021 taziku / 株式会社タジク Based in Tokyo and Nagoya | プライバシーポリシー