[논문 리뷰] Distributed Deep Learning Using Synchronous Stochastic Gradient Descent
논문은 일반 SGD를 CPU에서 하이퍼파라미터를 변경하지 않고 확장하는 다중 노드 동기식 SGD 프레임워크(PCL-DNN)를 제시하여 CNN에서 기록적 처리량을 달성하고 HPC 클러스터와 AWS 모두에서 강한 확장을 보여준다.
We design and implement a distributed multinode synchronous SGD algorithm, without altering hyper parameters, or compressing data, or altering algorithmic behavior. We perform a detailed analysis of scaling, and identify optimal design points for different networks. We demonstrate scaling of CNNs on 100s of nodes, and present what we believe to be record training throughputs. A 512 minibatch VGG-A CNN training run is scaled 90X on 128 nodes. Also 256 minibatch VGG-A and OverFeat-FAST networks are scaled 53X and 42X respectively on a 64 node cluster. We also demonstrate the generality of our approach via best-in-class 6.5X scaling for a 7-layer DNN on 16 nodes. Thereafter we attempt to democratize deep-learning by training on an Ethernet based AWS cluster and show ~14X scaling on 16 nodes.
연구 동기 및 목표
- 하이퍼파라미터를 변경하거나 데이터 압축을 적용하지 않고 다중 노드 CPU 시스템에서 딥 네트워크의 대규모 학습을 동기식 SGD로 가능하게 하고 촉진한다.
- 네트워크와 계층 전반의 스케일링 효율성을 극대화하기 위한 분석적으로 안내된 하이브리드 데이터- 및 모델- 병렬 접근법 개발.
- Xeon 기반 클러스터와 클라우드에서 높은 전체 학습 시간(time-to-train)을 달성하기 위한 단일 노드 성능 및 네트워크 통신의 최적화.
- 다수의 플랫폼에서 CNN들(OverFeat, VGG-A) 및 DNN들(7-layer DNN, CD-DNN-HMM)에 대한 실용적 확장 및 처리량 이득을 시연
제안 방법
- 계산과 메모리 대역폭의 균형 방정식을 도출하고 풀어서 최적의 캐시-블록킹 및 스레딩 전략을 얻는다.
- 데이터-병렬, 모델-병력, 하이브리드 병렬성을 제안하고 분석하며, 데이터-와 모델 통신 요구사항의 정량적 비교를 포함한다.
- 데이터 배치 및 벡터화 전략을 개발하고 캐시/블로킹 최적화를 통해 단일 노드 효율을 높이고자 한다(컨볼에서 최대 ~90%, FC에서 ~70%).
- 부분-리듀스(part-reduce) 및 부분-브로드캐스트(part-broadcast)라는 딥 러닝 통신 프리미엄을 MPI_Reduce_scatter 및 MPI_Allgather를 사용하여 구현하고, 다중 노드 학습의 확장성을 실현한다.
- 데이터 처리, AVX2가 포함된 x86용 CNN/DNN용 최적화 계산 라이브러리, 대규모 실행을 가능하게 하는 MPI 기반 통신으로 구성된 PCL-DNN 소프트웨어 프레임워크를 제시한다.
실험 결과
연구 질문
- RQ1하이퍼파라미터를 변경하거나 데이터 압축을 사용하지 않고 다중 노드 CPU 클러스터에서 일반 SGD를 어떻게 확장할 수 있는가?
- RQ2CPU에서 강한 확장을 극대화하기 위해 서로 다른 네트워크 층에 대해 최적의 데이터-, 모델-, 하이브리드- 병렬 전략은 무엇인가?
- RQ3x86 CPU에서 CNN에 대해 높은 학습 처리량과 학습 시간(time-to-train)을 달성하기 위해 필요한 단일 노드 최적화(캐시 블록킹, 벡터화, 스레딩)는 무엇인가?
- RQ4제안된 프레임워크가 서로 다른 플랫폼(Cori HPC 클러스터 및 AWS EC2)에서 OverFeat 및 VGG-A와 같은 CNN 및 ASR-스타일의 DNN에서 어떻게 성능을 발휘하는가?
주요 결과
- 512 미니배치 VGG-A CNN 훈련 런은 128 노드에서 90x 확장과 높은 처리량을 달성.
- 256 미니배치 VGG-A 및 OverFeat-FAST 각각 64 노드에서 53x 및 42x 확장.
- 7-layer DNN에서 16 노드로 Best-in-class 6.5x 확장을 달성하며 프레임워크의 일반성을 보여준다.
- AWS에서 VGG-A에 대해 16노드에서 14x 확장을 최소한의 하이퍼파라미터 변경으로 달성.
- 단일 노드 최적화는 Xeon 프로세서에서 컨볼루션 계층에 대해 약 90%의 효율, 완전 연결(FC) 계층에 대해 약 70%를 달성.
- Cori에서 VGG-A가 128노드까지 선형 확장하며 256–512 미니배치에서 70-82% 효율을 보이고 ImageNet-1K에서 에폭 시간을 10분 미만으로 단축한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.