LLM Training Parallelism
이 경로는 Ultra-Scale Playbook의 학습 병렬화 섹션을 읽기 위한 준비 경로입니다.
먼저 단일 GPU에서 forward, backward, optimizer update가 어떤 순서로 일어나는지 복습합니다. 그다음 global batch size를 micro-batch, gradient accumulation, data parallelism으로 분해합니다.
마지막으로 DP가 왜 gradient all-reduce를 필요로 하는지, backward 계산과 통신을 어떻게 겹치는지, 그리고 parallelism과 sharding을 어떻게 구분해야 하는지 잡습니다.
- Single-GPU Training Step Review — 학습 병렬화를 보기 전에 한 GPU에서 한 optimizer step이 어떻게 진행되는지 복습한다.
- Global Batch, Micro-Batch, Gradient Accumulation — global batch size를 mbs, grad_acc, dp의 곱으로 분해해 본다.
- Data Parallelism — 같은 모델 복사본 여러 개가 서로 다른 micro-batch를 처리하고 gradient를 맞추는 방식을 이해한다.
- DP All-Reduce and Overlap — DP에서 gradient all-reduce를 backward 계산과 겹쳐 통신 대기 시간을 줄이는 방법을 이해한다.
- Parallelism vs Sharding — 병렬화는 일을 나누는 전략이고, 샤딩은 큰 텐서를 조각내 저장하는 방법임을 구분한다.