vipshop/cache-dit
A PyTorch-native inference engine with cache, parallelism, quantization and cpu offload for DiTs.
📚 Cache‑DiT とは
Cache‑DiT は、画像、動画、音声、3D生成に使用される拡散ベースのトランスフォーマーモデル(DiT)を高速化する、PyTorchネイティブの推論エンジンです。Hugging FaceのDiffusersライブラリの上に構築され、4つの主要なパフォーマンス手法を追加します。
| 機能 | 説明 | 重要性 |
|---|---|---|
| ハイブリッドキャッシュ | 中間のキー/バリューテンソル(DBCache、TaylorSeer、SCMなど)を保存し、後続の拡散ステップで再計算せず再利用できるようにします。 | 最大約9倍高速な生成。 |
| 並列処理 | コンテキスト、テンソル、2D/3D、テキストエンコーダー、VAE、ControlNet向けの専用並列処理。 | 大規模モデルを複数GPUまたはGPU+CPU構成で実行可能にします。 |
| 量子化 | 8ビットおよび4ビットの重み/アクティベーション(W8A8、W4A4)をサポート。 | 品質を維持しながらメモリと計算を削減します。 |
| CPUオフロード | モデルの一部をほぼオーバーヘッドなしでCPUにバケット単位でレイヤーごとにオフロード。 | 限られたGPUメモリでより大きなDiTを実行できます。 |
このエンジンはコンパイルツール(例:torch.compile)と互換性があり、NVIDIA GPU、AMD GPU、Ascend NPUで動作し、SGLang Diffusion、vLLM‑Omni、TensorRT‑LLM、ComfyUI、Jetson‑Containersなどの既存エコシステムにプラグインできます。
🚀 できること
- 40以上のDiTパイプラインファミリー(120以上の具体的なバリアント)を実行し、FLUX、StableDiffusion‑3、PixArt‑Sigma、CogVideoX、StableAudioなどの人気モデルをカバー。
- キャッシュ+コンテキスト並列処理+torchコンパイルを使用すると、9倍の高速化を実現(リポジトリのベンチマーク画像に示されています)。
- GitHub Copilot/Claude-Codeエージェント向けの**「モデル統合スキル」**を提供し、単一のコマンドで新しいDiTパイプラインを簡単に追加できます。
- 任意の
nn.Moduleに対して量子化とレイヤーごとのオフロードをサポートし、新しいDiTが自動的に恩恵を受けられます。
🛠️ はじめに(クイックスタート)
# PyPIからパッケージをインストール
pip install cache-dit
# 例:キャッシュと並列処理を使用してFLUXモデルを実行
python -m cache_dit.run \
--model flux \
--cache on \
--parallelism context \
--quantize w8a8
READMEはcache‑dit.ioの詳細なドキュメントを指しています。
- キャッシュAPI – さまざまなキャッシュバックエンドを有効/無効にする方法。
- コンテキスト並列処理 – 拡散タイムステップをGPU全体に分割。
- テンソル並列処理 – トランスフォーマーの重みをシャーディング。
- 量子化とオフロード – 低精度推論のフラグ。
🤝 コミュニティとエコシステム
Cache‑DiTは、成長中のプロジェクトリストとすでに統合されています:
- Diffusers(公式のHugging Face最適化ガイド)
- ComfyUI(拡散用のビジュアルノードベースUI)
- SGLang、vLLM‑Omni、TensorRT‑LLM(大規模サービングフレームワーク)
- Jetson‑Containers(エッジデバイス展開)
- xDiT、MindIE‑SD、SD.Next、stable‑diffusion.cppなどのさまざまなオープンソースパイプライン。
これらの統合は、薄いアダプターレイヤーを追加するプルリクエストがほとんどで、Cache‑DiTを最小限の変更で既存のコードベースに組み込めることを示しています。
📄 ライセンスと引用
- Apache‑2.0ライセンス(バッジに示されています)。
- 学術利用のためのBibTeX形式の引用が提供されています。
結論: Cache‑DiTは、拡散トランスフォーマーモデル向けの本格的な本番グレードの高速化レイヤーです。すでにDiffusersを使用していて、モデルを書き換えずに速度を向上させたい、メモリを削減したい、または異種ハードウェアで実行したい開発者を対象としています。
関連
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト