Memory-Efficient Backpropagation Through Time
Audrunas Gruslys, Remi Munos, Ivo Danihelka, Marc Lanctot, Alex Graves
Abstract
We propose a novel approach to reduce memory consumption of the backpropagation through time (BPTT) algorithm when training recurrent neural networks (RNNs). Our approach uses dynamic programming to balance a trade-off between caching of intermediate results and recomputation. The algorithm is capable of tightly fitting within almost any user-set memory budget while finding an optimal execution policy minimizing the computational cost. Computational devices have limited memory capacity and maximizing a computational performance given a fixed memory budget is a practical use-case. We provide asymptotic computational upper bounds for various regimes. The algorithm is particularly effective for long sequences. For sequences of length 1000, our algorithm saves 95\% of memory usage while using only one third more time per iteration than the standard BPTT.
BibTeX
@inproceedings{NIPS2016_a501bebf,
author = {Gruslys, Audrunas and Munos, Remi and Danihelka, Ivo and Lanctot, Marc and Graves, Alex},
booktitle = {Advances in Neural Information Processing Systems},
editor = {D. Lee and M. Sugiyama and U. Luxburg and I. Guyon and R. Garnett},
pages = {},
publisher = {Curran Associates, Inc.},
title = {Memory-Efficient Backpropagation Through Time},
url = {https://proceedings.neurips.cc/paper_files/paper/2016/file/a501bebf79d570651ff601788ea9d16d-Paper.pdf},
volume = {29},
year = {2016}
}