ELDE:一种科学实用的 Critical Batch Size 估计方法
这篇博客基于之前介绍的两大类 Critical Batch Size(CBS)估计方法,博采众长,提出了一种科学实用的 CBS 估计方法。
前情回顾
在之前的两篇博客 [1,2] 中,我们详细介绍了 OpenAI 经典的 CBS 估计方法 [3] 和后续的一系列改进 [4, 5, 6, 7, 8]。我们先回顾一下这些方法的大致思想,以及目前仍然存在的问题。
第一类是基于对齐目标 loss 的方法,OpenAI 经典的 CBS 估计方法 [3] 和目前的主流方法 [4,5] 都属于此类方法。为了估计 CBS,它们首先需要确定一个目标 loss,然后收集不同 batch size $B$ 下(其它超参经过调优)达到该目标 loss 所需的训练时间 $S$ 和训练数据 $E$,从而基于时间-数据权衡理论选择出一个平衡两者的 $B$ 作为 CBS。虽然这类方法理论支撑较为成熟,但是在 [2] 中我们已经提到,这类方法的一个问题是“目标 loss 选取不直观”:在面对一个新的训练场景时,我们可能并不清楚目标 loss 要达到多少才是最合理的;有时候更实际的需求是在给定训练规模(模型大小 $N$ 和数据量 $E$)的情况下,确定一个 CBS。
第二类是基于对齐训练规模的方法,近期一些工作 [6,7,8] 采取了这样的思想。它们往往是在给定训练规模(模型大小 $N$ 和数据量 $E$)的情况下,换不同的 $B$ 进行训练(其它超参经过调优)并收集 loss,然后找到一个 loss 出现拐点、达到某种容忍界的 $B$ 作为 CBS。相较于第一类方法,这类方法面向了更加实际的场景,但其问题在于拐点的选取相当主观、没有科学的理论支撑,比如 [6] 直接靠肉眼评估拐点,[7] 定义拐点为 $L(B_{crit}) - L(B_{opt}) = 0.01$。除此之外,随着数据分布或者训练规模的变化,loss 的性质也会发生变化,loss 拐点选取的标准如何随之改变也难以确定。
在这篇博客中,我们基于前人的工作,博取两类方法之所长,提出一种既面向实际需求又有理论支撑的 CBS 估计方法。
ELDE: Equal-Loss Data Efficiency/等损失数据效率法
在这一节,我们详细说明我们的 CBS 估计方法 ELDE,其与已有方法的联系放到下一节进行说明。
首先,我们明确我们想解决的问题:在给定训练规模(模型大小 $N$ 和数据量 $E$)和 lr schedule(如 10% warmup + 90% cosine decay)的情况下,估计训练的 CBS。注意到,和 [5] 一样,我们假设实际中已经选好了一个 lr schedule,从而规避了对不同 $B$ 调优 lr schedule 的难题,相关的合理性讨论可以见 [2]。
我们再对 notation 进行一些说明。假设 $B$ 为当前尝试的 bs,$B_{opt}$ 为最优 bs 或者远离 CBS、处于 linear scaling regime 的基准 bs [2,4]。$L_{N,B}(E)$ 为给定模型大小 $N$ 和 bs $B$ 下,经过超参调优,训练 $E$ 数据量后达到的 loss。
我们的方法是从“基于对齐训练规模的方法”出发的,但是规避了其中“基于 loss difference $L_{N,B}(E) - L_{N,B_{opt}}(E)$ 选取拐点”的不科学之处。我们方法的基本思想是将 loss difference 转化为 equal-loss data efficiency (ELDE) 的 gap,从而与 “基于对齐目标 loss 的方法” 的理论体系建立联系。大体来看,在实际操作中,我们首先估计 $B_{opt}$ 达到当前 $B$ 的性能 $L_{N,B}(E)$ 所需的等效数据量 $E^{eq}$。然后,我们计算 $\rho = E^{eq}/E$ 。可以看出, $\rho$ 越小,意味着当前 $B$ 训练的数据效率越低。因此,我们便把数据效率 $\rho$ 小到某个临界值的 $B$ 记为 CBS。
我们接下来详细介绍所提的 ELDE 方法。首先,为了能够估计 $B_{opt}$ 达到当前 $B$ 的性能 $L_{N,B}(E)$ 所需的等效数据量 $E^{eq}$,我们需要先对 $B_{opt}$ 拟合一个 loss-data 关系。注意,由于 lr schedule 的存在,这里不能简单地用 $B_{opt}$ 训练数据量 $E$ ,然后看 $L_{N,B}(E)$ 位于这条曲线的什么位置。受到 [5] 启发,我们可以固定 $B_{opt}$ 训练不同的数据量,然后拟合:
\[\widehat{L}_{N,B_{opt}}(E) = L_N + C_{N,B_{opt}} E^{-\beta_{N,B_{opt}}}.\]基于这个关系,我们就可以得到 $B$ 对应的等效数据量和数据效率:
\[E^{eq}_{N,E}(B) = \left(\frac{C_{N,B_{opt}}}{L_{N,B}(E) - L_N}\right)^{\frac{1}{\beta_{N,B_{opt}}}}, \quad \rho_{N,E}(B) = \frac{E^{eq}_{N,E}(B)}{E}.\]最后,我们定义模型大小 $N$ 和数据量 $E$ 对应的 CBS 为
\[B_{crit}(N,E) = \sup\{B: \rho_{N,E}(B) \ge \rho_* \},\]其中 $\rho_*$ 为人为设置的数据效率容忍量,如 0.9;$B_{crit}$ 可以通过 sweep $B$ 来进行判断。总的来说,为了估计给定训练规模和 lr schedule 情况下的 CBS,我们所提的 ELDE 算法可以概括为:
- 选择一个最优 bs 或者远离 CBS、处于 linear scaling regime [2,4] 的基准 bs $B_{opt}$;
- 固定 $B_{opt}$,换不同的数据量,调参,训练,收集最终 loss 并拟合 \(\widehat{L}_{N,B_{opt}}(E) = L_N + C_{N,B_{opt}} E^{-\beta_{N,B_{opt}}}\);
- 逐渐增大 $B$,训练 $E$ 数据量,收集最终 loss $L_{N,B}(E)$ 并计算对应的数据效率 $\rho_{N,E}(B)$;
- 对比 $\rho_{N,E}(B)$ 与 $\rho_*$,获得 CBS 估计量 $B_{crit}(N,E)$。
与已有方法的联系和区别
这一节,我们来谈一谈 ELDE 与已有方法的联系和区别。
基于对齐目标 loss 的方法
首先是“基于对齐目标 loss 的方法” [3,4,5]。这些方法本质上都是使用 OpenAI 的经典时间-数据权衡理论 [1,3],所以我们先阐明 ELDE 与 OpenAI 经典理论的关系,再谈谈与各种具体方法的区别。
我们现在证明,ELDE 选取的 CBS 也对应着 OpenAI 经典的时间-数据权衡理论,因此所得到的估计量享有同样的理论支撑。回顾博客 [1] 中的理论推导可以知道,为了达到目标 loss,$B$ 对应的训练步数 $S(B)$ 和数据耗费 $E(B)$ 满足如下关系:
\[\begin{aligned} & {S(B)} = {S_{min}} + \frac{E_{min}}{B}, \\ & {E(B)} = E_{min} + B {S_{min}}, \\ & \frac{E(B)}{E_{min}} - 1 = \left(\frac{S(B)}{S_{min}} - 1\right)^{-1}. \end{aligned}\]那么为了达到目标 loss $L_{N,B}(E)$,基于上式我们有:
\[\begin{aligned} & E = E_{min} + B {S_{min}}, \\ & E^{eq} = E_{min} + B_{opt} S_{min}. \end{aligned}\]我们基于该方程组可以解出:
\[E_{min} = \frac{BE^{eq} - B_{opt}E}{B - B_{opt}}, \quad S_{min} = \frac{E - E^{eq}}{B- B_{opt}}.\]因此,OpenAI 中的 CBS 估计可以写为:
\[B_{crit-oai} = \frac{E_{min}}{S_{min}} = \frac{BE^{eq} - B_{opt}E}{E - E^{eq}} = \frac{BE^{eq}/E - B_{opt}}{1 - E^{eq}/E}.\]当 $B$ 为 ELDE 估计的 CBS 时,我们有
\[B_{crit-oai} = \frac{B_{crit-ELDE}\rho_* - B_{opt}}{1 - \rho_*} \approx \frac{\rho_*}{1 - \rho_*} B_{crit-ELDE}.\]因此,两种估计方法的结果之间近似只差一个倍数,这本质上反映的是两种方法在训练时间-训练数据上的权衡不同。事实上,对于训练时间,我们有
\[S(B_{crit-ELDE}) \approx \frac{1}{1 - \rho} S_{min}, \quad S(B_{crit-oai}) = 2S_{min}.\]对于训练数据,我们有
\[E(B_{crit}) \approx \frac{1}{\rho} E_{min}, \quad S(B_{crit-oai}) = 2 E_{min}.\]上式表明,$\rho_\ast$ 越大,时间-数据权衡的选择上更重视数据耗费,而不是训练时间。特别地,当 $\rho_\ast = 1/2$ 时,$B_{crit-ELDE} \approx B_{crit-oai}$,能够得到与原论文类似的结果。
到目前为止,我们已经证明了 ELDE 与 OpenAI 经典理论的紧密联系,从而享有较好的理论支撑。在实践上,ELDE 的一大好处是不用预先设定目标 loss。除此之外,ELDE 相较于具体方法 [4,5] 还有如下好处:
- 与 [4] 对比:可以直接在我们感兴趣的 lr schedule 上做实验,而不是用 constant lr + EWA。
- 与 [5] 对比:只需要对 $B_{opt}$ 拟合 loss-data 曲线,而 [5] 需要对所有的 $B$ 都拟合该曲线。
基于对齐训练规模的方法
ELDE 本身也属于此类方法。但相较于已有的方法 [6,7,8],ELDE 拥有好的理论支撑,克服了“基于 loss difference 选取拐点”的不科学之处,能够更方便地泛化至不同的训练场景。
总结
这篇博客基于之前的两大类 CBS 估计方法,博采众长,提出了一种更加科学实用的 CBS 估计方法。
参考文献
- 经典回顾:OpenAI Critical Batch Size, https://chen-yu-zheng.github.io/blog/2026/CBS/
- 论文阅读:一些实用的 Critical Batch Size 估计方法, https://chen-yu-zheng.github.io/blog/2026/CBS02/
- An Empirical Model of Large-Batch Training, OpenAI, 2018
- How Does Critical Batch Size Scale in Pre-training?, ICLR, 2025
- Power Lines: Scaling Laws for Weight Decay and Batch Size in LLM Pre-training, NeurIPS, 2025
- The Design Space of Tri-Modal Masked Diffusion Models, 2026
- Critical Batch Size Revisited: A Simple Empirical Approach to Large-Batch Language Model Training, NeurIPS, 2025
- DeepSeek LLM Scaling Open-Source Language Models with Longtermism, 2024
引用
如果您需要引用本文,请参考:
@online{zheng2026ELDE,
title = {ELDE:一种科学实用的 Critical Batch Size 估计方法},
author = {Chenyu Zheng},
year = {2026},
url = {https://chen-yu-zheng.github.io/blog/2026/CBS03/}
}
Enjoy Reading This Article?
Here are some more articles you might like to read next: