그래디언트 누적

모델이 실제로 학습하는 방법 — 순수 경사 하강법에서 Adam까지

그래디언트 누적은 메모리가 제한적일 때 더 큰 배치를 흉내 냅니다. 매 마이크로배치마다 스텝을 밟는 대신, 여러 마이크로배치의 그래디언트를 더한 다음 최적화기 스텝을 한 번만 밟습니다.

유효 배치 크기는 마이크로배치 크기에 누적 스텝 수를 곱한 것입니다. 이 덕분에 작은 GPU도 마치 더 큰 배치로 훈련하는 것처럼 행동할 수 있습니다.

빗물통이 이 발상을 잘 담아냅니다. 작은 컵 하나로는 정원 전체에 물을 줄 수 없으므로, 여러 컵을 통에 부은 다음 그 통에 모인 양을 씁니다. 그래디언트 누적도 하나의 업데이트를 하기 전에 여러 개의 작은 그래디언트 기여분을 모읍니다. 아래 그림이 바로 이 과정 그 자체입니다. 새로 더해지는 항 하나하나가 컵 한 잔이고, 올라가는 막대는 통이 총합을 향해 차오르는 모습입니다. 그래디언트 누적은 단 한 번의 스텝으로 현금화하는 그래디언트의 부분합입니다.

머신러닝에서의 위치그래디언트 누적은 대형 언어 모델, 큰 이미지, 제한된 GPU 메모리 상황에서 흔히 쓰입니다. 전체 배치가 한 번에 다 들어갈 필요 없이, 팀이 원하는 유효 배치 크기를 고를 수 있게 해 줍니다.
▶ 그래디언트 누적
← 배치 크기 스케일링초기화와 신호 스케일 →