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 優化器、區塊交換(block swapping)與 Unsloth 激活檢查點(activation checkpointing)等減少 VRAM 佔用的功能。
- 靈活的訓練:支援直接在量化模型上訓練 LoRA,並提供完整的狀態檢查點以恢復中斷的訓練工作階段。
相關
- Dispatch
- 專案
- 專案
- 專案
- 專案