Data Parallelism

Creator
Creator
Alan JoAlan Jo
Created
Created
2023 Apr 25 14:6
Editor
Editor
Alan JoAlan Jo
Edited
Edited
2024 Mar 31 14:53
Refs
Refs
학습 데이터를 여러 GPU에 나눠 학습 (usually work out of box with carefulness for dataloading)
Challenges are computing efficiency for gradient all-reduce and training efficiency of batch-size
목적은 결국 한번에 돌리는
Batch Processing
수를 늘이려는 것임
  1. 입력 데이터와 모델의 파라미터를 각 GPU에 전달
  1. backward 과정에서는 각 GPU에 전달된 데이터와 관련된 gradient를 나누어 주어야
  1. 마지막으로 모든 gradient를 모으고 업데이트
위 overhead를 거치기 때문에 일반적인 DP로는 GPU 개수만큼 비례하게 늘어나지 못함. 보통 GPU중 하나가 control tower역할을 하는데, 이 문제를 해결하기 위해 다양한 방식이 등장
DP보다는 DDP가 무조건적으로 좋고, DDP와 FSDP 사이에는 장단점
Data Parallelism Usages
 
 
 
 
 
 
 
 

Recommendations