Topic

Data Parallelism (DP)

JackerLab 2025. 12. 8. 18:52
728x90
반응형

개요

Data Parallelism(DP)은 대규모 신경망 학습에서 가장 널리 사용되는 병렬화 기법으로, 전체 모델을 각 GPU에 복제하고 데이터 배치를 나누어 병렬로 처리하는 방식이다. 이 접근 방식은 모델 크기가 GPU 메모리 한계에 맞는 경우 가장 효율적인 확장 전략으로, 대형 데이터셋을 빠르고 안정적으로 학습할 수 있게 해준다.


1. 개념 및 정의

DP는 **데이터를 여러 GPU로 분할(Sharding)**하여 동시에 학습을 수행하고, 각 GPU가 계산한 Gradient를 집계하여(Global Synchronization) 모델을 업데이트하는 구조이다. 모든 GPU는 동일한 모델을 보유하므로, 파라미터 동기화(Synchronization)만 이루어지면 일관된 학습 결과를 얻을 수 있다.

즉, DP는 ‘데이터 단위 병렬화’를 통해 학습 속도를 선형적으로 증가시키는 효율적인 분산 학습 방법이다.


2. 특징

항목 Data Parallelism Tensor Parallelism Pipeline Parallelism
병렬 단위 데이터(미니배치) 텐서(연산 단위) Layer(모델 구조 단위)
모델 복제 모든 GPU 동일 복제 부분 분할 저장 Stage 단위 분할
통신 방식 Gradient AllReduce 연산 결과 통합 Activation 전달
통신 빈도 낮음 높음 중간
대표 프레임워크 PyTorch DDP, Horovod Megatron-LM DeepSpeed

→ DP는 단순하고 효율적인 구조로, 다른 병렬화 기법의 기본 축을 형성한다.


3. 구성 요소

구성 요소 설명 예시
Global Batch 전체 학습 배치 크기 예: 1024
Local Batch GPU당 처리할 배치 크기 예: 256 (4 GPU)
Model Replica 모든 GPU에 동일한 모델 복제 PyTorch DistributedDataParallel
AllReduce Operation GPU 간 Gradient 평균화 NCCL 기반 Collective 통신
Synchronization Step Gradient 업데이트 단계 Optimizer Step 시 수행

→ DP의 핵심은 AllReduce를 통한 Gradient 동기화로, GPU 간의 일관성을 보장한다.


4. 기술 요소

기술 요소 설명 관련 기술
DistributedDataParallel (DDP) PyTorch의 기본 DP 모듈 GPU 간 자동 통신 관리
Gradient Accumulation 여러 미니배치의 Gradient 누적 메모리 절약 및 대배치 학습
Mixed Precision Training FP16/FP32 혼합 연산 계산 효율 향상
NCCL Backend GPU 간 통신 최적화 라이브러리 NVIDIA Collective Communication Library
Gradient Compression 통신 부하 감소를 위한 압축 8-bit, Sparse Gradient 전송

→ DP는 통신 효율을 극대화하기 위해 NCCL과 같은 고속 통신 백엔드를 사용한다.


5. 장점 및 이점

구분 설명 효과
확장성 GPU 수에 따라 선형적 학습 속도 증가 대규모 데이터 학습 효율 향상
단순성 모델 구조 변경 없이 적용 가능 구현 용이
안정성 모든 GPU에서 동일 모델 동작 일관된 학습 결과
통신 효율 AllReduce 최적화로 빠른 동기화 네트워크 부하 최소화
조합 가능성 TP, PP와 결합하여 3D 병렬 구성 초대형 모델 학습 지원

→ DP는 효율적인 확장성과 높은 활용도를 갖춘 기본 병렬화 아키텍처이다.


6. 주요 활용 사례 및 고려사항

사례 내용 기대 효과
GPT-3 데이터 학습 수십억 단어의 텍스트를 DP 기반 처리 대규모 분산 학습 효율 향상
이미지 분류 모델 CNN 기반 대규모 데이터셋 학습 GPU 활용률 극대화
NLP Fine-tuning 사전학습 모델의 대량 문서 튜닝 빠른 수렴 속도 확보
혼합 병렬화 DP + TP + PP 결합 3D 병렬 시스템 구성

고려사항: GPU 간 네트워크 속도가 낮거나, Gradient 통신이 병목이 될 경우 성능 저하가 발생할 수 있다. 따라서 NVLink, InfiniBand 환경에서 최적 성능이 발휘된다.


7. 결론

Data Parallelism은 대규모 모델 학습에서 가장 기본적이면서도 강력한 병렬화 기술이다. 단순한 구조, 높은 확장성, 그리고 다양한 병렬화 전략과의 결합 가능성 덕분에, 대부분의 분산 학습 프레임워크의 기반으로 사용된다. TP, PP와 함께 결합하여 초대형 모델 학습의 효율을 극대화하는 3D Parallelism의 핵심 축으로 기능한다.

728x90
반응형

'Topic' 카테고리의 다른 글

Pipeline Parallelism (PP)  (0) 2025.12.08
Tensor Parallelism (TP)  (0) 2025.12.07
MLIR (Multi-Level Intermediate Representation)  (0) 2025.12.07
Multimodal RAG (Retrieval-Augmented Generation)  (0) 2025.12.06
ColPali (Collaborative Parallel Learning)  (0) 2025.12.06