sublinear技巧

什么是torch的sublinear技巧

陈天奇的Training Deep Nets with Sublinear Memory Cost告诉我们,训练deep nets的时候,memory的最大的开销来自于储存用于backward的activation。这个很好理解,前向的时候,每一层的activation都要保存下来,用于计算backward。

那么这个时候,一个简单的解决方案就是,我们隔着sqrt(n)层存一次activation,然后在需要的时候,我们再进行一次计算。这样的话,memory就大致省下来sqrt(n)倍。并且显存使用越多,省下来的越多。

reference

  1. https://arxiv.org/abs/1604.06174 Training Deep Nets with Sublinear Memory Cost.
  2. https://www.zhihu.com/question/274635237/answer/755102181
posted @ 2021-09-02 16:09  John_Ran  阅读(498)  评论(0编辑  收藏  举报