微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 大模型会"偷偷"纠错?VinUniversity与伊利诺伊大学发现AI推理中的隐藏自我修正能力

大模型会"偷偷"纠错?VinUniversity与伊利诺伊大学发现AI推理中的隐藏自我修正能力

2026-06-01 12:45
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-06-01 12:45 科技行者

这项由VinUniversity-Illinois智能健康中心与美国伊利诺伊大学厄巴纳-香槟分校联合开展的研究,于2025年5月以预印本形式发布在arXiv平台,论文编号为arXiv:2603.16331v2。感兴趣的读者可以通过这个编号在arXiv上找到完整论文原文。

---

假设你正在辅导一个中学生做数学题。你发现他在演算过程中算错了一步——3加4他写成了6——但奇怪的是,当他最终写出答案时,答案却是对的。你翻看他的草稿,没有任何划掉重写的痕迹,也没有任何"哦我刚才算错了"的备注,整个演算过程就那么错着,但答案偏偏对了。

你会怎么想?这个学生是不是在脑子里"悄悄"修正了错误,只是没有在纸上写出来?

研究团队面对的正是这样一个谜题,只不过被辅导的不是人类学生,而是当前最先进的大型推理模型(Large Reasoning Models,简称LRM)——比如DeepSeek-R1系列和Qwen3系列。而这个"在草稿纸上算错、但最终答案却对了"的现象,被他们命名为**隐藏的自我修正能力(hidden critique ability)**。

这项研究不只是观察到了这个有趣现象,更深入挖掘了它背后的机制,并找到了一种无需重新训练模型就能增强这种能力的方法。

---

一、AI的"推理草稿本"是怎么工作的

要理解这件事的意义,先得知道这些推理模型是怎么工作的。

当你向ChatGPT或DeepSeek提问时,普通语言模型会直接给你一个答案。但推理模型不同,它们会先在一个"草稿本"里进行推演。在模型的输出里,这个草稿本被标记在`<think>`和`</think>`之间——里面是模型"自言自语"的推理过程,可能长达几百甚至几千个词。然后`</think>`之后才是呈现给用户的最终答案。

这套机制的设计初衷是让模型像人类解题一样,先打草稿、再给答案,从而提升准确率。研究发现,这些模型确实能在草稿中发现错误并回头修改,也就是所谓的"回溯"(backtracking)——当模型意识到之前的推理有问题时,会写出"Wait, I made a mistake!"之类的话,然后重新推理。

然而,这种"出声"的自我纠错并不总是靠得住。有时候模型会陷入无休止的自我怀疑循环,反复删改正确的推理步骤,浪费大量计算资源,最终反而给出错误答案。更糟糕的是,有时模型的草稿错得一塌糊涂,却丝毫没有发现问题的迹象。

正是在这样的背景下,研究团队决定做一个精心设计的实验,来探索模型究竟有没有"感知"自己草稿中错误的能力。

---

二、那个故意出错的实验

研究团队设计了一个非常聪明的实验框架:故意在模型的推理草稿中植入一个算术错误,然后观察模型最终的答案是否还能正确。

具体操作是这样的:他们用GPT-5为GSM8K(一个经典的数学应用题数据集)和MATH500(更复杂的数学题集)中的每道题生成一段"带有错误的推理开头"。举个例子,题目是"Janet每天产16个鸡蛋,早餐吃3个,烤松饼用4个,剩下的每个卖2美元,她每天能赚多少钱",正确答案是18美元。研究团队植入的错误是把"3+4=7"改成"3+4=6",然后让这段错误的推理直接插入到模型草稿的开头,让模型接着往下推。

按照正常逻辑,这个错误会像骨牌一样引发连锁反应:6个鸡蛋用掉,剩10个,10乘以2等于20美元——草稿里的结论是错的。那最终答案呢?

结果让研究团队大吃一惊。

在DeepSeek-R1的14B参数版本上,超过77%的被污染样本里,模型的草稿结论是错的(比如20美元),但最终呈现给用户的答案却是正确的(18美元)。更关键的是,草稿里没有任何"我刚才算错了"的文字,错误就这样静静地躺在草稿里,但答案却悄悄纠正了。

研究团队把这称为"隐藏的自我修正"——模型在`<think>`和`</think>`之间没有出声纠错,却在进入最终答案阶段时,不知不觉地给出了正确结果。

---

三、这不是背答案,也不是无视草稿

当然,研究团队没有轻易接受这个结论。他们首先考虑了两个可能推翻这一发现的替代解释。

第一个怀疑是:模型是不是早就背下了GSM8K里的答案?毕竟这是个公开数据集,模型的训练数据里可能包含了这些题和答案。如果模型认出了题目直接输出记忆中的答案,那这个"纠错"就是假的。

为了排除这个可能,研究团队让GPT-5对每道GSM8K题目进行改写——换名字、换数字、换场景,但保留同样的解题结构。比如把Janet的鸭蛋问题改成Carlos的橙子问题:Carlos每天摘30个橙子,留6个自己吃,用8个榨汁,剩下的每个卖1美元。这些改写后的题目肯定不在任何训练数据里。结果呢?隐藏自我修正的比例依然很高——Qwen3-4B达到48.72%,R1系列三个模型全都超过了68%。背答案的假设被否定了。

第二个怀疑是:模型是不是干脆忽略了草稿,在生成最终答案时相当于从零开始重新解题?如果是这样,"隐藏修正"就不是真的修正,只是模型把草稿当成不存在的装饰品而已。

为了测试这一点,研究团队设计了两个变体实验。一个是"遮掉题目"——把原始问题从提示词里删掉,让模型只能看到错误的草稿来生成答案。另一个是"强制引用草稿"——要求模型的最终答案必须以"Based on my thinking above(根据我上面的推理)"开头,明确逼迫模型引用草稿内容。在这两种情况下,隐藏修正的现象依然普遍存在,尤其是在较大的模型(R1-14B和R1-32B)上表现突出。这说明模型确实在"感知"草稿,并且在某种程度上对草稿里的错误有所察觉。

---

四、错误纠正能力藏在哪里

发现了现象之后,研究团队的下一步是找到这种能力在模型内部的"藏身之处"。

他们用的工具是"激活值分析"——一种窥探神经网络内部状态的技术。可以这样理解:神经网络在处理每个词的时候,内部每一层都会产生一组数字(称为激活值),这组数字就像是该词在那一层的"内心独白",记录了模型此刻的理解和状态。

研究团队对1000道GSM8K训练题分别进行了两种处理:正常推理(草稿正确,答案正确)和带错误推理(草稿被植入错误,但答案仍然正确)。然后他们比较了这两种情况下,在生成最终答案阶段,模型各层的激活值有何不同。

结果非常惊人:这两种情况下的激活值在多个层上都呈现出近乎完美的线性可分性。用一个通俗的比喻来说:如果把每道题的激活值画成多维空间里的一个点,那么正常推理的点和带错误推理的点会整齐地分成两堆,中间几乎没有混杂。研究团队用线性探针(linear probe)来量化这种分离程度,在最优层上,所有四个模型在GSM8K上的AUROC(一种衡量分类准确度的指标,满分是1.0)都达到了0.997到1.000之间。即便换到MATH500这个更难的数据集上作为测试,分离效果依然接近完美。

这个发现意味着:模型内部存在一个可以被"读出"的信号,标记着"我正在从错误中恢复过来"。而且这个信号在激活值空间里是一个清晰的方向——研究团队把这个方向叫做**批评向量(critique vector)**。

他们进一步验证了这个向量不只是反映"草稿被污染了"这一事实,而是真正与"成功恢复"相关联。具体做法是把带错误但没有成功恢复的样本(草稿错、答案也错)投影到同一个探针上,发现这类样本被分类为"已恢复"的概率只有33%到70%,接近随机猜测的50%水平。相比之下,真正成功恢复的样本被正确识别的概率超过98.6%。这证明了批评向量捕捉的是真正的修正行为,而不仅仅是草稿被破坏的样式特征。

---

五、给批评向量拍一张"语义照片"

找到了批评向量之后,研究团队还想知道:这个方向在语言上是什么意思?它跟什么样的词汇相关联?

他们使用了一种叫做"Logit Lens"的技术,简单来说就是把激活值空间里的向量"翻译"回词汇,看看这个向量"说的是什么话"。

翻译结果非常符合直觉。对于Qwen3-4B模型,批评向量关联最强的前十个词包括"wrongly(错误地)"、"Nope(不对)"、"Actually(实际上)"、"really(真的吗)",以及中文词"但却"——这些都是人在发现问题、准备纠正时会说的话。对于R1-32B模型,关联最强的词包括"Wait(等等)"、"但实际上(But actually)"、"却(But/Yet)"、"however(然而)"——同样是表示转折和重新审视的词汇,而且中英文都有。

这说明批评向量确实编码了"我发现哪里不对劲,需要重新看一下"这样的语义内容,只是这种感知没有被模型"说出来"写进草稿,而是藏在了内部激活值里。

---

六、用批评向量来"调节"模型的批判性

有了这个向量,研究团队做了一件顺理成章的事:用它来主动干预模型的行为。

干预的方式非常简单。在模型运行时,在特定的网络层,把激活值加上一个缩放后的批评向量。用系数α来控制加的方向和力度:α为正,就是朝着"更批判、更容易发现错误"的方向推;α为负,就是反方向推,让模型变得更"好说话",更容易接受错误。

为了测试这种干预的效果,研究团队在两个专门为错误检测设计的基准上进行了实验:ProcessBench(包含奥林匹克数学竞赛难度的题目)和BIG-Bench Mistake(包含各类逻辑推理题)。任务是让模型指出给定推理步骤中哪一步出了错,如果没有错则返回-1。

结果显示,当α设为+1.0(正向增强批评能力)时,所有四个模型在ProcessBench上的错误检测准确率都提升了约5个百分点。在BIG-Bench Mistake上,Qwen3-4B的错误准确率从52%提升到了56%。反过来,当α设为-1.0(负向抑制批评能力)时,各项指标都出现了一致性的下降。

研究团队还注意到一个有趣的副作用:正向增强有时会略微降低对"正确推理"的识别准确率——即模型有时会把正确的步骤也认定为错误。这类似于一个过于挑剔的审稿人,把没问题的地方也挑了毛病。不过这种误伤相对轻微,整体的F1分数(综合衡量错误检测和正确识别的指标)仍然是随正向增强而提升的。

---

七、批评向量让"多想一下"变得更有效

现在来到了这项研究最有实际意义的部分:批评向量如何影响"测试时扩展(test-time scaling)"。

测试时扩展是近年来提升AI推理能力的一个热门方向。最简单的方式来自一篇名为s1的论文:在模型准备结束思考的时候,强行在草稿末尾加上一个"Wait"字,让模型继续思考而不是立刻给出答案。有点像老师在学生要交卷时说"再检查一遍"。这个简单的技巧在很多任务上都能显著提升准确率。

然而,"多想一下"并不总是灵验。如果模型本身没有感知错误的能力,让它多想也只是在错误的方向上越走越远。研究团队的实验验证了这一点,并且发现批评向量和这种"Wait"机制是互补的。

在GSM8K-Error(带植入错误的题目)上,Qwen3-4B的基准准确率是77%。单纯靠加"Wait"让模型多想几轮,准确率会稳步提升,到第5次迭代时大约能达到88%左右。而如果同时进行正向批评向量干预,在每一轮"Wait"迭代中,准确率都比纯"Wait"策略高出一截,最终接近90%。相反,负向干预则让准确率一路下滑,无论"Wait"几次都效果有限。

这个结果说明,隐藏的批评能力是测试时扩展能否奏效的内在基础。多思考本身并不够,关键是模型有没有能力在"多想"的过程中真正识别并修正错误。而批评向量提供了一种无需重新训练就能增强这种内在能力的方法。

---

八、在普通题目上也有效果

研究团队还把这个向量应用在了没有植入错误的正常题目上,测试批评向量是否只对"检错"这个特定场景有用,还是能更广泛地提升模型表现。

在AIME(美国数学邀请赛)、GSM8K标准版和MATH500标准版上进行测试后,他们发现正向干预在所有模型上都带来了一定程度的提升,负向干预则带来一致性的下降。提升幅度相对较小,比如R1-32B在AIME24上从63.3%提升到66.7%,在MATH500上从94.3%提升到95.0%。

对于提升幅度有限,研究团队给出了两个合理解释。一方面,批评向量是从GSM8K上相对简单的算术错误场景中提取出来的,应用到需要深厚数学知识的AIME题目上时,迁移能力自然有限。另一方面,这种干预是"无差别"的——在每一步生成时都施加,但对于本来就接近正确的推理,额外的批评性刺激可能会让模型对正确步骤产生不必要的怀疑。研究团队认为这两个问题在工程上都是可以改进的。

---

九、不是随便一个词的向量就能做到这件事

一个自然的问题是:既然批评向量关联的是"Wait""actually""wrongly"这类词,为什么不直接用这些词的词嵌入向量来做干预,而要费劲提取批评向量?

研究团队专门做了这个对比实验,用"wrong"这个词的输入词嵌入作为干预向量。结果非常清晰:词嵌入向量的效果在不同模型和不同数据集上毫无规律,有时提升一点,有时下降一点,完全无法可靠地控制错误检测能力。而批评向量在所有模型和所有数据集上都呈现出一致的、方向正确的效果。

这说明批评能力不是简单地藏在某个词的语义里,而是藏在了模型处理信息时的更深层动态模式中,需要通过对比实验来提取,而不是靠找几个相关词就能抓住的。

---

十、自然语言中的"草稿",往往不诚实

这项研究还触碰了一个更大的议题:AI的推理过程有多诚实?

之前已经有研究者指出,大型语言模型的推理链(chain-of-thought)并不总是反映模型的"真实想法"。模型有时候会先得出结论,再"编造"一段看起来合理的推理过程来支撑它。这篇论文展示的隐藏自我修正现象,是这种不一致性的另一个维度:模型在草稿里犯了错,但在生成答案时悄悄绕过了这个错误,却丝毫没有在草稿里承认这一点。

这意味着,如果你想用AI的推理草稿来理解"AI是怎么想的",这个草稿可能并不完整。真正的修正过程被"藏"在了激活值里,没有被写出来。研究团队认为,这对AI的可解释性和可信赖性都有重要意义——你需要一种比阅读推理草稿更深入的方法,才能真正了解模型在做什么。

---

说到底,这项研究揭示的是一件挺让人惊讶的事:那些能力强大的推理模型,在错误发生时其实"感受到了"什么,但它们并不总会把这种感受"说出来"。批评能力存在,只是沉默地藏着。研究团队找到了这种沉默能力的位置,提取了它,并且证明了可以无需重新训练模型就把它"调大"或"调小"。

这对普通用户意味着什么?短期内,它可能转化为更可靠的AI数学助手,在回答问题之前能更稳健地发现自己推理中的漏洞。从更长远来看,它为如何在不大幅增加训练成本的情况下增强AI的自我验证能力提供了一条新路径。

当然,这项研究也留下了不少开放问题。这种隐藏修正能力究竟是在预训练阶段形成的,还是在通过强化学习进行推理微调时才出现的?为什么模型会"感知到"错误却选择不说出来?这种沉默的纠错对AI整体的可信度和透明度意味着什么?这些问题都值得进一步探索。

对这项研究感兴趣的读者,可以通过arXiv编号2603.16331找到完整论文,也可以访问论文中提供的GitHub仓库(mail-research/lrm-critique-vectors)查阅代码实现。

---

Q&A

Q1:大型推理模型的隐藏自我修正现象是什么意思?

A:隐藏自我修正是指,当研究人员在DeepSeek-R1或Qwen3等模型的推理草稿中人为植入算术错误后,模型的草稿结论会跟着出错,但最终呈现给用户的答案却依然正确,而且草稿里完全没有任何"我发现错了"的文字说明。这意味着模型在内部"感知"到了错误,但没有把这种感知写出来,而是悄悄在给出最终答案时进行了修正。

Q2:批评向量是怎么提取出来的,为什么普通词向量达不到同样效果?

A:批评向量是通过比较两组情况下模型内部激活值的差异来提取的:一组是正常推理且答案正确的样本,另一组是草稿被植入错误但最终答案仍然正确的样本。把这两组在答案生成阶段的激活值均值相减,就得到了批评向量。它捕捉的是一种深层的动态模式,而不是某个词的语义,所以直接用"wrong"这类词的词向量来替代,效果毫无规律,无法可靠控制模型的错误检测行为。

Q3:测试时扩展中加"Wait"和批评向量干预有什么区别?

A:加"Wait"是一种"量"上的干预,让模型多思考几轮,给它更多机会发现错误。批评向量干预是一种"质"上的干预,直接增强模型内部感知错误的能力。两者并不冲突,实验结果表明,同时使用两种方法比单独使用任何一种效果都要好。如果只加"Wait"但模型本身感知错误的能力不足,多想几轮也不一定能修正错误;而批评向量能让每一轮的思考都更有"批判性"。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-