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