Training deep learning model is time consuming; so various researches have been conducted on accelerating the training speed through distributed processing. Data parallelism is one of the widely used distributed training schemes, and various algorithms for the data parallelism have been studied. However, since most of the studies assumed homogeneous computing environment, there is a problem that they do not consider a heterogeneous performance graphics processing unit (GPU) cluster environment induced by rapid performance changes of GPU types. Heterogeneous performance GPU clusters have performance differences between workers. It leads to differences in computation time between GPU workers in synchronous data parallelism, in which the total global mini-batch size is usually divided equally among several workers. Due to the time difference of the computation time of one iteration, the straggler problem that fast workers wait for the slowest worker makes the training speed low.
In this thesis, we proposed a batch-orchestrating algorithm (BOA), reducing training time by improving hardware efficiency in heterogeneous performance GPU clusters. The proposed algorithm coordinates local mini-batch sizes for all workers to reduce one training iteration time. Additionally, we conducted performance tuning by searching better GPU worker set. We confirmed that the proposed algorithm improved the performance by 23% over the synchronous SGD with one back-up worker of training ResNet-194 with 8 GPUs of three different types: GTX 1080, GTX1060 and QuadroM2000. The proposed BOA solved the problem caused by the performance difference between GPU workers, and it accelerated the convergence speed of training.
딥러닝은 다른 기계 학습 알고리즘에 비해 학습 시간이 많이 걸린다. 이를 개선하기 위해 분산 처리를 통한 학습 속도 가속화에 대한 연구가 많이 진행되었다. 대표적인 분산 처리 방식 중의 하나인 데이터 병렬화는 여러 연산 노드에서 전체 학습 데이터를 나누어 동일한 모델 복제 본에 대해 학습을 진행한다. 그 중에서도 파라미터를 동기적으로 업데이트하는 동기적 확률 그라디언트 하강은 학습에 사용되는 GPU 워커가 증가할 때 학습 수렴 속도가 좋은 것으로 평가된다. 하지만 이는 가장 느린 워커인 스트래글러를 기다려야하기 때문에 한 반복의 수행 시간이 느리다는 문제가 있다. 이를 해결하기 위한 다양한 연구들이 많이 진행되었지만, 대부분의 기존 연구들은 학습 환경으로 동종 환경만을 가정하여 문제 해결을 시도하였다. 하지만 일반적으로 분산 학습 워커로 사용되는 GPU가 다른 연산 자원들에 비해 새로운 기종의 출시 주기가 낮은 데 비해 성능 향상 비율이 높기 때문에, 분산 학습 환경의 이종화가 요구된다. 이종 분산 학습 환경은 분산 처리 시에 각 작업자들 간의 성능 차이를 야기하여 이는 전체 학습 성능의 저하로 이어지게 된다. 이종 GPU 클러스터 환경에서는 동종 환경과 달리 학습 성능 차로 인해 스트래그러가 발생하기 때문에 기존의 연구에서 고려하지 않았던 각 GPU 워커의 성능을 기반으로 한 학습 속도 개선이 요구된다. 따라서 본 학위논문에서는 분산 학습에서 사용되는 배치 사이즈 조정을 통해 스트래그러로 인한 학습 시간 지연을 해결하는 배치-오케스트레이션 알고리즘(BOA)을 제안하였다. 제안된 알고리즘은 하나의 훈련 반복 시간을 줄이기 위해 모든 작업자의 로컬 미니 배치 크기를 조정한다. 이를 위해, 먼저 학습 될 딥러닝 모델에 대한 GPU 학습 프로파일링을 통해 연산 수행 시간 예측 모델을 수립하고 이를 바탕으로 배치 사이즈 관점에서 정교한 제어를 처리하였다. 또한 GPU 워커 집합 관리를 통해 학습 속도를 향상 시키기 위한 워커 집합 튜닝을 제안하였다. 제안한 방법을 검증하기 위하여 다수의 GPU를 사용하여 기존의 방식과 제안한 방법을 통한 학습 성능을 비교하였다. 실험 결과 기존 방법 대비 23%의 성능 개선을 확인하였다. 제안한 BOA은 GPU 워커들 간의 성능 차이로 인한 문제를 해결하여 전체 학습 수렴 속도 가속화가 기대된다.