AWS에서 파운데이션 모델 훈련 및 추론을 위한 빌딩 블록

인프라: 컴퓨트, 네트워크, 스토리지

가속 컴퓨트

  • P5 인스턴스: NVIDIA H100 GPU(p5.48xlarge)와 H200 GPU(p5e.48xlarge/p5en.48xlarge)를 제공합니다.
  • P6 인스턴스: NVIDIA Blackwell B200(p6-b200.48xlarge) 및 B300(p6-b300.48xlarge) 아키텍처를 도입합니다.

네트워킹 및 인터커넥트

GPU 통신은 데이터 이동을 최적화하기 위해 두 가지 체제로 나뉩니다:

  • 내부 스케일업 (NVLink/NVSwitch): 단일 노드 내에서 고대역폭, 저지연 연결을 제공합니다.
  • 외부 스케일아웃 (EFA): Elastic Fabric Adapter(EFA)는 Scalable Reliable Datagram(SRD) 프로토콜을 사용한 OS 우회 RDMA를 제공하여 노드 간 통신을 지원합니다. EFAv3는 EFAv2 대비 패킷 지연을 약 35% 감소시키며, EFAv4는 EFAv3 대비 집합 통신 성능을 추가로 18% 향상시킵니다.
  • UltraServers: Amazon EC2 UltraServers(예: P6e-GB200)는 NVLink 도메인을 단일 인스턴스를 넘어 확장하여 하나의 NVLink 도메인 내에 최대 72개의 Blackwell GPU가 존재하도록 하며, 통신이 NVLink 패브릭을 벗어나는 빈도를 줄입니다.

계층형 스토리지

수 테라바이트 규모의 체크포인트와 방대한 코퍼스를 처리하기 위해 AWS는 3계층 계층 구조를 사용합니다:

  1. 로컬 NVMe SSD: 핫 데이터용 임시 인스턴스 스토어(최대 30.72 TB 원시 용량).
  2. Amazon FSx for Lustre: 높은 집계 처리량과 서브밀리초 지연을 제공하는 관리형 병렬 파일 시스템.
  3. Amazon S3: 데이터 레포지토리 연관을 통해 데이터셋의 내구성 있는 영구 저장 및 지연 로딩에 사용됩니다.

리소스 오케스트레이션: Slurm 및 Kubernetes

수천 개의 가속기를 관리하려면 원자적인 작업 스케줄링과 리소스 효율성을 보장하는 중앙 제어 플레인이 필요합니다.

Slurm (HPC 중심)

Slurm은 HPC 워크로드의 주요 관리자로, 작업 수준에서 스케줄링하여 모든 필요한 노드가 할당된 후에 작업이 시작되도록 합니다. AWS는 다음을 통해 Slurm을 지원합니다:

  • AWS ParallelCluster: Slurm 클러스터 배포를 자동화하는 오픈소스 도구.
  • AWS Parallel Computing Service (PCS): Slurm을 위한 관리형 제어 플레인.
  • Amazon SageMaker HyperPod: Slurm 모드에 지속적인 노드 상태 모니터링 및 작업 자동 재시작 기능을 추가합니다.

Kubernetes (클라우드 네이티브)

Kubernetes는 배포에 뛰어나지만, 기본적인 작업 수준 원자성 및 토폴로지 인식이 부족합니다. 이러한 격차는 다음으로 메워집니다:

  • Kueue: 작업 수준 갱 입장 및 다중 테넌트 할당량을 관리합니다.
  • Volcano 및 NVIDIA KAI Scheduler: NVLink와 EFA 사용을 최적화하기 위해 토폴로지 인식 포드 배치를 제공합니다.
  • SageMaker HyperPod (EKS 모드): 관리형 Kueue와 Karpenter를 통합하여 적시 프로비저닝을 제공합니다. 또한 체크포인트 없는 훈련을 도입하여 EFA를 통한 피어-투-피어 상태 복제를 사용해 저장소에서 수 테라바이트 체크포인트를 읽지 않고도 장애 복구를 수행합니다.

ML 소프트웨어 스택

성능은 하드웨어 드라이버부터 고수준 프레임워크까지 다섯 계층 스택에 의해 결정됩니다.

저수준 활성화 및 런타임

  • 커널 드라이버: NVIDIA GPU 드라이버는 GPUDirect RDMA를 지원하고, EFA 드라이버는 libfabric을 통한 OS 우회 네트워킹을 제공합니다.
  • CUDA 및 커널: CUDA Toolkit 13.x는 Blackwell 아키텍처를 지원합니다. 성능은 FlashAttention과 같은 융합 커널 및 Triton, NVIDIA CuTe와 같은 프로그래머블 툴체인에 의해 추가로 향상됩니다.

통신 서브스트레이트

  • NCCL: NVIDIA Collective Communications Library는 all-reduce와 all-gather를 위한 토폴로지 인식 알고리즘을 구현합니다. Mixture-of-Experts(MoE) 모델에서는 all-to-all 집합 연산이 전문가 간 토큰 라우팅에 필수적입니다.
  • aws-ofi-nccl: NCCL 전송 API를 libfabric에 매핑하는 플러그인으로, NCCL이 EFA의 SRD 프로토콜을 사용할 수 있게 합니다.
  • NIXL: NVIDIA Inference Xfer Library는 분산된 추론 아키텍처(프리필과 디코드 단계 분리)를 위한 점대점 전송을 제공합니다.

프레임워크

  • PyTorch: 분산 워크로드의 주요 프레임워크로, torch.distributed와 FSDP2를 사용해 파라미터와 옵티마이저 상태를 샤딩합니다.
  • 분산 프레임워크:
    • Hugging Face Transformers/Accelerate: 사용 편의성과 호환성을 우선시합니다.
    • NVIDIA Megatron Core/NeMo: 3D 병렬성(텐서, 파이프라인, 전문가)을 통해 최대 효율을 목표로 합니다.
    • veRL: HybridFlow를 사용해 훈련 백엔드(FSDP2, Megatron)와 추론 엔진(vLLM, SGLang)을 하나의 작업에 혼합하는 강화 학습 프레임워크.
    • vLLM 및 SGLang: PagedAttention과 RadixAttention을 활용해 KV 캐시 관리와 요청 스케줄링을 최적화하는 추론 엔진.

가시성 및 장애 감지

수천 개 GPU 전반의 병목 현상을 진단하려면 체계적인 텔레메트리가 필요합니다.

텔레메트리 스택

  • Prometheus 및 Grafana: 메트릭 수집 및 시각화의 표준입니다. AWS는 **Amazon Managed Service for Prometheus (AMP)**와 **Amazon Managed Grafana (AMG)**를 제공하여 운영 부담을 줄입니다.
  • DCGM-Exporter: NVIDIA GPU 메트릭을 노출합니다. SM 활동(DCGM_FI_PROF_SM_ACTIVE)은 기본 활용도보다 컴퓨트 효율성을 더 정확하게 측정한다고 인용됩니다.

상태 모니터링

하드웨어 장애를 사전에 감지하면 훈련 중단을 방지할 수 있습니다. 주요 지표는 다음과 같습니다:

  • ECC 오류: 단일 비트 오류(SBE) 비율이 상승하면 종종 이중 비트 오류(DBE)보다 먼저 발생합니다.
  • XID 이벤트: XID 63(행 재매핑 실패), XID 64(GPU 버스 탈락), XID 94/95(제한/비제한 오류)와 같은 특정 오류는 즉시 노드 교체를 트리거합니다.

Sources