Superneurons
Abstract
Going deeper and wider in neural architectures improves their accuracy, while the limited GPU DRAM places an undesired restriction on the network design domain. Deep Learning (DL) practitioners either need to change to less desired network architectures, or nontrivially dissect a network across multiGPUs. These distract DL practitioners from concentrating on their original machine learning tasks. We present SuperNeurons: a dynamic GPU memory scheduling runtime to enable the network training far beyond the GPU DRAM capacity. SuperNeurons features 3 memory optimizations, Liveness Analysis, Unified Tensor Pool , and Cost-Aware Recomputation ; together they effectively reduce the network-wide peak memory usage down to the maximal memory usage among layers. We also address the performance issues in these memory-saving techniques. Given the limited GPU DRAM, SuperNeurons not only provisions the necessary memory for the training, but also dynamically allocates the memory for convolution workspaces to achieve the high performance. Evaluations against Caffe, Torch, MXNet and TensorFlow have demonstrated that SuperNeurons trains at least 3.2432 deeper network than current ones with the leading performance. Particularly, SuperNeurons can train ResNet2500 that has 10 4 basic network layers on a 12GB K40c.
Document Details
- Document Type
- Pub Defense Publication
- Publication Date
- Feb 10, 2018
- Source ID
- 10.1145/3200691.3178491
Entities
People
- Ang Li
- Jinmian Ye
- Linnan Wang
- Shuaiwen Leon Song
- Tim Kraska
- Wei Wu
- Yiyang Zhao
- Zenglin Xu
Organizations
- Brown University
- Defense Advanced Research Projects Agency
- Los Alamos National Laboratory
- Massachusetts Institute of Technology
- Mellanox Technologies
- National Natural Science Foundation of China
- Oracle
- Pacific Northwest National Laboratory
- VMware