HuggingFace 멀티 GPU 학습 — 누적 배치

HuggingFace 멀티 GPU 학습 — 누적 배치

여러 GPU로 학습할 때도 그래디언트 누적은 유효 배치 크기를 키우는 데 유용해요. 데이터·텐서·파이프라인 병렬화와 함께 쓰면 메모리와 수렴 안정성을 동시에 잡을 수 있어요.

멀티 GPU와 누적의 관계

  • DataParallel(DP)/DistributedDataParallel(DDP): 배치를 GPU 수로 나누고 그래디언트를 평균해요.
  • 여기에 누적을 더하면 1회 옵티마이저 스텝의 전역 배치 크기gpu 수 × 미니배치 × 누적 횟수로 늘릴 수 있어요.

주의점

  • DDP는 각 스텝에서 all-reduce로 그래디언트를 동기화하므로, 미니배치별 backward는 해도 옵티마이저·zero_grad만 누적 주기에 맞춰 실행하는 게 일반적이에요.
  • 학습률·스케줄러(step 기준)와 누적 주기를 일치시켜야 수렴이 안정적이에요.

더 알아보기