加载中...

梯度累积(Gradient Accumulation)指连续执行多次前向和反向传播,将各小批次的梯度累加,达到设定次数后才执行一次参数更新,从而在不增加显存的前提下等效增大批量大小。
批量大小影响梯度估计的方差与训练稳定性,大模型训练通常需要很大的全局批量,但单卡显存放不下。由于梯度对样本是线性可加的,把大批量拆成若干微批次(micro-batch)分次计算再求和,数学上与一次性计算等价(含批归一化等跨样本统计的网络除外)。
梯度累积是大模型训练与微调的标配技术,与数据并行结合时,全局批量 = 微批量 × 累积步数 × 数据并行卡数。主流框架(PyTorch、DeepSpeed、Hugging Face Trainer 等)均原生支持。
累积期间应跳过分布式梯度同步以节省通信;损失需按累积步数取平均;学习率应按等效批量而非微批量来设定。

登录 后参与讨论
暂无讨论,来发表第一条评论吧