什么是测试时计算以及如何扩展它?
我们深入探讨测试时计算,并讨论五种以上针对深度逐步模型推理的有效开源扩展方法。
长期以来,许多人工智能和机器学习研究人员及用户更喜欢即时生成输出的模型。但 OpenAI o1 模型引入的“慢思考”最近的转变颠覆了一切。自这一突破以来,模型在不“着急”并有时间“思考”多个步骤(这一过程被称为思维链推理)时,其推理能力之卓越变得显而易见。这些方面与一个引人入胜的话题紧密相关:测试时计算。今天,我们将更广泛地审视测试时计算,讨论五种扩展它的方法,以及它如何增强人工智能模型的推理能力。这真是一篇宝藏文章!
📨 点击关注!如果你想直接在收件箱中接收我们的文章,请在此订阅
在本期节目中,我们将讨论
- OpenAI o1 模型的核心思想
- 测试时计算 (TTC) 到底是什么?
- DeepSeek-R1 扩展测试时计算的方法
- 测试时计算扩展与多模态相遇
- Search-o1:增强检索和代理能力
- 另外 3 项研究的简要概述
- 并非没有局限性
- 结论:测试时计算的未来会怎样?
- 深入学习的资源
OpenAI o1 模型的核心思想
当许多开发者都在追求输入处理的高速度,从而实现即时输出时,OpenAI 决定押注于其 o1 模型更深层的“思考”,这导致了测试时计算的增加。测试时计算的概念与现在所知的“系统 2 思维”相符,它涉及缓慢、深思熟虑和逻辑推理,与“系统 1 思维”的快速和直觉性相反。
测试时计算 (TTC) 到底是什么?
TTC 指的是 AI 模型在训练完成后生成响应或执行任务时所使用的计算能力。简单来说,它是模型实际使用时(而不是训练时)所需的处理能力和时间。
测试时计算 (TTC) 的关键方面
推理过程:当您向模型输入问题或提示时,它会处理输入并生成响应。此过程的计算成本称为测试时计算。测试时扩展:一些先进的 AI 模型,如 OpenAI 的 o1 系列,在推理过程中动态地增加其推理时间。这意味着它们可以花更多时间思考复杂问题,以更高的计算使用量为代价提高准确性。
通过在推理过程中分配更多的计算资源,o1 模型可以进行更深入的推理,从而获得更准确和深思熟虑的响应。o1 在得出最终答案之前,会采用分步思考,换句话说,就是思维链方法。因此,o1 模型在需要复杂问题解决的任务中表现出色。
由于 o1 强大但同时又是一个封闭模型,这促使其他开发者创建了基于 o1 原理的新模型,试图在 TTC 上进行扩展,或者揭示 o1 的秘密并将这些技术带给社区。让我们深入探讨五项研究,它们探索、使用并扩展了 o1 的核心思想,使其对开发者可访问。→
DeepSeek-R1 扩展测试时计算的方法
几乎所有人都对 DeepSeek-R1 模型惊人的性能表现和强化学习 (RL) 的强大能力议论纷纷,但 RL 的核心思想却有些被忽视。表面上看,R1 似乎旨在与 OpenAI 的 o1 模型和其他顶级模型竞争。然而,正如 DeepSeek 在其 DeepSeek-R1 论文中所述,主要目标是通过利用深度、循序渐进思考的原则来实现强大的推理能力。开发出色产品的动力以及在推理过程中改进推理的挑战,促使 DeepSeek 探索其自己的测试时计算扩展方法。
RL 和有监督微调 (SFT) 如何促进高级推理?
DeepSeek 探索了三个关键领域
- DeepSeek-R1-Zero:一个只用 RL 训练的模型,不使用任何预标记数据。
- DeepSeek-R1:一个在应用 RL 之前,先在一小部分分步推理示例上进行微调的模型。
- 蒸馏:将 DeepSeek-R1 的推理技能转移到更小的 AI 模型中,使其更高效。
让我们逐一探讨这些领域
- DeepSeek-R1-Zero
DeepSeek-R1-Zero 通过纯 RL 使用群体相对策略优化(GRPO)学习推理,GRPO 是近端策略优化(PPO)的一种改编。GRPO 通过消除对单独价值函数模型的需要,并使用平均奖励作为基准在群体内比较动作来评估动作,从而降低了训练成本并提高了性能。
该模型因其准确性(例如逐步解决数学问题)和以结构化格式呈现其推理而获得奖励。
结果如下:
- 在 AIME 测试等推理基准上取得了显著改进,准确率从 15.6% 提升到 71%,通过多数投票可达 86.7%,达到 OpenAI-o1 模型的性能水平。
- 通过结合多个答案,它达到了 86.7%,超越了 OpenAI 的 o1-0912 模型。
- “顿悟时刻”:随着测试时计算的增加,模型表现出复杂的行为,例如反思(它会重新审视并重新评估其之前的步骤)和探索替代的问题解决方法。这种令人着迷的“顿悟时刻”表明,模型可以自行发现,重新思考其方法会带来更好的答案。
- 自我进化:随着时间的推移,当模型花费更多时间思考复杂问题并在推理过程中分配更多计算资源时,这些行为会自然而然地出现。这在没有明确编程的情况下提高了模型的推理能力。
然而,DeepSeek-R1-Zero 有时会混杂语言或产生无序的答案,这使得理解起来很困难。通过 DeepSeek-R1 的多步训练过程解决了这个问题。
- DeepSeek-R1 和 RL 的冷启动微调
- DeepSeek-R1 在应用以推理为中心的强化学习之前,首先使用一小部分结构良好的推理示例(冷启动数据)进行训练。
- 接着,它通过额外的强化学习技术进行精炼,使其在写作、事实问答和自我意识等各种场景中更具帮助性并符合人类偏好。
经过这些步骤,DeepSeek-R1 变得更具可读性和用户友好性,并在推理性能上与先进的 OpenAI 模型(如 o1-1217)不相上下。
- 测试时计算概念的蒸馏
DeepSeek 研究人员将 DeepSeek-R1 的推理能力转移到较小的模型中,以使强大的推理模型更易于访问。
他们使用 DeepSeek-R1 的 80 万高质量训练示例微调了 Qwen 和 Llama 等开源模型。令人惊讶的是,与 DeepSeek-R1 不同,这些蒸馏模型甚至比直接将 RL 应用于较小模型表现得更好。
- 蒸馏后的 7B 模型(DeepSeek-R1-Distill-Qwen-7B)在推理基准上优于 QwQ-32B 等更大模型。
- 蒸馏后的 32B 和 70B 模型在开源 AI 推理任务中创造了新纪录。
得益于 DeepSeek 的突破,我们现在拥有大型和小型开源模型,它们引入了各自有效的分步思考方法,其性能与 OpenAI 的模型不相上下甚至更好。
测试时计算扩展与多模态相遇
在多模态兴起的时代,研究人员也在尝试将慢速、分步思考的方法应用于 MLLM,以提高其推理能力。在这里,我们将讨论三种非常不同但非常有趣的方法来增加不同模态的测试时计算,包括:1) 仅使用长文本推理示例微调模型;2) 集体蒙特卡罗树搜索;3) 新的测试时验证模型。
如果我们在训练 MLLM 时使用长文本示例会怎样?
由于多模态模型建立在语言模型之上,高瓴人工智能学院、百川智能和北京智源人工智能研究院的研究人员提出,多模态模型的慢思考能力主要来自于其语言处理组件。这意味着该技能可以跨不同类型的数据(文本、图像等)进行迁移。
确实,他们关于复现类o1多模态大语言模型(MLLM)的研究表明,仅使用5000个长文本推理示例进行模型微调,就取得了显著成果,通常与封闭模型相匹配甚至超越。
图片来源:原始论文《Virgo: A Preliminary Exploration on Reproducing o1-like MLLM》
研究人员还尝试使用多模态(图像+文本)推理数据训练 MLLM,但这并未显著优于基于文本的训练。为什么呢?这可能是因为许多视觉问题更多地依赖于识别物体或阅读图表,而不是深层推理。
他们的实验过程产生了一个名为 Virgo(Visual Reasoning with Long Thought)的新系统,该系统增强了多模态模型中的慢思考能力:
- 它在 MathVision 上得分 38.4%,在 OlympiadBench 上得分 29.3%。
- 该模型在需要分步推理的难题上表现最佳。例如,Virgo 在难题上的准确率达到 54.7%,优于 QVQ 的 48.6%。
图片来源:原始论文《Virgo: A Preliminary Exploration on Reproducing o1-like MLLM》
然而,Virgo 遇到了一些问题:
- 在简单和中等问题上,它的表现不佳,这可能是因为在简单问题上强制进行长时间推理会使其更难解决。
- 此外,在 MMMU 上,该模型没有太大改进。这可能是因为 MMMU 的问题比较简单,不需要深入推理。
- 有趣的是,较小的 Virgo-7B 模型在多模态训练后表现更好。研究人员认为,这是因为视觉数据更好地帮助了那些难以进行复杂推理的小型模型。
接下来的方法引入了一种升级版的蒙特卡罗树搜索方法,用于增加 MLLM 的测试时计算。
集体蒙特卡罗树搜索的集体学习
另一个关于如何教 MLLM 逐步思考的有趣想法来自南洋理工大学、清华大学和中山大学与百度公司合作。由于 MLLM 无法自然地生成结构化推理步骤,它们的搜索会陷入低质量的推理循环中。为了解决这个问题,研究人员提出使用一种新的集体蒙特卡罗树搜索(CoMCTS)方法。它利用集体学习,结合多个模型的优势,而不是仅仅依赖于一个模型。
CoMCTS 的工作原理如下:
- 扩展:AI 生成多个可能的下一步,而不仅仅是一个。
- 模拟与错误检查:它测试不同的推理路径并识别不正确的步骤。
- 反向传播:模型从错误中学习并调整其推理。
- 选择:它选择最佳推理路径以继续提高准确性。
CoMCTS 有哪些优势?
- 通过结合使用多个 AI 模型,CoMCTS 避免了陷入糟糕的推理循环,并显著加快了寻找正确答案的速度。
- 反思性推理:MLLM 不仅仅是找到正确答案,它还从正确和不正确的步骤中学习,通过比较它们,理解并纠正自己的错误,从而实现更准确、更具自我意识的推理。
图片来源:《Mulberry: Empowering MLLM with o1-like Reasoning and Reflection via Collective Monte Carlo Tree Search》论文
研究人员使用 CoMCTS 创建了 Mulberry-260K,这是一个包含 260,000 个多模态问题及其分步解决方案、常见错误及纠正(反思性推理路径)的数据集。他们在这个数据集上训练的 Mulberry MLLM 在多模态推理方面表现出显著改进。
- Mulberry-7B 的性能比 Qwen2-VL-7B 提高了 4.2%。
- Mulberry-11B 比 LLaMA-3.2-11B-Vision-Instruct 提高了 7.5%。
- 它比大多数开源人工智能模型表现更好,并与顶级的闭源人工智能模型竞争。
- 它在 MathVista(数学推理基准)上准确率提高了 5.7%,在 MMMU 上提高了 3.0%。
图片来源:《Mulberry: Empowering MLLM with o1-like Reasoning and Reflection via Collective Monte Carlo Tree Search》论文
总的来说,这项进展证明了多模态推理可以深入地、循序渐进地进行,并且 MLLM 可以反思它们的错误。
使用 CoT 生成图像
香港中文大学、MiuLar 实验室、MMLab、北京大学和上海人工智能实验室的一组研究人员探索了另一种通过分步推理增强图像生成的方法。他们提出了两个新的奖励模型用于测试时验证,称为 PARM 和 PARM++,以提高图像质量。
- 潜在评估奖励模型 (PARM) 通过其主要特点评估中间步骤并防止低质量输出
清晰度判断:确定图像是否足够清晰以进行评估。
潜力评估:预测图像是否能产生高质量的最终结果。
N中选优:根据之前的判断选择最佳生成路径。
它超越了传统的仅评估最终图像并选择最佳的输出奖励模型(ORM),以及评估中间生成步骤的过程奖励模型(PRM)达 6%,使其成为最佳的测试时验证模型。
图片来源:《Can We Generate Images with CoT? Let’s Verify and Reinforce Image Generation Step by Step》论文
- 潜在评估奖励模型++ (PARM++) 更进一步,通过反射机制增强了 PARM,实现了图像的自修正。其工作原理如下:
- 它评估最终生成的图像是否与文本提示一致。
- 如果检测到不一致,它会提供详细的反馈。
- 图像会迭代细化,直到满足要求。
PARM++ 将图像生成性能提升了高达 24%,超过 Stable Diffusion 3 达 15%。它提出了一种有效的范式,即人工智能生成的图像可以像人类艺术家完善其作品一样持续改进。此外,这些技术将应用于视频生成。
目前关于多模态测试时计算范式的介绍就到这里。接下来,我们将深入探讨如何进一步增强现有推理模型的测试时计算,当然,还有它的 RAG!
Search-o1:增强检索和代理能力
中国人民大学和清华大学的 Search-o1 框架将大型推理模型 (LRM)(如 OpenAI 的 o1,意味着它可能包含我们之前提到的所有模型)与代理搜索工作流程集成。Search-o1 通过允许这些模型在需要时搜索外部知识并过滤掉不必要的信息,从而帮助它们更好地进行推理。
以下是 Search-o1 的工作原理及其对测试时计算的影响
图片来源:《Search-o1: Agentic Search-Enhanced Large Reasoning Models》论文
- 与直接生成答案的传统模型不同,Search-o1 在检测到知识缺失时会暂停推理。
- 然后,它会构建搜索查询,获取文档,并在继续之前整合检索到的信息。每次查询检索多个文档会增加推理过程中执行的操作数量。
- 如果模型在单个推理任务中需要多个搜索步骤,则总计算成本将显著增加。
为了避免模型信息过载,并只从原始文档中检索相关和多余的信息,Search-o1 实现了文档内推理模块。它在将检索到的数据添加到推理链之前,对其进行分析、总结和过滤。但是,这里有一个问题。这个额外的步骤会增加计算开销,因为它涉及额外的模型推理来提取和浓缩有用信息。
尽管 Search-o1 增加了测试时计算的步骤,但它也提供了一种优化方法,以减少大规模推理中的开销。它将多个推理任务分组为批次。这种批处理推理机制可以实现:
- 针对多个推理任务并行生成令牌。
- 同时检索多个查询的知识。
- 一次性优化多个文档。
这降低了处理多个测试用例时冗余的计算成本。
实施 Search-o1 方法显著增强了各种基准的推理能力。看看性能结果就知道了
图片来源:《Search-o1: Agentic Search-Enhanced Large Reasoning Models》论文
在本文中,我们探讨了测试时计算扩展方面的许多进展,但还有三种方法也值得关注。
另外 3 项研究的简要概述
- 最近,NVIDIA 在其 SANA-1.5 扩散变压器中采用了推理时扩展方法,以创建更准确的图像。他们没有增加模型大小,而是增加了 SANA-1.5 为输出生成的图像数量。一个 AI “评委”(NVILA-2B 模型)根据锦标赛式的选择排名,挑选出最佳图像。
- 斯坦福大学提出了一种简单的测试时扩展方法。他们使用一个小型 s1K 数据集,其中包含 1000 个具有详细推理步骤的复杂且多样的问题进行训练。为了进行有效推理,他们利用了一种特殊技术,即预算强制,它控制模型的思考时间,并使用“等待”和“最终答案”标签来调整模型的推理时间。
- 北京交通大学的 O1-CODER 通过强化学习 (RL) 和蒙特卡罗树搜索 (MCTS) 在编码任务中转向系统 2 思维。该模型首先生成伪代码,然后生成完整代码,并使用测试用例生成器 (TCG) 进行验证。
并非没有限制
测试时计算扩展方法,即使表现出有史以来最高的性能结果,也存在我们仍需进一步缓解的局限性。具体如下:
- 思考不足问题:类o1模型可能会过快地在不同想法之间跳转,过早地放弃有希望的想法。
- 延迟可变性:响应可能具有不一致的延迟。较简单的查询会很快,而复杂的查询可能需要更长时间,这在实时应用中可能会出现问题。
- 潜在的过度/不足分配:某些查询可能会获得比必要更多的计算资源,导致效率低下,而另一些则可能获得较少,导致次优答案。例如,TTC 扩展对于简单问题来说不是一个好的选择。
- 确定性丧失:由于系统负载或模型启发式等外部因素,相同的查询在不同情况下可能会收到不同级别的计算,这可能导致输出不一致。
- 不可预测的成本:每次查询的成本各不相同,使得对于查询高度可变的用户来说,预算管理具有挑战性。
结论:测试时计算的未来会怎样?
今天我们探讨了测试时计算的核心思想和五种不同的(开源!)扩展方法:1) DeepSeek-R1 强化学习和冷数据使用;2) 多模态模型中的测试时扩展方法(使用长文本数据训练、CoMCTS 和使用高级测试时验证器);3) 实现 RAG 功能的 Search-o1 框架。
显然,我们将迎来大量探索有效测试时扩展方法的新研究。令人惊奇的是,我们可以在快速推理模型和需要更多时间进行准确“深思熟虑”推理过程的模型之间进行选择。我们注意到的一点是,慢思考模型更接近人类的思维方式,因此可能更接近人类水平的智能。
还有一个有趣的方面可能会促进模型在推理过程中推理能力的进一步提高,那就是测试时训练。
测试时训练(TTT)是一种机器学习技术,模型在测试阶段也能持续学习和适应,而不仅仅是使用一组固定的学习权重进行预测。它允许模型在进行预测之前对测试数据进行微调,从而提高准确性。这种适应性增强了模型处理意外情况和分布偏移的能力。也许测试时训练将是增强推理模型的下一步?
作者:Alyona Vert 编辑:Ksenia Se
奖励:深入学习资源
- OpenAI o1 系统卡,作者:OpenAI
- DeepSeek-R1:通过强化学习激励 LLM 推理能力,作者:DeepSeek
- Virgo: 一项关于复现 o1 类 MLLM 的初步探索 作者:[BAAI](百川智能), 人民大学高瓴人工智能学院,百川智能
- Mulberry:通过集体蒙特卡罗树搜索赋予 MLLM o1 类推理和反思能力,作者:南洋理工大学、清华大学、百度公司和中山大学
- 我们能用 CoT 生成图像吗?让我们逐步验证和增强图像生成 作者:香港中文大学 MiuLar 实验室 & 2MMLab, 北京大学, 上海人工智能实验室,
- SANA 1.5:线性扩散变换器中训练时和推理时计算的有效扩展,作者:英伟达
- s1: 简单测试时扩展,作者:斯坦福大学、华盛顿大学、艾伦人工智能研究所和Contextual AI
- o1-Coder:一个用于编码的 o1 复刻
- 思绪万千:关于类 o1 大型语言模型思考不足的问题
- 测试时计算:从系统 1 思维到系统 2 思维
- O1 复制之旅:战略进展报告——第一部分 作者:纽约大学,上海交通大学,MBZUAI 和 GAIR
- O1 复制之旅——第二部分:通过简单蒸馏超越 O1 预览版,是巨大进步还是惨痛教训?
- O1 复制之旅——第三部分:用于医学推理的推理时扩展
📨 如果您想直接在收件箱中收到我们的文章,请在此订阅