xformersとは?Stable Diffusionを軽くする仕組み

xformersとは?Stable Diffusionを軽くする仕組み

xformersは、Transformerの部品を高速・省メモリに組み直したPythonライブラリで、画像生成では主に「注意機構」の計算を軽くする目的で使われます。

Transformerは、ChatGPTのような言語AIにも、Stable Diffusionのような画像生成AIにも入っている基本構造です。その中の「Attention(注意機構)」は、画像や文章のどこに注目するかを計算する部分。ここがとにかくメモリを食います。

xformersはこの計算を、同じ結果のままメモリを抑えるやり方に置き換えます。開発はMeta AI(Facebook Research)で、研究から本番運用までを想定した部品集として公開されています。

項目内容
正体Transformer向けの高速化・省メモリ化ライブラリ
開発元Meta AI(Facebook Research)
主な使い道Stable Diffusion系の画像生成、Transformerの学習・推論
対応GPUNVIDIA製GPU(CUDA環境)が中心
料金無料(オープンソース)

表のとおり、中身は「NVIDIA GPUで画像生成やAI学習を回す人のための部品」です。

ブラウザで画像を作るだけの人には、そもそも関係のない話。自分のPCでStable Diffusionを動かす人が対象です。


編集部のおすすめ

GPUや環境構築がなくても、登録してすぐブラウザで生成できます。多くは無料枠から試せます。

なぜVRAMが減るのか?memory-efficient attentionの考え方

なぜVRAMが減るのか?memory-efficient attentionの考え方

xformersがVRAMを減らせるのは、注意機構の計算途中にできる巨大な表を、一度に全部メモリへ置かずに小分けで処理するからです。

普通の注意機構は、画像のすべての位置同士の関係を1枚の大きな表にします。画像を大きくすると、この表は縦にも横にも伸びる。解像度を2倍にすると、メモリ消費は2倍どころでは済みません。

xformersの「memory-efficient attention」は、この表を小さなブロックに分けて順番に計算します。全体をGPUのメモリに広げないので、ピーク時の消費量がぐっと下がる。結果の数値は同じです。

たとえるなら、大きな地図を床いっぱいに広げずに、1区画ずつめくって読むやり方に近いです。

  • 減るもの: 計算途中の一時的なメモリ(ピークVRAM)
  • 速くなる理由: GPUのメモリ読み書きが減り、待ち時間が短くなる
  • 変わらないもの: 生成される画像の中身、モデル本体の重さ
  • 苦手なこと: モデルの重み自体が大きすぎる問題は解決しない

最後の項目は見落としがちな落とし穴です。

モデルファイルそのものがVRAMに収まらない場合、xformersを入れても動きません。その場合は軽いモデルを選ぶか、別の手段を考える必要があります。仕組みが分かったところで、どんな場面で効くのかを具体的に見ます。


xformersで何が変わる?効果が出る場面・出にくい場面

xformersの効果は、高解像度の生成やバッチ生成など「注意機構の計算が重くなる場面」ほど大きく、小さな画像を1枚ずつ作るだけなら体感差は小さめです。

VRAMが8GBや12GBといった中堅クラスのGPUで、解像度を上げたとたんにメモリ不足で止まる。このケースでは破格の効き目があります。逆に、VRAMに余裕のある上位GPUでは「少し速くなったかな」程度のことも多いです。

場面効果の出方理由
高解像度の生成大きい注意機構の表が急に大きくなるため
複数枚の同時生成(バッチ)大きいピークVRAMが積み上がるため
LoRAなどの追加学習大きい学習中は計算途中のデータを多く抱えるため
小さめの画像を1枚ずつ小さいもともと注意機構の負担が軽い
モデル本体がVRAMに入らない効かない重みの大きさは変わらないため

つまり「解像度やバッチを上げたらメモリ不足」という症状にこそ効く薬です。

注意したいのは、速度の上がり幅がGPUの世代やPyTorchの版で大きく変わる点。ネット上の「○%速くなった」という数字は、その人の環境での話にすぎません。自分の環境で入れる前後を比べるのが一番確実です。

効果を得るには、まず正しい組み合わせで入れる必要があります。ここが一番つまずく部分です。


PyTorch・CUDAとの対応表と確かめ方

xformersのpip版は特定のPyTorchの版に合わせてビルドされており、組み合わせが合わないと動かないか、PyTorchが勝手に入れ替わります。

Hugging FaceのDiffusers公式ドキュメントによると、xformersのpipパッケージは最新のPyTorchを必要とし、古いPyTorchを使う場合はソースからのインストールを推奨しています(2026年9月時点)。つまり「今のPyTorchに合うxformersを選ぶ」のが基本の考え方です。

公式の配布一覧には、次のようなwheel(インストール用のファイル)が並んでいます。

xformersの版配布されているwheel対応Python
0.0.31.post1Linux x86_64 / Windows amd643.9以降(abi3)
0.0.32.post1Linux x86_64 / Windows amd643.9以降(abi3)
0.0.32.post2Linux x86_64 / Windows amd643.9以降(abi3)

「cp39-abi3」は、Python 3.9以降ならどの版でも1つのファイルで動くという意味です。Pythonの版で悩む必要はほぼありません。

問題はPyTorchの版です。xformersの各版は、要求するPyTorchの版をファイルの中に書き込んでいます。版の組み合わせを他人の表で覚えるより、自分の環境で直接確かめるほうが確実です。

確認したいことコマンド見るポイント
今のPyTorchとCUDApython -c "import torch; print(torch.__version__, torch.version.cuda)"「2.x.x+cu1xx」のような表示
入れたらどうなるかpip install xformers --dry-runtorchが入れ替わる予定がないか
特定の版の依存pip install xformers==0.0.32.post2 --dry-run要求されるtorchの版
入れた後の状態python -m xformers.info使える機能とCUDAの認識

この4行を順に打つだけで、組み合わせ事故の大半は防げます。

特に--dry-runは地味に効きます。実際には何も入れず、「入れたら何が起きるか」だけを表示してくれるからです。torchの入れ替えが表示されたら、そのまま進めてはいけません。

確認が済んだら、実際のインストールに進みます。


pipでのインストール手順(Windows・Linux)

pipで入れる場合は、今のPyTorchと同じCUDA版の配布元を指定してインストールし、最後にxformers.infoで動作を確かめます。

手順は3段階です。仮想環境(プロジェクトごとに分けたPythonの箱)の中で作業するのが前提。WebUIやComfyUIを使っているなら、そのアプリが使う仮想環境を有効にしてから打ちます。

1. 仮想環境を有効にする

# Windows(PowerShell)の例
.\venv\Scripts\Activate.ps1

# Linuxの例
source venv/bin/activate

2. PyTorchのCUDA版に合わせて入れる

# 事前確認(何も入らない)
pip install -U xformers --index-url https://download.pytorch.org/whl/cuXXX --dry-run

# 問題なければ本番
pip install -U xformers --index-url https://download.pytorch.org/whl/cuXXX

cuXXXの部分は、前のセクションで確認したCUDAの版に合わせます。たとえばPyTorchが「+cu128」ならcu128です。

3. 動作を確認する

python -m xformers.info

表示の中に「memory_efficient_attention」の項目があり、利用可能を示す表示になっていれば成功です。

ここでPyTorchが別の版に入れ替わってしまった場合は、焦らず戻しましょう。pip install torch==元の版 --index-url ...で戻してから、その版に合うxformersを選び直します。

最新の手順はxformersの公式GitHubのREADMEにまとまっています。CUDAの版ごとのコマンド例もここが一番新しいです。

pip以外に、condaやpixiで入れる方法もあります。


ComfyUI icon
この記事で紹介 / AI画像生成3.95無料あり最低料金 無料

condaとpixiで入れる場合はどう違う?

condaやpixiで入れると、PyTorchとxformersのCUDA版をパッケージ管理側がまとめて揃えてくれるため、組み合わせ事故が起きにくくなります。

xformersはconda-forge(コミュニティが運営する配布チャンネル)でも配布されています。conda-forge版は、CUDAの種類を仮想パッケージという仕組みで管理しています。PyTorchとxformersが同じCUDAを共有するよう、依存関係を自動で解いてくれるわけです。

# condaの場合
conda install -c conda-forge xformers

# pixiの場合
pixi add xformers

pixiは、プロジェクト単位で環境を固定できる新しめのパッケージ管理ツールです。チームで同じ環境を再現したい場合に重宝します。

方法向いている人注意点
pipWebUIやComfyUIの仮想環境をそのまま使う人PyTorchの版合わせを自分でやる
conda研究用・学習用の環境を1から作る人pipで入れたtorchと混ぜると壊れやすい
pixi環境を固定して複数台で再現したい人ツール自体に慣れが必要
ソースからビルド古いPyTorchを使い続けたい人ビルドに時間がかかり、コンパイラ環境が要る

つまり、既存のアプリに足すならpip、まっさらな環境を作るならcondaかpixiという分け方で迷いません。

conda環境の中でpipとcondaを混ぜるのは避けたほうが無難です。どちらで入れたtorchなのか分からなくなり、原因の切り分けが一気に難しくなります。インストールが終わったら、使うアプリの側で有効にする作業が残っています。


WebUI・ComfyUI・Diffusersで有効にする方法

xformersは入れただけでは使われないことがあり、アプリごとに「起動オプション」か「コードでの指定」で有効にします。

アプリによって、自動で使うものと明示的に指定が要るものに分かれます。

アプリ・ライブラリ有効にする方法補足
Stable Diffusion WebUI(AUTOMATIC1111系)起動オプションに--xformersを追加webui-user.batなどの起動設定に書く
ComfyUIインストールされていれば自動で使用無効化は--disable-xformers
Diffusers(Python)set_attention_backend()で指定Attention backendsの公式ガイド参照
自作のPyTorchコードxformers.ops.memory_efficient_attentionを呼ぶ既存の注意機構を置き換える

表を見ると分かるとおり、ComfyUIだけは手間がほぼありません。

ComfyUIは、画像生成の手順を「ノード」と呼ばれる箱をつないで組み立てるツールです。xformersが入っていれば起動時に自動で読み込むので、設定ファイルをいじる必要がありません。細かい制御をしたい人や、同じ処理を何度も回したい人に向いています。逆に、ノードの配線に抵抗がある人には最初のハードルがやや高めです。PCにGPUが無い場合は、公式のクラウド版であるComfy Cloudという選択肢もあります。

Diffusersを使う場合は、公式ドキュメントのAttention backendsガイドにあるset_attention_backend()で切り替えます。詳しくはHugging Face Diffusersのxformersページが一次情報です。

有効にしたはずなのに動かない。そんなときに出やすいエラーを次でまとめます。


よくあるエラーと直し方

xformersのエラーは、ほぼ「PyTorchとの版ずれ」「CUDAを認識していない」「対応していないGPUや形状」の3系統に分かれます。

エラー文は英語で長いですが、キーワードで見分けられます。

エラー文に含まれる語主な原因直し方
No operator found for memory_efficient_attention版ずれ、またはGPU・入力形状が非対応python -m xformers.infoで使える機能を確認し、版を合わせ直す
xFormers wasn't build with CUDA supportCUDA無しの版が入っているCUDA版を指定して入れ直す
torch の版に関する警告xformersが別のtorch向けtorchに合うxformersを選び直す
DLL load failed(Windows)版ずれ、または依存ファイルの不足仮想環境を作り直すのが最短

表の中で一番多いのは1行目です。

エラーが出たら、まずpython -m xformers.infoを打ちます。ここで「使えない」と出た機能が、エラーの正体です。多くの場合、PyTorchの版を上げたのにxformersが古いまま、という組み合わせになっています。

  • 一番早い解決策: 仮想環境を作り直し、PyTorch→xformersの順に入れ直す
  • やってはいけないこと: エラーが出るたびに版を上下させ続けること
  • 最後の手段: xformersを外して、PyTorch標準の仕組みに任せる

Windowsで何度も壊れるなら、仮想環境を消して作り直すほうが結局早いです。

1時間の格闘より10分の再構築。これが経験則として定着しています。そして3つ目の「最後の手段」は、実は多くの人にとって正解になり得ます。


ここまでの整理: xformersは注意機構のメモリを小分けで処理し、ピークVRAMを減らすライブラリです。pip版はPyTorchの版に強く縛られるので、--dry-runとxformers.infoで確かめてから入れるのが安全。ここからは「そもそも入れるべきか」を考えます。


PyTorch標準のSDPAがあれば不要?

PyTorch 2系には標準でSDPA(省メモリな注意機構の計算)が入っているため、多くの環境ではxformersなしでも近い効果が得られ、必須ではありません。

SDPAは「scaled dot product attention」の略で、PyTorch本体に組み込まれた注意機構の関数です。中身には、xformersと同じ発想の省メモリ計算が含まれています。つまり、PyTorchを新しくするだけで、似た恩恵を受けられるわけです。

では、xformersの出番はもう無いのか。そうとも言い切れません。

比べる点xformersPyTorch標準SDPA
追加インストール必要不要
版合わせの手間大きいほぼ無い
省メモリ効果高い高い(環境によって差)
速度GPUや形状によってはこちらが速いGPUや形状によってはこちらが速い
壊れにくさPyTorch更新のたびに要確認本体と一緒に更新される

つまり、性能の差は環境次第で、手間の差ははっきりしているという構図です。

ComfyUIには--use-pytorch-cross-attentionというSDPAを使う起動オプションがあります。xformersで何度も壊れるなら、こちらに切り替えて様子を見るのが手堅い判断です。

どちらが速いかは、同じ設定で両方を試して時間を比べれば分かります。1回数十秒の比較で済むので、思い込みで決めずに測ってください。とはいえ、そもそもGPU自体が非力なら、ライブラリの工夫だけでは限界があります。


自分のGPUで回すか、クラウドに任せるか

VRAMが足りずxformersでも厳しい場合は、GPUを買い替えるより、クラウドGPUやブラウザ型の画像生成サービスに任せたほうが費用も手間も抑えられることが多いです。

xformersはあくまで「今あるGPUを上手に使う」道具です。モデル本体が載らない、生成に何分もかかる。そういう状態なら、処理そのものを外へ出す選択が現実的になります。

選択肢向いている人向かない人
自分のPC+xformersNVIDIA GPUを持ち、設定を詰めたい人Mac利用者、GPUが古い人
ComfyUI / Comfy Cloudノードで手順を組み、同じ処理を繰り返したい人配線作業が苦手な人
Novita AIAPIやクラウドGPUで生成を組み込みたい開発者コードを書かずに使いたい人
getimg.aiブラウザだけで手早く画像を作りたい人ライブラリ単位で細かく調整したい人

表の上の行ほど自由度が高く、下の行ほど手軽です。

Novita AIは、画像生成モデルをAPI(他のソフトからAIを呼び出す窓口)で使えるほか、GPUを時間単位で借りられるクラウドサービスです。自社アプリに画像生成を組み込みたい開発者に向いています。一方、コードを書かずに画面だけで完結させたい人には遠回りです。料金体系は使い方で変わるので、最新の条件は公式サイトで確認してください。

getimg.aiは、ブラウザ上でStable Diffusion系などのモデルを使って画像を作れるサービスです。インストールも版合わせも要らないので、「xformersのエラーで1日溶けた」という人には相性がいいです。ただし、細かいライブラリ設定まで触りたい人には物足りません。無料枠の有無と条件は公式で確かめてから使い始めましょう。

ブラウザで無料のまま画像を作り続けたいなら、イメージfxの無料移行ガイドも参考になります。Googleの無料ツールで生成を続ける手順がまとまっているので、ローカル環境をやめる判断材料になります。

キャラクターを何枚も同じ見た目で描きたい用途なら、AIマンガ生成ツール7選で一貫性の出し方と商用利用の条件を先に押さえておくと、ツール選びで遠回りしません。

画像生成ツール全体を見比べたい人は、AI画像生成のカテゴリから一覧で確認できます。ここまでの材料をふまえて、編集部としての見立てをまとめます。


Novita AI icon
この記事で紹介 / AIコーディング3.17日本語◎最低料金 従量課金(秒単位計測・1時…

AI PICKS編集部の判定

xformersは、今から新しく環境を作る人にとって「入れなくてもいい、でも知っておくべき道具」です。公開情報を突き合わせると、評価はこうなります。

PyTorch 2系に標準のSDPAが入ったことで、xformersの立ち位置は大きく変わりました。かつてはStable Diffusionを動かすなら一択でしたが、今は「標準機能で足りなければ足す追加パーツ」です。pip版が最新のPyTorchを前提にしている以上、PyTorchを更新するたびに版合わせの手間がついて回ります。この管理コストは正直イマイチです。

一方で、VRAM 8GB〜12GB級のGPUで高解像度やLoRA学習をするなら、今でも重宝します。SDPAと両方試して速いほうを使う。この進め方が一番損をしません。

おすすめは、ComfyUIで標準のSDPAから始め、足りなければxformersを足す順番です。ComfyUIはxformersを自動で読み込むので、切り替えのコストが圧倒的に小さいからです。

そもそもGPUが非力なら、xformersで粘るよりクラウドやブラウザ型サービスへ移るほうが時間の節約になります。ライブラリ調整に何日もかけるのは、道具の目的から外れています。


よくある質問(FAQ)

Q. xformersは無料で使えますか?

はい、無料です。Meta AIが公開しているオープンソースのライブラリで、有料プランはありません。商用で使う場合は、GitHubのLICENSEファイルで条件を確認してください。

Q. Mac(Apple Silicon)でもxformersは使えますか?

実用的な選択肢ではありません。公式に配布されているwheelはLinux x86_64とWindows向けで、NVIDIAのCUDA環境を前提にしています。MacではPyTorch標準の仕組みを使うのが基本です。

Q. xformersを入れたらPyTorchの版が変わってしまいました。どうすればいいですか?

元のPyTorchを入れ直してから、その版に合うxformersを選び直します。次回からはpip install xformers --dry-runで、torchが入れ替わらないかを先に確認すると防げます。

Q. xformersを入れると画像の仕上がりは変わりますか?

計算の順番を変えるだけなので、画像の中身は基本的に変わりません。細かな数値の差で、同じシード値でもわずかに違う絵になることはあります。

Q. xformersとPyTorchのSDPA、どちらを使えばいいですか?

まずはSDPAで始めて、VRAM不足や速度に不満が出たらxformersを試す順番がおすすめです。GPUや画像サイズによって速いほうが入れ替わるので、同じ設定で両方を測って決めてください。

Q. Pythonのバージョンは何でもいいですか?

公式wheelは「cp39-abi3」形式なので、Python 3.9以降であれば1つのファイルで動きます。気にすべきはPythonよりPyTorchの版です。

Q. xformersのインストールがどうしても上手くいきません。

仮想環境を作り直し、PyTorch、xformersの順に入れ直すのが最短です。それでも駄目なら、xformersなしでSDPAを使うか、ブラウザで完結する画像生成サービスへの切り替えを検討してください。


あわせて見たいツール・カテゴリ

xformersで環境を整えた後の使い道や、ローカル以外の選択肢を探すときに役立つページを並べました。

生成した画像を定期的に作ってSNSや資料へ流したいなら、n8nの使い方でワークフローの組み方を押さえると、手作業の往復が減ります。デザインツールと画像生成をつないで素材を量産したい人は、Figma nodeとは?で具体的なつなぎ方が分かります。画像生成以外にもAIの導入を段階的に進めたい事業者には、AIセールスツール5選が、フェーズごとにツールを足していく考え方の参考になります。

次に読むならこれ。ローカル環境の構築に疲れたら、イメージfxの無料移行ガイドがおすすめです。GPUも版合わせも要らずに生成を続ける道筋が、3つの手順で分かります。

getimg.ai icon
この記事で紹介 / AI画像生成3.75無料あり日本語◎最低料金 ¥0〜

初回購入15%オフ(新規ユーザー)

詳細・口コミを見る

有料にすると Entryで毎月3 000クレジットと商用利用権(Entry 月払い¥1,450/月、年払いなら¥1,160/月 (¥13 920を年額請求、税別))

各ツールの公式サイト(一次情報)

料金・機能・対応範囲は各社公式が一次情報です。本記事は公開時点の検証に基づきますが、最新かつ正確な条件は必ず各公式ページで確認してください。