[논문 리뷰] Predicting the Computational Cost of Deep Learning Models
이 논문은 모델 아키텍처, 하드웨어, 데이터의 특징에서 학습을 통해 딥 뉴럴 네트워크의 학습 비용을 예측하는 딥 러닝 기반 모델을 제안한다. 레이어 수준의 실행 시간에 대해 신경망을 학습시음으로써, 메모리 병목 현상과 GPU 활용도 저하와 같은 비선형 성능 요인을 반영하여, 선형 모델보다 더 정확하게 에포크 단위의 종단 간 학습 시간을 예측한다.
Deep learning is rapidly becoming a go-to tool for many artificial intelligence problems due to its ability to outperform other approaches and even humans at many problems. Despite its popularity we are still unable to accurately predict the time it will take to train a deep learning network to solve a given problem. This training time can be seen as the product of the training time per epoch and the number of epochs which need to be performed to reach the desired level of accuracy. Some work has been carried out to predict the training time for an epoch -- most have been based around the assumption that the training time is linearly related to the number of floating point operations required. However, this relationship is not true and becomes exacerbated in cases where other activities start to dominate the execution time. Such as the time to load data from memory or loss of performance due to non-optimal parallel execution. In this work we propose an alternative approach in which we train a deep learning network to predict the execution time for parts of a deep learning network. Timings for these individual parts can then be combined to provide a prediction for the whole execution time. This has advantages over linear approaches as it can model more complex scenarios. But, also, it has the ability to predict execution times for scenarios unseen in the training data. Therefore, our approach can be used not only to infer the execution time for a batch, or entire epoch, but it can also support making a well-informed choice for the appropriate hardware and model.
연구 동기 및 목표
- 학습 시간에 대한 정확한 예측이 부족한 문제를 해결하여, 비용 및 자원 계획에 필수적인 요소를 제공한다.
- 플로ating 포인트 연산 수(FLOPs)에 기반한 선형 모델의 한계를 극복하여, 비선형 시스템 수준의 병목 현상을 반영한다.
- 개별 레이어의 실행 시간을 예측하고 이를 종합하여 전체 에포크 예측을 만드는 데이터 기반의 일반화 가능한 프레임워크를 개발한다.
- 실제 학습 이전에 하드웨어 선택, 모델 아키텍처 및 하이퍼파라미터 튜닝에 대한 정보 기반 결론을 내릴 수 있도록 한다.
- 새로운 하드웨어, 네트워크 유형 또는 데이터 분포를 포함한 미사용된 구성에 대한 예측을 지원한다.
제안 방법
- 모델 아키텍처, 데이터, 하드웨어에서 유도된 특징을 사용하여 레이어당 실행 시간을 예측하는 딥 뉴럴 네트워크를 학습한다.
- 다양한 GPU, 네트워크 유형(예: VGG-16) 및 설정(배치 크기, 옵티마이저)에서 수집한 레이어 수준의 실행 시간 데이터를 학습 신호로 사용한다.
- 각 레이어의 실행 시간을 별도로 모델링한 후, 이를 합산하여 배치 및 에포크당 총 실행 시간을 추정한다.
- FLOP 기반 모델이 간과하는 비선형 시스템 행동, 예를 들어 메모리 대역폭 제한 및 GPU 미사용을 포함한다.
- 학습된 표현을 통해 하드웨어, 모델 구조 및 하이퍼파라미터의 새로운 조합에 대한 일반화를 가능하게 한다.
- 추가 학습 데이터를 활용하여 16비트, 고정소수점 등 혼합 정밀도 계산에 대한 예측을 지원한다.
실험 결과
연구 질문
- RQ1딥 러닝 모델은 선형 FLOP 기반 근사 이상의 정확도로 딥 뉴럴 네트워크 내 개별 레이어의 실행 시간을 예측할 수 있는가?
- RQ2이러한 모델은 하드웨어, 모델 아키텍처 및 하이퍼파라미터(예: 배치 크기, 옵티마이저)의 새로운 조합에 대해 얼마나 잘 일반화되는가?
- RQ3메모리 병목 현상과 GPU 미사용 등 비선형 성능 요인을 얼마나 잘 반영하는가?
- RQ4다양한 네트워크 유형(예: 합성곱 레이어 대 완전 연결 레이어)과 배치 크기에 따라 예측 정확도는 어떻게 변하는가?
- RQ5실제 학습 이전에 하드웨어 선택 및 모델 설계에 대한 정보 기반 결정을 지원할 수 있는가?
주요 결과
- 제안된 모델은 FLOP 기반 접근 방식보다 비선형 성능 특성, 예를 들어 메모리 대역폭 제한과 GPU 활용도 저하를 반영함으로써 뚜렷이 뛰어난 성능을 보인다.
- 다양한 배치 크기 범위에서 높은 예측 정확도를 확보하였으며, 큰 배치 크기에서는 합성곱 레이어가 실행 시간을 지배하는 반면, 작은 배치 크기에서는 완전 연결 레이어가 지배적임을 정확히 식별하였다.
- 여러 GPU를 사용하는 VGG-16에 대해 종단 간 학습 시간을 정확하게 예측하였으며, 예측된 실행 시간과 실제 실행 시간 간 강한 일치를 보였다.
- 학습된 표현 덕분에 새로운 하드웨어 및 모델 하이퍼파라미터 조합에 대한 일반화가 성공적으로 이루어졌으며, 이는 시스템 및 모델 특징의 표현 학습 덕분이었다.
- 확장 가능한 프레임워크로서 혼합 정밀도 추론 및 학습에 대한 예측을 지원하며, 다양한 프레임워크 및 프로그래밍 언어로의 응용 가능성이 있다.
- 하드웨어 선택 및 모델 설계에 대한 실질적인 통찰을 제공하며, 성능 병목 현상을 식별하고 특정 레이어 유형에 최적화된 배치 크기 설정을 가능하게 한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.