GPU 부하 상황에서 DNN 추론 시 은닉 계층별 수행시간 분석 - 유용환(Yong-Hwan Yoo); 정혁진(Hyuk-Jin Jeong); 문수묵(Soo-Mook Moon) (정보과학회 컴퓨팅의 실제 논문지, 2020)
딥러닝의 모델로 사용되는 심층 신경망(DNN)은 여러 계층(layer)으로 구성된다. 최근에는 연산의 병렬화를 위해 단일 모델을 더 작은 단위로 분할 처리하는 등의 방법들이 연구되고 있다. 전체 모델을 효과적으로 나누기 위해서는 추론 시 DNN의 각 계층의 계산에 걸리는 시간을 분석할 필요가 있다. 이에 영향을 미치는 요인으로 각 계층에서 수행되는 연산량이나 자원의 가용성 등을 들 수 있다. 특히, 작업 부하 상황에서 자원 경합에 의한 수행시간의 변화는 대부분 선행연구에서 깊이 있게 다뤄지지 않았다. 본 논문은 딥러닝 연산에 가장 많이 사용되는 그래픽 처리장치(GPU)의 가용성과 계층의 수행시간 간의 관계에 주목하여, GPU의 병렬 작업 부하 수준을 변화시키면서 각 layer의 수행시간을 측정한다. 측정된 수행시간으로 결정 트리 모델을 학습시켜, 각 계층의 수행시간에 영향을 미치는 요소들과 그 중요도를 분석한다. 나아가, 이러한 정보를 바탕으로 계층별 수행시간 예측에 사용될 수 있는 두 가지 회귀 모델의 정확도를 비교한다. Deep neural networks (DNN) comprise multiple different layers. Recently, several studies have proposed dividing a large DNN into multiple partitions and parallelizing their computations. For efficient partitioning and execution of the network, we need to know the execution time of each DNN layer. Many previous studies have suggested estimating this execution time with the amount of computation performed in the layer. Another critical factor of a DNN layer’s execution time is the availability of the computation resources. In particular, execution time has not been studied thoroughly under resource contention. In this paper, we focus on the graphical processing unit (GPU), currently the most popular hardware component for accelerating the DNN computations. We change the concurrent workloads on a GPU to various levels and measure the execution time of several core DNN layers. Using a decision tree trained on these results, we analyze the effect of different factors on each layer’s execution time together, and their relative importance in deciding the execution time. Also, we compare two different regression models that can be used to predict the layer execution time based on this information. KCI Citation Count: 0