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
- 專案
- 專案