현대 AI 모델은 단일 GPU로 학습하기에 너무 큽니다:
모델 크기와 GPU 메모리 요구량:
- ResNet-50 (25M): 파라미터 ~100MB → 학습 ~4GB → GPU 1개 충분
- GPT-2 (1.5B): 파라미터 6GB → 학습 ~48GB → A100 1개 빠듯
- LLaMA-7B: 파라미터 28GB → 학습 ~224GB → A100 4~8개 필요
- GPT-4급 (1.8T): 파라미터 ~7TB → 학습 ~56TB → 수천 개 GPU
학습 메모리 = 파라미터 × 8~20배:
- 파라미터 자체 (4 bytes × N)
- 그래디언트 저장 (4 bytes × N)
- Adam 옵티마이저 상태: m, v (8 bytes × N)
- 활성화 값 (배치 크기에 비례, 가변적)
분산 학습의 두 가지 전략:
1. Data Parallelism: 같은 모델을 여러 GPU에 복제하고 데이터를 나눔
2. Model Parallelism: 모델 자체를 여러 GPU에 분할
이번 레슨에서는 Data Parallelism, 특히 DDP를 집중적으로 배웁니다.
왜 중요한가? GPT-3는 175B 파라미터로 단일 GPU에서 학습하면 수백 년이 걸립니다. 실제로 대규모 모델은 수천 개의 GPU를 동시에 사용하지 않으면 현실적 시간 내에 학습이 불가능합니다. 분산 학습은 이 계산량을 여러 GPU에 나누어 선형에 가까운 속도 향상을 달성합니다.
이것이 현대 AI가 존재할 수 있는 기술적 기반이며, 단일 GPU 최적화만으로는 절대 도달할 수 없는 규모의 모델을 가능하게 합니다.
PyTorch DDP(DistributedDataParallel)는 Li 등이 설계한 분산 학습 프레임워크이다 (Li et al., 2020).