Core Concepts
순환 데이터 병렬 처리(CDP)는 데이터 병렬 처리(DP)의 메모리 및 통신 단점을 해결하기 위해 제안된 새로운 패러다임이다. CDP는 마이크로 배치 실행을 동시에 처리하는 대신 순차적으로 처리함으로써 메모리 사용을 균형있게 유지하고 통신 비용을 줄일 수 있다.
Abstract
이 논문은 효율적인 병렬 처리를 위한 새로운 패러다임인 순환 데이터 병렬 처리(Cyclic Data Parallelism, CDP)를 제안한다.
기존의 데이터 병렬 처리(Data Parallelism, DP) 방식은 마이크로 배치를 동시에 처리하여 메모리 사용량이 증가하고 통신 비용이 증가하는 단점이 있다.
CDP는 마이크로 배치 실행을 순차적으로 처리하여 메모리 사용량을 균형있게 유지하고 통신 비용을 줄일 수 있다. 이를 위해 CDP는 두 가지 업데이트 규칙(CDP-v1, CDP-v2)을 제안한다.
CDP는 기존 DP 방식뿐만 아니라 모델 병렬 처리(Model Parallelism, MP), 파이프라인 병렬 처리(Pipeline Parallelism, PP), Zero Redundancy Optimizer powered DP(ZeRO-DP) 등 다양한 병렬 처리 기법에 적용될 수 있다. 이를 통해 메모리 사용량 감소, 통신 비용 감소 등의 이점을 얻을 수 있다.
실험 결과, CDP 기반 업데이트 규칙은 CIFAR-10과 ImageNet 데이터셋에서 DP와 유사하거나 더 나은 성능을 보였다. 또한 CDP는 ResNet-50과 ViT-B/16 모델에서 활성화 메모리 사용량을 각각 30%, 42% 감소시킬 수 있었다.
Stats
데이터 병렬 처리(DP) 방식에서는 전체 미니배치 크기에 비례하여 활성화 메모리 사용량이 증가한다.
순환 데이터 병렬 처리(CDP) 방식에서는 활성화 메모리 사용량이 일정하게 유지된다.
ResNet-50 모델에서 CDP는 DP 대비 활성화 메모리 사용량을 30% 감소시킬 수 있다.
ViT-B/16 모델에서 CDP는 DP 대비 활성화 메모리 사용량을 42% 감소시킬 수 있다.
Quotes
"순환 데이터 병렬 처리(CDP)는 데이터 병렬 처리(DP)의 메모리 및 통신 단점을 해결하기 위해 제안된 새로운 패러다임이다."
"CDP는 마이크로 배치 실행을 순차적으로 처리하여 메모리 사용량을 균형있게 유지하고 통신 비용을 줄일 수 있다."
"CDP는 기존 DP 방식뿐만 아니라 모델 병렬 처리(MP), 파이프라인 병렬 처리(PP), Zero Redundancy Optimizer powered DP(ZeRO-DP) 등 다양한 병렬 처리 기법에 적용될 수 있다."