具身智能新手名词表English

梯度累积

Gradient Accumulation进阶

连续算几个小批次的梯度先攒着,再统一更新一次参数,模拟大批量训练。

显存放不下想要的批大小时最常用的训练技巧。做法是:每个小批次照常前向、反向,但先不调用优化器,让梯度在参数上累加;攒够 N 个小批次后才执行一次参数更新,再把梯度清零。这样等效批大小等于单卡批大小 × 累积步数 × 卡数,代价是更新次数变少、每次更新耗时变长。要注意两点:损失要除以累积步数(按 token 算损失时要按总 token 数归一化),否则梯度会被放大;BatchNorm 这类依赖批统计量的层仍然只看到小批次。Hugging Face Accelerate 等训练库提供现成开关,在单卡或少量显卡上微调 VLA 时经常用到。

例子单卡只放得下 8 条样本,想要批大小 64,就把累积步数设为 8:连续跑 8 个小批次的 backward,再调用一次 optimizer.step()。

相关
批大小、梯度检查点(激活重计算)、混合精度训练、分布式训练(数据并行 / 模型并行)、优化器、GPU 显存
来源
Performing gradient accumulation with Accelerate (Hugging Face 文档)

在完整名词表里查看 →