검색 상세

분산 딥러닝에서 통신 오버헤드를 줄이기 위해 레이어를 오버래핑하는 하이브리드 올-리듀스 기법

Hybrid All-reduce Strategy with Layer Overlapping for Reducing Communication Overhead in Distributed Deep Learning

초록/요약

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

more

초록/요약

Currently, the size of training dataset used for deep learning has become large-scale data, and the deep learning model is getting deeper to achieve high accuracy. Therefore, deep learning requires a lot of computation. Deep learning with a single node takes a lot of time. Therefore, distributed deep learning, which can shorten the time by distributing computation across multiple nodes, is required. Distributed deep learning requires synchronization. In this study, we propose hybrid all-reduce strategy that considers the characteristics of each layer and communication and computational overlapping technique. Since the convolution layer has fewer parameters than the fully-connected layer. Because convolution layer is located at the upper, the network overlappable time is short. So, Butterfly All-reduce is used to synchronize the convolution layer. Conversely, fully-connecter layer is synchronized using ring all-reduce. In the experiment, the proposed method reduced the time by up to 33% compared to the PyTorch.

more

목차

제1장 서론 1
제1절 연구 배경 및 필요성 1
제2절 연구 내용 및 논문 구성 4
제2장 연구 배경 6
제1절 딥러닝 개요 6
1 딥러닝 학습 과정 6
2 Fully-connected, Convolution 레이어의 파라미터 수 7
제2절 분산 병렬 딥러닝 기법 8
1 Parameter Server 기반의 동기화 방법 10
2 집합통신을 사용한 동기화 방식 11
제3장 분산 딥러닝 파라미터 동기화 최적화 연구 13
제1절 분산 딥러닝을 위한 ALL-REDUCE 알고리즘 개선 연구 13
3 네트워크 대역폭을 고려한 Ring based All-reduce[15] 14
4 네트워크 지연시간을 고려한 Butterfly All-reduce[33] 15
5 다중 GPU환경을 고려한 Hierarchical All-reduce[16] 16
6 네트워크 대역폭을 고려한 2D-torus All-reduce[17] 17
제2절 분산 딥러닝 동기화 최적화 연구 19
1 연산 가속화와 통신량을 줄인 Mixed-Precision[22] 19
2 네트워크 대역폭을 효율적으로 활용하기위한 Tensor Fusion 기법[24] 20
3 네트워크 대역폭과 메모리 소모를 고려한 Lazy All-reduce[19] 21
4 전역 파라미터의 통신 오버헤드를 감소한 Hybrid Architecture[25] 22
5 Sparse Communication 22
제4장 레이어 오버래핑 기반 하이브리드 올-리듀스 기법 24
제1절 레이어별 계산/통신 오버랩 동기화 기법 25
1 레이어별 동기화 기법 25
2 계산 / 통신 오버래핑 기법 27
제2절 레이어의 특성에 따른 HYBRID COMMUNICATION 기법 29
제5장 실험 31
제1절 실험 환경 및 조건 31
제2절 실험 결과 33
1 배치 크기에 따른 전체 학습 시간 비교 33
2 배치 크기에 따른 통신 / 계산 시간 분석 34
제6장 결론 및 향후 연구 35
참고문헌 36

more