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
  • 项目
  • 项目
  • 项目
  • 项目