全部词条
白话词典

激活检查点

也叫:Activation Checkpointing · Gradient Checkpointing · 梯度检查点

激活检查点释放部分前向中间张量,并在反向传播时重算,用更多计算时间换较低训练显存。

他们说

通过反向传播时重算中间激活来降低训练内存

老白翻译

前向时少存一些结果,反向时再算一遍。

它到底是什么

激活检查点只保存选定计算区段的输入,释放区段内部的中间张量。反向传播需要这些结果时,框架重新执行前向计算。

它省的是什么

它减少一次训练步骤中间激活占用的显存,用额外重算换空间。它不会减少模型参数,也不同于保存到磁盘的断点续训文件。

常见误解

检查点越多并不一定越好。重算区段过多会拖慢训练,随机状态或全局状态不一致还可能让梯度出错。

普通人怎么用

先用固定小批次比较开关前后的损失和梯度,再记录峰值显存、单步时间与吞吐,按结果调整分段。

来源文章