[Paper] 제한된 지연 동기 컬렉티브를 통한 더 빠른 분산 추론 전용 추천 시스템
Source: arXiv - 2512.19342v1
Overview
딥러닝 추천 모델(DLRM)은 Netflix, TikTok, Amazon과 같은 플랫폼에서 보는 개인화된 피드에 동력을 제공합니다. 이 논문에서는 Bounded Lag Synchronous (BLS) all‑to‑all communication을 소개합니다. 이는 기존의 all‑to‑all 집합 연산을 대체하는 드롭‑인 방식으로, 느린 노드가 설정 가능한 정도만큼 뒤처지도록 허용하면서 전체 추론 파이프라인을 정지시키지 않습니다—또한 추론 정확도는 그대로 유지됩니다.
주요 기여
- BLS All‑to‑All Primitive: 느린 프로세스의 지연을 제한하는 새로운 집합 연산으로, 완전 동기화 배리를 조정 가능한 부분 비동기 단계로 전환합니다.
- PyTorch Distributed Backend Integration: BLS를 네이티브 백엔드로 구현하여 기존 PyTorch DLRM 코드베이스에 쉽게 적용할 수 있게 합니다.
- Empirical Evaluation on Real‑World DLRM Workloads: BLS가 불균형 임베딩 조회(불규칙한 접근 패턴, 이기종 하드웨어, 네트워크 지터)에서 지연 시간 및 처리량을 크게 향상시킴을 보여줍니다.
- Preservation of Model Accuracy: 추론 전용 시나리오에서는 제한된 지연이 최종 추천 점수에 영향을 주지 않음을 입증합니다.
- Guidelines for When BLS Helps: BLS가 임베딩 접근이 편향되었거나 프로세스별 지연이 가변적인 워크로드에서 빛을 발하고, 완전히 균형 잡힌 실행에서는 거의 이점이 없다는 명확한 의사결정 매트릭스를 제공합니다.
방법론
- Problem Formalization – 저자들은 분산 임베딩 조회를 각 워커가 다른 모든 워커에게 가변 크기의 임베딩 인덱스 리스트를 전송하는 비정형 all‑to‑allv 연산으로 모델링한다.
- Bounded Lag Design – 각 all‑to‑all 후 전역 배리어를 두는 대신, 각 워커는 구성 가능한 일부 피어를 제외한 모든 피어로부터 데이터를 수신한 후에 진행한다. 지연 한계(예: “최대 2번의 지연 허용”)는 가벼운 신용 기반 토큰 시스템으로 강제된다.
- Implementation – BLS 프리미티브는 NCCL/UCX 프리미티브 위에 구축되며 커스텀 PyTorch
torch.distributed백엔드를 통해 노출된다. 참고 DLRM 추론 코드는 표준all_to_all호출을bls_all_to_all로 교체하는 것만으로 수정된다. - Experimental Setup – 실험은 현실적인 임베딩 테이블 크기(수십 GB)와 접근 편향 정도가 다양한 합성/실제 클릭‑스루 데이터셋을 사용하여 8–64 GPU 노드 클러스터에서 수행된다. 측정 지표: 배치당 지연 시간, 전체 처리량(쿼리/초), 그리고 추천 정확도(AUC).
결과 및 발견
| 시나리오 | 기준 (전체‑대‑전체 동기) | BLS 전체‑대‑전체 | 속도 향상 | 정확도 영향 |
|---|---|---|---|---|
| 균형 잡힌 접근 (균일한 임베딩 히트) | 1.12 ms / batch | 1.09 ms / batch | ~2.7 % | 없음 |
| 편향된 접근 (10 % 핫 임베딩) | 2.84 ms / batch | 1.71 ms / batch | 1.66× | 없음 |
| 이기종 노드 지연 (네트워크 지터 최대 30 ms) | 3.45 ms / batch | 1.92 ms / batch | 1.80× | 없음 |
| 대규모 (64 GPU, 4 TB 테이블) | 5.23 ms / batch | 2.87 ms / batch | 1.82× | 없음 |
- 지연 시간이 일부 워커가 지연을 겪을 때 크게 감소합니다; 지연 한계가 더 빠른 워커가 계속 처리하도록 하여, 효과적으로 “스트래거”를 마스킹합니다.
- 처리량(초당 쿼리 수)이 파이프라인이 더 가득 차 있기 때문에 비례적으로 향상됩니다.
- 모델 품질(AUC, NDCG)이 동기식 기준과 동일하게 유지되어, 제한된 지연이 추론 결과에 영향을 줄 수 있는 오래된 임베딩을 도입하지 않음을 확인합니다.
Practical Implications
- Production Deployments – 기업은 기존 PyTorch DLRM 서비스에 BLS 백엔드를 그대로 적용할 수 있어 모델을 재학습할 필요 없이 왜곡된 워크로드에서 최대 약 2배의 추론 속도 향상을 얻을 수 있습니다.
- Cost Savings – 추론 속도가 빨라지면 GPU‑hour 사용량이 감소하고 지연 시간 SLA가 개선되어 클라우드 비용과 사용자 경험에 직접적인 영향을 미칩니다.
- Robustness to Heterogeneity – 일부 노드가 더 시끄러운(예: 공유 네트워킹) 멀티‑테넌트 클러스터 환경에서 BLS는 단일 noisy neighbor가 전체 추천 파이프라인을 병목 현상으로 만들지 않도록 방지합니다.
- Simplified Scaling – GPU를 추가로 확장할 때 임베딩 분포가 고르지 않을 확률이 높아지는데, BLS가 자동으로 적응해 수동적인 로드‑밸런싱 히어스틱 사용 필요성을 줄여줍니다.
- Open‑Source Integration – 이 원시 기능이 PyTorch 분산 스택에 포함되어 있기 때문에 개발자는 간단한 설정 플래그만으로 다양한 지연 한계(lag bounds)를 실험할 수 있어 빠른 A/B 테스트가 가능합니다.
Limitations & Future Work
- Benefit Limited to Unbalanced Scenarios – 완전히 균형 잡힌 추론 실행에서는 BLS가 미미한 이득만을 제공하므로, 추가 구현 복잡성이 정당화되지 않을 수 있습니다.
- Static Lag Bound – 현재 설계는 고정된 lag 파라미터를 사용합니다; 런타임 메트릭에 반응하는 적응형 스킴은 성능을 더욱 향상시킬 수 있습니다.
- Training Not Covered – 저자들은 추론 전용 파이프라인에 초점을 맞추고 있으며, gradient 일관성이 중요한 학습 단계에 BLS를 확장하는 것은 아직 해결되지 않은 과제입니다.
- Hardware Specificity – 실험은 NCCL/UCX에 의존하고 있어, 대체 인터커넥트(예: RoCE, NVLink‑only 클러스터)에서의 성능 검증이 필요합니다.
Bottom line: Bounded Lag Synchronous all‑to‑all은 대규모 추천 시스템 추론에 있어 실용적이고 낮은 비용의 최적화 기법으로, 요청당 수 밀리초를 절감하고 임베딩 접근이 균일하지 않을 경우 처리량을 두 배로 늘릴 수 있습니다. 기존 PyTorch DLRM 배포 환경에서 더 높은 성능을 끌어내고자 하는 개발자들은 한 번 시도해 볼 가치가 있습니다.
저자
- Kiril Dichev
- Filip Pawlowski
- Albert‑Jan Yzelman
Source:
논문 정보
- arXiv ID: 2512.19342v1
- 분류: cs.DC, cs.LG
- 출판일: 2025년 12월 22일
- PDF: Download PDF