원리
일반 학습에서는 매 배치마다 기울기를 계산하고 즉시 업데이트합니다. 기울기 누적에서는 번의 순전파/역전파 후에 한 번 업데이트합니다.주의사항
- 손실 나누기:
loss / accumulation_steps로 스케일링하여 평균 기울기를 유지합니다 - BatchNorm: 각 미니배치의 통계량이 다르므로, 기울기 누적 시 배치 통계가 부정확할 수 있습니다.
SyncBatchNorm이나GroupNorm사용을 고려합니다 - 학습률: 유효 배치 크기에 맞게 학습률을 조정할 수 있습니다 (선형 스케일링 규칙)
체크리스트
- 기울기 누적의 원리와 유효 배치 크기 계산을 이해한다
- 손실 스케일링(
loss / accumulation_steps)의 이유를 안다 - Mixed Precision과 기울기 누적을 결합할 수 있다
다음 문서
분산 학습
다중 GPU로 학습을 더욱 가속
Mixed Precision
기울기 누적과 함께 사용하는 정밀도 최적화

