xdit-project/xDiT
xDiT: A Scalable Inference Engine for Diffusion Transformers (DiTs) with Massive Parallelism
解決する課題
xDiT は、Diffusion Transformers (DiTs) の計算ボトルネックに対処します。Attention メカニズムの要求は入力コンテキスト長に応じて二次関数的に増大するため、単一 GPU でのリアルタイム高品質な画像・動画生成は困難であり、スケーラブルなマルチ GPU およびマルチマシン展開が必要になります。
仕組み
xDiT は、以下の並列化および高速化戦略を実装した推論エンジンです。
- 並列推論: シーケンス並列 (USP)、シーケンスレベルパイプライン並列 (PipeFusion)、データ並列、CFG 並列 (Split Batch) を組み合わせたハイブリッドアプローチを使用し、ハードウェア間の通信を最適化します。
- キャッシュ高速化: TeaCache や DiTFastAttn などの手法を統合し、拡散ステップ間の計算冗長性を活用します。
- 計算高速化: カーネルアクセラレーション、
torch.compile、onediffを利用して単一 GPU のパフォーマンスを向上させます。 - Attention バックエンド: FlashAttention (v2、v3、v4)、cuDNN、AMD GPU 向け AITER など、幅広いバックエンドをサポートします。
対象ユーザー
画像・動画生成用の大規模 Diffusion Transformers を展開する開発者や研究者で、複数の計算デバイスを使用してレイテンシを削減し、スループットを向上させる必要がある方。
ハイライト
- 幅広いモデルサポート: Flux、HunyuanVideo、Wan2.1、Stable Diffusion 3 など、さまざまな DiTs と互換性があります。
- ハイブリッド並列: 複数の並列手法を組み合わせて、利用可能なデバイス数に柔軟に対応できます。
- 柔軟な統合:
huggingface/diffusersライブラリのモデルを適応させるラッパーを提供します。 - マルチハードウェアサポート: NVIDIA GPU、AMD GPU (AITER 経由)、Ascend NPU 向けに最適化されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch
- Dispatch