tdrussell/diffusion-pipe

A pipeline parallel training script for diffusion models.

解決する課題

単一のGPUには収まりきらないほど巨大な拡散モデルのトレーニングを可能にします。パイプライン並列を利用することで、モデルのワークロードを複数のGPUに分散させることができ、より限られたハードウェアでもハイエンドなモデルのトレーニングが可能になります。

仕組み

このプロジェクトは、DeepSpeedによって強化されたデータ並列とパイプライン並列のハイブリッドを使用しています。モデルをGPU間でステージごとに分割し、モデルの複数のインスタンスを同時に実行できます。メモリと速度を最適化するために、Huggingface Datasetsライブラリを使用して潜在変数(latents)とテキスト埋め込みをディスクにプリキャッシュし、実際のトレーニングプロセス中にVAEやテキストエンコーダーをVRAMに保持する必要をなくしています。

対象者

マルチGPU構成を使用して、大規模な画像およびビデオ拡散モデル(Flux、SDXL、HunyuanVideoなど)をトレーニングまたは微調整したい開発者やAI研究者。

ハイライト

  • 幅広いモデルサポート: SDXL、Flux、LTX-Video、HunyuanVideo、Cosmosなど、非常に多くのモデルと互換性があります。
  • 統合フレームワーク: 単一のパイプライン内で画像モデルとビデオモデルの両方をサポートしています。
  • メモリ効率: AdamW8BitKahanオプティマイザ、ブロックスワッピング、UnslothアクティベーションチェックポインティングなどのVRAM削減機能が含まれています。
  • 柔軟なトレーニング: 量子化モデル上で直接LoRAをトレーニングすることをサポートし、中断されたセッションを再開するためのフルステートチェックポインティングを提供します。

関連

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