ComfyUI Windows Portable版にSageAttentionをインストールする
最近、civitaiで公開されている動画生成AIのワークフローを眺めていて、SageAttentionというモジュールがあることを知りました。
どうやら画質を劣化させずに推論速度を高速化する技術で、動画生成を少しでも早くするために使われるようですが、静止画でも効果があるとのこと。
ほーん、そんじゃとりあえず入れてみっか、と思ったら、これが思いのほか面倒…というか古い情報があふれていて…半日潰したので忘れないうちに備忘録として残しておきます。
尚、インストール手順の参考にしたのはこちらのcivitaiの記事「SageAttention on Windows | ComfyUI speed comparison」です。
SageAttention用のカスタムノードをインストールする、とか書いてある記事もネット上に残っている上、ChatGPTに聞いても自信満々にそう答えますが、それはもう古いのでご注意ください。
ComfyUI Windows Portable版でSageAttentionを使えるようにする手順
以降、C:\ComfyUI にComfyUI Windows Portable版が入っているものとして書きます。
Portable版の場合、C:\ComfyUI\python_embeded の下にPython環境があるため、ここにあるpython.exeを使わないと意味がない点に注意が必要です。
pip installしたつもりが別の場所にあるPythonに入れてしまっている場合があります。
- Visual Studio Build Toolsをインストール。
インストールオプションでは「C++によるデスクトップ開発」を選択。
(SageAttentionの初回実行時にCのコンパイルが実行されるため)
- python_embededにincludeとlibsをコピーする
普通にインストールしたPythonと異なり、必要最低限のlibsしかないしincludeディレクトリも存在しないため、これらのファイルを用意してあげる必要がある。
自分でPythonをセットアップしてコピーしても良いが、下記URLからDLするのがてっとり早い。
https://github.com/woct0rdho/triton-windows/releases/tag/v3.0.0-windows.post1
2025年3月現在、python_embededのPythonバージョンは3.12.8なのでpython_3.12.7_include_libs.zipをダウンロードして、中のlibsとincludeディレクトリを上書きコピー。
不安な場合は、コマンドプロンプトで「C:\ComfyUI\python_embeded\python.exe -V」と入力してComfyUIに組み込み済Pythonのバージョンを確認するのが良い。
- triton-windowsとsage-attentionをインストールする
cd C:\ComfyUI\python_embeded
python.exe -m pip install --upgrade pip
python.exe -m pip install triton-windows
python.exe -m pip install sageattention
- ComfyUIの起動バッチファイルに --use-sage-attentionを追加。
例)
.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --use-sage-attention
CUDAやvc_redistは入れなくて良いの?
…CUDAは入れなくても良い…みたい…たぶん。自信なし。
歯切れが悪くて申し訳ないのだけど、うちの環境ではCUDAはアンインストール済です。でもアンインストールしても残ってるDLLあったりするし、なんか、いまいち断言できないんですよね。
triton-windowsのページをご覧頂ければわかりますが、 「Since the release post11, CUDA is bundled in the Triton wheels, so you don't need to manually install it.」ということで、triton-windowsにcudaも含まれてるらしいんですよね。これを読んで入れるのやめました。そして実際動いたので大丈夫だと…思う…。
あとvc_redistは入れろよ、と書いてあるのだけど、うちの環境では入れなくても大丈夫でした。でも…たぶん…何かのアプリ入れた際にvcruntime140.dllが入っただけだと思うので、普通は入れたほうが良いです。場所はここ。
https://aka.ms/vs/17/release/vc_redist.x64.exe
Microsoftが配布しているランタイムモジュールなのでご安心を。
実際早くなった?
………う~~~ん。…一応。
以下、RTX4070で1216x832pxの画像をStep20 Euler aで10枚ずつ生成したテスト結果です
| 通常 | SageAttention |
|---|---|
| 6.71s | 6.23s |
| 6.47s | 6.22s |
| 6.57s | 6.14s |
| 6.49s | 6.19s |
| 6.46s | 6.19s |
| 6.39s | 6.19s |
| 6.44s | 6.19s |
| 6.41s | 6.27s |
| 6.41s | 6.19s |
| 6.40s | 6.19s |
| 平均:6.475s | 平均:6.2s |
1216x832pxくらいの解像度では平均で4%程度の性能アップという誤差レベルの結果でした。インストールをミスっている可能性や勘違いしている可能性は否定できませんけども…。
最初に紹介したCivitaiの記事でも高解像度やアップスケール時に特に大きな効果があると書かれていたので、普段Highres.fixも使わない自分には恩恵少ないかなー?
でも動画生成AI使う場合だと60フレームとか出力するわけで、そっち方面では馬鹿にできない差になるのかも知れませんね。
おまけ:速度テスト時に生成した画像













