专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
曲线猎手  ·  2月14日:大V盘前策略合集【杭拆路披萨店、 ... ·  6 小时前  
唐史主任司马迁  ·  盘中富贵了一把,等看A股收盘后港股怎么走。 ... ·  15 小时前  
投研圣剑午盘  ·  调仓换股! ·  18 小时前  
投研圣剑午盘  ·  调仓换股! ·  18 小时前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

LLM 的测试-时间计算规模化比模型参数规模化更有效

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2024-10-16 05:20

正文

24年8月来自UC Berkeley和谷歌DeepMind 的论文“Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters”。

用更多的测试-时间计算, LLM 能够改进其输出,对于构建对开放式自然语言进行操作的自我改进智体,这是关键一步。本文研究 LLM 中推理-时间计算的规模化,重点回答以下问题:如果允许 LLM 使用固定但不凡的推理-时间计算量,那么它可以在多大程度上提高其在具有挑战性提示上的性能?回答这个问题不仅对 LLM 的可实现性能有影响,而且对 LLM 预训练的未来以及如何权衡推理时间和预训练计算也有影响。尽管它很重要,但很少有研究试图了解各种测试-时间推理方法的规模化行为。此外,当前的工作在很大程度上为这些策略提供了负面结果。这项工作分析了测试-时间计算规模化的两种主要机制:(1) 针对密集的、 基于过程的验证器奖励模型(PRM) 进行搜索;(2) 在测试时给出提示,自适应地更新模型在响应中的分布。在这两种情况下,不同测试-时间计算规模化方法的有效性取决于提示的难度。这一观察结果,促使应用“计算优化”规模化策略,该策略可以最有效地根据提示自适应地分配测试-时间计算。使用这种计算优化策略,与 N 中最佳的基线相比,可以将测试-时间计算规模化的效率提高 4 倍以上。此外,在 FLOPs 匹配的评估中,在较小的基础模型获得不凡成功率的问题上,测试-时间计算可超越比其 14 倍大的模型。


人类倾向于在困难的问题上思考更长时间,以可靠地改善他们的决策 [9, 17, 18]。能否将类似的能力灌输到当今的大语言模型 (LLM) 中?更具体地说,给定一个具有挑战性的输入查询,能否让语言模型在测试时最有效地利用额外的计算,以提高其响应的准确性?理论上,通过在测试-时间应用额外的计算,LLM 应该能够做得比它训练时做得更好。此外,这种测试时的能力还有可能在智体和推理任务中开辟新的途径 [28, 34, 47]。例如,如果可以在推理过程中用预训练模型的大小换取额外的计算,这将使 LLM 能够部署在可使用较小的设备模型代替数据中心规模 LLM 的用例中。通过使用额外的推理时间计算自动生成改进的模型输出也为通用的自我改进算法提供了一条途径,该算法可以在减少人工监督的情况下运行。

先前研究推理-时间计算的工作提供了混合结果。一方面,一些研究表明当前的 LLM 可以使用测试-时间计算来改进其输出 [4、8、23、30、48],另一方面,其他研究表明。这些方法在数学推理等更复杂任务上的有效性仍然非常有限 [15、37、43],即使推理问题通常需要对现有知识而不是新知识进行推断。这些相互矛盾的发现促使需要对测试-时间计算规模化的不同方法进行系统分析。

测试-时间计算规模化的好处是什么?可以说,测试-时间计算规模化的最简单和研究最充分的方法是,N中最佳的采样:从基础 LLM 中“并行”采样 N 个输出,并选择根据学习验证器或奖励模型得分最高的输出 [7、22]。但是,这种方法并不是使用测试-时间计算改进 LLM 的唯一方法。通过修改获取响应的提议分布(例如,通过要求基础模型“顺序地”修改其原始响应[28])或通过改变验证器的使用方式(例如,通过训练基于过程的密集验证器[22,45]并针对该验证器进行搜索),可以大大提高规模化测试-时间计算的能力。


首先统一使用测试-时间计算的方法,然后分析一些代表性方法。第一,通过在给定提示的条件下自适应地修改模型的预测分布来查看额外测试-时间计算的使用。理想情况下,测试-时间计算应该修改分布,以便生成比从 LLM 本身简单采样更好的输出。通常,有两个旋钮可以修改 LLM 的分布:(1)在输入级别:通过用一组额外的tokens增强给定的提示,LLM 以此为条件来获得修改后的分布,或(2)在输出级别:通过从标准 LM 中采样多个候选并对这些候选进行外科手术。换句话说,可以修改 LLM 本身诱导的提议分布,使其比单纯地以提示为条件有所改进,或者可以使用一些事后验证器或评分器来执行输出修改。这一过程让人想起了马尔可夫链蒙特卡罗 (MCMC) [2] 从复杂的目标分布中抽样,但结合了简单的提议分布和评分函数。通过改变输入tokens直接修改提议分布和使用验证器构成了研究的两个独立轴。

给定各种方法的统一,去了解如何最有效地利用测试-时间计算来提高给定提示的 LM 性能。具体来说,希望回答:

给定一个提示和一个可以解决问题的测试-时间计算预算。在上述抽象下,有多种方法来利用测试-时间计算。根据给定的具体问题,每种方法的效果可能或多或少。如何确定针对给定提示利用测试-时间计算的最有效方法?与简单地利用更大的预训练模型相比,这种方法的效果如何?

在改进提议分布或针对验证器进行搜索时,可以调整几个不同的超参来确定如何分配测试-时间计算预算。例如,当使用针对修正进行微调的模型作为提议分布并使用 输出监督的奖励模型(ORM) 作为验证器时,可以将整个测试-时间计算预算用于从模型中并行生成 N 个独立样本,然后应用 N 中最佳样本,或者可以使用修正模型按顺序对 N 个修正进行采样,然后使用 ORM 按顺序选择最佳答案,或者在这两个极端之间取得平衡。直观地讲,可能希望“更简单”的问题从修正中受益更多,因为模型的初始样本更有可能走在正确的轨道上,但可能只是需要进一步改进。另一方面,具有挑战性的问题可能需要更多地探索不同的高级问题解决策略,因此在这种情况下,并行独立采样多次可能更可取。

对于验证器,还可以选择不同的搜索算法,例如波束搜索(beam search)、前瞻搜索(lookahead search)、N 中最佳(best-of-N),每种算法都可能根据验证器的质量和手头的提议分布表现出不同的属性。与简单得多的 N 中最佳或多数基线相比,更复杂的搜索程序可能在更困难的问题中更有用。

因此,一般来说,希望针对给定问题选择测试-时间计算预算的最佳分配。为此,对于任何利用测试-时间计算的方法(例如,本文针对验证器的修正和搜索),将“测试-时间计算最佳规模化策略”定义为选择与给定测试-时间策略相对应的超参以在测试时对给定提示获得最大性能优势的策略。正式地,将 Target(𝜃, 𝑁, 𝑞) 定义为模型针对给定提示 𝑞 诱导的自然语言输出tokens分布,使用测试-时间计算超参 𝜃 和计算预算 𝑁。选择能够最大化给定问题目标分布准确度的超参 𝜃。

为了有效地分析不同机制(例如提议分布和验证器)的测试-时间规模化特性,将根据给定提示的统计数据对该最佳策略 𝜃∗/𝑞,𝑦∗ (𝑞)(𝑁) 进行近似。该统计数据,估计了给定提示的难度。计算-最优策略,定义为该提示难度的函数。尽管它只是问题的近似解,但与以ad-hoc或均匀采样的方式分配此推理-时间计算的基线策略相比,它仍然可以显着提高性能。

对问题难度的估计,将给定问题分配到五个难度级别之一。然后,可以使用这种离散难度分类来估计给定测试-时间计算的预算。然后在测试集上应用这些计算优化策略。具体来说,为每个难度区间独立选择表现最佳的测试-时间计算策略。这样,在设计计算优化策略时,问题难度可以作为问题的充分统计数据。


通过搜索方法在测试-时间优化 PRM 。分析三种搜索方法,这些方法从少量提示的基础 LLM 中抽取输出。如图显示一个例子:左图是Best-of-N 抽样 N 个完整答案,然后根据 PRM 最终得分选择最佳答案。中图是集束搜索在每个步骤抽样 N 个候选答案,并根据 PRM 选择前 M 个以继续搜索。右图是前瞻搜索,扩展了集束搜索中的每个步骤,这样利用 k 步前瞻,同时评估保留哪些步骤并从中继续搜索。因此前瞻搜索需要更多计算。


任何给定验证器搜索方法的有效性都主要取决于计算预算和手头的问题。 具体而言,集束搜索在较难的问题和较低的计算预算下更有效,而 best-of-N 在较容易的问题和较高的预算下更有效。 此外,通过针对给定的问题难度和测试-时间计算预算选择最佳搜索设置,可以几乎超越 best-of-N,而测试时间计算量最多减少 4 倍。







请到「今天看啥」查看全文