部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >语言模型自我反思推理能力:预训练阶段早现端倪,以引入错误测试,OLMo-2-7B模型展现自我纠正实力 !

语言模型自我反思推理能力:预训练阶段早现端倪,以引入错误测试,OLMo-2-7B模型展现自我纠正实力 !

作者头像
未来先知
发布于 2025-05-14 05:13:10
发布于 2025-05-14 05:13:10
810
举报
文章被收录于专栏:未来先知未来先知

语言模型反思自身推理的能力为其解决复杂问题提供了关键优势。尽管最近的研究大多集中于该能力在强化学习过程中的发展,作者证明它实际上在模型的预训练阶段就开始显现。 为研究这一点,作者将有意错误引入思维链中,并测试模型能否通过识别和纠正这些错误来得出正确答案。通过追踪预训练不同阶段的性能,作者观察到这种自我纠正能力出现较早,并且随着时间的推移稳步提升。 例如,一个在40万亿个token上进行预训练的OLMo-2-7B模型在作者的六个自我反思任务上展示了自我纠正能力。

1 引言

反思增强了模型根据先前推理调整其响应的能力,从而提高了其输出的准确性。近期的研究报告指出,“反思等行为是模型与强化学习环境交互的结果” [DeepSeek-AI, 2025a]。为了验证这些主张并归因于模型能力的提升,需要在整个训练阶段进行全面评估。在本工作中,作者提出了一个用于衡量反思的详尽框架,并在预训练阶段持续观察到这一现象。

使用现有推理数据集对反思进行基准测试 [Mondorf和Plank, 2024] 具有挑战性。在这类任务中,反思通常较为Sparse,且每个模型表现出独特的错误模式,从而产生不同的反思行为表现 。作者通过区分情境反思和自我反思来应对这一挑战。在情境设置中,模型检查由其他来源创建的推理链,例如不同的前沿模型。在自我反思中,模型考虑自身的推理过程。当提供导致错误答案的混杂推理时,作者校准模型的任务解决能力,并借此在整个预训练过程中测量反思能力。

通过程序化地引入包含算术扰动和逻辑不一致等元素的错误思维链(CoTs),作者可以控制和扩展完成这些任务所需的反思程度。这同时保持了已建立的CoT格式[Wei等人,2022]。此外,作者的算法方法通过调整已建立的推理基准,能够以相对快速和经济的方式创建这些数据集,进而允许对模型在不同领域的反思能力进行全面研究。作者的六个数据集涵盖数学、编程、逻辑推理和知识获取领域,旨在评估情境反思和自我反思能力。

评估OLMo-2系列模型预训练预训练权重在作者六种多样化数据集上的计算结果表明,反思在各个领域普遍存在。即使是简单的触发短语如"Wait, [Muennighoff et al., 2025]"也能使部分预训练模型持续识别引入的错误以及自身生成的错误。

具体而言,240个数据集-预训练权重对中有231对至少出现了一次情境反思,240对中有154对至少出现了一次自我反思。随着预训练的增加,模型纠正更多对抗性样本,导致在各项任务中准确率与预训练计算量对数的皮尔逊相关系数平均为0.76。此外,随着预训练的推进,模型逐渐从错误的先前推理中恢复,模型生成中的显式反思率增加,显式反思越来越多地有助于从混杂的CoTs中恢复。

本文的贡献有三方面:

  1. 作者介绍了一种系统方法,用于创建涵盖代码、知识获取、逻辑推理和数学的六个数据集,以研究模型反映能力。
  2. 作者证明了不同能力和训练计算量的预训练模型可以通过在多种领域中运用简单的感叹词来引发反思,以纠正不准确的先前推理。
  3. 作者观察到,持续改进预训练能够带来更好的泛化能力,从而在解决相同数量的任务时,需要更少的测试时间token。

2 相关工作

评估大语言模型中的推理能力 真实语言系统的实用性依赖于推理能力 [Wos等人,1992;Schuster等人,2019;Mondorf和Plank,2024]。大语言模型结合思维链 [Wei等人,2022]、思维树 [Yao等人,2023] 和自洽性 [Wang等人,2023b] 等 Prompt 技术已被成功用于解决各种推理任务。推理通常通过观察模型结果 [Fu等人,2023a;Liu等人,2023]、生成轨迹 [Saparov和He,2023;Dziri等人,2023;Willig等人,2022] 和交互式参与 [Zhuang等人,2024;Wang等人,2023a;Bertolazzi等人,2023] 来衡量。先前工作通过研究注意力模式 [Hou等人,2023]、激活流和单个层 [Pirozelli等人,2024] 对模型内部网络进行参数归因,以识别推理特征。这些方法主要旨在评估预训练模型,而作者感兴趣的是在整个训练阶段中提取推理的诊断技术,这与通过参数和训练数据缩放研究模型性能的精神相似 [Kaplan等人,2020]。在这项工作中,作者通过评估对抗性数据集中反思的出现来研究推理。这些数据集要求模型通过包含微小错误的、多步 Prompt 进行推理,以成功完成任务。

对抗攻击对大语言模型而言,对抗输入长期以来被用于揭示神经网络的漏洞[Szegedy等人,2014年,Bignio等人,2013年,Huang等人,2017年]。最近,类似的技术被应用于大语言模型,展示了它们对精心设计的 Prompt 的易受攻击性[Schwinn等人,2023年]。这些攻击成功针对了模型的策略对齐[Deng等人,2022年,Wei等人,2023年]、安全性[Schuster等人,2020年,Carlini等人,2021年,Kang等人,2024年]和鲁棒性,凸显了巨大的漏洞。一些方法提出了对抗训练来提高模型对这类攻击的防御能力[Zhu等人,2019年,Jiang等人,2020年,Xhonneux等人,2024年]。相反,作者工作的主要目标不是展示模型对攻击者的脆弱性,而是强调如何利用此类数据集来持续且全面地评估其推理能力。作者通过引入思维链[思维链[Kojima等人,2022年]]来实现这一点,其中步骤[Lightman等人,2023年]大体上是正确的,但包含需要反思的错误[Lightman等人,2023年,Fu等人,2023b]]。

3 方法

作者的目标是全面且大规模地测量反思。作者提出了反思的定义3.1,程序化地创建了引发反思的任务3.2,并严格测量了反思的存在3.3。

3.1 定义反思

反思是一种元认知形式,它涉及检查信息、评估其背后的推理,并根据这种评估调整未来行为。在语言模型的环境中,这个过程可以应用于从外部来源引入的信息或由模型本身生成的信息。在这项工作中,作者创建了两个环境来引出和测量反思:

情境反思是指模型对由其他来源创建的信息进行反思,例如由不同的模型创建的信息。

自我反思是指模型对其自身生成的输出进行反思。

作者还通过两种形式全面描述了反思。显式反思发生在模型生成能够通过其含义识别和解决对抗环境中错误的 Token 时。显式反思可能存在于正确的模型输出中(换句话说,那些构成作者对抗任务正确答案的输出),也可能存在于错误的模型输出中。

隐式反思发生在模型在对抗性环境中正确解决任务时,而未输出明确标识先前推理中错误的 Token 。根据作者的定义,这意味着隐式反思不能导致作者的对抗性任务出现错误答案。这使作者能够区分两种情况:一种是显式反思不存在但可能推理出隐式反思发生的情况,另一种是根本没有发生反思的情况。

3.2 通过对抗性反思数据集激发反思

作者提出了一种生成对抗性数据集的算法,该数据集能够激发语言模型的反思行为。该算法创建对抗性思维链(CoTs),导致得出错误解决方案。与自我反思不同,自我反思中作者可以借鉴模型自身的错误,而情境反思则需要作者设计人工对抗性思维链。从高层次来看,这些对抗性思维链是通过以模仿人类推理错误的方式破坏正确思维链来创建的,例如逻辑错误和算术计算错误。在这两种情况下,当作者提供思维链的上下文时,模型必须反思错误并修正它们,以得出正确解决方案。作者认为这些设置对于全面研究反思是必要的。

任务设计包括添加触发 Token ,例如"Wait,",以在整个任务解决过程中促进持续推理。

该算法有两种变体。算法1和算法2分别创建了情境反思数据集和自我反思数据集。

3.3 测量反射

作者提出了一种基于先前对反思的分类(参见3.1)的自动化方法,用于测量模型在使用对抗性数据集时的反射能力。

测量显式反思:为识别显式反思的实例,作者开发了一种基于 Prompt 的大语言模型分类器,该分类器检测模型输出是否明确承认并针对提供的对抗性上下文中的错误进行回应,而无论模型是否得到了正确答案。该分类器在4.3节中描述。

测量隐式反思:作者规定所有在对抗性环境中能得出正确答案的模型生成结果都归因于反思,即使没有输出与反思相关的 Token 。作者认为这符合日常对“反思”的理解,即描述人类的行为。算法1:情境-反思数据集生成。表1详细列出了任务、前沿模型和数据集工件,分别在基础数据集、正确思维链和对抗性思维链列中。

任务实例集T、前沿模型F或现有数据集工件A输出:对抗性思维链的情境反思数据集

对于任务实例t在T中:

  1. 使用F或A获取正确的思维链
  2. 通过使用F向正确的思维链(Chain of Thought, CoT)引入微小错误,创建一个对抗性思维链,使其导致错误答案。
  3. 在对抗性思维链中附加一个触发 Token ,例如'Wait'。
  4. 保持t现有的问题和黄金答案

将结果实例添加到 返回 Dsit

算法2:自省数据集生成。任务与表1中的基础数据集相同,模型为OLMo 7、13和32亿参数的预训练预训练权重。

任务实例集T,模型预训练权重M

自省数据集 与对抗性CoTs

对于任务实例集T中的每个任务实例t:

  1. 在模型预训练权重M上运行任务实例t以生成思维链c。
  2. 若运行产生了错误答案,将c Token 为对抗性思维链;否则丢弃c。
  3. 在c中附加一个触发 Token ,例如'Wait'。
  4. 保持t现有的问题和黄金答案
  5. 将结果实例添加到DselfReturn Dself

元认知。llm-OLMo-2-7B_2504的一个启示是,按照设计,那些生成正确答案但未被显式分类器识别的生成结果被归类为隐性反思的实例。

4 实验设置

为了全面研究反射现象,作者评估了不同计算预算下的部分预训练模型,这些模型在参数数量和训练token数量上存在差异。4.1.

作者的研究包括两种类型的对抗任务4.2:(1)情境反思,使用前沿模型从现有数据集中系统地生成对抗性思维链;(2)自我反思,从模型对原始任务实例的先前错误响应中推导出对抗性思维链。

作者的评估还考察模型输出是否展示了明确的反思性推理

作者在第4.4节详细介绍了作者的基础设施设置。

OLMo-2

OLMo-2 [OLMo et al., 2025] 是一个完全开源、开放权重的LLM项目,提供了7B、13B和32B参数变体的训练预训练权重。作者评估了总共40个预训练权重(详见附录B)。作者旨在获取等间距的预训练权重,并在不可用时使用最接近的替代方案。

Qwen2.5

作者评估了Qwen2.5的0.5B、3B、7B、14B、32B和72B参数变体[Qwen等人,2025年]。详情请参见附录B。

4.2 数据集

作者对一系列任务中的反射现象进行了评估,基于BIG-Bench Hard (BBH) [bench authors, 2023]、CruxEval [Gu et al., 2024]、GSM8K [Cobbe et al., 2021]、GSM8K-Platinum [Vendrow et al., 2025]和TriviaQA [Joshi et al., 2017]创建了六个对抗性数据集。作者的对抗性数据集概述见表1和表2。

作者使用DeepSeek-V3(简称DS-v3)[DeepSeek-AI, 2025b]、GPT- [OpenAI, 2024a]和SentenceTransformers [Reimers and Gurevych, 2020]等模型,并在作者的数据处理流程中实施多重自动化检查和人工审核,以确保数据集的质量和鲁棒性。

情境反射数据集:这些数据集的创建涉及一个多步骤的流程,其中作者 Prompt 大语言模型(LLM)生成对抗性思维链(CoTs)(另见算法1)。对于推理任务,原始任务可能将CoTs作为数据集组件包含;如果没有,作者使用前沿模型(如GPT-4o或DS-V3)来创建它们。随后,使用正确的CoTs通过引入导致错误答案的故意错误来开发对抗性CoTs。此外,在最后进行核查,以确保CoTs不会暴露其误导意图。流程和 Prompt 已被精心设计以最小化错误,并且是针对特定数据集的,但整体框架可以推广到任何领域和数据集。

自省数据集:这些数据集通过在基础任务上执行作者想要评估的大语言模型,并收集模型失败对应问题的思维链(参见算法2)来创建。由于作者关注的是模型在预训练过程中的反思能力,因此作者仅保留自省数据集中在每个参数尺度上所有预训练权重都错误回答的问题,以确保在预训练预训练权重之间进行一致的比较。

关于作者数据集特定的 Pipeline 、检查和过滤器,详细信息可以在附录F中找到。

指标如表3所示,在情境反思和自我反思设置中,准确率是指模型正确解决的任务实例的比例。独立于准确率,作者利用显式反思分类器来测量显式反思率,显式反思率是指模型输出表现出显式反思的任务实例的比例,无论它们是否正确。作者还报告显式反思准确率,显式反思准确率是指模型正确解决且表现出显式反思的任务实例的比例。最后,隐式反思准确率是指模型输出正确且未表现出显式反思的任务实例的比例。每个数据集的准确率指标详情可参见附录H。

此外,对于每个数据点,作者报告了预训练计算量为 ,其中 和 分别是参数数量和训练token数量。有关作者的训练时间和测试时间计算公式的更多详细信息,请参阅第5.4节。

显式反思分类器 作者开发了一种基于 Prompt 的分类器,用于判断模型输出是否表现出显式反思。DeepSeek-V3 [DeepSeek-AI, 2025b] 被 Prompt 说明“反思”的含义,并提供两到四个显式反思示例。该分类器旨在检测的显式反思短语示例如表5所示。作者在GSM8K、cruxeval-o和TriviaQA上使用人工标注的金标准标签验证了该分类器(每个基准120个问题;有关标注过程的详细信息,请参见附录G)。尽管作者的分类器召回的反思实例较少(见表4),但其精度足够高,足以验证其有效性。在最坏的情况下,作者将低估反思行为,但在作者报告它们时将更加自信。

4.4 基础设施

作者的实验设置使用vLLM推理框架[Kwon et al., 2023]来托管0LMo-2和Qwen模型。作者使用SGLang[Zheng et al., 2024]来托管DeepSeek-V3。作者使用由AMD M1300x加速器组成的集群和Kubernetes来调度任务到其中。

5 结果

为了全面衡量跨领域的反思推理能力,作者的分类器在BBH、cruxeval-i、cruxeval-o、GSM8K、GSM8K-Platinum和TriviaQA数据集上,针对情境反思5.1和自我反思5.3设置,将显式反思与隐式反思进行分离。令作者惊讶的是,作者发现反思能力显著存在,并且随着更多训练计算量的增加而增强。此外,随着预训练的推进,模型逐渐摆脱混淆因素的影响,显式反思的比率上升,显式反思对

从混杂因素中恢复(参见表5中的示例)。这些结果突出了预训练在培养反思能力中的作用。

5.1 显式情境反思在所有模型中均表现突出

在表6中,除cruxeva1-i任务外,对于所有任务,每个OLMo-2预训练预训练权重都显示出从情境混杂中恢复的迹象,无论是隐式还是显式4。这导致240个数据集-预训练权重对中的231个至少表现出一次情境反思。然而,为了验证作者的假设,即模型逐步发展和使用显式反思,大多数恢复应归因于显式情境反思。本质上,随着更多预训练计算力的投入,作者寻求的是(a)从情境混杂中恢复的频率增加,(b)对情境混杂进行显式反思的频率增加,以及(c)使用显式反思从情境混杂中恢复的频率增加。

每个指标与log(pre-training compute)之间的高正相关系数[Cohen et al., 2009]意味着(a)、(b)和(c)。作者还观察到隐式反思准确性与log(pre-training compute)之间普遍存在低相关性。综合来看,这些结果强调随着预训练的增加,模型倾向于成功解决更多对抗性实例,并且越来越倾向于在解决过程中使用显式反思。例如,Gsm8k-P1atinum在图3中显示,随着预训练的增加,不同参数数量的模型通过显式反思错误来解决大多数任务实例。TriviaQA是一个例外,其显著改进可归因于隐式反思,这是由于该任务主要测量知识获取,其中一些实例无需显式推理即可解决。所有六个任务的详细结果可在附录C中找到。

(a) OLMo-2系列模型在GSM8K-P1atinum情境反射评估中的准确率

(b) OLMo-2系列模型在GSM8K-P1atinum对抗性评估中的显式反射准确率

5.2模型在没有触发器的情况下也能反映;等等,增强明确性和准确性

为了理解Wait, trigger的因果作用,作者研究了在Gsm8k-P1atinum上具有极端相反触发器的模型性能。具体而言,作者研究了无触发器和包含明确承认“我犯了一个错误”的触发器的模型性能。作者选择A作为一种模式,以最小化对对抗性CoTs中错误关注的情况。相比之下,作者选择B作为一种强调CoT中存在错误的情况。图4绘制了这些结果。

结果首先证实了假设,即即使没有触发器,随着预训练的进行,模型在情境混杂者上的成功率也会逐渐提高。在第5.1节上述结果中,Wait的作用进一步得到澄清。作者看到,模型在该任务上的表现被A和B两个极端所限制。在场景A中,模型通过隐式反映来提高准确率;在场景B中,模型通过构造进行显式反映,从而显著提高性能。Wait的设置在隐式反映时表现如A,在显式反映时表现如B。有趣的是,如图4所示,其性能可以分解为,其中是显式反映的比率,是隐式反映的准确率。

此外,作者发现性能的显著提升可归因于Wait-trigger。这是因为该触发器以随预训练程度增加的速率激发显式反思,并且它也达到了相应的-triggered模型所取得的性能,如前所述,作者选择这种模式来强调中存在错误。换句话说,当基于带有Wait的对抗性进行条件化时,如果模型表现出显式反思,其性能与模型被明确告知包含错误时的性能相当。相反,当模型基于带有Wait的对抗性进行条件化但未表现出显式反思时,其性能与模型仅基于对抗性进行条件化时的性能一致。这确立了通过Wait在提高准确率方面对显式反思的因果联系。

5.3 显式自我反思更困难但随更多计算而进步

初看之下,表7中自我反思的罕见性可能被视为一个负面结果。然而,这可以由以下事实解释:在这个场景中,模型是在它们回答错误的任务实例上进行评估的——因此,按设计,它们特别困难(参见F部分的2)。尽管如此,在大约64.2%的任务尝试中,模型确实至少表现出一定的自我纠正能力。

为了区分自我反思和自我纠正,作者在图5中绘制了模型生成的反思率,无论任务是否被解决。这些结果表明,随着预训练的进行,模型在明确指出自身错误方面表现越来越好。对于cruxeval-1,作者注意到随着预训练的增加,模型倾向于学习自我纠正。然而,它们能够更早地进行自我反思。这表明自我反思技能在自我纠正之前的自然发展过程。

这些自我反思的萌芽如何在训练后演变成复杂的自主推理能力是一个悬而未决的问题,作者将其留待未来的工作。作者假设,在预训练的自我反思中必须存在一个临界阈值,超过该阈值后,模型有较高概率发展成为测试时推理者。作者发现从有机网络数据集学习时会出现这种程度的明确自我反思,这让作者感到惊讶[Li等人,2024]。确定在预训练期间促进明确自我反思的数据分布是作者在工作中自然的下一步。所有六个任务的详细结果可以在附录D中找到。

5.4 可以用训练时间换取测试时的计算量

作者研究了增加训练时间计算投入与在测试时间达到下游任务可比精度所需的相应支出之间的权衡。作者通过将训练时间计算估计为6nt来解决这个问题,其中n和t分别表示参数数量和训练token数量,并将测试时间计算估计为2nw,其中w表示生成一定数量对抗性问题所需的词数。作者首先指定一组目标对抗性问题数量,需要正确回答。然后,作者为每个目标绘制一条曲线。作者针对先前介绍过的Gsm8k-P1atinum对抗性数据集进行研究。作者采用顺序测试时间扩展方法,通过在模型生成中附加触发词"Wait"来实现。实际上,作者引入了两个*Wait'触发词,以使较弱的模型能够达到与较强模型相同的指标水平。这模拟了[Muennighoff等人,2025]中测试时间计算扩展的顺序方法。

如图6所示,随着训练时计算量的增加,在OLMo-2-32B预训练权重中,测试时计算需求减少。这一结果进一步支持了作者的假设,即随着预训练的进行,模型在反思方面的能力得到提升,这意味着在给定准确度水平下,测试时所需的计算量减少。

5.5 作者在更强的模型家族中看到相似的结果吗?

为了研究这些现象在不同模型家族中的表现,作者在图7中报告了在对抗性任务上的结果。与作者的OLMo-2结果一致,作者发现随着预训练计算量的增加——在此情况下为参数数量——模型在对抗性任务上的性能持续提升。这再次证明,尽管在仅通过预训练计算进行先前推理时存在错误,模型仍能越来越有效地解决任务。

6 结论

本工作的目标在于探讨一个问题:在预训练过程中,反思推理是如何进步的?这与普遍认为的反思是在后训练阶段通过强化学习产生的观点形成对比。作者提出并实现了一个全面的框架,用于在整个预训练过程中衡量反思能力。

通过作者的对抗性数据集,在情境反思和自我反思设置中,作者能够广泛校准这些能力。

作者发现,使用极少量训练FLOPS训练的模型,例如使用1980亿个token训练的OLMo-2-7B模型,在数学、代码、语言和逻辑推理方面都表现出反思能力。

此外,随着更多计算资源投入到预训练中,这些能力进一步增强。

参考

[1]. Rethinking Reflection in Pre-Training

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未来先知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 引言
  • 2 相关工作
  • 3 方法
    • 3.1 定义反思
    • 3.2 通过对抗性反思数据集激发反思
    • 3.3 测量反射
  • 4 实验设置
    • OLMo-2
    • Qwen2.5
    • 4.2 数据集
    • 4.4 基础设施
  • 5 结果
    • 5.2模型在没有触发器的情况下也能反映;等等,增强明确性和准确性
    • 5.3 显式自我反思更困难但随更多计算而进步
    • 5.4 可以用训练时间换取测试时的计算量
    • 5.5 作者在更强的模型家族中看到相似的结果吗?
  • 6 结论
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档