TT Lab

한국어

시작하기
블로그

블로그

RDMA 완전 가이드 2025: InfiniBand, RoCE, NCCL, GPU 통신 — AI 학습의 숨은 인프라

들어가며: AI 학습의 숨은 병목

GPT-4의 비밀

GPT-4가 10만 개의 H100 GPU로 학습되었다는 건 들어봤을 것이다. 각 GPU는 80GB 메모리 + 1 PFLOPS 성능. 어떻게 이 10만 개가 하나의 거대한 컴퓨터처럼 작동하는가?

답: RDMA (Remote Direct Memory Access).

GPU 하나는 빠르다. 그런데 여러 GPU가 같은 모델을 학습하려면 gradient를 교환해야 한다. 매 step마다. 매초 수 GB의 데이터가 GPU들 사이를 오간다.

일반 TCP/IP로는 불가능하다. 지연이 너무 크고, CPU가 병목이 된다. 그래서 AI 슈퍼컴퓨터는 RDMA 기반 네트워크를 사용한다.

RDMA의 의미

Remote Direct Memory Access. 이름대로:

일반 네트워크는 이렇다:

App → OS → TCP/IP stack → NIC → 네트워크 → NIC → TCP/IP stack → OS → App

각 단계마다 CPU 개입, 복사, 컨텍스트 스위치. 수십 μs 지연.

RDMA는 이렇다:

App → NIC → 네트워크 → NIC → App (memory)

CPU 개입 없음. OS 개입 없음. 복사 없음. 1 μs 지연.

차이는 극적:

이 글에서 다룰 것

  1. RDMA의 기본: Zero-copy, kernel bypass.
  2. InfiniBand: 원조 RDMA 네트워크.
  3. RoCE: Ethernet 위의 RDMA.
  4. Verbs API: RDMA 프로그래밍 모델.
  5. NVIDIA GPU Direct: GPU ↔ NIC 직접 통신.
  6. NCCL: Multi-GPU collective operations.
  7. 실전 AI 학습: 3D parallelism.
  8. Cloud와 RDMA: AWS EFA, Azure HB.

1. 왜 일반 네트워크로 부족한가

TCP/IP의 비용

데이터 하나를 다른 서버로 보낼 때:

  1. App buffer → syscall → kernel buffer (복사 1).
  2. Kernel이 TCP headers 추가.
  3. Socket buffer → Network buffer (복사 2).
  4. NIC이 DMA로 메모리에서 가져감.
  5. 네트워크 전송.
  6. 수신 NIC이 메모리에 DMA.
  7. Interrupt → CPU가 처리.
  8. TCP stack이 header 제거.
  9. Kernel buffer → App buffer (복사 3).

문제:

결과:

구체적 숫자

10 Gbps Ethernet, TCP:

100 Gbps Ethernet, TCP:

AI 학습의 요구사항:

일반 TCP/IP로는 절대 충족 불가.

Solution: Kernel Bypass + Zero Copy

핵심 아이디어:

  1. Kernel 건너뛰기: Application이 직접 NIC에게 명령.
  2. Zero copy: 데이터를 복사하지 않고 NIC이 직접 메모리에서 DMA.
  3. CPU 최소 개입: NIC이 스스로 처리.

이것이 RDMA의 본질이다.


2. RDMA의 작동 원리

Basic Concept

기존 방식:

Sender: 데이터 → kernel → TCP → network
Receiver: network → TCP → kernel → 데이터

RDMA:

Sender: "주소 X의 1 MB를 receiver의 주소 Y에 써라"
NIC이 메모리 X에서 직접 읽어서 Y에 직접 씀

마치 원격 메모리를 로컬 메모리처럼 다룬다.

Operation Types

RDMA는 주로 4가지 연산:

1. SEND/RECV:

2. RDMA WRITE:

3. RDMA READ:

4. Atomic Operations:

One-sided vs Two-sided

Two-sided (SEND/RECV):

One-sided (WRITE/READ):

One-sided이 진짜 RDMA의 파워다. 수신측은 자기 메모리가 수정되는 것도 모른다 (폴링하면 감지 가능).

Memory Registration

RDMA를 쓰려면 먼저 메모리를 등록해야:

struct ibv_mr *mr = ibv_reg_mr(pd, buffer, size, 
                               IBV_ACCESS_LOCAL_WRITE | 
                               IBV_ACCESS_REMOTE_READ | 
                               IBV_ACCESS_REMOTE_WRITE);

역할:

rkey (remote key): 원격 노드가 이 메모리에 접근할 때 사용. 일종의 "포인터 + 인증 토큰".

Connection Setup

RDMA 통신을 시작하려면:

  1. QP (Queue Pair) 생성: Send Queue + Receive Queue.
  2. 메모리 등록.
  3. 연결 교환: QP 번호, rkey, 주소 등을 상대방과 교환 (out-of-band, TCP로).
  4. QP 상태 전환: INIT → RTR → RTS.
  5. 데이터 교환 시작.

Queue Pair는 TCP socket의 RDMA 버전. 모든 통신이 QP를 통해.


3. InfiniBand: 원조 RDMA

역사

InfiniBand (IB): 1999년 Intel, HP, IBM, Sun 등이 공동 개발. 본래 PCI 대체 버스로 기획. 이후 고성능 네트워크로 방향 전환.

2000년대: HPC (High-Performance Computing) 슈퍼컴퓨터의 표준.

2020년대: AI 클러스터의 표준으로 부활.

Mellanox (현재 NVIDIA 소속)가 주된 공급자.

특징

Hardware-based:

Lossless:

Low latency:

High bandwidth:

InfiniBand 계층

┌────────────────────┐
│  Upper Layer       │  (Verbs API, MPI)
├────────────────────┤
│  Transport Layer   │  (RC, UC, UD)
├────────────────────┤
│  Network Layer     │  (IB addressing)
├────────────────────┤
│  Link Layer        │  (VL, flow control)
├────────────────────┤
│  Physical Layer    │  (copper, fiber)
└────────────────────┘

Transport Modes

RC (Reliable Connected):

UC (Unreliable Connected):

UD (Unreliable Datagram):

대부분의 RDMA 통신은 RC 사용.

Subnet Manager

InfiniBand는 중앙 관리자가 필요:

SM (Subnet Manager):

OpenSM: 오픈소스 SM. 거의 모든 IB 클러스터가 사용.

Performance Example

8노드 InfiniBand HDR (200 Gbps) 클러스터:

동일 규모의 Ethernet (100 Gbps + TCP):

InfiniBand가 5-10배 효율.


4. RoCE: Ethernet 위의 RDMA

왜 RoCE

InfiniBand는 강력하지만:

해결: RoCE (RDMA over Converged Ethernet).

RoCE 버전

RoCE v1 (2010):

RoCE v2 (2014):

작동 원리

RoCE v2 패킷:

[Ethernet][IP][UDP][IB transport][RDMA payload]

Ethernet과 IP가 있으므로 일반 Ethernet 스위치 위에서 작동.

Lossless Requirement

RDMA는 패킷 손실에 취약. InfiniBand는 credit-based로 무손실. Ethernet은 기본적으로 손실 있음. 해결 필요.

PFC (Priority Flow Control):

설정:

DCQCN (Data Center Quantized Congestion Notification):

RoCE의 과제

"Lossless Ethernet" 구축이 어려움:

  1. 모든 hop 설정 일치: 한 스위치만 틀려도 깨짐.
  2. PFC deadlock: 순환 pause → 영구 정지.
  3. Buffer 관리: Head-of-line blocking.
  4. Debugging: 정상 동작 확인 복잡.

많은 조직이 RoCE 운영에 실패. 큰 이유 중 하나.

RoCE vs InfiniBand 비교

항목InfiniBandRoCE v2
네트워크전용Ethernet 재사용
비용높음중간
최대 대역폭400 Gbps400 Gbps
Latency~1 μs~1-2 μs
운영 복잡도중간 (전용)높음 (lossless 유지)
라우팅IB 라우팅일반 IP
실전HPC, 대형 AI데이터 센터

5. Verbs API: RDMA 프로그래밍

Verbs란

libibverbs: RDMA 프로그래밍의 표준 라이브러리. C 언어.

"Verbs" = 동작 (create, register, post, poll 등).

기본 코드 구조

초기화:

#include <infiniband/verbs.h>

// Device 찾기
struct ibv_device **dev_list = ibv_get_device_list(NULL);
struct ibv_device *dev = dev_list[0];

// Context 열기
struct ibv_context *ctx = ibv_open_device(dev);

// Protection Domain
struct ibv_pd *pd = ibv_alloc_pd(ctx);

// Completion Queue
struct ibv_cq *cq = ibv_create_cq(ctx, 1024, NULL, NULL, 0);

메모리 등록:

void *buffer = malloc(1024 * 1024);
struct ibv_mr *mr = ibv_reg_mr(pd, buffer, 1024 * 1024,
                               IBV_ACCESS_LOCAL_WRITE |
                               IBV_ACCESS_REMOTE_READ |
                               IBV_ACCESS_REMOTE_WRITE);

Queue Pair 생성:

struct ibv_qp_init_attr qp_attr = {
    .send_cq = cq,
    .recv_cq = cq,
    .qp_type = IBV_QPT_RC,
    .cap = {
        .max_send_wr = 256,
        .max_recv_wr = 256,
        .max_send_sge = 1,
        .max_recv_sge = 1,
    },
};
struct ibv_qp *qp = ibv_create_qp(pd, &qp_attr);

연결 설정:

QP 상태 전환:

상세는 여러 ioctl + 원격 정보 교환 필요.

데이터 송신 (RDMA Write):

struct ibv_sge sge = {
    .addr = (uintptr_t)buffer,
    .length = 1024,
    .lkey = mr->lkey,
};

struct ibv_send_wr wr = {
    .wr_id = 0,
    .sg_list = &sge,
    .num_sge = 1,
    .opcode = IBV_WR_RDMA_WRITE,
    .send_flags = IBV_SEND_SIGNALED,
    .wr.rdma = {
        .remote_addr = remote_addr,
        .rkey = remote_rkey,
    },
};

struct ibv_send_wr *bad_wr;
ibv_post_send(qp, &wr, &bad_wr);

완료 확인:

struct ibv_wc wc;
int n = ibv_poll_cq(cq, 1, &wc);
if (n > 0 && wc.status == IBV_WC_SUCCESS) {
    // 성공
}

복잡성

보다시피 극도로 low-level이다:

이 때문에 고수준 라이브러리가 필요:

고수준 라이브러리

libfabric (OFI):

UCX (Unified Communication X):

MPI (Message Passing Interface):

NCCL: GPU collective operations (뒤에서 설명).

gRPC over RDMA: 최근 시도.

대부분의 실제 애플리케이션은 Verbs를 직접 쓰지 않고 이들 고수준 라이브러리 사용.


6. NVIDIA GPU Direct

GPU와 네트워크의 문제

일반적인 GPU ↔ Network:

GPU memory → (DMA copy) → CPU memory → NIC → 네트워크

GPU Direct RDMA

GPU Direct RDMA (2013+):

GPU memory → NIC → 네트워크

조건:

효과:

GPU Direct의 종류

1. GPU Direct P2P:

2. GPU Direct RDMA:

3. GPU Direct Storage (GDS):

NVIDIA 전용 고속 링크:

NVSwitch: 여러 GPU를 all-to-all 연결.

DGX H100: 8 GPU, 전용 NVSwitch, 각 GPU 900 GB/s.

AI 학습에 결정적: Gradient sync가 PCIe 기반보다 수십 배 빠름.


7. NCCL: Multi-GPU Collectives

NCCL이란

NCCL (NVIDIA Collective Communications Library):

Collective Operations

여러 GPU 간 동시 통신:

1. All-Reduce:

2. All-Gather:

3. Reduce-Scatter:

4. Broadcast:

5. Reduce:

All-Reduce가 중요한 이유

Data parallel training:

GPU 1: 일부 데이터로 gradient 계산 → g1
GPU 2: 일부 데이터로 gradient 계산 → g2
GPU 3: 일부 데이터로 gradient 계산 → g3
GPU 4: 일부 데이터로 gradient 계산 → g4

All-reduce: 모든 GPU가 g = (g1 + g2 + g3 + g4) / 4 를 가짐

Each GPU: model 업데이트

매 step마다 all-reduce. 효율이 학습 속도 결정.

Ring All-Reduce

단순 접근: 중앙 집중.

Ring All-Reduce:

GPU0 → GPU1 → GPU2 → GPU3 → GPU0 (ring)

단계:

  1. Scatter-reduce: N-1 단계 동안 데이터를 ring으로 전달하며 부분 합.
  2. All-gather: N-1 단계 동안 각 chunk를 ring에 전파.

이점:

NCCL의 최적화

NCCL은 토폴로지 인식:

자동 선택: 하드웨어를 감지해 최적 경로.

Example

import torch
import torch.distributed as dist

# NCCL backend 사용
dist.init_process_group(backend='nccl')

# Model parallel
model = torch.nn.parallel.DistributedDataParallel(
    model,
    device_ids=[rank]
)

# 학습
for batch in dataloader:
    output = model(batch)
    loss = criterion(output, target)
    loss.backward()
    # 자동으로 NCCL All-Reduce 수행
    optimizer.step()

PyTorch의 DistributedDataParallel이 NCCL을 내부적으로 사용. 개발자는 기본값만 설정하면 수천 GPU에서 학습 가능.

성능

8 GPU (single node, NVLink):

64 GPU (multi-node, InfiniBand):

1024 GPU:

네트워크 토폴로지가 결정적.


8. 3D Parallelism

대형 모델의 도전

GPT-3 (175B 파라미터)조차 단일 GPU 메모리에 못 들어간다. GPU 메모리 80GB, 모델 파라미터만 350GB (FP16).

해결: 모델과 데이터를 분할.

Data Parallelism (DP)

각 GPU가 전체 모델, 다른 데이터:

GPU 1: [Full Model] × Batch 1
GPU 2: [Full Model] × Batch 2
GPU 3: [Full Model] × Batch 3
GPU 4: [Full Model] × Batch 4

Sync: All-Reduce gradients

제약: Model이 single GPU에 들어가야.

Tensor Parallelism (TP)

Model을 여러 GPU에 수평 분할:

Linear Layer (1024 × 4096):
GPU 1: [1024 × 2048]
GPU 2: [1024 × 2048]

필요: 매 연산마다 GPU 간 통신 (AllGather, ReduceScatter).

용도: 매우 큰 layer (거대 LLM).

Pipeline Parallelism (PP)

Model을 stage로 분할:

GPU 1: Layers 1-8
GPU 2: Layers 9-16
GPU 3: Layers 17-24
GPU 4: Layers 25-32

문제: Bubble (유휴 시간). GPU 1이 끝나면 GPU 2로 넘어감, GPU 1은 다음 batch 대기.

해결: Micro-batching. 여러 작은 batch로 나눠 pipeline을 채움.

3D Parallelism

DP + TP + PP를 모두 결합:

8 GPUs = 2 DP × 2 TP × 2 PP

DP dim: [group1, group2]
Each group: 2 TP × 2 PP = 4 GPUs

GPT-4 급 모델:

통신 패턴

각 parallelism 타입은 다른 통신 요구:

NCCL이 모두 지원. RDMA가 필수.

통신과 계산의 오버랩

고급 기법: 통신을 계산에 숨김.

Step 1: 계산 (forward)
Step 2: backward 시작 + 이전 gradient 통신 (동시)
Step 3: 통신 끝날 때쯤 backward 끝남

잘 되면 통신 오버헤드 거의 0.


9. Cloud의 RDMA

클라우드의 도전

Bare metal HPC: InfiniBand 직접. Public Cloud: 가상화, multi-tenant.

클라우드에서 RDMA는 어려움:

AWS EFA (Elastic Fabric Adapter)

Amazon EFA: AWS의 RDMA 솔루션.

특징:

사용:

성능:

Azure HB/HC Series

Azure: Bare metal에 가까운 HPC 인스턴스:

GCP A3

Google: A3 인스턴스 (H100 GPU).

OCI Cluster Networking

Oracle Cloud Infrastructure:

클라우드 vs 온프레미스

온프레미스 HPC:

클라우드:

대부분의 AI 기업이 클라우드 채택. OpenAI, Anthropic, Meta 등.


10. 실전 AI 인프라

xAI의 Colossus

xAI (Elon Musk)의 슈퍼컴퓨터:

Meta의 AI 클러스터

Meta: 24,576 H100 cluster × 2 (2024).

NVIDIA DGX SuperPOD

NVIDIA 레퍼런스 아키텍처:

학습 시간

GPT-3 (175B):

GPT-4 (추정):

핵심: 네트워크가 계산만큼 중요.


11. Monitoring과 Troubleshooting

RDMA Metrics

핵심 지표:

Bandwidth: 실제 처리량 vs 이론치.

Latency: End-to-end 지연.

Packet loss: RoCE에서 특히 중요.

PFC events: Pause 발생 빈도.

QP errors: 연결 문제.

측정 도구

ib_send_bw: InfiniBand 대역폭 벤치마크.

# Server
ib_send_bw

# Client
ib_send_bw server_ip

ib_send_lat: Latency 측정.

perftest: 다양한 RDMA 테스트.

NCCL tests:

./build/all_reduce_perf -b 8 -e 128M -f 2 -g 8

GPU all-reduce 성능.

일반적 문제

1. PFC 미설정:

2. MTU 불일치:

3. NUMA affinity:

4. GPU Direct 미활성:

5. Queue pair 한계:


12. 미래

Ultra Ethernet

Ultra Ethernet Consortium (2023):

CXL: 차세대 인터커넥트.

CXL 3.0: 원격 메모리 풀링. RDMA를 넘어선 모델.

Optical Networking

광전 변환:

In-Network Computing

NIC에서 일부 연산:

SmartNIC: RDMA + 프로그래머블 처리.


퀴즈로 복습하기

Q1. 왜 RDMA가 AI 학습에 필수적인가?

A.

근본 이유: AI 학습은 대규모 분산 통신이 핵심이며, 일반 네트워크는 이를 감당할 수 없다.

상황 이해:

대형 LLM (GPT-4, Claude, Gemini) 학습:

  • 수천~수만 GPU 동시 사용.
  • 각 GPU가 자기 몫의 데이터로 학습.
  • 매 step마다 gradient 공유 (All-Reduce).
  • 매 step이 수 초 걸림.
  • 수 주~수 개월 동안 지속.

1 step에 일어나는 일:

  1. Forward pass (수 백 ms).
  2. Backward pass (수 백 ms).
  3. Gradient all-reduce: 모든 GPU의 gradient 합산 후 분배.
  4. Optimizer step.

Gradient 크기: 모델 파라미터만큼. 100B 모델 = 100 GB gradient. 이를 매 step 교환.

통신량:

  • Step당 100 GB × N GPUs.
  • Step당 시간 1 초.
  • 초당 수백 GB 네트워크 트래픽.

일반 Ethernet (100 Gbps TCP):

  • 이론 최대: 12.5 GB/s.
  • 실제 (TCP, CPU 오버헤드): 8-10 GB/s.
  • 100 GB 전송 시간: 10-12 초.
  • Gradient sync가 계산보다 오래.
  • GPU 대부분 시간 대기.
  • 학습 효율 < 10%.

RDMA (200 Gbps InfiniBand):

  • 이론 최대: 25 GB/s.
  • 실제: 23-24 GB/s (95%+).
  • 100 GB 전송: 4 초.
  • CPU 사용 거의 없음.
  • GPU 시간의 90%가 실제 계산.
  • 효율 극대화.

차이: 10배 이상의 학습 처리량.

CPU 병목의 또 다른 측면:

TCP 기반 네트워크는 CPU 집약적:

  • Checksum 계산.
  • Packet fragmentation/reassembly.
  • Interrupt handling.
  • Memory copies.

100 Gbps 라인 속도를 TCP로 처리하려면:

  • 수 개 CPU core 필요.
  • 그러나 AI 학습은 CPU도 바쁨:
    • 데이터 로딩.
    • Preprocessing.
    • Checkpointing.
    • Logging.

CPU가 네트워크 처리에 몰리면 → 데이터 파이프라인이 병목.

RDMA는 CPU를 자유롭게 한다:

  • NIC이 스스로 처리.
  • Zero-copy.
  • Kernel bypass.

CPU는 온전히 데이터 처리에 집중.

Latency 관점:

AI 학습의 반복 시간:

  • 작은 모델: 수십 ms/step.
  • 큰 모델: 수 초/step.

이 중 통신이 차지하는 비율이 중요.

Latency가 중요한 이유:

  • Step 시작 전에 이전 step의 sync 완료 필요.
  • 높은 latency = idle time 증가.

TCP latency: 100 μs+ (네트워크 + 스택). RDMA latency: 1-2 μs.

100배 차이. 작은 gradient 교환이 많으면 누적.

Communication patterns:

AI 학습은 collective operations에 의존:

  • All-Reduce: 가장 흔함 (gradient sync).
  • All-Gather: Parameter sharing.
  • Reduce-Scatter: 혼합.
  • Broadcast: 초기화.

이들은 모두 RDMA 친화적:

  • Ring 알고리즘으로 bandwidth 최대화.
  • 낮은 latency 중요.
  • 높은 throughput.

NCCL이 이를 자동화: NVIDIA Collective Communications Library가 RDMA 위에 최적화된 collective operations 제공.

규모의 문제:

8 GPU (single node): NVLink로 해결. InfiniBand 불필요.

수십 GPU (여러 node): 일반 이더넷도 가능. 하지만 비효율.

수백~수천 GPU: RDMA 필수. Ethernet TCP는 불가.

수만 GPU (GPT-4, Gemini Ultra): 최고 수준 RDMA 필수 (NDR InfiniBand).

규모가 커질수록 네트워크가 병목이 된다. 그래서 대형 AI lab들이 네트워크에 거대한 투자:

  • Meta: 24,576 H100 cluster × 2 (RoCE).
  • xAI Colossus: 100,000 H100 (InfiniBand).
  • OpenAI: Azure 전용 클러스터.

실측:

동일 클러스터, 다른 네트워크:

벤치마크 (상상의 실험):

  • 모델: Llama-3 70B.
  • GPUs: 512.

Ethernet TCP (100 Gbps):

  • Throughput: 40% efficient.
  • Step time: 10 초.
  • Training time: 60 일.

RoCE (200 Gbps):

  • Throughput: 80% efficient.
  • Step time: 5 초.
  • Training time: 30 일.

InfiniBand NDR (400 Gbps):

  • Throughput: 95% efficient.
  • Step time: 2.5 초.
  • Training time: 15 일.

4배 빠른 학습 = 4배 저렴한 GPU 시간 = 수백만 달러 절약.

경제적 관점:

GPU 시간 비용:

  • H100: 시간당 $4-10 (클라우드).
  • 1000 GPU × 30일 × 4=4 = 3.5M.
  • 60일 걸리면 $7M.

네트워크에 투자 vs 느린 학습 = 명확한 선택.

RDMA 없이 대형 LLM 학습은 사실상 불가능:

  • 물리적으로 가능하지만 비경제적.
  • 경쟁에서 도태.
  • 최신 모델 개발 불가.

교훈:

"Computing + Memory + Network = System".

AI 학습의 성능은 셋 중 가장 느린 것에 의해 결정된다. GPU가 아무리 빨라도 gradient를 주고받을 수 없으면 소용없다.

메타포:

3명의 요리사 + 1개 주방:

  • 각자 빠름.
  • 하지만 재료를 주고받는 통로가 좁으면 속도 저하.
  • 넓은 통로 + 빠른 전달 = 팀 전체가 빠름.

AI 클러스터도 마찬가지:

  • GPU = 요리사.
  • 메모리 = 재료 저장.
  • 네트워크 = 통로.

RDMA는 초고속 통로. 이것 없이는 대형 AI 시스템이 존재할 수 없다.

미래:

AI 모델이 계속 커지면서:

  • 네트워크 중요성 증가.
  • 400 Gbps → 800 Gbps → 1.6 Tbps.
  • Optical networking 도입.
  • In-network computing (SmartNIC).
  • CXL: 메모리 coherence.

AI 인프라 경쟁은 점점 네트워크 경쟁이 되고 있다. 최고의 네트워크를 가진 팀이 최고의 AI를 만든다.

당신이 ChatGPT와 대화할 때, 그 모델이 학습된 과정에는 수만 개의 GPU + 수 PB의 네트워크 트래픽이 있었다. RDMA가 그것을 가능하게 했다. 알려지지 않은 영웅, 하지만 AI 혁명의 필수 기반이다.


마치며: 보이지 않는 고속도로

핵심 정리

  1. RDMA: Zero-copy + kernel bypass. 원격 메모리 직접 접근.
  2. InfiniBand: 원조. 최고 성능. 전용 네트워크.
  3. RoCE: Ethernet 기반. 운영 복잡하지만 비용 낮음.
  4. NCCL: GPU collective operations. AI 학습의 표준.
  5. GPU Direct: GPU ↔ NIC 직접.
  6. 3D Parallelism: DP + TP + PP로 거대 모델 학습.

중요한 관점

RDMA는 AI 인프라의 숨은 기반이다. 사용자는 ChatGPT와 대화할 때 RDMA를 모른다. 하지만 모델 학습 단계에서 수십억 번의 RDMA 연산이 이루어졌다.

AI가 더 발전할수록 네트워크의 중요성이 커진다. 계산 능력과 네트워크 대역폭의 격차가 병목이 된다. Ultra Ethernet, CXL, Optical 같은 차세대 기술이 이를 해결하려 한다.

언제 필요한가

RDMA가 필요한 경우:

필요 없는 경우:

대부분의 엔지니어가 직접 RDMA를 다루지 않는다. 하지만 그것이 존재한다는 사실과 원리를 이해하면, 현대 컴퓨팅의 큰 그림이 보인다.

마지막 교훈

GPT-4, Gemini, Claude — 우리가 매일 쓰는 AI들. 이들의 학습에는 수천, 수만의 GPU + RDMA 네트워크가 필요했다. 한 대의 GPU도, 한 번의 통신도 없었다면 지금의 AI는 없었다.

RDMA는 작지만 결정적인 조각이다. 알려지지 않은 기술이 혁명을 가능하게 한 경우는 많다. 인터넷의 TCP, 웹의 HTTP, 데이터의 SQL처럼, AI의 RDMA.

당신이 다음에 LLM에게 질문할 때, 그 답변의 뒤에 10만 GPU가 RDMA로 대화한 역사가 있음을 기억해 보자. 기술의 계층은 깊고, 각 층이 다음 층을 가능하게 한다. 이것이 현대 컴퓨팅의 경이로움이다.


참고 자료

로그인하면 좋아요를 누를 수 있습니다

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다