Due to the development of deep learning technology and the increase of the amount of data, distributed training methods for deep learning have attracted a lot of attentions. In a data parallel environment, exchanging calculated gradients between servers is itself a bottleneck. In this paper, we solve this problem by compressing the gradient through random projection and sequentially transmitting it in units of gradients. The methods we proposed show similar compression ratio as the existing methods. In addition, the methods do not require the Top-k algorithm, which is needed in the existing methods, and it is beneficial in terms of time to apply the algorithms. Our algorithms are not limited by the use of parameter server because they do not degrade the compression ratio even when aggregating the calculated gradients at each server. Our algorithm shows a compression ratio from 57× to 919× in the image classification task, although there was some loss of accuracy. In the language model using PTB data, there is no accuracy loss until the compression ratio of 146×.
딥러닝 기술의 발전과 데이터양의 증가로 인하여 분산적으로 딥러닝 모델학습 하는 방법들은 많은 관심을 받게 되었다. 데이터 병렬 환경에서 서버들간에 계산된 기울기 값을 교환하는 것 자체가 학습에서 병목현상이 된다. 이 논문에서 우리는 랜덤 프로젝션을 통한 기울기값을 압축하는 방법과 기울기값을 묶음 단위로 순차적으로 전송하는 방법을 통해 이 문제를 해결한다. 우리가 제안한 방법들은 기존에 있던 메소드들과 비슷한 수준의 압축률을 보인다. 뿐만 아니라 기존에 방법들에서는 필요했던 Top-k 알고리즘이 필요치 않아 시간적인 측면에서 이득이 있다. 추가적으로 우리 알고리즘은 각각 서버에서 계산된 기울기값들을 취합하여도 압축률이 떨어지지 않아 파라미터 서버 사용에 제한이 없다. 우리는 우리의 알고리즘을 통해서 이미지 분류에서 약간의 정확도 손실은 있지만 57× 에서 919×까지의 압축률을 보였고 PTB데이터를 이용한 언어 모델에서는 146×의 압축률에서까지 정확도 손실이 없음을 확인하였다.