LLM 사전학습은 거대한 effective batch 크기 사용 — gradient 업데이트당 수백만 토큰. 큰 batch가 gradient 추정 안정화(샘플 많으면 평균 gradient의 noise 낮음) + 하드웨어 활용 개선. 도전: GPU 메모리.
Gradient accumulation
원하는 batch가 메모리에 안 들어가면, 작은 "micro-batch" 여럿 돌리고, 가로질러 gradient 누적, 한 번에 업데이트. effective batch 크기는 micro-batch × accumulation step. 메모리 비용은 micro-batch가 결정, 연산 비용은 단일 큰 batch와 동일.
이 패턴이 너무 보편적이라서 모든 모던 학습 프레임워크 — PyTorch, DeepSpeed, Megatron-LM — 가 이걸 기본으로 둬. production run은 종종 GPU당 micro-batch ~1-4 시퀀스, accumulation ~16-128, 수백~수천 GPU에 분산.