분산 딥러닝에서 통신 오버헤드를 줄이기 위해 레이어를 오버래핑하는 하이브리드 올-리듀스 기법 - 김대현 (The Graduate School, Ajou University, 2021)
머신 러닝 기법 중 하나인 딥러닝은 이전에는 해결할 수 없다고 생각했던 문제에 대한 해결책을 제공하고 있다. 이에 따라 음성 인식, 시각적 객체 인식, 텍스트 처리와 같은 실제 응용 분야에서 딥러닝이 많이 사용되고 있다. 딥러닝에 사용되는 학습 데이터의 크기는 큰 대규모 데이터(수 Terabyte 급)를 사용하며, 높은 정확도를 달성하기 위하여 딥러닝 모델의 깊이 더 깊어지고 있다. 이에 따라 대규모 연산이 요구되고 있다. 이러한 대규모 데이터와 깊은 딥러닝 모델을 단일 노드 환경에서 학습을 한다면 많은 시간이 소요되며, 딥러닝 학습의 대규모 연산부하를 다수의 노드로 분산하여 학습하여 시간을 단축시킬 수 있는 분산 딥러닝 개념이 주목을 받고 있다. 딥러닝 알고리즘을 분산/병렬화 하는 방법 중 Data Parallelism 기법은 학습 데이터를 학습에 참여하는 노드로 나뉘어 학습이 진행된다. 이로 인하여 각 노드에서 지역적으로 업데이트한 지역 파라미터를 동기화는 과정을 하여야 한다. 본 연구에서는 기존의 분산 딥러닝의 효과적인 파라미터 동기화 과정을 위한 레이어 별 특성을 고려한 All-reduce 및 통신과 연산 오버래핑(Overlapping) 기법을 제안한다. 상위 레이어의 파라미터 동기화는 하위 레이어의 다음 전파과정 시간까지 통신 / 계산(학습)을 오버랩하여 진행할 수 있다. 또한 이미지 분류를 위한 일반적인 딥러닝 모델의 상위 레이어는 Convolution 레이어로 하위 레이어는 Fully-connected 레이어로 구성되어 있다. Convolution 레이어는 Fully-connected 레이어에 비해 적은 수의 파라미터를 가지고 있고 상위에 레이어가 위치하므로 네트워크 오버랩 허용시간이 짧기 때문에 이러한 점을 고려한 네트워크 지연시간을 단축할 수 있는 Butterfly All-reduce를 사용하고, 오버랩 허용시간이 보다 길고 오버랩 허용시간이 길기 때문에 네트워크 대역폭을 고려한 Ring All-reduce를 사용한다. 본 논문의 제안 방법의 효과를 검증하기 위해 제안 방법이 적용된 PyTorch 플랫폼 기반으로 실험 환경을 구성하여 배치크기에 대한 성능 평가를 진행하였다. 실험을 통해 제안 기법의 학습시간은 기존 PyTorch 방식 대비 최고 33% 단축된 모습을 확인하였다.
학위논문(석사)--아주대학교 일반대학원 :인공지능학과,2021. 2
Keywords: All-reduce; 동기화; 딥러닝; 분산딥러닝