[논문 리뷰] How to scale distributed deep learning?
이 논문은 ImageNet에서 ResNet을 훈련하기 위한 동기화 및 이방형 분산 SGD를 비교하며, 전부-감소를 로컬 평균화로 대체하는 분산형, 파라미터 서버가 없는 방법인 '소개(SG)'를 제안한다. 비동기 방법(소개 및 탄성 평균화 포함)은 작은 규모(약 32개 노드 이하)에서 더 빠른 수렴을 보이며, 약 32개 노드를 초과하면 동기화 전부-감소가 더 우수한 수렴 성능을 보여 더 큰 규모에서 더 잘 스케일링됨을 발견하였다.
Training time on large datasets for deep neural networks is the principal workflow bottleneck in a number of important applications of deep learning, such as object classification and detection in automatic driver assistance systems (ADAS). To minimize training time, the training of a deep neural network must be scaled beyond a single machine to as many machines as possible by distributing the optimization method used for training. While a number of approaches have been proposed for distributed stochastic gradient descent (SGD), at the current time synchronous approaches to distributed SGD appear to be showing the greatest performance at large scale. Synchronous scaling of SGD suffers from the need to synchronize all processors on each gradient step and is not resilient in the face of failing or lagging processors. In asynchronous approaches using parameter servers, training is slowed by contention to the parameter server. In this paper we compare the convergence of synchronous and asynchronous SGD for training a modern ResNet network architecture on the ImageNet classification problem. We also propose an asynchronous method, gossiping SGD, that aims to retain the positive features of both systems by replacing the all-reduce collective operation of synchronous training with a gossip aggregation algorithm. We find, perhaps counterintuitively, that asynchronous SGD, including both elastic averaging and gossiping, converges faster at fewer nodes (up to about 32 nodes), whereas synchronous SGD scales better to more nodes (up to about 100 nodes).
연구 동기 및 목표
- 대규모 분산 딥러닝에서 동기화 및 이방형 SGD의 수렴 성능을 평가하는 것.
- 대규모 훈련에서 동기화 SGD의 한계(느린 노드 영향)와 이방형 SGD의 한계(파라미터 서버의 병목 현상)를 해결하는 것.
- 통신 오버헤드를 줄이는 파라미터 서버가 없는 분산형 대안인 소개(SG)를 제안하고 평가하는 것.
- 사용 가능한 노드 수에 따라 최적의 분산 SGD 전략을 결정하는 것.
- 노드 수와 수렴 속도를 기반으로 실무자들이 동기화와 이방형 훈련 중 어떤 것을 선택할지에 대한 경험적 지침을 제공하는 것.
제안 방법
- 중앙 집중식 파라미터 서버를 로컬 평균화로 대체하는 이방형 방법인 소개(SG)를 제안한다. 이는 무작위로 선택된 노드 쌍을 사용하여 로컬 평균화를 수행한다.
- 두 단계 업데이트를 사용한다: 먼저 국소 기울기를 계산하고, 그 다음 무작위로 선택된 이웃과의 확률적 평균화를 통해 파라미터를 업데이트한다.
- 공동체와 유사한 업데이트를 사용한다: $\theta_{i,t+1} = (1-\beta)\theta_{i,t}^\prime + \beta\theta_{j_{i,t},t}^\prime$, 여기서 $\theta_{i,t}^\prime$는 기울기 스텝이고 $j_{i,t}$는 무작위로 선택된 노드이다.
- 동기화 장벽과 중앙 집중식 병목 현상을 피하는 분산형 소개 프로토콜을 구현한다.
- 세 가지 방법을 비교한다: 동기화 전부-감소 SGD, 이방형 탄성 평균화 SGD, 그리고 제안된 소개(SG) SGD.
- I/O 오버헤드를 줄이기 위해 고속 CUDA 기반 이미지 리사이징을 사용한 다중 규모 데이터 증강 기법을 적용한다.
실험 결과
연구 질문
- RQ1노드 수가 다른 경우 이방형 SGD의 수렴 속도는 동기화 SGD와 어떻게 비교되는가?
- RQ2분산형 대안인 소개(SG)는 중앙 집중식 파라미터 서버 접근 방식보다 수렴성과 확장성 면에서 뛰어나게 성능을 발휘하는가?
- RQ3몇 대의 노드로 구성된 규모에서 동기화 전부-감소 SGD가 이방형 방법보다 수렴 속도에서 승리하는가?
- RQ4큰 스텝 사이즈와 작은 스텝 사이즈는 동기화 및 이방형 SGD의 성능에 어떤 영향을 미치는가?
- RQ5소규모에서 중간 규모의 노드 수에서 소개(SG)가 탄성 평균화 및 전부-감소 SGD보다 더 빠른 수렴을 달성할 수 있는가?
주요 결과
- 이방형 SGD(탄성 평균화 및 소개 포함)는 소규모에서 더 빠른 수렴을 보이며, 이는 약 32개 노드 이하의 규모에서 성립한다.
- 동기화 전부-감소 SGD는 더 큰 수의 노드(약 100개 노드 이하)로 확장할 수 있으며, 더 큰 규모에서 더 빠른 수렴을 달성한다.
- 소개(SG)는 분산형 구조이면서도 동기화 장벽이 없음에도 불구하고 소규모 노드 수에서 전부-감소 SGD보다 더 빠른 수렴을 달성한다.
- 큰 스텝 사이즈에서는 이방형 방법이 더 빠르게 수렴하고, 작은 스텝 사이즈에서는 전부-감소 SGD가 더 빠르게 더 높은 정확도에 도달한다.
- 비동기화와 동기화 간의 성능 트레이드오���은 노드 수에 따라 달라진다: 소규모에서는 비동기화가 승리하고, 대규모에서는 동기화가 승리한다.
- 제안된 소개(SG) 방법은 파라미터 서버 병목 현상을 피하고 스트래글러 효과를 제거하여 실무에서 강건하고 확장 가능한 성능을 발휘한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.