扩大用于训练语言模型的计算量已显著提升其能力。然而,一个相对尚未充分探索的方向是:扩大推理阶段(inference time)所使用的计算量。本论文研究了测试时计算(test-time compute)算法的设计空间,重点关注一种简单的方法——重复采样(repeated sampling)。 本论文的一个重要发现是:覆盖率(coverage)——即任意一次采样能解决问题的百分比——在跨越四个数量级的采样规模下,通常随采样数呈对数线性(log-linear)增长。在能够使用自动验证工具的领域中,这一性质使得 Llama-8B 在所有研究任务上均能超过 GPT-4o 的单次尝试性能。 这些覆盖率的提升通常可以用指数化幂律(exponentiated power law)建模,这使得我们可以在使用少一个数量级的采样次数的情况下,对多达 10k 采样(本研究中的最大采样规模)的覆盖率进行预测,在所有模型和数据集上的平均误差仅为 3.84%。 在具备自动验证工具的领域中,覆盖率的提升可以直接转化为能力的提升。而在缺乏验证工具的其他领域,则需要设计方法从大量采样中选出正确样本。本论文在软件工程这一关键应用场景中研究了该选择问题。通过结合基于单元测试的投票机制与基于模型的选择方法,可以恢复介于“单次尝试下界”和“覆盖率上界”之间约 一半的精度差距。 最后,本论文探讨了测试时计算扩展的系统层面影响,并提出了一种精确实现注意力机制(attention)的系统方法,在这些场景下可将推理吞吐量加速 10 倍以上。