Skip to main content
QUICK REVIEW

[논문 리뷰] Efficient Training of Convolutional Neural Nets on Large Distributed Systems

Sameer Kumar, Dheeraj Sreedhar|arXiv (Cornell University)|2017. 11. 02.
Advanced Neural Network Applications참고 문헌 18인용 수 3
한 줄 요약

이 논문은 효율적인 컨volution 신경망 분산 학습을 위한 세 가지 핵심 최적화 기법을 제안한다: I/O 병목 현상을 제거하기 위한 메모리 내 데이터 로딩, 통신 오버헤드를 줄이기 위한 다중 색상 기반 MPI Allreduce 알고리즘, 그리고 Torch의 데이터 병렬 테이블에서의 스레드 수준 최적화. 이러한 기법들은 ResNet-50을 ImageNet-1k에서 256개 GPU로 48분 만에 학습시켰으며, 이는 이전 최고 성능 대비 18% 빠른 성능이다. 정점 정확도를 유지한 채로 말이다.

ABSTRACT

Deep Neural Networks (DNNs) have achieved im- pressive accuracy in many application domains including im- age classification. Training of DNNs is an extremely compute- intensive process and is solved using variants of the stochastic gradient descent (SGD) algorithm. A lot of recent research has focussed on improving the performance of DNN training. In this paper, we present optimization techniques to improve the performance of the data parallel synchronous SGD algorithm using the Torch framework: (i) we maintain data in-memory to avoid file I/O overheads, (ii) we present a multi-color based MPI Allreduce algorithm to minimize communication overheads, and (iii) we propose optimizations to the Torch data parallel table framework that handles multi-threading. We evaluate the performance of our optimizations on a Power 8 Minsky cluster with 32 nodes and 128 NVidia Pascal P100 GPUs. With our optimizations, we are able to train 90 epochs of the ResNet-50 model on the Imagenet-1k dataset using 256 GPUs in just 48 minutes. This significantly improves on the previously best known performance of training 90 epochs of the ResNet-50 model on the same dataset using 256 GPUs in 65 minutes. To the best of our knowledge, this is the best known training performance demonstrated for the Imagenet- 1k dataset.

연구 동기 및 목표

  • 분산 DNN 학습 중 미니배치 데이터 로딩 시 느린 파일 I/O로 인한 성능 저하 문제를 해결한다.
  • 동기식 데이터 병렬 SGD에서 통신 오버헤드를 줄이기 위해 MPI Allreduce 집합 연산을 최적화한다.
  • 다중 GPU 시스템을 보다 효과적으로 활용하기 위해 Torch 프레임워크의 데이터 병렬 테이블에서의 다중 스레딩 효율성을 향상시킨다.
  • ResNet-50 및 GoogLeNet과 같은 대규모 모델을 대규모 GPU 클러스터에서 더 빠르게 학습시켜 정확도를 저하시키지 않도록 한다.
  • 256개 GPU를 사용한 ImageNet-1k에서 최고 성능을 기록하며, 분산 DNN 학습 분야의 새로운 성능 기준을 설정한다.

제안 방법

  • 전체 ImageNet-1k 데이터셋을 분산 시스템 메모리에 사전 로드하는 메모리 내 데이터 배포 전략을 구현하여 학습 반복 중 반복적인 디스크 I/O를 제거한다.
  • GPU 노드 간 계산 및 통신 단계를 겹치는 방식으로 통신 지연을 줄이는 다중 색상 기반 MPI Allreduce 알고리즘을 설계한다.
  • 다중 GPU, 다중 노드 환경에서의 스레드 수준 로드 밸런싱 향상과 경쟁 감소를 위해 Torch 프레임워크의 데이터 병렬 테이블 모듈을 최적화한다.
  • 효율적인 저수준 계산을 위한 Lua 스크립팅과 C 기반 FFI를 갖춘 Torch 딥러닝 프레임워크를 사용하여 고성능 분산 학습을 가능하게 한다.
  • OpenMPI를 사용하여 최적화 기법을 분산 Torch 애플리케이션에 통합하고, 128개의 P100 GPU를 가진 POWER8 Minsky 클러스터에서 성능을 평가한다.
  • 노드 수를 8, 16, 32로 다양하게 변화시켜 각각의 에포크당 학습 시간과 검증 정확도를 측정하여 확장성과 정확성을 평가한다.

실험 결과

연구 질문

  • RQ1대규모 데이터셋인 ImageNet-1k을 사용할 경우 분산 DNN 학습에서 파일 I/O 오버헤드를 어떻게 최소화할 수 있는가?
  • RQ2동기식 데이터 병렬 SGD의 MPI Allreduce 단계에서 지연을 크게 줄일 수 있는 통신 최적화 기법은 무엇인가?
  • RQ3Torch의 데이터 병렬 테이블 프레임워크에서의 스레드 수준 비효율성은 다중 GPU 시스템에서의 학습 성능을 얼마나 제한하는가?
  • RQ4I/O, 통신, 스레딩 최적화의 조합이 정확도 저하 없이 ResNet-50과 같은 대규모 모델의 학습 속도를 크게 향상시킬 수 있는가?
  • RQ5유사한 하드웨어와 데이터셋에서 제안된 시스템은 기존 최고 수준의 구현 대비 학습 시간과 모델 정확도 측면에서 어떻게 비교되는가?

주요 결과

  • 메모리 내 데이터 로딩 전략은 파일 I/O 오버헤드를 감소시켜 데이터 처리 속도를 크게 향상시키고, 에포크당 학습 시간을 단축시켰다.
  • 다중 색상 기반 MPI Allreduce 알고리즘은 통신 지연을 줄여, GoogLeNet 및 ResNet-50 모델 모두에서 에포크당 시간을 15~18% 감소시켰다.
  • 최적화된 Torch 데이터 병렬 테이블은 스레드 활용도를 향상시키고, 특히 더 큰 노드 수에서의 동기화 병목 현상을 줄였다.
  • 모든 최적화 기법을 적용한 결과, 256개 GPU로 ImageNet-1k에서 ResNet-50 학습을 90 에포크 동안 48분 만에 완료했으며, 이는 이전 최고 성능인 65분 대비 18% 빠른 성능이다.
  • 최적화된 환경에서 확보한 정점 검증 정확도는 75.4%로, 이전 최고 성능에서 보고된 76.2%와 유사하여 정확도 저하 없음을 확인했다.
  • 다양한 노드 수에서 ResNet-50에 대해 110~130%의 속도 향상을, GoogLeNetBN에 대해선 58~72%의 속도 향상을 달성하여 강력한 확장성과 성능 향상을 입증했다.

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

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

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

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