xdit-project/xDiT

xDiT: A Scalable Inference Engine for Diffusion Transformers (DiTs) with Massive Parallelism

何を解決するか

xDiTは、Diffusion Transformers (DiTs) の高コストな計算と注意メカニズムの二次関数的成長という課題に取り組んでいます。これにより、単一のGPUではリアルタイムでの高品質な画像・動画生成が困難になることが多くあります。xDiTは、これらの大規模モデルを複数のGPUやマシンに展開可能にすることで、オンラインサービスのパフォーマンス要件を満たすことを可能にします。

動作方法

xDiTは、さまざまな並列化および加速技術を活用するスケーラブルな推論エンジンです。

  • 並列推論: 複数の戦略をハイブリッド形式で組み合わせて実装しています:
    • 統一シーケンス並列 (USP): DeepSpeed-Ulysses と Ring-Attention を統合。
    • PipeFusion: 動画モデルにおける時間的冗長性を活用した、シーケンスレベルのパイプライン並列化。
    • データ並列: 複数のプロンプトや画像にわたる並列処理。
    • CFG並列: クラス分類器フリー誘導のためのバッチ分割アプローチ。
  • キャッシュ加速: TeaCache や DiTFastAttn などの手法を統合し、拡散ステップ間の冗長性を活用。
  • 計算加速: カーネル最適化、torch.compileonediff を使用して単一GPUのパフォーマンスを向上。
  • 注意バックエンド: FlashAttention、cuDNN、AMD GPU向けの AITER など幅広いバックエンドをサポート。精度と速度のバランスを取るためのハイブリッド注意スケジュールも提供。

対象ユーザー

画像・動画生成に大規模な Diffusion Transformers を展開する開発者や研究者向けです。マルチGPUまたはマルチマシン環境を活用して遅延を低減し、スループットを向上させたい方々に最適です。

主な特徴

  • ハイブリッド並列化: シーケンス、パイプライン、データ、CFG並列化を組み合わせ、特定のハードウェアに最適化可能。
  • 広範なモデル対応: Flux、HunyuanVideo、Wan2.1、Stable Diffusion 3 など、多数のDiTモデルに対応。
  • ハードウェアの柔軟性: NVIDIA GPUとAMD GPU(AITER経由)の両方で最適化済み。
  • 拡張可能なAPI: diffusers ライブラリのモデルを簡単に適応できるシンプルなラッパーを提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • Dispatch