대규모 언어 모델(LLM) 학습 시 GPU 확보 및 확장 전략 수립이 핵심 과제임
모델 규모에 따라 스케일 업(Scale Up)과 스케일 아웃(Scale Out) 전략을 선택해야 함
GPU 활용률 극대화를 위해 네트워크, 데이터 파이프라인, 비용 셈법 등 고려사항이 복합적임
NVLink와 EFA의 대역폭 차이를 이해하고 병렬화 전략과 컴퓨트 배치를 함께 결정해야 함
학습하려는 모델의 파라미터 규모에 따라 스케일 업(Scale Up)과 스케일 아웃(Scale Out) 전략을 달리 적용해야 합니다. 10M~10B 파라미터 구간에서는 단일 인스턴스 내 NVLink/NVSwitch를 활용한 스케일 업이 비용 효율적입니다. 수백~수천 개의 GPU를 사용하는 10B~100B 구간에서는 EFA(Elastic Fabric Adapter) 인터커넥트와 NCCL 설정이 중요해지며, 100B 이상 Frontier 모델은 울트라서버(UltraServer) 아키텍처가 필요합니다. 각 전략은 GPU 통신 병목(GPU Communication Bottleneck)과 네트워크 대역폭(Network Bandwidth) 요구사항에 따라 결정됩니다.
전통적인 HPC 워크로드는 CPU 클러스터와 MPI를 사용하며 100~300 Gbps의 인터커넥트로도 충분하지만, ML/DL 학습은 GPU 클러스터와 NCCL을 사용하고 단일 노드에서도 최대 6,400 Gbps의 대역폭을 활용합니다. ML/DL 학습의 처리량(Throughput)과 비용은 GPU 자체보다 네트워크, 데이터 파이프라인, 운영 방식에 의해 더 크게 좌우됩니다. 특히 GPU가 데이터를 기다리며 놀지 않도록 데이터 로딩 최적화(Data Loading Optimization)와 고속 스토리지(High-Speed Storage) 활용이 필수적입니다.
GPU 메모리에는 시스템 메모리와 달리 스왑(Swap) 기능이 없어 메모리 부족 시 프로세스가 즉시 종료됩니다. 따라서 모델 파라미터, 그래디언트, 옵티마이저 상태(Adam 기준 약 16~18 bytes/param) 및 activation 메모리를 사전에 정밀하게 계산하여 필요한 GPU 메모리 용량을 산정해야 합니다. 70B 모델의 경우 fp32 기준 약 1,120 GB가 필요하므로, 단일 인스턴스(예: 640 GiB)로는 수용 불가하며 Tensor Parallel 또는 Pipeline Parallel을 통한 분산이 필수적입니다.
노드 내부 GPU 간 통신을 위한 NVLink/NVSwitch는 약 7,200 GB/s의 집계 대역폭을 제공하는 반면, 노드 간 통신을 위한 EFA는 p5 기준 400 GB/s의 대역폭을 제공합니다. 이 약 9배의 격차 때문에, Tensor Parallel처럼 통신이 빈번한 병렬화는 반드시 노드 내부 NVLink 도메인 안에서 처리해야 합니다. 반면 Pipeline Parallel이나 Data Parallel처럼 통신 빈도가 낮은 병렬화는 노드 간 EFA를 통해 확장하는 것이 효율적입니다.
Mixture of Experts (MoE) 모델은 토큰 분배 및 집합 단계에서 All-to-All 통신이 빈번하게 발생합니다. 이는 일반적인 AllReduce보다 레이턴시와 토폴로지에 민감하며, 특히 노드 간 EFA 통신 시 부하 불균형(Load Imbalance)과 맞물려 성능 저하를 유발할 수 있습니다. 울트라서버(UltraServer) 아키텍처는 확장된 NVLink 도메인을 통해 이러한 All-to-All 통신을 낮은 레이턴시와 높은 대역폭으로 처리하여 MoE 학습에 유리합니다.
분산 학습 환경에서는 GPU 드라이버, CUDA, cuDNN, NCCL, PyTorch 등 소프트웨어 스택의 버전 정합성이 매우 중요합니다. 특정 계층의 버전 불일치는 명확한 오류 없이 성능 저하를 유발할 수 있습니다. 이를 해결하기 위해 AWS Deep Learning Containers(DLC)나 NVIDIA NGC 컨테이너를 사용하고, 호스트에는 AWS Deep Learning AMI를 기반으로 GPU 드라이버와 EFA를 설치하는 구성이 권장됩니다.