跳到主内容
快讯直播
AI智模界
AI 词典

梯度噪声尺度:batch 还能开多大

梯度噪声尺度(Gradient Noise Scale)衡量的是梯度里“噪声”和“信号”的比例:采样带来的梯度抖动有多大,相对于真实梯度本身有多大。它的单位是样本数。

它在说什么

训练时,我们用一个小批量(batch)样本估计梯度。样本随机抽取,所以估出来的梯度总在真实值附近抖动,这就是梯度噪声。batch 越大,噪声越小;严格来说,估计误差的平方与 batch size 成反比。

但真实梯度本身也有大小。噪声相对信号有多大,就是噪声尺度关心的事。设真实梯度大小为 |G|,单样本梯度的方差为 tr(Σ),则

B_noise = tr(Σ) / |G|²

当 batch size 恰好等于 B_noise 时,梯度估计误差的大小已和真实梯度相当,信噪比约为 1。

打个比方:你在称一件行李。秤会抖,“真实重量”是信号,“抖动”是噪声。称一次不准,称十次取平均就稳;但行李有 20 公斤,当抖动降到几克,再称一万次也不会更接近真相,因为误差早就不由抖动决定了。噪声尺度就是“称多少次后,抖动降到和重量同一量级”的那个次数。

为什么它值钱

因为它是“还能把 batch 开多大”的经验上限。训练要走多少步,大致由 batch 与噪声尺度的比值决定:

  • batch 远小于噪声尺度:噪声主导,batch 翻倍后步数大致减半,多卡并行几乎白赚。
  • batch 远大于噪声尺度:信号主导,batch 翻倍后步数几乎不变,多出来的算力纯亏。
batch 远小于噪声尺度batch 远大于噪声尺度
梯度状态噪声主导信号主导
batch 翻倍步数约减半步数几乎不变
学习率可跟随放大放大风险高、收益小
该做的事加并行、加 batch加模型、加数据

和相邻概念的区别

噪声尺度是当前模型和数据分布共同决定的统计属性;临界批量大小(Critical Batch Size)是由它推出的可操作阈值,数量级相当。线性缩放规则(Linear Scaling Rule)——batch 翻 k 倍、学习率也翻 k 倍——只在 batch 还远小于噪声尺度时才成立。它也不同于“梯度裁剪”:后者限制单步更新幅度,跟信噪比没关系。另外,差分隐私里说的“往梯度里加噪声”是人为注入,和这里讨论的采样自带抖动不是一回事。

实际怎么用

  • 扩大并行前先做估算。用两个不同 batch 各跑几步,比较梯度的均值与方差,就能大致估出噪声尺度相当于多少样本。
  • 它会变。训练推进、梯度变小时,噪声尺度通常跟着上涨,所以一次测完不保证一直有效,阶段性重估更稳。
  • 大 batch 偶尔会掉点,往往就发生在越过噪声尺度之后:噪声带来的隐式正则消失了,需要用别的手段补回来。
  • 这个思路可以迁移:任何“靠多采样降低随机误差”的投入都有拐点,过了拐点再加资源,只是花钱买心安。

具体测量脚本和实现方式,以你所用框架的官方文档和原始论文为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。