Skip to main content
QUICK REVIEW

[논문 리뷰] Computational Performance Predictions for Deep Neural Network Training: A Runtime-Based Approach

Geoffrey X. Yu, Yubo Gao|arXiv (Cornell University)|2021. 01. 31.
Advanced Neural Network Applications참고 문헌 29인용 수 5
한 줄 요약

이 논문은 단일 기준 GPU를 사용하여 다양한 GPU 아키텍처에서 딥 뉴럴 네트워크(DNN) 훈련 성능을 런타임 기반으로 예측하는 방법을 제안한다. 파형 스케일링 또는 사전 훈련된 다층 퍼셉트론을 통해 단일 반복 실행 시간을 스케일링하여, ResNet-50 및 Transformers와 같은 모델에 대해 여섯 가지 GPU 아키텍처에서 정확하고 저비용의 성능 예측이 가능하다. 이는 파이토치를 위한 오픈소스 Surfer 라이브러리에 구현되어 있다.

ABSTRACT

Deep learning researchers and practitioners usually leverage GPUs to help train their deep neural networks (DNNs) faster. However, choosing which GPU to use is challenging both because (i) there are many options, and (ii) users grapple with competing concerns: maximizing compute performance while minimizing costs. In this work, we present a new practical technique to help users make informed and cost-efficient GPU selections: make performance predictions using the help of a GPU that the user already has. Our technique exploits the observation that, because DNN training consists of repetitive compute steps, predicting the execution time of a single iteration is usually enough to characterize the performance of an entire training process. We make predictions by scaling the execution time of each operation in a training iteration from one GPU to another using either (i) wave scaling, a technique based on a GPU's execution model, or (ii) pre-trained multilayer perceptrons. We implement our technique into a Python library called Surfer and find that it makes accurate iteration execution time predictions on ResNet-50, Inception v3, the Transformer, GNMT, and DCGAN across six different GPU architectures. Surfer currently supports PyTorch, is easy to use, and requires only a few lines of code.

연구 동기 및 목표

  • 성능과 비용이라는 상충되는 목표 속에서 DNN 훈련을 위한 최적의 GPU를 선택하는 데 도전하는 것.
  • 전체 훈련 런타임을 수행하지 않고도 단일 기준 GPU만으로도 정확한 성능 예측이 가능하도록 하여 광범위한 벤치마킹의 필요성을 줄이는 것.
  • 파이토치와 같은 인기 있는 딥러닝 프레임워크를 지원하는 실용적이고 쉽게 사용할 수 있는 도구를 개발하는 것.
  • 다양한 DNN 아키텍처와 GPU 하드웨어에 적용 가능한 확장 가능한 솔루션을 제공하는 것.

제안 방법

  • DNN 훈련의 반복적 성격을 활용하여 단일 반복 실행 시간을 기반으로 전체 훈련 성능을 예측하는 것.
  • GPU 실행 모델에 기반한 기법인 파형 스케일링을 적용하여 기준 GPU에서 대상 GPU로의 성능을 외삽하는 것.
  • 측정된 실행 시간을 기반으로 다층 퍼셉트론을 훈련시켜 GPU 간 성능 스케일링 패턴을 학습하는 것.
  • 예측 파이프라인을 파이썬 라이브러리인 Surfer에 통합하여 파이토치 모델에 최소한의 코드 변경으로 지원하는 것.
  • 단일 GPU에서 측정된 런타임 데이터를 사용해 다른 아키텍처의 예측을 校정하는 것. 이는 전체 훈련 런타임이 필요로 하지 않는다.
  • 하드웨어 모델의 가용성 수준에 따라 이론적(파형 스케일링) 및 학습된(MLP) 접근 방식을 모두 지원하는 것.

실험 결과

연구 질문

  • RQ1단일 GPU의 반복 실행 시간이 다른 GPU 아키텍처에서의 훈련 성능을 신뢰성 있게 스케일링할 수 있는가?
  • RQ2파형 스케일링과 학습된 모델이 다양한 DNN에 대해 GPU 간 성능을 얼마나 정확하게 예측할 수 있는가?
  • RQ3제안된 방법이 여러 GPU에서 전체 벤치마킹의 필요성을 얼마나 줄일 수 있는가?
  • RQ4ResNet-50, Transformers, GANs와 같은 다양한 DNN 아키텍처에 대해 예측이 얼마나 일반화 가능한가?
  • RQ5실제 딥러닝 워크플로우에 통합되었을 때 이 방법은 실제로 얼마나 잘 작동하는가?

주요 결과

  • 제안된 방법은 여섯 가지 다른 GPU 아키텍처에서 DNN 훈련 성능 예측에 높은 정확도를 달성한다.
  • Surfer를 사용하면 몇 줄의 코드와 단일 기준 GPU만으로도 정확한 예측이 가능하다.
  • 파형 스케일링과 사전 훈련된 MLP 모두 신뢰할 수 있는 성능 예측을 제공하며, 후자는 다양한 하드웨어에 대한 적응성을 제공한다.
  • 이 방법은 ResNet-50, Inception v3, Transformers, GNMT, DCGAN의 실행 시간을 성공적으로 예측한다.
  • 시간이 많이 소요되는 전체 훈련 벤치마킹의 필요성을 크게 줄여 비용 효율적인 GPU 선택을 가능하게 한다.
  • Surfer 라이브러리는 파이토치 기반 딥러닝 워크플로우에서 실용적이고 효과적인 도구로 기능한다.

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

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

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

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