항상 잡을 두 메모리 + 속도 도구
Track 2 에서 AMP 기본 cover. 이 lesson 이 modern 결합 모으고 gradient checkpointing 추가 — compute 를 메모리로 trade 하는 trick.
AMP 복습 — modern bf16 path
Ampere+ GPU (A100, RTX 30/40, H100) 와 Apple Silicon 에 autocast(device_type='cuda', dtype=torch.bfloat16) 와 GradScaler 없이 선호. fp16 와 같은 속도, underflow drama 없음. fp16 + GradScaler 가 옛 hardware (V100, T4) 에 여전히 있지만 modern GPU 의 새 training run 엔 bf16 win.
Gradient checkpointing
보통 forward pass 가 backward 가 사용할 모든 intermediate activation 저장. 깊은 network (sequence length 4K 의 24-layer Transformer) 에 그 activation 이 메모리 지배. Gradient checkpointing 이 일부 activation 안 저장 — backward 중 demand 시 recompute. 메모리 50-70% drop, training time 약 30% 증가. OOM 안 되게 거의 항상 가치.
결합
AMP + gradient checkpointing + torch.compile + FSDP 다 결합. scaling up 시 추가 순서:
- eager fp32 시작 — 정확성 얻기.
- bf16 autocast 추가 — 무료 1.5–2x 속도.
- torch.compile 추가 — 또 ~1.5–2x.
- 원하는 batch size 에 여전히 OOM: gradient checkpointing.
- model 자체 안 들어감: FSDP.