Skip to main content
QUICK REVIEW

[논문 리뷰] A Data and Model-Parallel, Distributed and Scalable Framework for Training of Deep Networks in Apache Spark

Disha Shrivastava, Santanu Chaudhury|arXiv (Cornell University)|2017. 08. 19.
Advanced Neural Network Applications참고 문헌 10인용 수 9
한 줄 요약

이 논문은 고성능 GPU나 전용 하드웨어 없이도 일반 CPU 클러스터를 사용해 Apache Spark에서 깊이 신경망을 확장 가능하고 데이터 및 모델 병렬 처리가 가능한 프레임워크를 제안한다. 모델 병렬 처리를 위한 혁신적인 분산 역전파 알고리즘을 도입하여 수학적으로 수렴 가능성을 입증하고, GPU 없이도 컨볼루션 네트워크(CNNs)에서 최대 11배의 성능 향상을 달성한다.

ABSTRACT

Training deep networks is expensive and time-consuming with the training period increasing with data size and growth in model parameters. In this paper, we provide a framework for distributed training of deep networks over a cluster of CPUs in Apache Spark. The framework implements both Data Parallelism and Model Parallelism making it suitable to use for deep networks which require huge training data and model parameters which are too big to fit into the memory of a single machine. It can be scaled easily over a cluster of cheap commodity hardware to attain significant speedup and obtain better results making it quite economical as compared to farm of GPUs and supercomputers. We have proposed a new algorithm for training of deep networks for the case when the network is partitioned across the machines (Model Parallelism) along with detailed cost analysis and proof of convergence of the same. We have developed implementations for Fully-Connected Feedforward Networks, Convolutional Neural Networks, Recurrent Neural Networks and Long Short-Term Memory architectures. We present the results of extensive simulations demonstrating the speedup and accuracy obtained by our framework for different sizes of the data and model parameters with variation in the number of worker cores/partitions; thereby showing that our proposed framework can achieve significant speedup (upto 11X for CNN) and is also quite scalable.

연구 동기 및 목표

  • 단일 머신에서 큰 딥 네트워크를 훈련할 때 발생하는 높은 계산 비용과 메모리 제약 문제를 해결하기 위해.
  • 고성능 GPU나 슈퍼컴퓨터를 요구하지 않고도 일반 CPU 클러스터를 사용해 딥 네트워크의 확장 가능한 훈련을 가능하게 하기 위해.
  • CNN, RNN, LSTM과 같은 다양한 아키텍처를 지원하는 Apache Spark 내에서 데이터 및 모델 병렬 처리를 모두 구현한 통합 프레임워크를 개발하기 위해.
  • 낮은 통신 오버헤드를 갖춘 모델 병렬 환경에서 분산 역전파에 대해 수학적으로 타당하고 수렴 가능한 알고리즘을 제공하기 위해.
  • 다양한 데이터 크기, 모델 파라미터 수, 클러스터 구성 조건에서의 확장성과 성능을 경험적으로 검증하기 위해.

제안 방법

  • 프레임워크는 작업자 노드에 훈련 데이터를 분할하는 데이터 병렬 처리와 큰 신경망 레이어를 기계 간에 분할하는 모델 병렬 처리를 조합한 하이브리드 접근 방식을 사용한다.
  • 모델 병렬 훈련을 위한 새로운 분산 역전파 알고리즘을 제안하며, 이는 그래디언트를 로컬로 계산하고 파라미터 서버 아키텍처를 통해 비동기적으로 업데이트한다.
  • 통신 지연과 순서가 어긋난 업데이트를 고려한 수학적 분석과 비용 모델링을 통해 알고리즘이 수렴함을 보장한다.
  • Apache Spark의 강력한 분산 데이터 세트(RDD)를 사용해 구현되었으며, 완전 연결 네트워크, CNN, RNN, LSTM을 포함한 다양한 딥러닝 아키텍처를 지원한다.
  • 최적화는 미니배치 확률적 경사 하강법과 RMSprop를 사용하며, RNN/LSTM의 가변 길이 시퀀스는 팞딩과 마스킹을 통해 처리된다.
  • 컨볼루션 네트워크의 국소적 연결성을 활용하고 효율적인 파라미터 동기화를 통해 통신 오버헤드를 최소화하도록 설계되었다.

실험 결과

연구 질문

  • RQ1Apache Spark 기반의 분산 딥러닝 프레임워크가 GPU에 의존하지 않고도 대규모 모델에 대해 상당한 성능 향상을 달성할 수 있는가?
  • RQ2제안된 모델 병렬 역전파 알고리즘이 비동기 업데이트와 통신 지연 조건 하에서도 신뢰성 있게 수렴하는가?
  • RQ3다양한 신경망 아키텍처에서 데이터 크기와 모델 복잡도 증가에 따라 프레임워크의 확장성은 어떻게 변화하는가?
  • RQ4모델 분할 방식과 워커 파artition 수가 훈련 성능 및 통신 효율성에 미치는 영향은 무엇인가?
  • RQ5CPU 클러스터를 통해 확장되더라도 비분산 훈련과 비교해 정확도를 유지할 수 있는가?

주요 결과

  • 제안된 모델 병렬 역전파 알고리즘은 수학적으로도 실험적으로도 수렴하며, 에포크가 진행될수록 오차가 감소하고 그래디언트가 0에 수렴함을 확인했다.
  • 500만 개의 샘플을 사용해 훈련할 경우 CNN에서 최대 11배의 성능 향상을 기록하여 대규모 데이터에서 뛰어난 확장성을 입증했다.
  • 완전 연결 네트워크의 경우 0.1백만 개의 샘플에서 7.2배의 성능 향상을 기록했으며, 다섯 개의 CPU만으로도 40억 개의 모델 파라미터를 사용할 때 5.6배의 성능 향상을 관측했다.
  • 모델 크기와 데이터 크기가 증가할수록 성능 향상 비율이 증가하며, 더 큰 모델일수록 성능 향상의趋세가 더 높아지는 경향을 보여, 대규모 문제에 대해 더 나은 확장성을 가짐을 시사한다.
  • 분산 RNN/LSTM의 구현은 워커 노드 수가 증가함에 따라 균일한 성능 향상을 보이며, 순차적 아키텍처의 확장성도 확인했다.
  • CNN, RNN, LSTM, 완전 연결 네트워크를 포함한 다양한 아키텍처를 성공적으로 지원하며, 전용 하드웨어나 소프트웨어가 필요로 하지 않는다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.