분산 학습과 GPU 통신의 중요성
대규모 딥러닝 모델 학습에서는 수십~수천 개 GPU를 동시에 사용하는 분산 학습이 필수적이다. 이 과정에서 GPU들은 그래디언트와 파라미터를 지속적으로 교환해야 하며, 통신 성능이 전체 학습 속도를 결정한다.
NCCL과 MPI의 차이
GPU 간 통신에는 NVIDIA의 NCCL 라이브러리가 사용된다. NCCL은 NVLink, NVSwitch, GPUDirect RDMA 같은 GPU 전용 하드웨어 기능을 활용해 GPU끼리 직접 통신하도록 설계되었다. 반면 MPI(Open MPI, Intel MPI)는 CPU 기반 분산 컴퓨팅용 통신 라이브러리이다. AWS EFA 환경에서는 MPI가 libfabric을 직접 사용하지만, NCCL은 aws-ofi-nccl 플러그인을 통해 libfabric과 연결된다.

NCCL의 집합 통신 연산
분산 학습에서는 집합 통신(Collective Communication)이 핵심이다. 대표 연산은 다음과 같다.
- AllReduce: 모든 GPU의 데이터를 합산한 뒤 전체 GPU에 공유
- AllGather: GPU별 데이터를 합치지 않고 모두 모아 전체 GPU에 공유
- ReduceScatter: 데이터를 합산한 후 GPU별로 분할 저장
DDP는 주로 AllReduce를 사용하고, FSDP·ZeRO-3 같은 샤딩 기법은 AllGather와 ReduceScatter를 적극 활용한다.

NCCL의 자동 토폴로지 최적화
NCCL의 핵심 장점은 하드웨어 토폴로지를 자동으로 감지해 최적화한다는 점이다. GPU 간 NVLink 연결 구조, PCIe 계층, NUMA 노드, NIC 위치 등을 분석하여 최적 경로를 계산한다. 또한 데이터 크기에 따라 링(Ring) 알고리즘과 트리(Tree) 알고리즘을 자동 선택한다. 대용량 데이터는 대역폭 효율이 높은 링 방식이, 작은 데이터는 지연시간이 짧은 트리 방식이 유리하다.

파이프라이닝과 청킹 기법
NCCL은 데이터를 청크(chunk) 단위로 잘게 나누고 파이프라이닝 방식으로 전송한다. 이를 통해 한 GPU가 데이터를 전송하는 동안 다른 GPU는 동시에 계산과 전달을 수행할 수 있다. 이 구조는 네트워크 대역폭 활용도를 높이고 통신 지연을 줄인다. 청크 크기는 NCCL이 자동 조정한다.
AWS EFA 환경의 권장 설정
AWS EFA 환경에서는 최신 소프트웨어 스택(libfabric, aws-ofi-nccl)을 사용할 경우 대부분 기본 설정만으로 충분하다. 일반적으로 권장되는 최소 설정은 다음과 같다.
export FI_EFA_USE_HUGE_PAGE=0
디버깅 시에는 다음 설정으로 NCCL 동작 상태를 확인할 수 있다.
export NCCL_DEBUG=INFO
문서에서는 불필요한 환경변수 튜닝보다 기본값으로 먼저 학습을 시작하고, 실제 병목 발생 시에만 튜닝할 것을 권장한다.
단일 노드 GPU 통신 구조
단일 노드 내부에서는 NVLink와 NVSwitch가 GPU 간 초고속 통신을 제공한다. P5 인스턴스는 GPU당 양방향 900GB/s, P6 인스턴스는 1,800GB/s 대역폭을 지원한다.
멀티 노드 GPU 통신 구조
노드 간 통신은 AWS EFA 네트워크를 사용하며, GPUDirect RDMA를 통해 CPU와 시스템 메모리를 거치지 않고 GPU 메모리와 NIC가 직접 데이터를 주고받는다. aws-ofi-nccl 플러그인은 NCCL과 libfabric 사이를 연결하는 핵심 구성 요소이다.

노드 간 데이터 전송 과정
노드 간 GPU 통신은 다음 순서로 수행된다.
- PyTorch 같은 프레임워크가 NCCL API 호출
- NCCL이 통신 알고리즘과 청크 구조 결정
- aws-ofi-nccl이 libfabric API로 변환
- libfabric EFA provider가 OS-bypass 방식으로 EFA 접근
- EFA가 SRD 프로토콜로 네트워크 전송
- 원격 GPU 메모리에 직접 기록(GPUDirect RDMA)
이 구조를 통해 AWS 환경에서도 온프레미스 인피니밴드 수준의 고성능 분산 학습이 가능하다.
NCCL의 한계와 MoE 모델
NCCL은 AllReduce 같은 대칭적 집합 통신에 최적화되어 있지만, 최근 증가하는 MoE(Mixture-of-Experts) 모델은 동적·비대칭 All-to-All 통신이 많아 기존 NCCL 방식만으로는 효율적으로 처리하기 어렵다고 설명한다.
[출처]
분산 트레이닝 관점에서의 AWS 인터커넥트 기술 소개 – AWS 환경에서 NCCL을 이용한 GPU 간 통신
'SWUFORCE 기술스터디 📝' 카테고리의 다른 글
| [MUSINSA techblog] The Machine: AI가 AI 활용 코드를 평가하다 (0) | 2026.05.18 |
|---|---|
| [기술스터디] AI와 개인정보 처리 - 자동화된 결정에 대한 정보주체 권리보장 (0) | 2026.04.28 |
| [LY Corporation] 대규모 서비스 환경에서의 이미지 콘텐츠 모더레이션 (0) | 2026.03.31 |
| [Theori] 게임 핵, 치트의 원리 (0) | 2026.03.24 |
| [IGLOO] 2026년 사이버 보안 위협 및 기술 전망 (0) | 2026.02.10 |