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
  • プロジェクト
  • プロジェクト