Stable Diffusion Web UI に xFormers を導入する方法(初心者向け)

xFormers_image Stable diffusion
xFormers_image

今回の記事では、Stable Diffusionに「xFormers」を導入する方法を説明していきます。

最近、AI画像生成がますます身近なものになってきましたね。中でも「Stable Diffusion」は多くの方に親しまれている人気のモデルです。

その中で「Web UI」を通して手軽に画像を生成できるのはとても魅力的ですが、使っていくうちに「もう少し処理を早くしたいな」「VRAMがすぐいっぱいになってしまう…」という声もよく耳にします。

そこで今回ご紹介するのが、「xFormers」というライブラリです。少し難しそうに感じるかもしれませんが、導入することで画像生成のスピードアップやVRAMの節約につながることが期待できます。

この記事では、初心者の方にもわかりやすいように、「なぜxFormersを使うのか」「どうやって導入すればいいのか」を、丁寧にご説明していきます。

xFormers って何

簡単に言うと、「画像生成の裏側の処理を効率的にしてくれる便利なツール」です。Metaさん(旧Facebookさん)が開発してくださったそうです!

GitHub - facebookresearch/xformers: Hackable and optimized Transformers building blocks, supporting a composable construction.
Hackable and optimized Transformers building blocks, supporting a composable construction. - facebookresearch/xformers

Stable Diffusionでは画像を生成する際、大量の「計算」を行っているのですが、その中の「Attention(アテンション)」という処理がとても重たいってことみたい。xFormersはこの処理を効率化することによって、次のような効果が期待できます:

  • 画像生成の時間が短くなる(高速化)
  • 同じVRAMでも、より大きな画像や複雑なプロンプトに対応しやすくなる
  • ローカル環境でも動作が安定しやすくなる(Out of Memory(OOM)などのエラーが出にくくなる)

もちろん環境や設定によって違いはありますが、「導入してよかった」という声も多く聞かれます。

xFormers 導入に必要なもの

xFormersを導入するには、以下のような準備が必要になります:

  • すでに AUTOMATIC1111版のStable Diffusion Web UI が動作していること
  • Python(推奨は3.10系)
  • NVIDIA製GPU(xFormersはCUDAに依存しているため)(AMDさんごめんなさい)
  • インターネット接続(必要なファイルを取得するため)

手順1:Python環境の確認

まず、Web UI を実行している環境の Python バージョンが 3.10 系であることを確認してみましょう。

コマンドプロンプト(またはターミナル)で以下を入力:

python --version
コマンドプロンプトの画面。Python 3.10.6 と表示されました。

出力された内容が

Python 3.10.x

だったらOKです。もし異なるバージョンだった場合、pyenv やAnacondaなどを用いて適切なバージョンのPythonを用意しましょう。

※ここでは細かい手順は割愛しますが、「Stable Diffusion Python 3.10 pyenv」などでGoogle先生で検索すると丁寧な解説記事が見つかると思います。

手順2:xFormers のインストール

Web UI のフォルダに移動したうえで、以下のコマンドを実行します:

pip install xformers

移動の仕方がわからない??

cd <インストールしたフォルダ>

というコマンドで移動できます。

pip install xformers とコマンドプロンプトに入力してEnter

うまくいけば、これで最新のxFormersがインストールされます。自動的にPyTorchなどの依存も確認・導入されます。時間がかかることもありますが、途中で止まらないかどうか見守りながら静かに待ってみてください。

そうすると、このようにインストール作業が始まります。

少し長いですが、下にインストールした時の実際のログを張り付けておきますので、ご参考にされてください。

pip install xformers 実行ログ

C:\Users\hogehoge>cd C:\Users\shige\Downloads\sd.webui\webui

C:\Users\hogehoge\Downloads\sd.webui\webui>pip install xformers
Collecting xformers
Downloading xformers-0.0.30-cp310-cp310-win_amd64.whl (108.0 MB)
—————————————- 108.0/108.0 MB 10.4 MB/s eta 0:00:00

Collecting torch==2.7.0
Downloading torch-2.7.0-cp310-cp310-win_amd64.whl (212.5 MB)
—————————————- 212.5/212.5 MB 8.3 MB/s eta 0:00:00

Collecting numpy
Downloading numpy-2.2.6-cp310-cp310-win_amd64.whl (12.9 MB)
—————————————- 12.9/12.9 MB 24.2 MB/s eta 0:00:00


Collecting networkx
Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)
—————————————- 1.7/1.7 MB 22.0 MB/s eta 0:00:00

Collecting typing-extensions>=4.10.0
Downloading typing_extensions-4.14.0-py3-none-any.whl (43 kB)
—————————————- 43.8/43.8 kB 2.1 MB/s eta 0:00:00

Collecting fsspec
Downloading fsspec-2025.5.1-py3-none-any.whl (199 kB)
—————————————- 199.1/199.1 kB 12.6 MB/s eta 0:00:00

Collecting filelock
Downloading filelock-3.18.0-py3-none-any.whl (16 kB)

Collecting jinja2
Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
—————————————- 134.9/134.9 kB 7.8 MB/s eta 0:00:00

Collecting sympy>=1.13.3
Downloading sympy-1.14.0-py3-none-any.whl (6.3 MB)
—————————————- 6.3/6.3 MB 15.5 MB/s eta 0:00:00

Collecting mpmath<1.4,>=1.1.0
Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)
—————————————- 536.2/536.2 kB 17.0 MB/s eta 0:00:00

Collecting MarkupSafe>=2.0
Downloading MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl (15 kB)

Installing collected packages: mpmath, typing-extensions, sympy, numpy, networkx, MarkupSafe, fsspec, filelock, jinja2, torch, xformers

Successfully installed MarkupSafe-3.0.2 filelock-3.18.0 fsspec-2025.5.1 jinja2-3.1.6 mpmath-1.3.0 networkx-3.4.2 numpy-2.2.6 sympy-1.14.0 torch-2.7.0 typing-extensions-4.14.0 xformers-0.0.30

[notice] A new release of pip available: 22.2.1 -> 25.1.1
[notice] To update, run: python.exe -m pip install –upgrade pip

C:\Users\hogehoge\Downloads\sd.webui\webui>

うまくいきました。予想に反して?、処理時間は、大体2~3分程度でした。

手順3:Web UI 側の設定を変更

xFormersを使うためには、起動時にWeb UIに「xformersを使ってね」と伝える必要があります。

それには webui-user.bat(Windowsの場合)または webui-user.sh(Linux/Macの場合)をテキストエディタなどで編集して、起動オプションを追加します。

設定ファイルの編集例(Windows)

  1. Web UI フォルダの中にある webui-user.bat をメモ帳などで開きます。
  2. 以下のように COMMANDLINE_ARGS--xformers を追加します。
set COMMANDLINE_ARGS= --xformers
  1. 保存して閉じます。
このように(set COMMANDLINE_ARGS=空欄)最初書かれているのを、

このように(set COMMANDLINE_ARGS=–xformers)変更する。

その後、通常通り webui-user.bat をダブルクリックして起動すると、ログの中に次のような表示があれば成功です

xformers version … loaded

インストールがうまくいっていると、Stable Diffusion Web UI のUI画面の下部において、上記のような表記(xFormersという表記とその後ろのバージョン情報)が表示されるようになる。

うまく動かない場合の対処法

環境によっては、xFormersのインストールや動作で問題が発生することがあります。以下に代表的なエラーとその対処法を整理しました。

① インストール時にエラーが出る場合

たとえば以下のようなエラーが出ることがあります

ERROR: Could not build wheels for xformers

対応方法:

  • PyTorchがCUDA対応でインストールされているか確認
  • 対応するxFormersのホイール(.whl)を手動でインストール
  • Pythonバージョンが3.10であることを再確認

② 起動してもxFormersが読み込まれない

ログに「xformers loaded」の表示がない場合

  • 起動スクリプトに --xformers が正しく設定されているか確認
  • 誤って別の場所に記述していないか注意
  • Web UIを再起動してみる

③ 起動後に CUDA 関連のエラーが出る

RuntimeError: CUDA error: invalid device function

対応方法:

  • 使用しているGPUがxFormers対応(通常はRTXシリーズ)であるか確認
  • CUDAのバージョンとPyTorchの対応が一致しているか確認
  • 古いGPUの場合、xFormersの使用は避けた方が安全なことも

④ その他の依存関係の競合

特に複数のライブラリを導入している環境では、互換性の問題が起こることがあります。

対応方法:

  • 仮想環境(venvやconda)を作ってクリーンな環境にインストール
  • 一度 xFormers をアンインストールしてから再インストール
    pip uninstall xformers
    pip install xformers

xFormers を実際に試してみた感想

私自身、RTX 3060 で Web UI を使っているのですが、xFormersを導入することで生成速度が約20〜30%ほど向上したように感じました。

また、生成エラー(Out of memory)も起きにくくなったようで、より安定して使えるようになりました。個人差はあると思いますが、「少しでも快適に使いたい」という方には検討してみる価値があると思います。

まとめ

  • xFormers は画像生成の高速化・安定化に役立つツール
  • 導入は意外とシンプル。pip install--xformersオプションでOK
  • 環境依存の問題もあるため、無理せず自分のペースで試すのが◎

少しハードルが高く感じるかもしれませんが、一歩ずつ丁寧に進めればきっと大丈夫です。自分だけの環境を育てるような感覚で楽しんでみるといいかもしれませんね。

コメント

タイトルとURLをコピーしました