小模型凭借更长思考时间超越大模型的研究进展

如果给予小型模型更长的思考时间,它们的性能能够超越更大规模的模型。


(adsbygoogle=window.adsbygoogle||[]).push({});

最近,业界对小型模型的研究热情高涨,通过一些实用技巧使其在性能上超越更大规模的模型。

关注提升小模型性能的必要性愈加明显。对于大型语言模型来说,训练时计算的扩展主导了它们的发展。尽管这种模式有效,但越来越大的模型在预训练时所需的资源变得异常昂贵,数十亿美元的集群已悄然出现。

因此,这一趋势引发了对另一种互补方法的极大兴趣,即测试时计算扩展。测试时的方法不依赖于逐渐增长的预训练预算,而是利用动态推理策略,让模型在面对更复杂问题时能够“思考更长时间”。OpenAI 的 o1 模型便是一个耀眼的例子,随着测试时计算量的增加,它在解决困难数学问题上的表现不断提升。

虽然我们尚不清楚 o1 是如何训练的,但DeepMind 最近的研究表明,测试时计算的最佳扩展可以通过迭代自我改进或使用奖励模型在解决方案空间内进行搜索等策略实现。通过自适应地根据提示分配测试时计算,小型模型能够与更大、更消耗资源的模型相媲美,甚至在某些情况下超越它们。当内存有限且可用硬件无法运行较大模型时,这种扩展尤其具有优势。然而,这种前景可观的方法是通过闭源模型演示的,缺乏实施细节或代码的公开共享。

DeepMind 论文:https://arxiv.org/pdf/2408.03314

过去几个月,HuggingFace 一直致力于研究试图逆向工程并重现这些成果。他们在这篇博文中将介绍:

  • 计算最优扩展: 通过实现 DeepMind 的技术,提高开放模型在测试时的数学能力。
  • 多样性验证器树搜索 (DVTS): 这是为验证器引导的树搜索技术开发的扩展。这种简单高效的方法提高了多样性,并在测试时计算预算较大的情况下提供了更优性能。
  • 搜索与学习: 一个轻量级工具包,用于利用大语言模型实现搜索策略,并通过虚拟大语言模型提升速度。

那么,计算最优扩展在实际中效果如何呢?在下图中,如果给予它们足够的“思考时间”,规模较小的 1B 和 3B Llama Instruct 模型在具有挑战性的 MATH-500 基准上,表现超过了规模更大的 8B 和 70B 模型。

HuggingFace 的联合创始人兼首席执行官 Clem Delangue 表示,在 OpenAI o1 发布后仅 10 天,他们微笑着宣布了其背后突破性技术的开源版本——扩展测试时计算。通过给予模型更长的“思考时间”,1B 模型能够打败 8B 模型,3B 模型能够超越 70B 模型。当然,完整的技术配方是开源的。

许多网友对这些结果表示惊讶,纷纷称赞这是小型模型的胜利。

接下来,HuggingFace 深入分析产生上述结果的原因,帮助读者理解实现测试时计算扩展的实用策略。

扩展测试时计算策略

扩展测试时计算主要有以下两种策略:

  • 自我改进:模型通过在后续迭代中识别和纠正错误来改进自身的输出或“想法”。尽管此策略在某些任务中有效,但通常要求模型有内置的自我改进机制,这可能会限制其适用性。
  • 针对验证器进行搜索:此方法侧重于生成多个候选答案,并使用验证器选择最佳答案。验证器可以是硬编码的启发式方法,也可以是学习得到的奖励模型。本文将重点关注学习得到的验证器,涵盖 Best-of-N 采样和树搜索等技术。这种搜索策略更灵活,能够适应问题的难度,但它们的效果受到验证器质量的限制。

HuggingFace 专注于基于搜索的方法,它们是测试时计算优化的实用且可扩展的解决方案。以下是三种策略:

  • Best-of-N:通常使用奖励模型为每个问题生成多个响应,并为每个候选答案分配分数,然后选择得分最高的答案(或后续讨论的加权变体)。这种方法强调答案质量而非频率。
  • 集束搜索:一种系统的搜索方法,探索解决方案空间,通常结合过程奖励模型 (PRM) 使用,以优化问题解决中间步骤的生成和评估。与传统的奖励模型只为最终答案给出单一分数不同,PRM 提供一系列分数,每一步推理都有相应分数。这种细粒度的反馈能力使 PRM 成为 LLM 搜索方法的自然选择。
  • 多样性验证器树搜索 (DVTS):HuggingFace 开发的集束搜索扩展,它将初始集束分成独立的子树,并通过 PRM 贪婪地扩展这些子树。此方法提高了解决方案的多样性和整体性能,尤其是在测试时计算预算较大的情况下。

实验设置

实验设置包括以下步骤:

  • 首先给 LLM 一个数学问题,让其生成 N 个部分解,例如推导过程中的中间步骤。
  • 每个步骤都由 PRM 评分,PRM 估计每个步骤最终达到正确答案的概率。
  • 一旦搜索策略结束,最终的候选解决方案将由 PRM 排序以产生最终答案。

为了比较各种搜索策略,本文使用了以下开源模型和数据集:

  • 模型:使用 meta-llama/Llama-3.2-1B-Instruct 为主要模型,进行测试时计算的扩展;
  • 过程奖励模型 PRM:为指导搜索策略,本文使用了 RLHFlow/Llama3.1-8B-PRM-Deepseek-Data,这是一个经过过程监督训练的 80 亿奖励模型。过程监督是一种在推理过程中每一步给反馈的训练方法,而不仅仅是对最终结果;
  • 数据集:本文在 MATH-500 子集上进行了评估,这是 OpenAI 作为过程监督研究的一部分发布的 MATH 基准数据集。这些数学难题涵盖了七个学科,对人类和大多数大型语言模型而言都具有挑战性。

本文将从一个简单的基准线开始,然后逐步结合其他技术以提升性能。

多数投票

多数投票是聚合 LLM 输出的最直接方法。对于给定的数学问题,会生成 N 个候选解,然后选择出现频率最高的答案。在所有实验中,本文最多采样了 N=256 个候选解,以温度参数 T=0.8 的条件为每个问题生成最多 2048 个 token。

以下是多数投票应用于 Llama 3.2 1B Instruct 的表现:

结果表明,多数投票比贪婪解码基线有显著改进,但其收益在 N=64 生成后开始趋于平稳。这种限制的出现是因为多数投票难以解决需要细致推理的问题。

鉴于多数投票的局限性,让我们看看如何结合奖励模型来提升性能。

超越多数: Best-of-N

Best-of-N 是多数投票算法的简单而有效的扩展,它使用奖励模型来确定最合理的答案。这种方法有两种主要变体:

普通的 Best-of-N:生成 N 个独立响应,选择奖励模型得分最高的作为最终答案。这确保了选择的是置信度最高的响应,但并未考虑回答之间的一致性。

加权 Best-of-N:汇总所有相同响应的得分,并选择总奖励最高的答案。这种方法通过重复出现提高得分,优先考虑高质量的回答。从数学上讲,回答的权重 a_i:

其中,RM (p,s_i) 是对于问题 p 的第 i 个解决方案 s_i 的奖励模型分数。

通常,人们使用结果奖励模型 (ORM) 来获得单个解决方案级别的分数。但为了公正比较其他搜索策略,采用相同的 PRM 来评分 Best-of-N 的解决方案。如下图所示,PRM 为每个解决方案生成累积的步骤级分数序列,因此需要对这些步骤进行规约(reduction)以获得单个方案级分数:

最常用的规约策略如下:

  • Min:使用所有步骤中的最低分。
  • Prod:使用阶梯得分的乘积。
  • Last:使用步骤中的最后得分。该分数包含所有前述步骤的累积信息,因此将 PRM 有效地视为能够对部分解决方案进行评分的 ORM。

以下是应用 Best-of-N 的两种变体所获得的结果:

结果显示出明显的优势:加权 Best-of-N 始终优于普通 Best-of-N,尤其是在生成预算较大的情况下。它能够综合相同答案的得分,确保即便频率较低但质量较高的答案也得到有效的优先处理。

然而,虽然有这些改进,仍未能达到 Llama 8B 模型所实现的性能,并且在 N=256 时 Best-of-N 方法开始趋于稳定。

是否可以通过逐步监督搜索过程来进一步突破?

使用 PRM 的集束搜索

作为一种结构化的搜索方法,集束搜索能够系统地探索解决方案空间,成为在测试时优化模型输出的强大工具。与 PRM 结合使用时,集束搜索能优化问题解决中间步骤的生成和评估。集束搜索的工作原理如下:

  1. 保持固定数量的“集束”或活动路径 N,迭代生成多个候选解决方案。
  2. 在第一次迭代中,从温度为 T 的 LLM 中引导 N 个独立步骤,以引入响应的多样性。这些步骤通常由停止标准定义,例如在新行 n 或双新行 nn 时终止。
  3. 使用 PRM 对每个步骤进行评分,并选择前 N/M 个步骤作为下一轮生成的候选。这其中 M 表示给定活动路径的“集束宽度”。与 Best-of-N 一样,使用“最后”规约对每次迭代的部分解决方案进行评分。
  4. 通过采样解决方案中的 M 个后续步骤来扩展在步骤(3)中选择的步骤。
  5. 重复步骤(3)和(4),直到达到 EOS token 或超过最大搜索深度。

通过允许 PRM 评估中间步骤的准确性,集束搜索可以在过程早期识别并优先考虑有希望的路径。此逐步评估策略对于数学等复杂推理任务尤其有效,因为验证部分解决方案可以显著改善整体结果。

实现细节

在实验中,HuggingFace 遵循 DeepMind 的超参数设置,并按如下方式运行集束搜索:

  • 在扩展计算为 4、16、64、256 时保持 N 个集束
  • 固定集束宽度 M=4
  • 在温度 T=0.8 下进行采样
  • 最多进行 40 次迭代,即最大深度为 40 步的树

如下图所示,结果令人震惊:在 N=4 的测试时预算下,集束搜索实现了与 N=16 时 Best-of-N 同样的准确率,计算效率提高了 4 倍!此外,集束搜索的性能与 Llama 3.1 8B 相当,每个问题仅需 N=32 的解决方案。考虑到计算机科学博士生在数学方面的平均表现约为 40%,因此对于 1B 模型而言,接近 55% 的结果已属不易!

集束搜索最适合解决哪些问题

虽然总体上集束搜索被认为是一种比 Best-of-N 或多数投票更为有效的搜索策略,DeepMind 的论文表明,每种策略都有其权衡,这依赖于问题的难度和测试时的计算预算。

为了了解哪些问题最适合使用何种策略,DeepMind 计算了估计问题难度的分布,并将其结果分成五等分。换而言之,每个问题被标记为五个级别之一,其中级别 1 表示较容易的问题,级别 5 则为最困难的问题。为估计问题难度,DeepMind 为每个问题生成了 2048 个候选解决方案,并应用了标准采样,提出以下启发式方法:

  • Oracle:使用基本事实标签估计每个问题的 pass@1 分数,并对 pass@1 分数的分布进行分类以确定五分位数。
  • 模型:使用每个问题的平均 PRM 分数分布来确定五分位数。其直觉为:更难的问题分数通常较低。

下图为对各种方法在 pass@1 分数及四个测试时计算预算 N=[4,16,64,256] 下的细分:

可以看到,每个条形表示测试时的计算预算,并在每个条形内显示每种方法的相对准确度。例如在难度级别 2 的四个条形中:

多数投票在所有计算预算中表现最差,除了 N=256(在该情况下集束搜索表现较差)。

集束搜索最适合 N=[4,16,64],而 Best-of-N 则在 N=256 时表现最佳。

值得一提的是,集束搜索在中等难度和困难问题(3-5 级)中不断取得进展,但在较简单问题上,尤其是在计算预算较大的情况下,其表现往往不如 Best-of-N (甚至多数投票)。

通过观察集束搜索生成的结果树,HuggingFace 发现,如果单个步骤被分配了高奖励,则整个树在该轨迹上易于崩溃,从而影响多样性。这促使他们探索一种最大化多样性的集束搜索扩展。

DVTS:通过多样性提升性能

如上所述,集束搜索整体表现优于 Best-of-N,但在处理简单问题和测试时计算预算较大时通常不如人意。

为解决此问题,HuggingFace 开发了多样性验证器树搜索(DVTS)扩展,旨在最大化 N 较大时的多样性。

DVTS 的运作方式与集束搜索相似,但有以下修改:

  • 对于给定的 N 和 M,将初始集束扩展为 N/M 个独立子树。
  • 对于每个子树,选择具有最高 PRM 分数的步骤。
  • 从步骤 (2) 中选出的节点生成 M 个新步骤,并选择得分最高的步骤。
  • 重复步骤 (3),直至达到 EOS token 或最大树深度。

下图展示了将 DVTS 应用于 Llama 1B 的结果:

DVTS 为集束搜索提供了一种互补策略:在 N 较小时,集束搜索更有效地找到正确的解决方案;而在 N 较大时,DVTS 的候选多样性能够发挥作用,从而实现更好的性能。

此外,在问题难度细分中,DVTS 在 N 较大时能够提升简单和中等问题的性能,而集束搜索则在 N 较小时表现最佳。

计算 - 最优扩展

随着各类搜索策略的不断涌现,自然而然地会引发一个问题:哪一种是最佳选择?DeepMind 的论文中提出了一种计算 - 最优扩展策略,旨在选择搜索方法和超参数 θ,以在给定计算预算 N 的情况下达成最佳性能:

其中 是问题 q 的正确答案, 表示计算 - 最优扩展策略。由于直接计算 较为复杂,DeepMind 提出了一种基于问题难度的近似方法,即按照哪种搜索策略在给定难度级别上表现最佳来分配测试时计算资源。

例如,对于简单问题和较低的计算预算,使用 Best-of-N 等策略效果最好,而对较难的问题则集束搜索是更理想的选择。下图为计算 - 最优曲线展示!

扩展至更大的模型

本文还探讨了将计算 - 最优方法扩展至 Llama 3.2 3B Instruct 模型,以观察在与策略自身容量相比时 PRM 何时表现减弱。结果显示,计算 - 最优的扩展效果显著,3B 模型的性能超越了 Llama 3.1 70B Instruct(后者是前者大小的 22 倍!)。

未来的方向

对测试时计算扩展的探索揭示了利用基于搜索的方法的潜力与挑战。展望未来,本文提出了几个令人兴奋的研究方向:

  • 强验证器:强验证器在提高性能方面发挥关键作用,提升验证器的鲁棒性和通用性对推进这些方法至关重要;
  • 自我验证:目标是实现自我验证,即模型可以自主验证输出的正确性。这种方法显然与 o1 等模型所做的相似,但在实际应用中难以实现。自我验证需采取比标准监督微调更为细致的策略;
  • 将思维融入生成过程:在生成过程中融入明确的中间步骤或思维,可能进一步增强推理和决策能力。通过将结构化推理整合进搜索过程,能够在复杂任务中取得更好表现;
  • 搜索作为数据生成工具:此方法可作为强大的数据生成过程,创建高质量的训练数据集。例如,根据搜索生成的正确轨迹微调 Llama 1B 模型可能获得显著好处。这种基于策略的方法类似于 ReST 或 V-StaR 等技术,但结合了搜索的优势,为迭代改进提供了前景;
  • 增加 PRM 的种类:PRM 相对较少,限制了其更广泛的应用。为不同领域开发更多 PRM,并在社区中共享将是重要的贡献领域。

相关推荐

Meta发布Llama3.3:700亿参数的高效大型语言模型揭秘

Meta推出的Llama 3.3是一个具有700亿参数的大型语言模型,输入成本比前代降低10倍,指令遵循能力强于GPT-4o和Claude 3.5 Sonnet。该模型支持8种语言,性能卓越,友好部署,适合中小开发团队。新增安全机制确保性能与责任并重,累计下载超过6.5亿次,标志着开源AI的广泛应用。Llama 3.3已在Ollam模型库中上线,方便直接下载与部署。

暂无评论

发表评论