ComfyUI SDXL速度比較:どのAttention実装が最速か?xformers、SageAttention、FlashAttentionを検証

AI画像生成、特にComfyUIを使っていると、生成速度は常に気になるポイントですよね。ほんの少しでも速くしたい! その鍵の一つが「Attention」の実装方法です。

ComfyUIでは、–disable-xformers、–use-sage-attention、–use-flash-attentionといった起動オプションで、使用するAttention計算ライブラリを切り替えられます。これらが実際にSDXLの生成速度にどれくらい影響するのか、簡単なワークフローで比較検証してみました。

検証方法

  • 使用ツール: ComfyUI
  • モデル: illustriousXL_v01
  • ワークフロー: 基本的なText-to-Image(テキストから画像を生成するシンプルな構成)
  • 計測方法: 各Attention設定で10回画像を生成し、1回あたりの平均生成時間を比較
  • 比較対象:
    1. PyTorch標準Attention: python main.py –disable-xformers で起動(xformersを無効化した場合の速度)
    2. xformers
    3. Sage Attention: python main.py –use-sage-attention で起動
    4. FlashAttention: python main.py –use-flash-attention で起動

※注意:環境に各ライブラリ(xformers, sage-attention, flash-attention)が正しくインストールされている必要があります。

ワークフロー

検証結果 (10回生成の平均秒数)

Attention実装平均生成時間 (秒)備考
PyTorch2.7標準 (–disable-xformers)5.649比較基準
xformers 0.0.305.371約4.9% 高速化
Sage Attention 2.1.1 (–use-sage-attention)5.758約1.9% 低速化 (!)
FlashAttention 2.7.4 (–use-flash-attention)5.313約5.9% 高速化 (最速)

分析と考察

結果を見ると、FlashAttentionが最も速く、次いでxformersという順になりました。

  • FlashAttention / xformersの有効性: 標準のPyTorch Attentionと比較して、FlashAttentionは約5.9%、xformersは約4.9%の速度向上が見られました。VRAM使用量を抑えつつ計算を効率化するこれらのライブラリは、静止画生成においても有効であると言えます。わずかな差に見えますが、連続生成や高解像度化を行う際には大きな違いとなって現れる可能性があります。
  • Sage Attentionの意外な結果: 今回の検証では、Sage Attentionは標準よりもわずかに遅いという、予想外の結果になりました。これについては、いくつかの可能性が考えられます。
    • インストールや環境の問題: 特定の環境下ではうまく動作していない可能性。
    • ユースケースのミスマッチ: Sage Attentionは、特にHunyuan VideoやWAN2.1のような動画生成においてVRAM削減や速度向上に効果を発揮すると言われています。もしかすると、今回のシンプルな静止画生成ワークフローでは、その真価を発揮できなかったのかもしれません。

まとめ

今回のシンプルなSDXL静止画生成テストにおいては、

  • FlashAttentionが最も高速
  • xformersも安定した速度向上
  • Sage Attentionは今回の条件では効果が見られなかった

という結果になりました。

ComfyUIで少しでも生成速度を上げたい場合は、お使いのGPUが対応していればFlashAttentionを試してみる価値は大きいでしょう。xformersも依然として有効な選択肢です。

ただし、これらの結果は特定の環境、ワークフローでのものです。ご自身のPC環境(特にGPUの種類)や、使用するワークフローの複雑さによって結果は変わる可能性があります。

コメント

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