Summary of Lowering Pytorch’s Memory Consumption For Selective Differentiation, by Samarth Bhatia et al.
Lowering PyTorch’s Memory Consumption for Selective Differentiation
by Samarth Bhatia, Felix Dangel
First submitted to arxiv on: 15 Apr 2024
Categories
- Main: Machine Learning (cs.LG)
- Secondary: None
GrooveSquid.com Paper Summaries
GrooveSquid.com’s goal is to make artificial intelligence research accessible by summarizing AI papers in simpler terms. Each summary below covers the same AI paper, written at different levels of difficulty. The medium difficulty and low difficulty versions are original summaries written by GrooveSquid.com, while the high difficulty version is the paper’s original abstract. Feel free to learn from the version that suits you best!
Summary difficulty | Written by | Summary |
---|---|---|
High | Paper authors | High Difficulty Summary Read the original abstract here |
Medium | GrooveSquid.com (original content) | Medium Difficulty Summary A novel approach is proposed in this paper to address the memory limitations imposed by automatic differentiation (AD) in deep learning tasks. PyTorch’s current AD implementation neglects crucial information about parameter differentiability, which hinders efficient computation graph management. By utilizing this information, layers with non-differentiable parameters can have their inputs discarded, leading to reduced memory usage without compromising run time performance. The authors provide a drop-in implementation of such layers and demonstrate its effectiveness in fine-tuning tasks. |
Low | GrooveSquid.com (original content) | Low Difficulty Summary This paper is about finding ways to make deep learning models use less computer memory. Right now, the way we do automatic differentiation (AD) for backpropagation uses up a lot of memory. The researchers noticed that PyTorch’s AD implementation doesn’t store important information about which model parameters can change during training. They found that this information is useful because it lets us throw away some calculations when we’re only interested in how certain parts of the model are changing. This reduces the amount of memory needed without slowing down the model’s performance. |
Keywords
* Artificial intelligence * Backpropagation * Deep learning * Fine tuning