Batchsize决定了模型的收敛速度和消耗计算资源的平衡。Batchsize过大,达到一定的损失消耗的数据量和计算量都会很大,而batchsize过小,则需要消耗过多的训练步数,且有可能损失函数下降有限。在2020年OpenAI的中,OpenAI研究了损失函数随token数变化的规律。在他们的实验中,他们将认为消耗更多的步数等价于消耗更多的时间,在这种假设下,OpenAI定义了临界Batchsize(Critical Batchsize),使得达到一定的损失,既不消耗过多step,也不消耗过多token。然而我们观察到在利用当前以A100为主的计算资源,结合gradient checkpointing策略进行训练时,通常计算速度(而不是显存)是瓶颈,这意味着在相同机器数量下,多一倍Batchsize几乎等同于慢一倍的单步时间。基于这个观察,我们取消了对“不消耗过多step”的追求,而转向追求用最少的token量达到最低的loss。