Skip to main content
QUICK REVIEW

[논문 리뷰] Omnivore: An Optimizer for Multi-device Deep Learning on CPUs and GPUs

Stefan Hadjis, Ce Zhang|arXiv (Cornell University)|2016. 06. 14.
Advanced Neural Network Applications참고 문헌 23인용 수 50
한 줄 요약

Omnivore는 각 장치를 처리량 기반의 블랙박스로 간주하고, 예측 모델을 사용해 하이퍼파rameter와 실행 전략(비동기적 SGD 및 적절히 조정된 동기화 모멘텀 포함)을 CPU와 GPU 간에 최적화함으로써, 최신 기술 대비 훈련 속도를 1.9배에서 12배까지 향상시키는 자동 최적화 도구이다.

ABSTRACT

We study the factors affecting training time in multi-device deep learning systems. Given a specification of a convolutional neural network, our goal is to minimize the time to train this model on a cluster of commodity CPUs and GPUs. We first focus on the single-node setting and show that by using standard batching and data-parallel techniques, throughput can be improved by at least 5.5x over state-of-the-art systems on CPUs. This ensures an end-to-end training speed directly proportional to the throughput of a device regardless of its underlying hardware, allowing each node in the cluster to be treated as a black box. Our second contribution is a theoretical and empirical study of the tradeoffs affecting end-to-end training time in a multiple-device setting. We identify the degree of asynchronous parallelization as a key factor affecting both hardware and statistical efficiency. We see that asynchrony can be viewed as introducing a momentum term. Our results imply that tuning momentum is critical in asynchronous parallel configurations, and suggest that published results that have not been fully tuned might report suboptimal performance for some configurations. For our third contribution, we use our novel understanding of the interaction between system and optimization dynamics to provide an efficient hyperparameter optimizer. Our optimizer involves a predictive model for the total time to convergence and selects an allocation of resources to minimize that time. We demonstrate that the most popular distributed deep learning systems fall within our tradeoff space, but do not optimize within the space. By doing this optimization, our prototype runs 1.9x to 12x faster than the fastest state-of-the-art systems.

연구 동기 및 목표

  • 딥러닝 시스템에서 자동 설정이 부족해 최적 성능을 내지 못하고 최대 10배까지 훈련 시간이 증가하는 문제를 해결한다.
  • 분산 훈련에서 하드웨어 효율성(FLOPS)과 통계적 효율성(수렴 속도) 간의 상호 상충 관계를 밝혀낸다.
  • 적절히 최적화된 경우 CPU 기반 딥러닝이 GPU 기반 훈련만큼 효율적이고 비용 효율적일 수 있음을 보여준다.
  • 알고리즘적 모멘텀이 적절히 조정되면 비동기적 SGD가 통계적 손실을 유발하지 않음을 입증하여 이전의 가정을 도전한다.
  • 하드웨어 유형과 훈련 전략을 종합적으로 고려해 총 훈련 시간을 최소화하는 자동 최적화 도구를 개발한다.

제안 방법

  • 각 장치(CPU 또는 GPU)를 처리량 기반으로 블랙박스로 간주하는 프로토타입 시스템인 Omnivore를 설계하여 하드웨어에 종속되지 않는 훈련을 가능하게 한다.
  • CPU에서 표준 배치 처리와 데이터 병렬 처리를 구현하여 최신 기술 대비 5.5배 높은 처리량을 달성함으로써 CPU 훈련이 실현 가능하고 효율적임을 입증한다.
  • 이론적 및 실험적으로 비동기적 SGD가 암묵적인 모멘텀 항을 유도함을 규명하고, 명시적 모멘텀을 조정함으로써 성능 저하를 제거함을 보여준다.
  • 수렴 시간을 예측하는 모델을 구축하여 하이퍼파rameter(예: 학습률, 모멘텀)와 실행 전략(예: 동기화 대비 비동기 훈련)을 동시에 최적화한다.
  • 최적화 도구를 활용해 총 훈련 시간을 최소화하는 설정을 선택함으로써, 기존 시스템이 성능 트레이드오프 공간 내에서 최적화하지 못하고 있음을 입증한다.
  • 다양한 하드웨어 환경(EC2 CPU 및 GPU 인스턴스)에서 평가하여, Omnivore가 기준 설정 대비 CPU 클러스터에서 5배, GPU 클러스터에서 5.6배 빠른 성능을 달성함을 보였다.

실험 결과

연구 질문

  • RQ1적절한 배치 처리와 처리량 인식 설계를 통해 CPU 기반 딥러닝이 GPU 기반 훈련과 유사한 성능을 달성할 수 있는가?
  • RQ2분산 SGD에서의 비동기성과 알고리즘적 모멘텀 간의 관계는 무엇이며, 모멘텀을 조정하면 비동기성의 통계적 비용이 제거되는가?
  • RQ3다중 장치 딥러닝 시스템에서 하드웨어 효율성(FLOPS)과 통계적 효율성(수렴 속도) 간의 상호 상충 관계는 어떻게 나타나는가?
  • RQ4기존 딥러닝 시스템은 동일한 트레이드오프 공간 내에 있음에도 불구하고 왜 성능이 열등한가? 어떤 설정 선택이 열등한 성능을 초래하는가?
  • RQ5하이퍼파rameter와 실행 전략을 동시에 최적화하는 자동 최적화 도구가 다양한 하드웨어 플랫폼에서 종합적인 훈련 시간을 크게 줄일 수 있는가?

주요 결과

  • Omnivore는 표준 배치 처리와 데이터 병렬 처리를 적용함으로써 최신 기술 대비 CPU에서 5.5배 높은 처리량을 달성하여, 적절히 최적화된 경우 CPU 훈련이 GPU 훈련과 동일한 속도에 도달함을 입증한다.
  • 알고리즘적 모멘텀이 적절히 조정되면 비동기적 SGD가 통계적 손실을 유발하지 않으며, 이는 오랫동안 끊어진 논쟁을 해결하고 이전 연구에서 비동기 훈련이 느리다고 보고한 이유를 설명한다.
  • 총 훈련 시간을 최소화하는 최적 설정은 하드웨어 효율성과 통계적 효율성 간의 트레이드오프 공간에 위치해 있으며, 기존 시스템은 이 공간 내에서 최적화하지 못하고 있음을 보여준다.
  • Omnivore는 최신 기술 중 가장 빠른 시스템 대비 종합적인 수렴 시간을 1.9배에서 12배까지 단축시키며, 이는 이전 시스템이 발산하거나 성능이 열등했던 설정에서 가장 큰 성과를 기록한다.
  • 클라우드 플랫폼(예: EC2)에서 Omnivore를 사용한 CPU 기반 훈련은 FLOPS/달러 비율이 뛰어나 GPU 기반 훈련 대비 2.1배 더 저렴하여 CPU가 비용 효율적인 대안이 됨을 보여준다.
  • 최적 설정 하에서 GPU와 CPU 클러스터를 비교했을 때, GPU 클러스터는 통계적 비효율성을 제외한 순수 속도에서 5.6배 더 빠르며, FLOPS/달러 효율성이 뛰어나 단위 반복당 1.8배 더 저렴하다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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