作者:莫笑傅立叶
原文:https://zhuanlan.zhihu.com/p/11002542959
https://www.hotaipapers.com/ai-papers/2412-00154
摘要
本技术报告介绍了O1-CODER,这是一个专注于编码任务的OpenAI o1模型复现尝试。它整合了强化学习 (RL) 和蒙特卡洛树搜索 (MCTS) 以增强模型的System-2 thinking capabilities(或理性思维能力)。该框架包括训练测试用例生成器 (TCG) 用于标准化代码测试,使用 MCTS 生成包含推理过程的代码数据,并迭代微调策略模型,首先生成伪代码,然后生成完整的代码。报告还探讨了在实际应用中部署类似 o1 模型的机会和挑战,建议转向系统2范式,并强调环境状态更新的重要性。更新的模型进展和实验结果将在后续版本中报告。所有源代码、精选数据集以及生成的模型都将在git公开。
绪论
OpenAI 最近发布了 o1 模型[@openai_o1_2024],该模型展现出令人印象深刻的系统 2 思维能力,标志着人工智能在执行需要更高阶认知功能的复杂推理任务方面取得了重大进展。 该模型发布后,大量分析和复现工作相继涌现,凸显了类似 o1 模型的巨大潜力和日益增长的关注度。 值得关注的研究包括 g1[@g1_github]、OpenO1[@openo1]、O1-Journey[@o1_journey_2024]、OpenR[@openr_2024]、LLaMA-O1[@llama_o1_2024]、LLaMA-Berry[@llama_berry_2024]、Steiner[@ji2024steiner]、Thinking Claude[@thinkingclaude]、LLaVA-o1[@xu2024llavao1letvisionlanguage],以及一些工业界发布的模型,例如 k0-math、DeepSeek-R1-Lite、Macro-o1[@zhao2024marcoo1openreasoningmodels]、Skywork o1、QwQ[@qwq_blog] 和 InternThinker[@internlm_chat](如图 1所示)。
人们普遍认为,o1 通过结合强化学习和预训练来解决推理数据不足的问题。强化学习 (RL) 以其探索和发现新策略的能力著称,而非依赖预定义数据。回顾机器学习的关键发展历程,我们可以看到深度学习和大规模预训练分别推动了模型架构和标注数据需求的变革。相比之下,强化学习则关注目标函数的转变。在缺乏明确指导或目标的情况下,RL 利用探索机制来寻找新的知识和解决方案。强化学习与预训练的结合,产生了学习与搜索的强大协同效应:预训练压缩了现有的人类知识,而强化学习则使模型能够探索新的可能性。
我们选择编码任务来研究如何利用 RL 生成和完善推理数据。编码是一项典型的需要系统二思维的任务,需要仔细、逻辑地、循序渐进地解决问题。此外,编码也是解决许多其他复杂问题的基础技能。本技术报告介绍了我们基于编码任务复现 o1 的尝试。该方法整合了强化学习和蒙特卡洛树搜索 (MCTS) 以实现自我博弈,从而使模型能够持续生成推理数据并增强其系统2能力。
框架概述
将自博弈强化学习应用于代码生成,需要解决两个主要挑战。
第一个挑战是结果评估,即评估生成的代码质量。与围棋或数学等任务不同,这些任务的结果可以直接根据游戏规则或正确答案进行评估,而代码评估需要在测试环境中运行生成的代码,并根据测试用例进行验证。我们不能假设代码数据集总是提供足够的测试用例。
第二个挑战涉及定义思维和搜索行为,即确定过程奖励的对象和粒度。对于代码生成,关键问题是如何设计推理过程和策略空间,以有效地指导模型的行为。为了解决第一个挑战,我们提出训练一个测试用例生成器 (TCG),它可以根据问题和真实代码自动生成测试用例。这种方法将有助于构建标准化的代码测试环境,为强化学习提供结果奖励。
针对第二个挑战,可以考虑两种方法。一种是“先思考后行动”,模型首先形成完整的思维链,然后一次性生成最终答案。另一种方法,“边思考边行动”[@Zelikman2024QuietSTaR](边推理边生成答案),则是在同时进行任务推理的过程中生成答案的部分内容。我们选择了前一种方法。对于代码生成,这意味着首先通盘考虑并编写详细的伪代码(pseudocode),然后用它来生成最终的可执行代码。其优势有两方面:适应性强,因为相同的伪代码可以产生不同的具体代码实现;以及粒度可控,因为可以调整伪代码的详细程度来控制推理/搜索行为的粒度。
完整的框架伪代码在算法1中给出,它包含六个步骤。
(1) 第一步是训练测试用例生成器 (TCG,Test Case Generator) ,它负责根据问题自动生成测试用例。
(2) 在第二步中,我们在原始代码数据集上运行蒙特卡洛树搜索 (MCTS,Monte Carlo Tree Search) 以生成包含推理过程的代码数据 ,包括一个有效性指标来区分正确和错误的推理步骤。
(3) 一旦我们拥有包含推理过程的数据,第三步就是微调策略模型 ,训练它以“先思考后行动”的方式运行。
(4) 推理过程数据也可以用来初始化过程奖励模型 (PRM,Process Reward Model) ,它评估推理步骤的质量。
(5) 第五步是最关键的:PRM 提供过程奖励,TCG 提供结果奖励,策略模型 使用强化学习和MCTS进行更新。
(6) 在第六步中,基于更新后的策略模型,可以生成新的推理数据。然后,这些新数据可以再次用于微调 PRM(第四步)。
因此,步骤 4、5 和 6 形成一个迭代循环,自我博弈不断推动模型改进。图2说明了六个步骤之间的流程。下一节将详细介绍每个步骤。
方法和中间结果
TEST CASE GENERATOR TRAINING
目标
测试用例生成器是一种自动化创建输入输出测试用例的工具,它在代码生成任务的程序验证中起着关键作用。
在训练阶段,通常使用标准的输入输出测试用例评估生成代码的正确性。这些测试用例的通过率是评估生成代码质量的关键指标,并作为奖励信号来指导模型训练。该奖励信号帮助模型改进其生成策略,从而提高生成准确、功能性代码的能力。
在推理阶段,当训练好的模型进行代码生成时,通常无法使用标准测试用例验证生成代码的正确性。测试用例生成器通过为模型提供自验证机制来解决此问题,允许模型在最终生成前进行评估。因此,模型能够根据验证结果选择最佳输出路径。
训练
训练过程分为两个不同的阶段:监督微调 (SFT) 和直接偏好优化 (DPO)[@rafailov2024direct]。我们将未经微调的生成器表示为。SFT阶段的主要目标是确保生成器的输出符合预定义的格式,从而能够准确地解析和提取生成的测试用例。此阶段的训练数据来自TACO数据集[@li2023taco],其格式为。为了标准化模型的输入和输出,我们开发了一个模板格式,详见如下:
经过SFT(微调)后,生成器记为 。DPO阶段的目标是引导模型生成符合特定偏好的测试用例,从而提升测试用例生成器的性能和可靠性。本研究采用DPO方法,利用人工构建的样本对来增强模型与预期偏好的匹配能力,方法是构建一个偏好数据集。我们的DPO微调依赖于预先构建的偏好数据集,其中为包含指令、问题和代码的提示词;为正例,即符合偏好的测试用例;为反例,即不符合偏好的测试用例。我们采用以下规则构建偏好数据:对于,直接使用三个完全匹配的采样测试用例作为正例;对于,我们对三个采样测试用例的输出进行随机排序,然后与原始输入拼接,使三个测试用例的输入输出对不完全匹配,并将其作为反例。训练目标旨在基于初始SFT模型优化,同时结合参考模型(代表初始SFT模型进行隐式奖励建模。目标函数如下:
其中 为sigmoid函数, \beta 为比例因子,用于调整训练中正例和反例间的对比强度。经过DPO后,生成器记为 ,代表最终生成器 。
实验
我们以 DeepSeek-1.3B-Instruct[@guo2024deepseek] 为基础模型构建测试用例生成器,并对其进行监督微调 (SFT) 和偏好优化 (DPO)。微调阶段采用 QLoRA 技术[@NEURIPS2023_1feb8787],秩参数设置为,调整的模块包括: 。学习率设定为 ,以在训练稳定性和收敛速度之间取得平衡。
训练数据源自 TACO 训练数据集的一个子集,该子集符合 ACM 竞赛规范,包含约 10,000 个样本。测试数据同样来自 TACO 测试数据集的一个子集,符合 ICPC 竞赛规范,包含 314 个样本。我们在 TACO 测试的不同阶段评估了生成测试用例的质量。SFT 阶段后, 生成的测试用例在标准代码上的通过率为 80.8%,表明该生成器在初步微调后能够有效生成测试用例。此外, 的通过率达到 89.2%,相比有显著提升。这表明,通过优化模型的决策过程,偏好优化显著提高了生成器生成可靠测试用例的能力。
在实际应用中,代码生成器的性能通常满足代码正确性评估的要求。展望未来,我们计划探索数据驱动策略优化 (DPO) 方法,即模型在推理过程中自主生成数据,从而进一步优化生成器的性能。此外,我们正在考虑将自我对弈机制融入TCG(测试用例生成器)的训练中。在这种设置下,策略模型将生成旨在通过TCG生成的测试用例的代码,而TCG则旨在生成更具挑战性的测试用例。这种对抗性交互可以促进策略模型和测试用例生成器的共同改进。
REASONING-ENHANCED CODE DATA SYNTHESIS
基于伪代码的推理过程
推理过程的定义至关重要。如引言中所述,我们探索了一种基于伪代码的提示方法,旨在引导大语言模型进行复杂代码任务的深度推理。伪代码作为自然语言描述和实际代码之间的中间表示,提供了一种更抽象、更简洁的方式来表达算法或程序的逻辑流程。为了将伪代码推理集成到步骤级思维链 (CoT) 中,如图4 所示,我们定义了三个融合了伪代码推理的关键行为动作:
• 步骤1:使用伪代码定义算法结构:在此动作中,模型概述了主要函数的结构和接口,而无需深入实现细节。目的是使模型能够掌握整体任务结构,包括每个主要函数的输入、输出和核心功能。 • 步骤2:细化伪代码: 在此步骤中,模型迭代地细化步骤1中定义的伪代码,逐步明确每个函数的步骤、逻辑和操作,从而为最终代码的实现做好准备。 • 步骤3:根据伪代码生成代码: 此步骤的目标是准确地将伪代码的结构和逻辑转换成可执行代码,确保生成的代码满足任务要求。
这些步骤确保模型在推理过程中将伪代码作为一种认知工具,从而增强其在复杂代码生成任务中的推理能力。需要注意的是,这三个步骤并不意味着推理链仅限于此。如图5所示,模型可能需要在推理过程中多次调用步骤2,迭代地细化伪代码,直到其足够完善,才能进行最终的代码生成。
为了评估分步式思维链 (CoT) 结合伪代码推理的有效性,我们使用开源模型 Qwen 系列 [@yang2024qwen2] 和 Mostly Basic Python Problems (MBPP) 数据集 [@austin2021program] 作为基准进行了实验。实验中,我们采用基于蒙特卡洛树搜索 (MCTS) 的采样策略,比较了常规 CoT 和结合伪代码推理的 CoT 的 Pass@1 指标,以及正确推理路径上最后一步的平均采样通过率 (ASPR)。结果表明,在推理正确的情况下,加入伪代码显著提高了生成的代码质量。表1给出了实验结果。虽然基于伪代码的推理通常会导致 Pass@1 指标下降,但我们观察到 ASPR 显著提高,这表明伪代码增强了整体推理过程,尤其是在优化通向正确最终输出的路径方面。这表明准确的伪代码对最终生成正确代码有很大贡献。然而,普通的 LLM 仍然面临生成有效伪代码的挑战,这正是后续 SFT 初始化和 Self-Play+RL 增强旨在解决的目标。
推理过程数据合成
我们使用蒙特卡洛树搜索 (MCTS)[@kocsis2006bandit; @feng2023alphazero; @qi2024mutual] 来构建步骤级过程奖励数据,其形式为 ,其中表示直到步骤的推理路径的评估值,而是从最终步骤导出的可执行代码。在这个过程中,我们采用标准的MCTS rollout策略进行路径探索。对于每个问题,我们应用前面定义的伪代码提示策略来指导推理过程。当到达终止节点时,就形成了一个完整的伪代码推理路径。终止节点的奖励值基于两个关键指标计算:
• 编译成功率 (compile):此指标确定生成的代码是否能够成功编译。值 是二元的, 表示成功, 表示失败。 • 测试用例通过率 (pass):在成功编译的基础上,我们进一步评估生成的代码是否通过测试用例。通过率计算公式为,其中 为通过的测试用例数量,为用于验证的测试用例总数。终端节点 的奖励值计算为这两个指标的加权和: ,
其中 是一个超参数,控制编译成功率和测试通过率的相对重要性。
一旦计算出终端节点的奖励值 ,我们将此值反向传播到路径上所有之前的节点,为每个步骤 分配一个奖励值。由于蒙特卡洛树搜索(MCTS)过程中存在多次展开,因此在反向传播过程中,节点 的累积奖励可能超过1。因此,我们使用以下公式对路径上每个节点的奖励值进行归一化,以获得最终的步骤有效性值。在构建推理过程数据集时,对于每个问题,如果通过搜索找到了正确的答案,我们保证至少可以获得一个终端节点 ,其中 。搜索完成后,我们从正确的终端节点 选择完整的推理路径,形成策略模型的初始化数据集。该数据集表示为: ,
其中 是一个指示函数,如果生成的代码 通过所有测试用例,则返回1。
策略模型初始化
在完成推理数据合成任务后,我们利用数据集中每个完整的推理解决方案来初始化策略模型 。此步骤旨在帮助更好地理解任务需求,并遵循预期的行为模式,从而为后续的迭代训练提供一个最佳的起始点。给定问题,策略模型在步骤 j 生成的特定推理步骤内容可以表示为,其中。这里,表示一个推理步骤的内容,由特定的分隔符分隔, w 代表在每个解码步骤生成的Token。表示由之前推理步骤输出所构成的上下文。
策略模型 随后使用经过验证的正确推理解决方案集 进行初始化。这个初始化过程通过优化以下训练目标函数来完成:,
其中, 表示推理步骤 和最终代码 的串联。已初始化的策略模型 (监督微调) 将作为后续训练阶段的基础。
PRM训练
给定一个问题 和对应于当前状态的解的前缀,过程奖励模型(PRM),记为,为当前步骤 分配一个奖励值,以估计其对最终答案的贡献。基于3.2节(数据合成)中使用的树搜索方法,可以使用两种数据组织格式来训练过程奖励模型,分别称为逐点和成对,详细描述如下。
逐点在这种格式中,从搜索树收集的数据被组织为 ,其中是样本数,表示在树搜索过程中分配给步骤 的值标签。根据处理方法,此标签可用于导出硬估计或软估计。遵循Wang等人(2024)的方法,PRM使用以下目标进行训练: ,
其中 是PRM给出的归一化预测分数。
成对方式 在成对方式下,对于搜索树深度为d的节点,其子节点表示为,偏好对数据组织为 。这里, 表示在树搜索中获得更高估值的推理步骤, 则表示获得较低估值的步骤。 遵循Bradley-Terry模型[@bradley1952rank],PRM的训练目标如下:
其中 表示sigmoid函数。与逐点设置不同,这里的分数 r 未经归一化处理。这使得模型能够专注于学习动作间的相对偏好,而非绝对值预测。
基于强化学习的策略模型改进 我们将代码生成任务建模为一个语言增强的马尔可夫决策过程 (MDP),其形式表示为 [@openr_2024; @carta2023grounding]。在这个框架中, 表示词汇表, 表示模型生成的单个Token。动作空间和状态空间 是Token序列的集合,这意味着动作和状态都是Token序列。
在这个框架中, 表示问题。动作被认为是一个推理步骤(参考算法1中的),它包含动作类型及其相应的思维链。状态转移函数定义了当采取动作时,当前状态如何变化。具体来说,动作将Token添加到当前状态,从而形成新的状态。这个过程持续到模型生成最终解决方案为止。奖励函数评估中间步骤的质量,例如推理过程或生成的代码片段。函数结合基于过程和基于结果的奖励来产生最终的奖励信号。在每个步骤中,模型选择一个动作,这将系统转换到一个新的状态。执行动作后,模型从PRM接收过程奖励。这个过程重复进行,直到模型生成最终代码或达到预定义的最大深度。
一旦模型生成最终代码或完成搜索过程,最终奖励 将通过针对一系列测试用例测试生成的代码来评估。我们提出一个奖励聚合函数,该函数结合了时间相关的权重和折扣因子:
,
其中, 是一个随时间变化的因子,它调整最终奖励 和累积中间奖励 之间的平衡。例如,可能会随着时间的推移而减小,逐渐增加对中间奖励的权重,因为模型不断改进其解决方案,同时降低对最终奖励的重视,因为模型逐渐接近最优策略。中的 通常遵循线性或对数衰减等调度方案。参数 是折扣因子,它决定了未来奖励相对于即时奖励的重要性。聚合奖励信号用于改进模型的策略,通常通过强化学习算法(例如 PPO[@ziegler2019fine] 和迭代 DPO[@rafailov2024direct])来实现。
基于此设置,我们定义了一个针对代码生成任务的强化学习环境。模型的动作由基于过程的奖励(鼓励中间推理步骤)和基于结果的奖励(反映最终代码的正确性)驱动。这种双重奖励结构有助于模型随着时间的推移提升其代码生成能力。
新的推理数据生成和自我博弈
在步骤6中,更新后的策略模型 用于生成新的推理数据,记为。这些数据通过对新的问题实例 进行推理生成,产生逐步推理路径 ,每条路径最终输出一个代码 。推理步骤迭代生成,每个步骤都依赖于之前的步骤。
生成新的推理数据后,将其添加到现有数据集 中,形成更新后的数据集。这增加了推理示例的多样性和质量,为后续步骤提供了更全面的训练数据。
这一新的数据生成过程实现了迭代的自我博弈训练循环。添加新的推理数据后,模型进行进一步微调,首先更新PRM(如步骤4所述)。然后,PRM利用步骤5中描述的强化学习方法调整策略模型。数据生成、奖励模型更新和策略改进的迭代循环确保了系统推理能力的持续提升。
结论
惨痛教训:数据就是一切
在过去的十年里,人工智能领域沿着一条核心路线发展,这条路线旨在最大化计算-智能转换效率,即有效地将不断增长的计算能力转化为更高的智能水平。沿着这条路线,如图6顶部所示,早期进展优先改进模型:从支持向量机(SVM)到深度神经网络(DNN),再到Transformer,可扩展的模型架构旨在充分利用计算能力。近年来,重点转向了数据方面。诸如预训练中的半监督学习(SSL)和后训练中的强化学习(RL)等技术旨在更有效地利用数据。o1模型延续了这一思路。它从监督微调(SFT),即利用高质量监督数据,转向强化学习中的从人类反馈中学习(RLHF),即利用环境反馈访问理论上无限的数据,最终转向o1创新的方法,即通过从生成的推理过程本身获得的奖励信号来监督生成过程。
这种发展趋势表明,随着Transformer架构能够处理海量数据并训练出足够大的模型,剩余的唯一挑战在于获取足够的数据。一种方法是在数据匮乏的领域寻找数据,例如用于系统2能力的推理数据,或用于具身智能的物理世界轨迹数据。另一种方法是探索人类世界中尚不存在的数据类型,这需要进一步研究强化学习(RL)和自我博弈等技术。
甜蜜的教训:超越人类数据
大型语言模型(LLM)的一个常见批评是它依赖于现有人类记录的数据,这固有地限制了它的潜力。正如维特根斯坦所说:“我的语言的界限就是我的世界的界限。”人类语言记录的有限范围和深度限制了大型语言模型的认知能力。然而,o1(此处应补充o1的具体说明,例如模型名称或简要描述)的成功证明了我们现在可以通过强化学习(RL)来探索这些记录数据背后的潜在思维过程。这一进步标志着人工智能发展的一个关键转变,从仅仅模仿人类语言转向自主生成新的认知过程。
更有趣的是,这些思维过程数据并不一定局限于自然语言。正如最近发表在《自然》杂志上的一篇论文[@Fedorenko2024](此处可考虑补充中文文献引用)所强调的那样,“语言主要作为一种交流工具,而不是思想的本质。”在我们的观察中,o1(此处应补充o1的具体说明)生成的一些思维链包含无意义的文本,这表明思维Token可能并不对应于离散的自然语言单词。如果模型已经发展出一种更高效的内部思维表征形式,这将显著提高思维过程和问题解决机制的效率,不仅超越了人类语言数据带来的限制,而且进一步释放了模型能力的潜力。
机会
自博弈+强化学习框架为探索底层数据提供了一种可行的解决方案,这为许多以前依赖系统1能力的任务探索系统2解决方案打开了可能性。通过将更严谨的步骤融入任务执行中,我们相信这种方法可以在广泛领域产生积极成果[@Kant2024EquitableAccess; @ganapini2021thinkingfastslowai; @valmeekam2024planningstrawberryfieldsevaluating; @lowe20242reasoningcapabilitiesnigh]。传统上使用系统1能力解决的任务,例如奖励建模[@mahan2024generativerewardmodels]、机器翻译[@zhao2024marcoo1openreasoningmodels]、检索增强生成 (RAG)[@li2024alr2] 和多模态问答[@Islam2024Are],已经从系统2思维带来的更深层次的推理能力中受益。o1模型的系统卡展示了模型安全性方面的显著改进。受此启发,我们最近探索了系统2对齐的概念,这涉及引导模型彻底评估输入,考虑潜在风险,并在其推理中纠正偏差[@wang2024dontcommandcultivateexploratory]。我们引入了三种实现系统2对齐的方法:提示词工程、监督微调和带有过程监督的强化学习。我们将把本报告中提出的自博弈+强化学习框架应用于系统2对齐,旨在进一步增强模型深思熟虑的能力,并减少复杂场景中的漏洞。
挑战
目前发布的o1-preview和o1-mini缺乏多模态能力和功能调用特性,而OpenAI声称其完整版本包含这些特性。除了多模态和功能调用之外,改进类似o1的推理模型(指类似o1模型的推理机制)的另一个关键特性是推理时间的优化。这包括提高推理效率——实现每单位时间的更高性能——并实现自适应推理时间调整。具体来说,这涉及到根据任务复杂性动态调整系统2推理过程,并实现更像人类一样在系统1和系统2推理模式之间无缝切换的能力。为了将类似o1的推理模型部署到更广泛的现实世界应用中,需要解决两个主要挑战,这两个挑战都与强化学习环境有关。第一个挑战与奖励函数泛化有关。这已经在社区中讨论过了。例如,利用推理模型理解高级自然指令的增强能力,像Constitutional AI[@bai2022constitutional]这样的方法可以直接用自然语言定义奖励函数。另一种策略侧重于提高编码能力,并将其他任务转化为编码问题来解决。
另一个鲜为人知的挑战在于环境状态的更新。与经典的无模型强化学习方法(例如Q学习)不同,Q学习中状态转换并非显式建模,o1类模型依赖于行为模拟和前向搜索,需要了解行动后的状态更新。这使得范式转向基于模型的强化学习。在编程、数学和围棋等定义明确的领域,环境通常遵循确定性规则。例如,编程遵循编译器定义的语言规范,数学遵循公理逻辑,围棋遵循固定的游戏规则。这些确定性框架允许精确计算特定行动后的状态转移概率 。然而,在许多现实应用中,例如检索增强生成 (RAG)、设备使用#\citep{}{=latex}#和具身智能体,获取状态更新需要与外部环境或模拟器交互,这带来了巨大的计算和时间成本。例如,在设备使用中,点击、输入或滚动等行为的模拟需要页面渲染、状态更新,有时还需要复杂的后台交互,例如网络请求。此外,o1类模型无法在推理过程中进行在线行为模拟,这限制了模型通过返回先前状态来验证或纠正其行动,导致无法回溯和改进决策。
因此,一个关键方向是尝试通过开发用于状态转移预测的世界模型来对环境进行显式建模。世界模型将当前和过去的状态和动作作为输入,并产生下一个状态作为输出。这允许模型与其内部世界模型交互,而不是直接与真实环境或模拟器交互。我们认识到,在构建此类世界模型时,强化学习 (RL) 面临的持续挑战之一是确保其准确性。因此,世界模型通常应用于动态相对简单且易于理解的环境中。好消息是,生成式游戏 [@generativegame] 的最新快速发展提供了令人鼓舞的进展,这可能有助于为现实世界应用中的推理模型提供更准确和实用的环境建模。
展望。
o1 模型显然受到 AlphaGo 的影响:AlphaGo 利用模仿学习来初始化策略网络,利用强化学习来微调策略并学习价值网络,并使用 MCTS 作为在线搜索策略,这与大语言模型 (LLM) 的预训练、后训练和推理相平行。AlphaGo Zero 采取了一种更先进的方法,它不依赖于历史数据,这与当前大语言模型 (LLM) 发展中越来越强调后训练阶段的趋势完全一致。如果我们遵循 Alpha 系列的演变,我们可以预期 o1 类推理模型会出现类似的发展。最初,Alpha 系列朝着泛化方向发展:AlphaZero 应用于围棋、国际象棋和将棋,而 MuZero 在 57 个 Atari 游戏中实现了人类水平的性能。然而,除了泛化之外的另一个目标是将这些模型应用于更复杂、更真实的现实世界任务。这种进展在 AlphaFold 向 AlphaCode 和 AlphaGeometry 的飞跃中以及 AI 向物理环境的扩展中都很明显,例如 SIMA 中的 3D 虚拟代理或 RT-X 中的具身智能。