English

Profiling based Out-of-core Hybrid Method for Large Neural Networks

Machine Learning 2019-07-12 v1 Distributed, Parallel, and Cluster Computing Performance

Abstract

GPUs are widely used to accelerate deep learning with NNs (NNs). On the other hand, since GPU memory capacity is limited, it is difficult to implement efficient programs that compute large NNs on GPU. To compute NNs exceeding GPU memory capacity, data-swapping method and recomputing method have been proposed in existing work. However, in these methods, performance overhead occurs due to data movement or increase of computation. In order to reduce the overhead, it is important to consider characteristics of each layer such as sizes and cost for recomputation. Based on this direction, we proposed Profiling based out-of-core Hybrid method (PoocH). PoocH determines target layers of swapping or recomputing based on runtime profiling. We implemented PoocH by extending a deep learning framework, Chainer, and we evaluated its performance. With PoocH, we successfully computed an NN requiring 50 GB memory on a single GPU with 16 GB memory. Compared with in-core cases, performance degradation was 38 \% on x86 machine and 28 \% on POWER9 machine.

Keywords

Cite

@article{arxiv.1907.05013,
  title  = {Profiling based Out-of-core Hybrid Method for Large Neural Networks},
  author = {Yuki Ito and Haruki Imai and Tung Le Duc and Yasushi Negishi and Kiyokuni Kawachiya and Ryo Matsumiya and Toshio Endo},
  journal= {arXiv preprint arXiv:1907.05013},
  year   = {2019}
}

Comments

15 pages