komikndr/raylight

Enable true multi gpu capability in Comfy UI using XDiT XFuser and FSDP managed by Ray

解决的问题

Raylight 为在 ComfyUI 中跨多个 GPU 运行大型 AI 模型(如 Wan、Flux 和 Hunyuan Video)提供了一种方法。它解决了单个 GPU VRAM 有限的问题,允许用户将多个较小 GPU 的内存组合起来,运行原本会导致「内存不足」(OOM)错误的模型。

工作原理

Raylight 使用 Ray 框架来管理 GPU 工作节点,并实现了三种主要的并行处理方式:

  • 统一序列并行(USP): 使用 XDiT 库将图像或视频序列张量跨 GPU 排名进行分割。
  • 完全分片数据并行(FSDP): 将模型权重在 GPU 之间分片,使得每个 GPU 无需加载完整模型,从而有效整合可用的 VRAM。
  • CFG 并行: 在无分类器引导(Classifier-Free Guidance)级别拆分工作负载。

它还支持 FSDP 的 CPU 卸载,以进一步降低极低内存系统上的 VRAM 要求。

适用人群

拥有多个 GPU 且希望提升生成速度或运行超出单张显卡容量的大型模型的 ComfyUI 用户(例如,使用两张 RTX 4070 而非一张 RTX 5090)。

主要亮点

  • 多 GPU 支持: 通过整合多张显卡的 VRAM,实现大模型推理。
  • 广泛模型兼容: 与 Wan、Flux、Hunyuan Video、Qwen、Chroma 等模型兼容。
  • 灵活并行: 支持 USP、FSDP、DP 和 CFG 并行,包括实验性的「统一并行」模式。
  • 硬件兼容性: 已在 NVIDIA(Volta 至 Blackwell)、AMD(MI300X、MI210)和 Intel Arc Pro B60 上完成测试。
  • 优化支持: 支持 SageAttn 和 FlashAttention 2 等多种注意力后端。

相关

  • 项目
  • 项目
  • Dispatch
  • 项目
  • 项目