최신 머신러닝 프레임워크는 GPU 간 통신 기본 요소에 NVIDIA Collective Communications Library (NCCL)을 사용하는 경우가 많습니다.
Google의 향상된 NCCL 버전은 NCCL/gIB라고 하며 Google Cloud의 A3 Ultra, A4, A4X VM에서 사용할 수 있습니다. NCCL/gIB는 Google 인프라에서 업스트림 NCCL보다 성능이 더 뛰어난 경우가 많습니다. NCCL 성능은 전체 워크로드 성능에 영향을 줄 수 있으므로 NCCL/gIB를 사용하는 것이 좋습니다.
NCCL/gIB에는 다음과 같은 Google 전용 기능과 최적화가 포함되어 있습니다.
- gIB 네트워크 플러그인은 Google 네트워크에서 부하 분산을 개선하여 집단 작업 중에 처리량이 높고 지연 시간이 짧은 상태를 더 일관되게 유지합니다.
- Google Cloud VM에서 최적의 조정 옵션을 선택하는 맞춤 튜너 플러그인
- CoMMA 프로파일러 플러그인은 워크로드에 대한 자세한 성능 측정항목과 진단 데이터를 제공합니다.
NCCL/gIB 아키텍처
NCCL/gIB는 이 다이어그램에 표시된 대로 머신러닝 프레임워크 및 클러스터의 NVIDIA GPU와 상호작용하여 성능을 최적화하고 원격 분석을 수집합니다.

NCCL/gIB 사용의 이점
안정성 문제 없이 Google Cloud VM에서 업스트림 NVIDIA Collective Communications Library를 사용할 수 있지만 NCCL/gIB는 Google Cloud 에 더 최적화되어 있으며 동일한 NCCL 매개변수를 사용하더라도 특정 통신 패턴의 성능 차이가 매우 클 수 있습니다.
예를 들어 다음 그래프는 AllReduce 성능에 대한 업스트림 NCCL과 NCCL/gIB를 비교한 것입니다. NCCL/gIB는 특정 메시지 크기에서 업스트림 NCCL보다 최대 12배 더 우수합니다.

백그라운드 트래픽이 없는 A3 Ultra (H200)를 사용한 32노드 NCCL AllReduce 성능
백그라운드 트래픽이 있는 AllGather 성능에서 NCCL/gIB와 업스트림 NCCL을 비교한 결과도 이 그래프에 표시된 것처럼 NCCL/gIB가 더 큰 메시지 크기에서 업스트림 NCCL보다 약 50% 더 우수합니다.

노이즈가 많은 백그라운드가 있는 공유 패브릭에서 A3 Ultra (H200)를 사용하는 32노드 NCCL AllGather 성능
또한 CoMMA 프로파일러 플러그인은 Google에 개선된 맞춤 원격 분석을 제공하여 워크로드 수준 문제가 발생할 경우 Google에서 더 나은 지원을 제공할 수 있도록 합니다.
NCCL/gIB 사용
클러스터에서 NCCL/gIB 테스트를 실행하려면 다음 목록에서 요구사항에 가장 적합한 페이지를 선택하세요.
- Compute Engine VM에서 NCCL 테스트 실행
- 기본 구성을 사용하는 GKE 클러스터에서 NCCL 실행
- A4X를 사용하는 맞춤 GKE 클러스터에서 NCCL 실행
- A4 또는 A3 Ultra를 사용하는 커스텀 GKE 클러스터에서 NCCL 실행
- Slurm 클러스터에서 NCCL 테스트 실행
- Cluster Director에서 NCCL 테스트 실행
테스트를 실행한 후 클러스터 문제를 해결하는 방법을 알아보려면 문제 해결을 위해 NCCL/gIB 로그 수집 및 이해를 참고하세요.