피드로 돌아가기
Meta EngineeringAI/ML
원문 읽기
RCCLX: Innovating GPU Communications on AMD Platforms
Meta가 AMD GPU 플랫폼용 RCCLX를 오픈소스화하며 Direct Data Access와 Low-Precision Collectives로 통신 레이턴시 10-50% 단축
AI 요약
Context
텐서 병렬 처리(Tensor Parallelism)에서 AllReduce 통신 작업이 전체 레이턴시의 최대 30%를 차지한다. LLM 추론의 디코딩 단계에서 특히 작은 메시지 크기로 인한 통신 병목이 심화된다.
Technical Solution
- Direct Data Access (DDA) 알고리즘 적용: DDA flat 알고리즘으로 각 rank가 다른 rank의 메모리에 직접 접근하여 로컬 reduce를 수행하도록 변경하고, 레이턴시를 O(N)에서 O(1)로 감소
- DDA tree 알고리즘 구현: AllReduce를 reduce-scatter와 all-gather 2단계로 분해하고 각 단계에서 직접 데이터 접근을 활용하여 ring 알고리즘 동일 데이터량으로 상수 팩터 레이턴시 달성
- Low-Precision Collectives 개발: FP8 양자화로 최대 4:1 압축을 달성하고, AllReduce, AllGather, AlltoAll, ReduceScatter를 BF16, FP32 지원하도록 구현
- Infinity Fabric 활용: AMD MI300/MI350의 병렬 P2P 메시 통신으로 고대역폭 저레이턴시 구현
- Torchcomms API 통합: RCCLX를 Torchcomms의 커스텀 백엔드로 통합하여 AMD/NVIDIA 플랫폼 간 단일 API 제공
Impact
- AMD MI300X에서 DDA 적용 시 디코드(소규모 메시지) 성능 RCCL 대비 10-50% 향상
- prefill 단계에서 10-30% 속도 개선
- 증분 토큰 생성 시간(TTIT) 약 10% 단축
- Low-Precision Collectives 활용 시 추론 워크로드에서 레이턴시 9-10% 감소 및 처리량 7% 증가
- GSM8K 평가에서 약 0.3% 수치 정확도 변화(acceptable으로 판정)
Key Takeaway
분산 GPU 통신에서 메모리 접근 패턴을 직접 제어(DDA)하거나 정밀도 트레이드오프를 동적으로 조정(Low-Precision)하면, 하드웨어 특성(Infinity Fabric)을 최대 활용하여 레이턴시와 처리량을 동시에 개선할 수 있다.
실천 포인트
AMD MI300/MI350 플랫폼에서 tensor parallel LLM을 운영하는 팀이라면, RCCL_LOW_PRECISION_ENABLE=1 환경변수로 Low-Precision Collectives를 활성화하고 Torchcomms API를 통해 기존 코드 수정 없이 9-10% 레이턴시 감소와 7% 처리량 증가를 확보할 수 있다.