Deep learning technology requires tremendous computing power and memory, and multi-GPU systems are developing accordingly. However, in order to perform deep learning training in a multi-GPU system, data parallelism must be used. Data parallelism utilizes All-Reduce, a cluster communication library, during data parallelism. All-Reduce averages the slopes scattered across each GPU. The process of having to communicate with a different GPU each deep learning training session acts as a tremendous burden. Recently, deep learning frameworks such as Pytorch and TensorFlow are trying to reduce communication overhead by overlapping backpropagation and All-Reduce. While this increased throughput, it was observed that the backpropagation time increased due to the overlapping. We present an in-network architecture to improve the slow backpropagation caused by the aforementioned overlapping. We verified it using the latest multi-GPU simulator, MGPUSim, and will improve the slow backpropagation phenomenon, and achieve performance improvement in the limited All-Reduce size.
딥러닝 기술은 엄청난 컴퓨팅 성능과 메모리를 요구하고, 이에 따라 멀티 지피유 시스템이 발전하고 있다. 그런데 멀티 지피유 시스템에서 딥러닝 트레이닝을 하기 위해서는 데이터 병렬화 이라는 기법을 사용해야 한다. 데이터 병렬화의 과정에서 각 지피유에 흩어져 있는 기울기의 평균을 내기 위해서 All-Reduce 라는 군집 통신 라이브러리가 사용이 된다. 딥러닝 트레이닝의 1회 마다 다른 지피유와의 통신을 해야하는 과정은 굉장한 부담으로 작용한다. 최근에는 Pytorch나 TensorFlow와 같은 딥러닝 프레임 워크들은 역전파와 All-Reduce를 겹침으로 통신 오버헤드를 줄이기 위해 노력하고 있다. 그런데 역전파와 All-Reduce의 겹침으로 성능향상을 할 수있지만, 겹침으로 인해 오히려 역전파 시간이 늘어나는 현상이 관찰되었다. 우리는 이 겹침현상으로 인해 느려진 역전파 현상을 개선하기 위한 인-네트워크 아키텍쳐를 제시하려고 한다. 우리는 최신 멀티지피유 시뮬레이터인 MGPUSim을 이용해 검증을 하였고, 느려진 역전파 현상을 개선할 것이고, 제한된 All-Reduce 크기 에서 성능개선을 이루었다.