DNN 모델 추론 및 학습 시 분배 메커니즘을 통한 효율성 향상
- Abstract
- 딥러닝 기술의 발전으로 다양한 응용분야에서 DNN 모델들이 활용되고 있고 이러한 분야에 사용되는 DNN 모델들은 추론 시 높은 정확도와 빠른 추론시간을 요구하고 높은 정확도에 따른 높은 연산량을 가지는 DNN모델은 학습 시 많은 GPU 자원을 필요로 한다. DNN을 실행하는 환경은 크게 두 가지로 나눌 수 있다. 하나는 단일 DNN을 실행하는 환경이고, 다른 하나는 다수의 DNN을 실행하는 환경이다. 본 논문에서는 분배 메커니즘을 적용하여 단일 DNN 실행환경과 다수의 DNN 실행환경에서 효율성을 향상시키는 방안에 대하여 제시한다. 단일 DNN 실행 시에는 DNN 모델 내부에 분배 메커니즘을 적용하여 모델 추론 과정을 대상으로 하여 추론 시간 감소를 통한 효율성 향상을 확인한다. 다수의 DNN 실행 시에는 DNN 모델 학습 과정을 대상으로 학습 시 할당되는 GPU 자원을 분배 메커니즘을 적용하여 효율적으로 나눠주어 전체 학습 응용이 공정하게 GPU 자원을 배분받을 수 있는 알고리즘에 대하여 제시한다. 단일 DNN 모델 추론과정에서는 객체추적 모델인CSWinTT를 대상으로하여 CSWinTT 모델 내부 트랜스포머 인코더의 MHA(Multi-Head Attention) 각 head 연산을 병렬실행으로 변경하여 추론시간을 감소시키는 방법을 제시한다. 병렬실행을 위하여 하나의 모듈로 이루어진 MHA 모듈을 head연산 단위로 분리하고 분리된 각각의 모듈을 멀티쓰레드 환경에서 실행한다. 이때 완전한 멀티쓰레드 동작을 위하여 Python 환경이 아닌 C++ 환경에서 모델을 실행한다. 병렬실행의 효과를 확인한 결과 기존방식 대비 인코더의 평균 실행시간은 56.8% 감소하였고, 평균 FPS는 63.3% 증가하였다. 다수의 DNN 모델 학습 과정에서는 GPU 자원의 총량이 모든 학습 응용들이 필요로 하는 자원의 총량보다 적어 GPU 자원을 차지하기 위한 경쟁이 DNN 학습 응용 간에 발생하여 상대적으로 긴 학습시간을 가지는 응용이 나타나는 문제를 해결하기위한 방안을 제시하였다. 현재 각 응용들의 GPU 자원 활용 상태를 기반으로 예측된 학습 완료 시간과 오프라인에서 각 응용들이 GPU를 독점해서 사용했을 때의 학습 완료 시간의 비율을 구하여 응용의 Slow-Down으로 정의한다. 학습이 진행되는 응용들의 Slow-Down 값이 비슷한 값으로 유지되도록 각 학습 응용들의 GPU당 미니배치 데이터 비율을 주기적으로 조절하여 GPU 자원의 공정한 배분이 이루어지도록 한다. 실험을 통해 확인한 결과 최대 Slow-Down은 53%이상 감소하였고, 전체적인 GPU 활용률은 25% 증가하였다.
- Author(s)
- 김인모
- Issued Date
- 2023
- Awarded Date
- 2023-02
- Type
- Thesis
- Keyword
- 멀티헤드어텐션; 멀티쓰레딩; 다중 GPU 학습; Slow-Down
- URI
- http://dspace.hansung.ac.kr/handle/2024.oak/6118
- Authorize & License
-
- Files in This Item:
-
Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.