komikndr/raylight
Enable true multi gpu capability in Comfy UI using XDiT XFuser and FSDP managed by Ray
해결하는 문제
Raylight는 ComfyUI에서 Wan, Flux, Hunyuan Video와 같은 대규모 AI 모델을 여러 GPU에 걸쳐 실행할 수 있는 방법을 제공합니다. 단일 GPU의 VRAM 제한 문제를 해결하여, 여러 개의 작은 GPU의 메모리를 결합함으로써 일반적으로 "메모리 부족"(OOM) 오류를 유발하는 모델을 실행할 수 있게 합니다.
작동 방식
Raylight는 Ray 프레임워크를 사용하여 GPU 워커를 관리하고, 세 가지 주요 유형의 병렬 처리를 구현합니다.
- 통합 시퀀스 병렬 처리(USP): XDiT 라이브러리를 사용하여 이미지 또는 비디오 시퀀스 텐서를 GPU 랭크 간에 분할합니다.
- 완전 분할 데이터 병렬(FSDP): 모델 가중치를 GPU 간에 분할하여 각 GPU가 전체 모델을 로드할 필요가 없게 하여, 사용 가능한 VRAM을 효과적으로 통합합니다.
- CFG 병렬 처리: 분류기 없는 가이드(CFG) 수준에서 작업 부하를 분할합니다.
또한 FSDP에 대해 CPU 오프로딩을 지원하여 매우 낮은 메모리 시스템에서도 VRAM 요구량을 추가로 줄일 수 있습니다.
대상 사용자
복수의 GPU를 보유하고 있으며, 단일 카드의 용량을 초과하는 더 큰 모델을 실행하거나 생성 속도를 높이고 싶은 ComfyUI 사용자들(예: RTX 5090 1장 대신 RTX 4070 2장 사용).
주요 특징
- 멀티 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
- 프로젝트
- 프로젝트