DeepSpeed ZeRO — 메모리를 줄여 대규모 학습을 가능하게 하다
DeepSpeed ZeRO — 메모리를 줄여 대규모 학습을 가능하게 하다
ZeRO(Zero Redundancy Optimizer) 는 DeepSpeed의 메모리 최적화 기법이에요. 옵티마이저 상태·그래디언트·파라미터를 중복 저장하지 않고 여러 GPU에 조각내 나눠 가져, 메모리 사용을 극적으로 줄여요.
동작 원리
- 데이터 병렬(DP) + 텐서 병렬(TP) + 파이프라인 병렬(PP)을 결합한 3D 병렬 구조를 지원해요.
- 옵티마이저 상태 등을 분할(shard)해 단일 GPU 메모리 한계를 넘는 모델 학습을 가능하게 해요.
- 통신 오버헤드를
--overlap-grad-reduce같은 옵션으로 연산과 겹쳐 숨겨요.
왜 중요한가요
ZeRO 덕분에 수백억 파라미터 모델을 여러 GPU에 걸쳐 학습할 수 있게 됐어요. 메모리 절약뿐 아니라 커뮤니케이션 효율도 함께 최적화돼요.