在大型语言模型(LLMs)的发展过程中,如何在测试时使用更多的计算来改善输出结果是一个关键问题。这对于构建能够处理开放性自然语言的通用自我改进代理至关重要。在本文中,我们将探讨LLMs在测试时计算缩放的问题,并重点回答以下问题:如果LLM被允许使用固定但非平凡数量的测试时计算,它能改善对具有挑战性提示的性能吗?
人类在面对困难问题时,往往会花更多的时间思考以改善决策。这种能力是否可以被赋予当今的LLMs?具体来说,给定一个具有挑战性的输入查询,我们是否可以使语言模型在测试时最有效地利用额外的计算来提高其响应的准确性?
在理论上,通过在测试时应用额外的计算,LLM应该能够做得比训练时更好。此外,这种在测试时的能力还可能为代理和推理任务开辟新的途径。例如,如果预训练模型的大小可以被交换为在推理期间的额外计算,这将使LLM能够在使用较小设备模型而不是数据中心规模的LLM的情况下进行部署。
本文的主要发现是,通过优化测试时计算的缩放,LLM可以更有效地利用额外的计算来改善其性能。具体来说,他们发现两种主要的测试时计算缩放机制:(1) 在密集、基于过程的验证器奖励模型上进行搜索;(2) 根据测试时的提示,自适应地更新模型对响应的分布。
在这两种情况下,不同方法在测试时计算缩放的有效性都取决于提示的难度。这一观察结果促使他们提出了一种“计算最优”的缩放策略,该策略根据提示自适应地分配测试时计算,以最有效地改善性能。
通过应用这种计算最优策略,他们能够将测试时计算缩放的效率提高4倍以上,相比于最佳的N个基线。此外,在FLOPs匹配评估中,他们发现在较小的基础模型在某种程度上具有非平凡成功率的问题上,测试时计算可以被用来超越一个14倍更大的模型。
本文的研究结果表明,通过优化测试时计算的缩放,LLM可以更有效地利用额外的计算来改善其性能。然而,也存在一些局限性,例如在困难问题上提供的改进相对较小。
未来的工作可以集中在以下几个方向:
- 进一步改善测试时计算缩放:可以探索将各种方法(如验证器和修订)结合起来,以进一步改善测试时计算缩放。
- 快速评估问题难度:可以考虑更有效地估计问题难度的方法,例如通过预训练或微调模型来直接预测问题的难度。
- 在测试时和训练时计算之间进行交织:可以研究如何将测试时计算的输出蒸馏回基础LLM,以实现一个在开放性自然语言上操作的迭代自我改进循环。