반응형
반응형
반응형

 

딥러닝 모델 학습에서 AllReduce 연산이 어떻게 사용되는지를 설명하는 다이어그램입니다. 특히 멀티-GPU 환경에서 데이터 병렬 학습을 최적화하는 방법을 보여줍니다.


1. 기본적인 AI 모델 학습 흐름 (Basic Training Flow)

(1) 학습 데이터 로딩

  • 대량의 입력 데이터(이미지, 오디오, 텍스트 등)를 데이터베이스에서 가져옴
  • 미니배치(batch) 단위로 나누어 GPU에 전달 (예: 256개의 이미지)

(2) 순전파 (Forward Pass)

  • 신경망의 각 레이어를 거쳐 데이터가 변환되면서 예측값이 생성
  • 모델의 현재 파라미터(parameters)를 사용하여 출력을 계산

(3) 역전파 (Backward Pass)

  • 예측값과 정답 간의 차이(오차)를 바탕으로 그래디언트(gradients, 기울기)를 계산
  • 그래디언트는 각 레이어의 가중치 업데이트에 사용됨

(4) 파라미터 업데이트 (Parameter Update)

  • 그래디언트를 사용하여 모델의 가중치(파라미터)를 업데이트
  • 업데이트된 파라미터는 다음 배치 학습에 사용됨

👉 기본적인 AI 학습 흐름에서는 단일 GPU에서 연산이 이루어지므로, GPU 간의 데이터 동기화 과정이 필요하지 않음


2. 멀티-GPU 학습에서의 AllReduce (AllReduce in Multi-GPU Training)

멀티-GPU 환경에서는 데이터 병렬화(Data Parallelism)를 사용하여 각 GPU가 서로 다른 배치를 처리하지만, 동기화를 위해 AllReduce 연산이 필수적입니다.

(1) 데이터 병렬화 (Data Parallelism)

  • 입력 배치를 여러 개로 나누어 각 GPU에 분배
    • 예: 256개의 이미지를 4개의 GPU에 나누어 처리 (각 GPU당 64개)
  • 모든 GPU가 같은 신경망을 복사하여 동일한 모델을 학습하지만, 각 GPU는 서로 다른 데이터 배치를 처리함

(2) 로컬 그래디언트 계산 (Local Gradients)

  • 각 GPU는 자신의 배치에 대해 순전파(Forward)와 역전파(Backward)를 수행
  • 각 GPU에서 개별적으로 그래디언트를 계산하여 가중치 업데이트 준비

(3) AllReduce 수행: 그래디언트 공유 및 합산

  • NCCL (NVIDIA Collective Communications Library) AllReduce 연산 수행
    • 모든 GPU가 계산한 로컬 그래디언트(Local Gradients)를 서로 공유하고 평균을 구함
    • 이렇게 하면 모든 GPU가 동일한 파라미터 업데이트 값을 사용하게 됨
  • AllReduce는 각 GPU의 그래디언트를 더하고 평균을 구하는 과정

(4) 업데이트된 그래디언트를 모든 GPU에 동기화

  • 각 GPU가 동일한 업데이트된 그래디언트를 적용하여 모델을 동기화
  • 이후 다음 배치를 학습할 때 모든 GPU가 동일한 모델을 사용

3. AllReduce가 필요한 이유

멀티-GPU 학습에서는 GPU 간 동기화가 없으면 각 GPU가 서로 다른 모델을 학습하게 되어 성능이 저하됩니다.
AllReduce는 다음과 같은 역할을 수행합니다:

  • GPU 간 그래디언트를 공유하여 모델의 일관성을 유지
  • 그래디언트를 합산 후 평균을 내어 모든 GPU가 같은 파라미터 업데이트 적용
  • 병렬 처리를 하면서도 하나의 모델처럼 학습을 진행할 수 있도록 보장
  • AI 훈련 속도 향상 및 메모리 사용 최적화

4. 결론

  • 기본적인 AI 훈련 흐름에서는 단일 GPU에서 모델을 학습하지만, 멀티-GPU 학습에서는 AllReduce를 활용하여 그래디언트를 동기화해야 함
  • NCCL AllReduce를 통해 각 GPU의 그래디언트를 합산하고 공유하여 모델 업데이트를 일관되게 유지
  • AllReduce는 AI 훈련에서 가장 중요한 병렬 연산 중 하나이며, 특히 대규모 AI 모델 학습에서 필수적인 요소

즉, 멀티-GPU AI 학습에서는 AllReduce가 GPU 간 데이터 동기화의 핵심 역할을 수행하며, 이를 통해 학습 속도를 최적화하고 정확도를 보장합니다. 🚀

 

AllReduce는 NVIDIA 전용 명령어가 아니라, 분산 컴퓨팅 및 병렬 처리에서 널리 사용되는 개념입니다.

NVIDIA는 자사의 GPU 간 통신 라이브러리(NCCL, NVLink, NVSwitch 등)를 활용하여 효율적인 AllReduce 연산을 구현하지만, AllReduce 자체는 NVIDIA 전용 개념이 아닙니다.


1. AllReduce란?

AllReduce는 분산 병렬 컴퓨팅에서 여러 프로세서(또는 GPU)가 계산한 데이터를 합산(또는 다른 연산 수행)한 후, 모든 프로세서에 결과를 공유하는 연산입니다.

즉, 각 장치가 개별적으로 계산한 값을 합치고, 최종 결과를 모든 장치가 동일하게 가지도록 동기화하는 방식입니다.

AllReduce 연산 공식

  • 여기서 x1,x2,...,xnx_1, x_2, ..., x_n은 각 GPU가 계산한 값
  • 결과는 모든 GPU에 동일하게 전달됨

2. AllReduce는 어디에서 사용될까?

AllReduce는 병렬 컴퓨팅과 분산 학습을 최적화하는 데 중요한 연산입니다.

(1) 딥러닝 / AI 모델 학습

  • 데이터 병렬 처리 (Data Parallelism)에서 각 GPU가 계산한 그래디언트를 동기화하는 데 사용
  • PyTorch, TensorFlow, JAX 등에서 AllReduce를 통해 멀티-GPU 학습을 수행
  • NVIDIA의 NCCL (NVIDIA Collective Communications Library)이 AllReduce를 가속화

(2) MPI (Message Passing Interface) 기반 슈퍼컴퓨팅

  • HPC (High-Performance Computing) 환경에서도 AllReduce가 중요한 연산
  • MPI(Message Passing Interface)에서도 AllReduce를 통해 CPU 또는 GPU 간 데이터를 동기화
  • OpenMPI, MPICH, Intel MPI 등에서 AllReduce 연산을 제공

(3) 데이터센터 및 클라우드 분산 연산

  • 클라우드 환경에서 대규모 데이터 분석 및 AI 모델 동기화
  • Amazon AWS, Google Cloud, Microsoft Azure의 AI 분산 학습 시스템에서 활용
  • Horovod (Uber에서 개발한 분산 학습 라이브러리)도 AllReduce를 최적화하여 멀티-GPU 및 멀티노드 학습 수행

3. NVIDIA에서 AllReduce를 가속화하는 방법

NVIDIA는 GPU 간 통신을 최적화하여 AllReduce를 빠르게 수행할 수 있도록 여러 기술을 활용합니다.

기술설명

NCCL (NVIDIA Collective Communications Library) GPU 간 빠른 AllReduce 연산을 위한 라이브러리
NVLink PCIe보다 빠른 GPU 간 직접 데이터 전송
NVSwitch 대규모 GPU 클러스터에서 AllReduce 성능 최적화
SHARP (Scalable Hierarchical Aggregation and Reduction Protocol) NVSwitch에 내장된 AllReduce 가속기

즉, NVIDIA는 AllReduce 연산을 최적화하는 강력한 하드웨어와 소프트웨어를 제공하지만, AllReduce 자체는 NVIDIA에만 국한된 개념이 아닙니다.


4. 결론

  • AllReduce는 NVIDIA 전용 명령어가 아니라, 분산 컴퓨팅에서 널리 사용되는 병렬 연산 기법
  • NVIDIA는 NCCL, NVLink, NVSwitch 등을 활용하여 AllReduce 성능을 극대화
  • PyTorch, TensorFlow, MPI 등의 프레임워크에서도 AllReduce를 사용하여 병렬 처리를 최적화
  • 슈퍼컴퓨터, AI 학습, 데이터센터 등에서 AllReduce는 필수적인 연산

👉 AllReduce는 분산 학습과 병렬 연산에서 중요한 개념이며, NVIDIA뿐만 아니라 여러 컴퓨팅 환경에서 사용됩니다. 🚀

반응형
반응형

 

NVIDIA NVLink 4 기반 NVSwitch 칩의 구조와 특징을 설명하는 다이어그램입니다. NVSwitch는 대규모 GPU 클러스터를 고속으로 연결하는 핵심 기술이며, 최신 DGX H100 시스템에서 활용됩니다.


1. NVSwitch 4 칩 구조 분석

NVSwitch 칩 내부를 구성하는 주요 블록은 다음과 같습니다.

✅ (1) XBAR (Crossbar, 중앙부)

  • 칩의 핵심 데이터 라우팅 엔진
  • GPU 간 트래픽을 고속으로 스위칭하는 역할 수행
  • 높은 대역폭을 처리하기 위해 병렬 구조 최적화

✅ (2) PORT Logic (좌우측, SHARP 가속기 포함)

  • 각 NVLink 포트를 처리하는 논리 블록
  • SHARP (Scalable Hierarchical Aggregation and Reduction Protocol) 가속기 포함
    • AllReduce 연산 등 AI/딥러닝 작업을 가속화하는 역할 수행
    • NVSwitch가 직접 데이터 연산을 수행하여 GPU의 부하를 감소
  • GPU 간 데이터 패킷을 고속 전송 및 최적화

✅ (3) 32 PHY Lanes (상/하단)

  • PHY (Physical Layer) 인터페이스로, NVLink 4 데이터 신호를 물리적으로 처리
  • 각 PHY Lanes는 PAM4 변조 방식(50Gbaud) 사용
  • 총 64 NVLink 4 포트 지원 (각 NVLink당 2개 포트)

2. NVSwitch 4 칩의 주요 특징

(1) 가장 큰 NVSwitch 칩 (Largest NVSwitch Ever)

  • TSMC 4N 공정 사용
    • 최신 TSMC 4N(4nm 기반) 공정으로 제작되어 성능과 전력 효율 최적화
  • 25.1B (251억) 트랜지스터 포함
    • 기존 NVSwitch보다 트랜지스터 수 대폭 증가 → 더 강력한 스위칭 및 연산 성능 제공
  • 다이 크기: 294mm²
    • AI 가속기 및 데이터센터용 고성능 칩 중 대형급 크기
  • 패키지 크기: 50mm × 50mm, 2645개의 볼 (BGA)
    • 데이터센터 및 AI 슈퍼컴퓨터용으로 최적화된 패키지 디자인

(2) 역대 최고 대역폭 (Highest Bandwidth Ever)

  • 64개의 NVLink 4 포트 지원
    • 각 NVLink당 2개 포트 제공 → 총 64개 포트
    • GPU 간 초고속 데이터 이동 가능
  • 3.2TB/s 풀 듀플렉스 대역폭 제공
    • 기존 NVSwitch 대비 약 2배의 성능 증가
    • AI 및 HPC 애플리케이션에서 통신 병목 해소
  • 50Gbaud PAM4 변조 신호 사용
    • 기존 NRZ(Non-Return-to-Zero) 방식보다 동일 대역폭에서 2배의 데이터 전송 가능
  • 모든 포트 NVLink 네트워크 연결 가능
    • 데이터센터급 AI 슈퍼컴퓨터 확장에 최적화

(3) 새로운 기능 (New Capabilities)

  • 400GFLOPS의 FP32 SHARP 지원
    • SHARP (Scalable Hierarchical Aggregation and Reduction Protocol) 가속기가 부동소수점 연산을 수행하여 AI 학습 속도를 극대화
    • FP32(32비트 부동소수점) 외에도 다양한 데이터 포맷 지원
  • NVLink 네트워크 관리, 보안, 텔레메트리 엔진 추가
    • 데이터센터 및 클라우드 환경에서 네트워크 모니터링 및 최적화 가능

3. NVSwitch 4의 핵심 장점

항목설명

고속 NVLink 네트워크 지원 64 NVLink 포트를 통해 초고속 GPU 통신 가능
대역폭 3.2TB/s 기존 대비 2배 이상 증가한 풀 듀플렉스 전송
SHARP 가속기 내장 AI 학습을 위한 AllReduce 연산 속도 향상
PAM4 변조 기술 사용 기존 NRZ 대비 2배 높은 데이터 전송율
보안 및 관리 기능 강화 네트워크 트래픽 모니터링 및 보안 기능 추가

4. 결론

  • NVLink 4 NVSwitch는 대규모 GPU 클러스터에서 초고속 데이터 전송을 가능하게 하는 핵심 칩
  • 64 NVLink 4 포트와 3.2TB/s 대역폭을 지원하며, AI 학습과 HPC 환경에서 획기적인 성능 개선
  • SHARP 가속기를 활용하여 GPU의 연산 부담을 줄이고, AI 모델 훈련 속도를 향상
  • 최신 TSMC 4N 공정과 25.1B 트랜지스터를 사용하여 높은 성능과 전력 효율 제공

즉, NVSwitch 4는 AI 및 슈퍼컴퓨터 환경에서 GPU 간 네트워크 병목을 제거하고, 고성능 데이터 처리 능력을 극대화하는 필수적인 기술입니다. 🚀

 

 

그림에는 32 PHY Lanes가 4개 있으므로, 총 128 NVLink 포트가 있어야 할 것처럼 보이지만, 실제 NVLink 포트 개수는 64개입니다.

이유는 다음과 같습니다.


1. NVLink 4의 동작 방식과 PHY Lanes

NVLink 포트와 PHY Lanes의 관계를 이해하려면 NVLink 4의 동작 방식을 알아야 합니다.

  1. 각 NVLink 포트는 2개의 PHY Lanes를 사용
    • NVLink 4는 x2 데이터 페어(differential pair)로 구성됨
    • 즉, 2개의 PHY Lanes가 1개의 NVLink 포트를 형성
  2. PHY Lanes는 데이터 신호를 전기적으로 전송하는 물리 계층 (Physical Layer, PHY) 역할
    • PHY Lanes는 단순한 전송 채널이고, 논리적으로는 NVLink 포트로 묶여 동작

2. NVLink 4 NVSwitch의 PHY Lanes 구성

  • 그림에서 보면 32 PHY Lanes × 4개 = 128 PHY Lanes
  • 그러나 2개의 PHY Lanes가 1개의 NVLink 포트를 구성
    • 128 PHY Lanes ÷ 2 = 64 NVLink 포트

즉, 128개의 PHY Lanes는 실제로 64개의 NVLink 4 포트로 동작합니다.


3. NVLink 4에서 PHY Lanes를 2배로 사용하는 이유

  • 기존 NVLink 3에서는 1개의 NVLink 포트가 1개의 PHY Lane을 사용
  • 그러나 NVLink 4에서는 한 포트당 2개의 PHY Lanes를 사용하여 더 높은 대역폭을 제공
    • 50Gbaud PAM4 변조를 적용하면서 NRZ 대비 2배 높은 데이터 전송률을 제공
    • 더 빠른 데이터 전송을 위해 포트당 2개의 PHY Lanes를 사용하도록 변경됨

4. 결론

  • 그림에서 128개의 PHY Lanes가 존재하지만, NVLink 4에서는 2개의 PHY Lanes가 1개의 NVLink 포트를 구성하므로 총 64개의 NVLink 포트가 된다.
  • 이는 NVLink 4의 설계가 PAM4 변조를 활용하여 더 높은 대역폭을 제공하도록 변경되었기 때문
  • 즉, NVSwitch 칩의 총 NVLink 포트 수는 64개이며, 3.2TB/s 풀 듀플렉스 대역폭을 지원

➡️ NVLink 포트 수가 PHY Lanes 수의 절반이 되는 이유는 NVLink 4가 포트당 2개의 PHY Lanes를 사용하기 때문입니다. 🚀

 


NVSwitch 칩 하나에 직접 64개의 GPU가 연결되는 것은 아닙니다.
NVSwitch 칩에는 64개의 NVLink 4 포트가 존재하지만, 각 GPU는 여러 개의 NVLink를 사용하여 NVSwitch와 연결됩니다.


1. NVSwitch와 GPU 연결 방식

(1) NVLink 포트 개수 vs. GPU 연결 개수

  • 이 칩에는 64개의 NVLink 4 포트가 있음
  • 하지만 각 GPU는 여러 개의 NVLink 포트를 사용하여 연결됨
  • 최신 H100 GPU는 18개의 NVLink 포트를 사용
    • 즉, 1개의 NVSwitch가 64개의 GPU를 직접 연결할 수는 없음
    • 보통 8~16개의 GPU를 하나의 NVSwitch에 연결

(2) 다중 NVSwitch 구성

  • 대규모 GPU 클러스터를 구성하려면 여러 개의 NVSwitch 칩을 연결하여 확장
  • 예를 들어, DGX H100에는 여러 개의 NVSwitch를 사용하여 8~16개의 GPU를 연결
  • DGX SuperPOD 같은 대규모 시스템에서는 NVSwitch 여러 개를 계층적으로 연결하여 256개 이상의 GPU를 하나의 클러스터로 묶음

2. 실제 연결 방식 예시

구성GPU 개수NVSwitch 개수

DGX H100 8~16개 여러 개의 NVSwitch 사용
DGX SuperPOD 256개 이상 NVSwitch 네트워크 확장

3. 결론

  • NVSwitch 칩 하나에 64개의 GPU가 직접 연결되지는 않음
  • 각 GPU는 여러 개의 NVLink 포트를 사용하여 NVSwitch와 연결됨
  • 더 많은 GPU를 연결하려면 여러 개의 NVSwitch를 계층적으로 연결해야 함
  • 대규모 클러스터(예: DGX SuperPOD)에서는 수십~수백 개의 NVSwitch를 사용하여 수백 개의 GPU를 연결 가능

즉, NVSwitch 하나가 64개의 GPU를 직접 연결할 수 있는 것은 아니지만, 여러 개의 NVSwitch를 조합하면 수백 개의 GPU를 하나의 클러스터로 구성할 수 있습니다. 🚀

반응형
반응형

DGX H100 (2022년) 서버에서 활용되는 NVSwitch의 주요 개선점과 성능 향상 요소를 정리하고 있습니다.

1. NVLink 4 NVSwitch의 주요 특징

NVSwitch는 NVIDIA의 최신 NVLink 4 기술과 결합하여 GPU 간 초고속 통신을 지원하는 고성능 네트워크 패브릭 역할을 합니다. 주요 특징을 살펴보겠습니다.


(1) NVLink 네트워크 지원 (NVLink Network Support)

  • PHY(물리) 계층 인터페이스가 400G 이더넷(Ethernet)/InfiniBand와 호환됨
    • 기존 NVLink는 GPU 간 직접 연결을 주로 사용했으나, 400G급 네트워크 장비와 직접 연결 가능하여 확장성이 증가함
  • OSFP(Octal Small Form-factor Pluggable) 지원 (4 NVLinks per cage)
    • 액티브 모듈을 위한 커스텀 펌웨어(FW) 적용 가능
    • 서버 및 데이터센터 환경에서 광케이블 기반 NVLink 확장 가능
  • FEC (Forward Error Correction) 추가
    • 광케이블을 통한 데이터 전송 시 성능/신뢰성을 보장하는 오류 정정 기능 제공
    • 대규모 클러스터 환경에서도 데이터 무결성을 유지하면서 빠른 통신 가능

(2) 대역폭 2배 증가 (Doubling of Bandwidth)

  • 100Gbps-per-differential-pair (50Gbaud PAM4)
    • 기존 NRZ 변조 방식에서 PAM4 변조 방식으로 전환하여 동일한 대역폭에서 2배 데이터 전송
  • x2 NVLinks 및 64 NVLinks-per-NVSwitch 지원
    • 1.6TB/s 내부 양분 대역폭(Bisection BW) 제공
    • 적은 수의 칩(스위치)으로 더 높은 대역폭 제공 가능
  • 더 적은 칩으로 더 높은 성능 달성
    • NVSwitch 칩 개수를 줄이면서도 NVLink 4의 향상된 데이터 전송 성능을 활용할 수 있음

(3) SHARP Collectives/멀티캐스트 지원 (SHARP Collectives/Multicast Support)

  • NVSwitch 내부에서 데이터 복제를 수행하여 다중 GPU 접근 불필요
    • 기존에는 GPU가 필요한 데이터를 여러 번 NVSwitch에서 가져와야 했으나, 이제 NVSwitch가 직접 데이터를 복제하여 GPU 간 전송 효율을 극대화
    • 통신 병목(Bottleneck) 현상 감소
  • 내장 ALU(Arithmetic Logic Unit) 추가
    • NVSwitch 자체적으로 AllReduce 연산 수행 가능
    • GPU가 직접 수행해야 했던 연산 부담을 NVSwitch가 처리하여 GPU 연산 성능을 최적화
  • AI 및 딥러닝 모델 학습 시 데이터 전송 처리량이 2배 증가
    • GPU-기반 딥러닝 훈련에서 NVSwitch를 활용하여 더 빠른 데이터 동기화(AllReduce) 가능
    • GPT-4, Llama 같은 대형 모델 학습 속도 대폭 향상

2. DGX H100 NVSwitch의 성능 요약

  • 3.6TB/s Bisection BW (양분 대역폭)
  • 450GB/s AllReduce BW (집계 대역폭)

이전 세대(DGX A100)와 비교했을 때 대역폭이 2배 이상 증가했으며, 특히 NVSwitch 자체적인 데이터 복제 및 AllReduce 연산 지원으로 AI 학습 및 HPC 환경에서 병목을 줄이고 성능을 극대화함.


3. NVLink 4 NVSwitch의 핵심 개선점 요약

개선 항목설명

400G 이더넷/InfiniBand 지원 기존 GPU 간 NVLink 연결을 넘어 네트워크 스위치와 직접 연결 가능
FEC (Forward Error Correction) 추가 광케이블 기반 NVLink 통신에서 신뢰성 증가
PAM4 변조 방식 사용 NRZ 대비 동일 대역폭에서 2배의 데이터 전송
64 NVLinks per NVSwitch 지원 1.6TB/s 내부 대역폭으로 확장 가능
NVSwitch 자체 AllReduce 연산 지원 GPU의 연산 부담을 NVSwitch가 일부 담당하여 성능 최적화
데이터 복제 기능 추가 동일 데이터를 여러 GPU에 공유할 때 중복 접근 감소

4. 결론

  • NVLink 4 기반 NVSwitch는 GPU 간 통신 대역폭을 획기적으로 향상시키며, 데이터센터 및 AI 학습에 최적화됨
  • 400G 이더넷/InfiniBand와 직접 연결 가능하여 확장성이 증가
  • PAM4 변조 및 내부 데이터 복제 기능을 통해 GPU의 연산 병목을 줄이고 학습 속도를 대폭 향상
  • DGX H100과 함께 사용될 경우 AI 모델 훈련, 슈퍼컴퓨팅(HPC) 환경에서 획기적인 성능 개선 가능

즉, NVLink 4 NVSwitch는 기존 NVLink 대비 대역폭을 두 배로 늘리고, AI 및 HPC 환경에서 GPU 간 통신을 최적화하는 핵심 기술입니다. 🚀

반응형
반응형

 

NVIDIA의 NVLink 기반 서버(DGX) 세대별 발전 과정을 보여줍니다. DGX 시스템은 멀티-GPU 연결을 최적화하여 고성능 컴퓨팅(HPC), AI 훈련, 데이터 분석 등의 작업을 수행하는 데 최적화된 플랫폼입니다.

NVLink와 NVSwitch를 활용하여 점점 더 많은 GPU를 더 높은 대역폭으로 연결할 수 있도록 진화해 왔습니다.


1. NVLink 기반 DGX 서버 세대별 비교

세대연도사용 GPUBisection BW (양분 대역폭)AllReduce BW (집계 대역폭)

DGX-1 2016 P100 140GB/s 40GB/s
DGX-2 2018 V100 2.4TB/s 75GB/s
DGX A100 2020 A100 2.4TB/s 150GB/s
DGX H100 2022 H100 3.6TB/s 450GB/s

2. 세대별 주요 특징 및 발전 과정

(1) 2016 – DGX-1 (P100)

  • NVLink 1.0 기반으로, GPU 간 직접 연결
  • 총 8개의 GPU를 NVLink로 연결, GPU 간 40GB/s의 AllReduce 대역폭 제공
  • Bisection Bandwidth(BW): 140GB/s
    • Bisection BW는 네트워크를 반으로 나누었을 때, 양쪽 간 최대 전송 가능한 데이터 대역폭을 의미
  • 문제점: GPU 개수가 많아질수록 연결 복잡성 증가 및 병목 발생

(2) 2018 – DGX-2 (V100)

  • NVLink 2.0과 NVSwitch 도입
    • NVSwitch는 GPU 간 다대다(Any-to-Any) 연결을 지원하는 고속 인터커넥트
    • 이를 통해 모든 GPU가 다른 GPU와 직접 연결 가능
  • 16개의 V100 GPU 연결 가능
  • Bisection BW: 2.4TB/s (DGX-1 대비 17배 증가)
  • AllReduce BW: 75GB/s (DGX-1 대비 1.9배 증가)

(3) 2020 – DGX A100 (A100)

  • NVLink 3.0 기반으로 발전
  • NVSwitch 개선을 통해 동일한 Bisection BW 2.4TB/s 유지
  • 하지만 AllReduce BW가 150GB/s로 2배 증가
    • 이는 AI 훈련 시 GPU 간의 데이터 동기화 속도를 획기적으로 개선
    • 즉, GPU 간 통신 병목이 줄어듦

(4) 2022 – DGX H100 (H100)

  • NVLink 4.0 및 NVSwitch 업그레이드
  • Bisection BW 3.6TB/s로 증가 (DGX A100 대비 1.5배 증가)
  • AllReduce BW 450GB/s로 증가 (DGX A100 대비 3배 증가)
  • 더 많은 GPU를 NVLink 네트워크 포트를 통해 확장 가능
    • 20개의 NVLink 네트워크 포트 제공
    • 이를 통해 여러 DGX H100 시스템 간 연결이 가능해짐

3. NVSwitch의 역할

NVSwitch는 NVLink 연결을 확장하는 중요한 역할을 합니다.

  • DGX-1(P100): NVSwitch 없음 → GPU 간 직접 연결만 가능
  • DGX-2(V100): NVSwitch 도입 → 모든 GPU가 다른 GPU와 직접 통신 가능
  • DGX A100, DGX H100: NVSwitch 개선 → 더 높은 대역폭과 확장성 제공

NVSwitch가 추가되면서 GPU 간 트래픽을 효율적으로 분배할 수 있어 딥러닝 학습 시 데이터 동기화 속도가 향상됩니다.


4. 결론

  1. NVLink와 NVSwitch를 활용하여 DGX 서버 성능이 지속적으로 향상됨
  2. GPU 간 대역폭 증가 → AI 훈련 및 HPC 성능 대폭 향상
  3. NVSwitch 도입 이후 Any-to-Any 연결이 가능해지면서 확장성이 크게 증가
  4. 2022년 DGX H100은 3.6TB/s Bisection BW, 450GB/s AllReduce BW 제공
  5. 20개의 NVLink 네트워크 포트 추가로 여러 DGX 시스템 간 연결 가능

즉, NVLink & NVSwitch의 발전으로 NVIDIA는 GPU 간 병목을 줄이고, AI 훈련 및 HPC 환경에서 최고의 성능을 제공하는 방향으로 발전하고 있습니다. 🚀

 


1. Bisection Bandwidth (양분 대역폭)

Bisection Bandwidth(양분 대역폭)은 네트워크를 두 개의 동등한 크기의 그룹으로 나누었을 때, 양쪽 그룹 간 최대 전송할 수 있는 데이터 대역폭을 의미합니다.

정의

네트워크를 절반으로 나누었을 때, 두 그룹 간 통신할 수 있는 최대 대역폭

의미와 중요성

  • GPU 간 데이터 이동의 병목을 평가하는 중요한 지표
  • 네트워크 확장성(Scalability)을 결정하는 요소
  • 딥러닝 및 AI 모델 훈련 시 여러 GPU가 데이터를 공유할 때 중요한 성능 지표

예제

  • DGX-1 (P100, 2016년)
    • Bisection BW = 140GB/s
    • 8개의 GPU를 서로 반으로 나누었을 때, 두 그룹 간 최대 140GB/s의 데이터 전송 가능
  • DGX-2 (V100, 2018년)
    • Bisection BW = 2.4TB/s
    • NVSwitch를 사용하여 GPU 간 직접 연결이 가능해지면서, 네트워크 병목이 크게 감소

2. AllReduce Bandwidth (집계 대역폭)

AllReduce Bandwidth(집계 대역폭)딥러닝 및 AI 훈련에서 GPU 간 데이터를 공유하고 집계하는 속도를 측정하는 대역폭입니다.

정의

다중 GPU 환경에서 각 GPU가 데이터를 서로 교환(AllReduce 연산)할 때 사용 가능한 최대 대역폭

AllReduce의 역할

  • 딥러닝 훈련 시 중요한 연산 중 하나
  • GPU들이 각자의 연산 결과(예: 손실 함수의 기울기)를 공유하고 이를 평균 내거나 합산하는 과정
  • GPU가 많아질수록 AllReduce BW가 높아야 성능이 유지됨
  • NVLink & NVSwitch를 통해 AllReduce 성능을 극대화할 수 있음

예제

  • DGX-1 (P100, 2016년)
    • AllReduce BW = 40GB/s
    • 8개의 GPU가 협력하여 AI 훈련을 수행할 때, 전체적인 데이터 동기화 속도가 40GB/s
  • DGX H100 (2022년)
    • AllReduce BW = 450GB/s
    • 최신 NVSwitch를 사용하여 GPU 간 데이터 동기화 속도가 11배 향상됨
    • 더 빠른 AI 훈련, 더 높은 효율성 제공

3. Bisection BW vs. AllReduce BW 비교

구분Bisection BW (양분 대역폭)AllReduce BW (집계 대역폭)

정의 네트워크를 반으로 나눌 때 두 그룹 간 최대 대역폭 다중 GPU가 협력하여 데이터를 공유하는 속도
중요성 GPU 간 연결 구조 및 확장성을 평가하는 지표 AI 훈련 시 데이터 동기화 속도를 결정하는 요소
GPU 연결 방식 NVLink & NVSwitch NVLink & NVSwitch
주요 활용 분야 데이터센터, HPC, 대규모 GPU 클러스터 AI 훈련, 딥러닝 모델 동기화

4. 결론

  • Bisection BW는 네트워크 확장성과 연결 병목을 평가하는 지표, AllReduce BW는 AI 학습 성능을 결정하는 주요 요소
  • NVLink & NVSwitch 발전으로 두 값이 지속적으로 증가하면서 AI 및 HPC 성능 향상
  • 최신 DGX H100(2022년) 기준 Bisection BW = 3.6TB/s, AllReduce BW = 450GB/sAI 훈련 속도가 획기적으로 향상됨 🚀

즉, Bisection BW는 "네트워크 구조"의 효율성을 나타내고, AllReduce BW는 "AI 훈련 성능"의 척도라고 볼 수 있습니다.

 

NVSwitch: NVIDIA의 고속 GPU 상호 연결 스위치


1. NVSwitch란?

NVSwitch는 NVIDIA가 개발한 고속 GPU 간 상호 연결 스위치로, 다수의 GPU를 초고속으로 연결하여 높은 대역폭과 낮은 지연 시간을 제공하는 데이터 패브릭(Data Fabric) 기술입니다.

기존에는 GPU 간 통신을 위해 PCIe 기반의 GPU 다이렉트(GPU Direct) 또는 NVLink 포인트 투 포인트(Point-to-Point) 연결 방식을 사용했지만, 다수의 GPU가 연결될수록 데이터 병목 현상이 발생했습니다. NVSwitch는 이러한 병목을 해결하고 확장성을 극대화하는 솔루션입니다.


2. NVSwitch의 핵심 역할

(1) 다대다(Any-to-Any) 연결 지원

  • 기존 NVLink는 Point-to-Point(1:1) 연결만 가능했지만, NVSwitch를 사용하면 모든 GPU가 다른 GPU와 직접 연결 가능
  • 이를 통해 병렬 AI 학습 및 HPC(고성능 컴퓨팅) 환경에서 데이터 동기화 속도가 비약적으로 향상됨

(2) 초고속 데이터 전송

  • 최신 **NVSwitch(4세대, H100 기준)**는 7.2TB/s 이상의 내부 스위칭 대역폭 제공
  • 개별 GPU 간 최대 900GB/s의 NVLink 연결 지원
  • NVSwitch를 여러 개 연결하면, 수백 개의 GPU를 하나의 거대한 슈퍼컴퓨터처럼 운영 가능

(3) PCIe 대비 초고속 성능

  • PCIe 기반 클러스터와 비교했을 때, NVSwitch를 통한 GPU 간 데이터 이동 속도가 14~20배 빠름
  • NVSwitch는 PCIe의 CPU 중심 구조를 벗어나 GPU 간 직접 통신이 가능하도록 설계됨

3. NVSwitch 아키텍처 변화

세대연도사용된 GPU스위칭 대역폭NVLink 연결 방식

1세대 NVSwitch 2018 V100 2.4TB/s 12 NVLinks/GPU
2세대 NVSwitch 2020 A100 4.8TB/s 12 NVLinks/GPU
3세대 NVSwitch 2022 H100 7.2TB/s 18 NVLinks/GPU

4. NVSwitch의 주요 이점

(1) GPU 간 고속 연결

  • 기존 PCIe 기반 GPU 연결 방식보다 훨씬 낮은 지연 시간
  • NVLink와 결합하면 한 대의 서버 내 최대 18개의 GPU를 초고속으로 연결 가능
  • NVSwitch가 여러 개 연결되면 수백 개의 GPU를 하나의 거대한 연산 노드처럼 활용 가능

(2) AI 학습 및 HPC 최적화

  • 최신 GPT-4, Llama, Stable Diffusion 같은 대규모 AI 모델 학습에 필수적인 네트워크 구조
  • AI 학습 시 필수적인 AllReduce 연산 속도를 극대화하여 병렬 학습 효율을 높임
  • 대규모 데이터셋을 병렬 GPU에서 학습할 때 성능이 급격히 향상됨

(3) 확장 가능한 아키텍처

  • NVSwitch는 여러 개를 병렬 연결하여 GPU 수를 확장 가능
  • 예를 들어, DGX SuperPOD 같은 데이터센터급 AI 슈퍼컴퓨터에서도 사용됨
  • DGX H100의 경우 NVSwitch를 활용해 256개 이상의 GPU를 하나의 클러스터로 구성 가능

5. NVSwitch와 기존 PCIe 기반 GPU 연결 비교

항목NVSwitch (H100 기준)PCIe 5.0 (x16 기준)

GPU 간 대역폭 900GB/s (NVLink 4) 64GB/s (x16 PCIe 5.0)
GPU 간 연결 구조 다대다(Any-to-Any) 연결 가능 CPU 중심의 트리 구조
확장성 256개 이상의 GPU까지 확장 가능 최대 8~16개 GPU 제한
AI 학습 속도 10배 이상 빠름 병목 발생 가능성 높음

6. NVSwitch 사용 예시

🚀 DGX SuperPOD (H100)

  • 256개의 GPU를 NVSwitch로 연결하여 단일 슈퍼컴퓨터처럼 동작
  • NVIDIA의 AI 모델 훈련 및 슈퍼컴퓨팅에 사용
  • 초고속 AllReduce 연산을 지원하여 AI 학습 속도를 극대화

🚀 DGX H100

  • 최신 DGX H100 서버는 8개의 H100 GPU를 NVSwitch로 연결
  • 기존 PCIe 연결 방식보다 AI 학습 성능이 10배 이상 향상

🚀 클라우드 AI 슈퍼컴퓨터

  • Microsoft Azure, AWS, Google Cloud 등의 대규모 GPU 클러스터에서 NVSwitch를 활용
  • AI 모델 학습을 위해 수천 개의 GPU를 효율적으로 연결하는 핵심 기술

7. 결론

  • NVSwitch는 기존 NVLink를 확장하여 GPU 간 Any-to-Any 초고속 연결을 지원하는 스위칭 기술
  • 초대형 AI 훈련, 슈퍼컴퓨팅, 데이터센터용 AI 서버에서 필수적인 요소
  • 최신 H100 기반 NVSwitch는 최대 7.2TB/s 대역폭을 지원하여 AI 모델 학습 속도를 극대화
  • DGX SuperPOD, DGX H100 같은 NVIDIA의 AI 서버에서 핵심 역할 수행

✅ 한 마디로:

NVSwitch는 대규모 GPU 클러스터를 구성하여 AI 훈련 속도를 극대화하는 핵심 기술이며, 기존 PCIe 대비 압도적인 성능을 제공하는 GPU 네트워크 스위치입니다. 🚀

반응형

+ Recent posts