中文

SuperNeurons:用于深度神经网络训练的动态GPU内存管理

分布式、并行与集群计算 2018-01-17 v1 机器学习

摘要

在神经架构中加深和加宽可提高准确率,而有限的GPU DRAM对网络设计域施加了不期望的限制。深度学习(DL)从业者要么需要改用不太理想的网络架构,要么需繁琐地将网络拆分到多GPU上。这些分散了DL从业者对其原始机器学习任务的注意力。我们提出SuperNeurons:一种动态GPU内存调度运行时,使网络训练远超GPU DRAM容量。SuperNeurons具有3项内存优化,即\textit{存活期分析}、\textit{统一张量池}和\textit{代价感知重计算},它们共同将网络级峰值内存用量有效降低至各层间的最大内存用量。我们还解决了这些节内存技术中的性能问题。在有限GPU DRAM下,SuperNeurons不仅为训练提供必要的内存,还动态分配内存给卷积工作空间以实现高性能。针对Caffe、Torch、MXNet和TensorFlow的评估表明,SuperNeurons以领先性能训练比现有网络至少深3.2432倍的网络。特别地,SuperNeurons可在12GB K40c上训练具有10410^4个基本网络层的ResNet2500。

关键词

引用

@article{arxiv.1801.04380,
  title  = {SuperNeurons: Dynamic GPU Memory Management for Training Deep Neural Networks},
  author = {Linnan Wang and Jinmian Ye and Yiyang Zhao and Wei Wu and Ang Li and Shuaiwen Leon Song and Zenglin Xu and Tim Kraska},
  journal= {arXiv preprint arXiv:1801.04380},
  year   = {2018}
}

备注

PPoPP '2018: 23nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming