什么是梯度累积?

文摘   2024-11-20 10:00   辽宁  

在内存资源有限的条件下,我们通常推荐使用小批次数据训练神经网络。

然而,有一种称为梯度累积的技术,可以在逻辑上增加批量大小,而无需显式地增加批量大小。

很困惑是吧?

让我来解释一下。

为什么神经网络训练过程中会内存溢出?

训练大模型时,显存都哪去了?

在前面的文章中,我们说过,在反向传播过程中计算梯度时,需要存储前向传播过程中计算的激活值。

激活值占用内存大小与模型大小和输入数据大小正相关。

如果batch size过大,就可能导致训练失败。

梯度累积是如何提升batch size的?

考虑下面使用mini-batches训练神经网络。

人工智能大讲堂
专注人工智能数学原理和应用
 最新文章