Concepts de base
순환 데이터 병렬화(CDP)는 데이터 병렬화(DP)의 메모리 및 통신 단점을 해결하는 새로운 패러다임이다. CDP는 마이크로 배치 실행을 동시에 수행하는 대신 순차적으로 실행하여 메모리 사용을 균형있게 유지하고 통신 비용을 줄인다.
Résumé
이 논문은 딥 신경망 모델 학습을 위한 새로운 병렬화 기법인 순환 데이터 병렬화(Cyclic Data Parallelism, CDP)를 제안한다.
기존의 데이터 병렬화(Data Parallelism, DP) 기법은 다음과 같은 단점이 있다:
- 모델 활성화 함수 메모리 사용량이 학습 과정 중 최대치에 도달한다.
- 경사도 계산이 동기화되어 통신 비용이 증가한다.
CDP는 이러한 단점을 해결하기 위해 마이크로 배치 실행을 순차적으로 수행한다. 이를 통해 다음과 같은 장점을 얻을 수 있다:
- 활성화 함수 메모리 사용량이 일정하게 유지된다.
- 경사도 통신이 학습 과정 전반에 걸쳐 균형있게 이루어진다.
CDP는 모델 병렬화(Model Parallelism), 파이프라인 병렬화(Pipeline Parallelism), Zero Redundancy Optimizer powered DP(ZeRO-DP) 등의 기법과 결합하여 더 큰 효과를 발휘할 수 있다. 실험 결과, CDP는 CIFAR-10과 ImageNet 데이터셋에서 기존 DP 기법과 유사하거나 더 나은 성능을 보였다.
Stats
모델 파라미터 메모리는 ΨP
활성화 함수 메모리는 ΨA
모델 병렬화에서 통신되는 활성화 함수 메모리는 Ψ int
A
Citations
"Training large deep learning models requires parallelization techniques to scale."
"We propose Cyclic Data Parallelism, a novel paradigm shifting the execution of the micro-batches from simultaneous to sequential, with a uniform delay."