GPU Memory Usage Optimization for Backward Propagation in Deep Network Training
Not on the map. Why?
Abstract (arXiv)
In modern Deep Learning, it has been a trend to design larger Deep Neural Networks (DNNs) for the execution of more complex tasks and better accuracy. On the other hand, Convolutional Neural Networks (CNNs) have become the standard method for most of computer vision tasks. However, the memory allocation for the intermediate data in convolution layers can cause severe memory pressure during model training. Many solutions have been proposed to resolve the problem. Besides hardware-dependent solutions, a general methodology rematerialization can reduce GPU memory usage by trading computation for memory efficiently. The idea is to select a set of intermediate results during the forward phase as checkpoints, and only save them in memory to reduce memory usage. The backward phase recomputes the intermediate data from the closest checkpoints in memory as needed. This recomputation increases execution time but saves memory by not storing all intermediate results in memory during the forward phase. In this paper, we will focus on efficiently finding the optimal checkpoint subset to achieve the least peak memory usage during the model training. We first describe the theoretical background of the training of a neural network using mathematical equations. We use these equations to identify all essential data required during both forward and backward phases to compute the gradient of weights of the model. We first identify the checkpoint selection problem and propose a dynamic programming algorithm with time complexity O(n3) to solve the problem of finding the optimal checkpoint subset. With extensive experiments, we formulate a more accurate description of the problem using our theoretical analysis and revise the objective function based on the tracing, and propose an O(n)-time algorithm for finding the optimal checkpoint subset.
Key facts. No citing papers in the map yet (data through 13 Oct 2026). Builds on 20 of its 29 references that are in the map. First posted on arXiv 18 Feb 2025.
Builds on
20 of 29 references.
References · 20
- 2015Deep Residual Learning for Image Recognitioncited by 51,950
- 2014Very Deep Convolutional Networks for Large-Scale Image Recognitioncited by 15,321
- 2014ImageNet Large Scale Visual Recognition Challengecited by 8,476
- 2017Squeeze-and-Excitation Networkscited by 4,772
- 2016Wide Residual Networkscited by 3,063
- 2015Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Codingcited by 2,315
- 2015Learning both Weights and Connections for Efficient Neural Networkscited by 2,017
- 2016Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learningcited by 1,512
- 2016Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translationcited by 1,473
- 2017Learning Transferable Architectures for Scalable Image Recognitioncited by 1,100
- 2016Training Deep Nets with Sublinear Memory Costcited by 840
- 2015Deep Learning with Limited Numerical Precisioncited by 372
8 more
- 2017The Reversible Residual Network: Backpropagation Without Storing Activationscited by 215
- 2016Memory-Efficient Backpropagation Through Timecited by 78
- 2019Low-Memory Neural Network Training: A Technical Reportcited by 56
- 2020Dynamic Tensor Rematerializationcited by 45
- 2020Training Large Neural Networks with Constant Memory using a New Execution Algorithmcited by 34
- 2019Optimal checkpointing for heterogeneous chains: how to train deep neural networks with limited memorycited by 22
- 2018TFLMS: Large Model Support in TensorFlow by Graph Rewritingcited by 12
- 2016High-performance Semantic Segmentation Using Very Deep Fully Convolutional Networkscited by 9
Built on by
Not cited yet.