xformersでStable Diffusionを高速化!インストールや導入の方法を解説

高速のイメージ

Stable Diffusion WebUIで画像を生成する速度が遅いと感じたことはありませんか?

WebUIで画像生成を高速化する方法はいくつかあり、そのうちの一つがxformersの導入です。

しかし、以下のように悩んでいる方が多いでしょう。

  • xformersのインストール方法、導入方法が分からない
  • 自分のPCにxformersを導入できるか知りたい
  • xformersを利用する際の注意点が気になる

結論からいうと、xformersはNVIDIA製のGPUを使っているPCで使える機能で、ファイルを一つ編集するだけで導入できます

今回は、Stable Diffusionで使える機能xformersの導入方法や注意点について解説します。

WebUIで画像の生成速度を速くしたい方は、ぜひ最後までご覧ください。

目次

xformersとは?4つの特徴

特徴

xformersは、Stable Diffusion WebUIで使用できる機能の一つです。

以下では、xformersの特徴を4つ解説します。

  • Stable Diffusion WebUIを高速化できる
  • GPUメモリの消費を抑えられる
  • テキストファイルを編集するだけで導入できる
  • NVIDIA製のGPUのみ対応している

1.Stable Diffusion WebUIを高速化できる

xformersを導入することで、Stable Diffusion WebUIの画像生成を高速化できます

Stable Diffusionの生成速度はGPU(グラフィックボード、グラボ)に左右され、低い性能だと分単位で時間がかかる場合も。

生成速度が遅く感じたら、xformersを導入して高速化を試みてみましょう

2.GPUメモリの消費を抑えられる

xformersの具体的な処理内容は、GPUが消費するメモリ量の軽減です

GPUメモリが足りなくなると、生成速度が遅くなったり、そもそも生成できなくなったりします。

そのため、xformersを使用すれば高速化できるだけでなく、画像生成時に発生するエラーを解消できる効果も期待できるでしょう。

3.テキストファイルを編集するだけで導入できる

xformersを導入するには、WebUIを起動する際に使うwebui-user.batファイルのテキストを編集するだけでOKです。

テキストを編集してWebUIを起動すると、xformersが自動的にインストールおよび有効化されます。

新しくファイルをダウンロードする必要はないので、手軽に導入できるでしょう

引数を書き足すだけですが、書き間違いには注意が必要です。

4.NVIDIA製のGPUのみ対応している

xformersが使えるのは、NVIDIA製のGPUを搭載しているPCのみなので注意してください

GPUのメーカーがNVIDIA以外だったり、MacのPCだったりすると、xformersは使えません。

対応しているGPU・NVIDIAシリーズ 
対応していないGPU・AMDシリーズ・Intelシリーズ・Mac系PCのGPU

xformersの導入自体はできるものの、逆効果となり画像生成の時間が余計にかかってしまうようです。

xformersはデフォルトで無効化されているので、NVIDIA以外のGPUで有効にしないよう気を付けましょう

xformersの導入方法

STEP

xformersをインストールする手順は以下のとおりです。

  1. Stable Diffusion WebUIをインストールする
  2. webui-user.batを編集する
  3. WebUIを起動してバージョンを確認する
  4. 画像を生成する
STEP

Stable Diffusion WebUIをインストールする

まだStable Diffusion WebUIをインストールしていない場合は、先にインストールしましょう

Stable Diffusionをインストールする手順は以下のとおりです。

  1. Pythonをインストールする
  2. Gitをインストールする
  3. Gitの機能でWebUIを複製する

ここでは必要ありませんが、webui-user.batファイルを実行してインストールを完了させても構いません

詳しい手順は以下の記事を参考にしてください。

STEP

webui-user.batを編集する

Stable Diffusion WebUIを起動する際に実行するwebui-user.batファイルを、メモ帳などのテキストエディタで編集します

ファイルを右クリックして「メモ帳で編集」を選択してください。

メモ帳で編集

「set COMMANDLINE_ARGS=」と書かれている行があるので、末尾に「–xformers」と追記すればOKです。

--xformersと追記

余計なスペースを入れたり全角で入力したりすると、あとでエラーになるので注意しましょう。

追記後はCtrl+Sキーを押して保存するのを忘れずに

バックアップをとるのがおすすめ

編集する前に、webui-user.batファイルをコピーしてバックアップをとることをおすすめします

なぜなら、今後Stable Diffusion WebUIがバージョンアップすることで思わぬ誤作動が起きる可能性があるからです。

ファイル名は任意ですが、編集後のファイルを「webui-user-xformers.bat」のように改名すると分かりやすいでしょう。

webui-user-xformers.batと改名

不安な方は、webui-user.batファイルだけでなく、WebUIのフォルダ全体のバックアップを作ってもOKです。

STEP

WebUIを起動してバージョンを確認する

編集したwebui-user.batファイルをダブルクリックして、WebUIを起動させます

ファイルを正しく編集できていれば、WebUIの起動中にxformersをインストールする処理が加わります。

途中でエラーが発生せずに処理が完了すると、通常どおりにWebUIが起動します。

xformersを適用しているときは最下部にバージョンが表示されるので、念のため数値が出ているか確認しておいてください

torchとxformersのアップデート方法

古いWebUIを使っているなどの理由でtorchのバージョンが古いと、エラーになる場合があります

エラーになったら、webui-user.batを編集して「set COMMANDLINE_ARGS=」行の末尾に「–reinstall-torch」と書いてください。

「–reinstall-xformers」を追記すればxformersをアップデートすることも可能です。

--reinstall-torch追記
STEP

画像を生成する

xformersのバージョンが表示されているのを確認できたら導入が完了しているので、試しに画像を生成してみましょう

エラーなく画像を生成できれば成功です。

生成された画像の下にかかった時間が表示されているので、xformersを有効化する前と比較してみてください

有効化に成功しても生成が速くならないこともあるので注意。

xformersを利用する際の注意点

注意のイメージ

xformersを利用する際に注意すべき点として、以下4点を解説します。

  • GPUによってxformersの効果に違いがある
  • 生成する画像によっては遅くなることもある
  • 古いバージョンだと生成ごとに結果が変わる
  • GPUを買い替えたほうが速くなる

1.GPUによってxformersの効果に違いがある

xformersの効果は、使っているGPUのスペックや種類によって大きく異なります

GPUのメモリが小さい(6GB程度)とxformersの効果が出やすく、生成時間が半分ほど削減される可能性もあります。

一方、GPUのメモリが大きい(16GB程度)場合、もともとメモリ量に余裕があるため効果はさほどありません。

また、GPUの種類によっては、xformersとの相性の問題で生成時間が余計にかかることも

xformersを導入できても生成が遅くなる可能性があるため、必ず生成時間は確認しておきましょう。

2.生成する画像によっては遅くなることもある

GPUだけでなく、生成する画像の設定も生成時間に影響します

画像のサイズを大きくしすぎるなど、処理の負荷がかかる画像を生成しようとすると、xformersを導入する前より遅くなる場合があります。

生成する画像によっては、xformersを無効にしたほうが良いでしょう

3.古いバージョンだと生成ごとに結果が変わる

xformersのバージョンが0.0.20以下だと、同じプロンプトや設定でも生成結果が変わってしまうバグが発生します

下の画像は、生成結果が変化した例です。

バグ画像の例
出典:GitHub|stable-diffusion-webui

それほど大きな違いはありませんが、古いバージョンのまま使っているのであればアップデートをおすすめします

xformersを有効化するときと同様にwebui-user.batを編集し、–xformersの代わりに–reinstall-xformersを追記しましょう。

追記後にWebUIを実行すれば、xformersが再インストールされ新しいバージョンに変わります。

これからWebUIをインストールする場合はxformersをアップデートする必要はありません

4.GPUを買い替えたほうが速くなる

xformersを導入するよりも、高性能なものに新しく買い替えたほうが生成速度が向上します

あくまでxformersはメモリ消費を抑えるだけで、GPUの性能を上げるわけではありません。

ひと昔前のGPUから現行機に切り替えれば性能が底上げされるため、段違いに生成速度が向上する可能性が高いのです

大量の画像を生成する予定があり、資金に余裕があれば、GPUの買い替えも検討すると良いでしょう。

xformersに関するQ&A

FAQ

xformersに関する、よくある質問と回答を紹介します。

  • xfromersを有効化するとエラーになります
  • xformersを無効にするには?
  • SDXLでも有効ですか?
  • NVIDIA以外のGPUで生成を速くする方法はありますか?

xfromersを有効化するとエラーになります

エラーの原因として、以下のような要因が考えられます

  • GPUがxformersに対応していない
  • torchやxformersのバージョンが古い、合っていない
  • webui-user.batで編集した内容が間違っている
  • そもそもWebUI自体が動作しない状態である

それぞれの要因をチェックし、問題を解消できたら再度WebUIを起動して確認してみてください。

どうしても問題が解消できない場合は、xformersを無効にしましょう。

xformersを無効にするには?

webui-user.batに追記した「–xformers」部分を消去すれば、xformersが無効化されます

WebUIを起動し、最下部のxformersにバージョン数が表示されていないことを確認してください。

再びxformersを有効にしたくなったら、導入するときと同様に「–xformers」を書き加えましょう。

SDXLでも有効ですか?

SDXL(Stable Diffusion XL)モデルを利用する際もxformersは有効です。

GPUメモリ不足でSDXLが使えないPCでも、xformersを有効化すれば動作する可能性があります。

もちろん高速化も見込めるので、ぜひ試してみてください。

なお、使用するGPUメモリの大きさによって、以下のように追記内容を変更するのがおすすめです。

  • 12GB以上:–xformers
  • 8GB:–medvram-sdxl –xformers
  • 4GB:–lowvram –xformers

NVIDIA以外のGPUで生成を速くする方法はありますか?

xformersが使えないPCでも、以下の方法で画像生成を高速化できる可能性があります

  • SPAD(scaled dot product attention)を利用する
  • Stable Diffusion WebUI Forgeを導入する

SPADを利用する方法は、webui-users.batを編集して「set COMMANDLINE_ARGS=」のあとに「–opt-sdp-attention」を書き足すだけでOKです。

xformersと同時には使えませんが、NVIDIA以外のGPUでも利用できるメリットがあります。

もう一方のStable Diffusion WebUI Forgeは、よく使われているWebUI(AUTOMATIC1111版)の代わりに使えます。

AUTOMATIC1111版とほとんど同じ操作感で、メモリ使用量を削減できるので、GPUのスペックが低い方におすすめです。

まとめ

xformers
出典:GitHub|xformers

本記事では、xformersについて解説しました。

最後に、記事の内容をおさらいしておきましょう。

  • xformersを有効化するとメモリ消費を軽減し、画像生成を高速化できる可能性がある
  • 導入方法はwebui-user.batを編集して「–xformers」を追記するだけ
  • NVIDIA製のGPU(グラフィックボード)を使っているPCでのみ有効
  • GPUや生成画像によっては、速さがほとんど変わらなかったり逆効果だったりする

xformersは使える環境が限られているものの、画像生成を手軽に高速化する手段としてうってつけです。

NVIDIA製のGPUを使っている方はぜひ試してみてくださいね。

お問い合わせ

お問い合わせ

metalandへのお問い合わせは以下のフォーム、もしくはLINE@よりお願いいたします。

  • LINE@:1〜2営業日以内にご返信させていただきます。
  • 問い合わせフォーム:3〜5営業日以内にご返信させていただきます。

記事のご制作依頼、広告掲載、プレスリリースなどお気軽にお問い合わせください。

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

この記事を書いた人

「Metaland編集部」は、Web3.0、メタバース、AIといった最新のトピックを皆様にお届けします。専門知識がない方でもご心配は不要です。情報を深くかつ分かりやすく解説することを重視し、新しいデジタル時代への案内役となることを目指しています。一緒に新たなステップを踏み出しましょう!

目次