Skip to main content
QUICK REVIEW

[논문 리뷰] On the Performance of Network Parallel Training in Artificial Neural Networks

Ludvig Ericson, Rendani Mbuvha|arXiv (Cornell University)|2017. 01. 18.
Neural Networks and Applications참고 문헌 6인용 수 8
한 줄 요약

이 논문은 분산 행렬 곱셈을 위한 Cannon 알고리즘을 사용하여 메모리 효율적인 신경망 병렬 학습(NPT) 방법을 제안한다. 데이터 복제를 최소화하고 전용 하드웨어를 사용하지 않음으로써 빠른 성능 향상—특히 초선형 성능 향상—을 달성한다. 네트워크 복잡도에 따라 효율적으로 스케일링되며, 단일, 이중, 대규모 이중층 네트워크의 경우 각각 16, 32, 64 개의 프로세스에서 최적 성능을 발휘한다.

ABSTRACT

Artificial Neural Networks (ANNs) have received increasing attention in recent years with applications that span a wide range of disciplines including vital domains such as medicine, network security and autonomous transportation. However, neural network architectures are becoming increasingly complex and with an increasing need to obtain real-time results from such models, it has become pivotal to use parallelization as a mechanism for speeding up network training and deployment. In this work we propose an implementation of Network Parallel Training through Cannon's Algorithm for matrix multiplication. We show that increasing the number of processes speeds up training until the point where process communication costs become prohibitive; this point varies by network complexity. We also show through empirical efficiency calculations that the speedup obtained is superlinear.

연구 동기 및 목표

  • 실시간 응용 분야에서 점점 더 복잡해지는 인공신경망(ANN)의 빠른 학습 필요성에 대응하기 위해.
  • 이전 병렬 학습 방법이 전체 입력 데이터 복제 또는 전용 하드웨어를 요구하는 한계를 극복하기 위해.
  • 분산 행렬 곱셈을 위한 Cannon 알고리즘을 활용한 메모리 효율적이고 확장 가능한 NPT 접근법을 개발하기 위해.
  • HPC 클러스터에서 다양한 네트워크 복잡도와 프로세스 수를 기반으로 성능을 평가하기 위해.
  • 네트워크 병렬화된 ANN 학습에서 초선형 성능 향상이 달성 가능한지 조사하기 위해.

제안 방법

  • 입력 데이터를 복제하지 않고도 행렬 곱셈을 프로세스 간에 분산하는 데 Cannon 알고리즘을 적용한 네트워크 병렬 학습(NPT)을 구현한다.
  • 가중치 행렬을 단위별로 프로세스 간에 분할하여 Cannon 알고리즘을 통한 통신 최적화된 행렬 곱셈을 가능하게 한다.
  • MPI를 사용해 프로세스 간 통신 및 장벽을 통한 동기화를 구현하여 벽시계 기반 학습 시간을 측정한다.
  • SGD를 사용한 미니배치 처리와 관성항을 포함한 학습을 수행하며, 활성화 함수로 ReLU 및 리키 레이루(Leaky ReLU)를 사용한다.
  • 다양한 네트워크 아키텍처와 프로세스 수를 기반으로 벽시계 시간, 성능 향상률, 효율성 등을 측정하여 성능을 평가한다.
  • 데이터 복잡도의 영향을 제거하기 위해 제어된 입력-출력 관계를 가진 합성 선형 데이터를 사용한다.

실험 결과

연구 질문

  • RQ1Cannon 알고리즘이 입력 데이터를 전면 복제하지 않고도 메모리 인지적인 네트워크 병렬 학습을 효율적으로 가능하게 할 수 있는가?
  • RQ2프로세스 수가 다양한 깊이와 너비를 가진 네트워크에서 학습 시간과 효율성에 어떤 영향을 미치는가?
  • RQ3제안된 NPT 방법이 초선형 성능 향상을 달성하는가? 만약 그렇다면 어떤 조건에서 이루어지는가?
  • RQ4네트워크 복잡도(예: 레이어 수와 뉴런 수)가 최소 학습 시간을 위한 최적의 프로세스 수에 어떤 영향을 미치는가?
  • RQ5최적 점을 초과할 때 프로세스 수가 증가함에 따라 통신 오버헤드가 성능에 어떤 영향을 미치는가?

주요 결과

  • 제안된 NPT 방법은 초선형 성능 향상을 달성하며, 특정 프로세스 범위에서 효율성이 1.00을 초과하여 선형 스케일링을 넘는 성능 향상을 보였다.
  • 단일층 네트워크의 경우 최적의 프로세스 수는 16이며, 이를 초과하면 통신 오버헤드로 인해 학습 시간이 증가한다.
  • 이중층 네트워크의 경우 최적의 프로세스 수는 32로 증가하여 네트워크 깊이에 비례해 최적 프로세스 수가 선형 증가함을 시사한다.
  • 대규모 이중층 네트워크(256개 뉴런)는 작은 이중층 네트워크 대비 런타임이 제곱근 비례로 증가하며, 최적 성능은 64개 프로세스에서 달성된다.
  • 32개 프로세스를 초과한 후 이중층 네트워크가 단일층 네트워크를 능가함으로써, 아키텍처 복잡도가 비선형적인 방식으로 스케일링 거동에 영향을 미친다는 점을 시사한다.
  • 전체 입력 데이터 복제를 방지함으로써 높은 메모리 효율성을 확보하여, 전용 하드웨어 없이도 HPC 및 클라우드 환경에 적합함을 입증하였다.

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

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

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

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