微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

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

首页 让模型自己告诉你它改变了主意的地方

让模型自己告诉你它改变了主意的地方

2026-10-09 09:52
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-10-09 09:52 • 科技行者

你有没有想过,做数学题改到一半发现算错了,你是从头重来,还是回到出错的那一步接着改?

大部分人会选后者。可现在训练AI做题的主流方法,恰恰是选前者,而且是反复地、大批量地选前者。

这就是这篇论文想要解决的问题。

**当AI训练变成"复读机"式抽卡**

现在训练大语言模型做数学题、写代码、玩交互式任务,用的是一种叫强化学习的方法。

> 强化学习(RLVR):全称是"可验证奖励的强化学习",简单说就是让AI对同一个问题生成好几种不同的答案,然后用一个能自动判断对错的裁判(比如运行代码看能不能通过测试)给每个答案打分,AI从这些分数的对比中学习哪种答案更好。

具体是怎么打分对比的呢,用的是一种叫GRPO的方法。

> GRPO(组相对策略优化):AI针对同一道题,独立生成一组完整答案(比如16个),然后看每个答案的得分比这组答案的平均分高还是低,高的就多鼓励,低的就少鼓励。

问题就出在"独立生成"这四个字上。

16个答案,是AI从头到尾、互相之间毫无关联地写出来的。就像你让16个学生分别独立做同一道题,而不是让一个学生做完之后,回头看看哪一步可能出错了,再针对那一步单独重做几遍。

这种做法有两个明显的浪费。

第一,生成成本高。一道数学题如果要写很长的推理过程,16遍就是16倍的计算量,这个成本会随着任务变复杂而急剧上升,尤其是需要多轮交互的智能体任务。

第二,探索没有重点。已经有研究发现,一段推理里,真正对学习有帮助的往往只是一小部分关键的"决策点",剩下的大部分文字其实是水词。斯坦福团队的一篇论文甚至证明,只对熵最高的20%的词做梯度更新,效果不比全文更新差。

这说明什么?说明大量的算力被浪费在了那些"怎么写都差不多"的地方,而真正关键的转折点,反而没有被重点照顾。

那能不能换个思路:与其让AI把16遍答案都从头写到尾,不如先写一两遍完整的,看看哪里写得有问题,然后从那个位置往后,重新写几种不同的续法?

这正是论文提出的核心方法:HDL。

**HDL:让模型自己找出"它改变主意的地方"**

HDL的全称是"事后分歧定位"(Hindsight-Divergence Localization),这个名字听起来有点绕,但拆开看其实很直白。

> 事后(Hindsight):指的是"知道结果之后"。就像你考完试拿到卷子,看着自己写错的地方,突然明白"我当时不该这么想",这种回头看的状态就是事后视角。

>

> 分歧(Divergence):这里指AI在"知道结果前"和"知道结果后",对同一段文字的判断出现了差异。

整个流程可以拆成四步,我们用论文里那个经典的例子来讲。

题目是:读入若干个整数,判断有多少个是质数。AI写了一段判断质数的代码,但是漏掉了一个关键的边界条件,也就是没有排除数字1,导致把1也误判成了质数。

第一步,先让AI完整写一遍答案,这个完整答案叫"根轨迹"(root)。跑一遍测试,发现10个用例只过了7个,得分0.7。

第二步,把测试失败的具体信息(比如"输入3个数1、2、3,期望输出2,实际输出3")反馈给AI,让AI写一段反思,解释自己这次为什么错了。AI这时候可能会说:"循环直接从判断整除开始了,对于数字1,循环体压根没执行,函数直接返回真,说明少了一个小于2就排除的判断"。

第三步,也是最关键的一步:把这段反思和错误反馈,拼接成一个"事后语境",再让AI重新过一遍它自己刚才写的那段代码,注意,是同一段代码,同一个模型,只是这次是在知道了错误原因的情况下重新"读"一遍。这时候AI对每个字(词元)的自信程度会发生变化。

比如原来AI写"for"这个词的时候,可能觉得"接下来就该直接进循环了",自信程度很高。但现在带着"哦我漏了判断1"这个认知回头看,AI对"for"这个位置的自信程度就会明显下降,因为它现在知道,这里其实应该先加一个判断。

论文用一个很简单的公式衡量这种自信程度的变化:拿"事后语境下这个词的对数概率"减去"原始语境下这个词的对数概率",取绝对值。这个数值越大,说明AI在知道结果后,对这个位置的判断变化越剧烈。

在这个例子里,"for"这个词的分数高达4.98,远远超过其他位置(大多在0.01到0.3之间)。这个位置,就是AI"改变主意"最剧烈的地方。

第四步,锁定这个位置后,保留前面写的所有内容不变(也就是函数定义那部分),只从"for"这个词开始,让AI重新生成几种不同的续写。有的续写加了"如果x小于2就返回假",有的加了"如果x小于等于1就返回假",这些新续写的得分都从0.7提升到了1.0。

这套流程的巧妙之处在于,AI并不需要被明确告诉"你在第几行出错了",它是通过对比自己"知道结果前后"的判断差异,自己把错误的位置找出来的。这就像一个学生,你不用直接告诉他"第三步算错了",你只要告诉他最终答案不对,让他自己重新审一遍自己的解题过程,他往往能自己定位到那个让他心里"咯噔"一下的地方。

如果不这样做会怎样?

如果只靠AI自己一次性写完再打分,那16份答案就是16次独立的赌博,赌中了算运气好,赌不中还是不知道错在哪。而现在,AI相当于先写一份草稿,然后拿着"批改结果"回头精读自己的草稿,把那些读起来让自己心虚的地方标记出来,再针对这些地方反复练习。同样是16份答案的预算,后者显然更有的放矢。

**省下来的钱花在了刀刃上**

光有巧妙的想法还不够,得看实际效果。

论文在数学、代码、智能体三个领域,用了三个不同规模的模型(Qwen3-4B、Qwen3-8B、Llama3.1-8B)做了实验,对比的是标准的GRPO方法,以及另一种叫DAPO的改进方法。

> DAPO:一种优化GRPO的方法,如果一组16个答案得分完全一样(比如全对或全错,没有区分度),就把这组扔掉,重新采样,直到凑够有区分度的答案组。

HDL的具体设置是这样的:每道题先生成2份完整的"根轨迹",然后针对每份根轨迹,选出分歧分数最高的2个位置,分别派3个和4个续写去探索。算下来正好是2×(1+3+4)=16份,和GRPO的16份保持一致,公平对比。

先看生成成本。

在数学任务上,HDL相比GRPO最多能省下超过一半的生成词数,比如Qwen3-8B模型上,GRPO每一步训练要生成2728万个词,HDL只需要1059万个,直接省了61%。放到真实的墙钟时间上,HDL比GRPO最多快1.83倍,比费时费力反复重采样的DAPO最多快3.18倍。

这笔账不难理解:省下来的时间,本质上就是省去了"从头把已经写对的那部分内容再写一遍"的功夫。前面提到的做题类比在这里同样适用,如果一个学生每次订正错题都要把整张卷子重新抄一遍再改,那和只订正错的那一道题相比,效率差距是巨大的。HDL做的事情就是"只重新做错的那一小段"。

再看效果好不好。

省钱的同时效果有没有打折扣?答案是没有,甚至更好。

| 任务 | 模型 | GRPO | DAPO | HDL |

|---|---|---|---|---|

| 数学 | Qwen3-8B | 53.17% | 53.47% | **54.16%** |

| 代码 | Qwen3-8B | 55.42% | 54.88% | **55.56%** |

| 智能体 | Qwen3-8B | 59.50% | 60.80% | **71.96%** |

最惊人的差距出现在智能体任务上。研究用的测试环境叫ScienceWorld。

> ScienceWorld:一个模拟小学科学实验的文字交互环境,AI要扮演一个学生,通过一步步的自然语言指令(比如"把某某物体连接到某某位置")在虚拟房间里完成科学任务,最多可以走30步。

在这个任务上,HDL比GRPO整整高出12.46个百分点,比DAPO也高出11.16个百分点。这个差距意味着什么?

意味着每完成8个任务,用HDL训练出来的AI就能比用GRPO训练的多做对一个。

为什么智能体任务上差距这么大?论文给出的解释很有意思:在这种需要连续多步操作的任务里,前面一步走错(比如走错了房间、拿错了工具),后面几乎是无法挽回的,整段轨迹就废了。如果用GRPO独立采样16遍,很可能这16遍里大部分都是在同一个坑里反复摔倒,得到的16个分数几乎没有区分度,AI学不到什么有用的东西。而HDL能精准定位到"是哪一步走错的",然后专门针对那一步生成多个不同的续写,这样16份答案里就会同时出现"摔倒"和"没摔倒"的版本,对比出来的学习信号自然更清晰。

这就好比你想学开车倒库,教练不会让你每次都从头把车开出停车场再重新倒一次,他会让你定在快要压线的那个瞬间,反复练习"这一下该往哪打方向盘",这样你进步得快得多。

**跟别的定位方法比,HDL赢在哪**

论文没有止步于跟GRPO和DAPO比,还专门做了一组对照实验,看看"用事后反思来定位分歧点"这个思路,是不是真的比其他定位思路更聪明。

对照的第一种方法叫Entropy(熵定位法),这是此前TreeRL和BPO两篇论文用的思路。

> 熵:这里指AI在某个位置下一个字有多"纠结",如果候选词很多且概率都差不多,熵就高,说明AI在这里犹豫不决;如果AI几乎认定了唯一答案,熵就低。

这种方法完全不看结果对错,只看AI写的时候有多犹豫,犹豫的地方就多分配续写资源。

对照的第二种方法叫Reflection(直接反思法),来自PivoARL和R3L这两篇论文的思路,做法是直接把完整轨迹和错误反馈丢给AI,问它"你觉得第几步开始错的",让AI直接报一个数字出来。

结果三种方法一比,HDL全面领先,在智能体任务上分别比熵定位法和直接反思法高出5.67和6.54个百分点。

研究团队进一步扒开数据看这三种方法到底选中了什么位置。他们发现在ScienceWorld里,每一步操作可以拆成"动词"和"参数"两部分,比如"连接 红色灯泡阴极 到 电池阳极","连接"是动词,后面那部分是参数。

熵定位法几乎永远盯着动词看,不管这一轮任务是成功还是失败,超过80%的选择都落在动词位置上。这是因为动词位置候选项确实多,天然熵就高,但这只是表面的"看起来很纠结",不代表这真的是出错的地方。

HDL则完全不同:在失败的轨迹里,超过一半的选择落在参数位置(比如选错了具体物体或目的地),而在成功的轨迹里,更多选择落在动词位置。这说明HDL真正学会了区分"这次是操作方式错了"还是"这次是选错了对象",这是一种更贴近实际错误原因的判断,而不是简单地被"选项多不多"带偏。

论文还发现,随着训练推进,熵定位法选出来的位置越来越趋同于"整体上出现频率最高的动词",也就是说它渐渐退化成了"哪个动词最常见就选哪个",失去了区分度。而HDL选出来的位置,跟整体分布的差距反而越拉越大,说明它一直在坚持寻找真正"特殊"的转折点,没有被带偏。

至于直接反思法,问题出在AI经常答不上来或者答得很随意。有时候AI报出来的位置压根不存在,有时候两次反问给出的两个位置离得太近,等于没有提供两个真正不同的分支选项。算下来,直接反思法平均每组只能凑出3.22个有效分支点,而HDL能稳定凑出3.95个(满分是4个)。

这个对比其实揭示了一件挺反直觉的事:让AI"直接说出哪里错了",看起来最直接,结果反而不如"让AI隔着一层反思去对比自己的判断变化"来得可靠。 直接问答案容易得到一个不假思索、甚至编造的回答,而通过对比"知道结果前后态度的变化"这种间接方式,反而能捕捉到更真实的信号。这跟心理学里一个现象有点像:直接问一个人"你为什么这么做",他给出的解释往往是事后编的合理化说辞,但如果观察他行为前后态度的细微变化,反而能看出更真实的想法。

**分支要开几个、根要留几条,也有讲究**

论文还做了一组细致的消融实验,测试不同的"根数量"和"每根开几个分支"的组合。

默认设置是2条根,每条根开2个分支位置,分支上分别放3个和4个续写,总共16份。如果把分支数减到每条根只开1个位置(把7个续写全堆在一个点上),墙钟时间能再省15%,但任务得分掉了0.87个百分点。如果反过来,把根的数量提到4条,每条只留1到2个分支位置,虽然探索的起点多了,但生成的词数反而更多,得分还降低了4.09个百分点。

这组对比传递出一个朴素但重要的道理:既不能把所有筹码押在同一个分支上(那样探索面太窄),也不能把根铺得太广而每个分支又太浅(那样每个分支能分到的续写太少,比较不出优劣)。找到"少数几条根、每条根上开两三个像样的分支、每个分支再配足够多的续写"这样一个平衡点,才是最划算的。这跟下棋有点像:与其同时下四盘棋每盘只走一两步就换下一盘,不如专注下两盘棋,每一盘在关键的岔路口多想几种走法,反而更容易把每一盘都琢磨透。

**这套方法也有翻车的时候**

论文很坦诚地在附录里承认了一个局限:HDL的效果,高度依赖模型本身有没有能力"读懂"自己的错误反馈。

研究团队专门测试了一个更小的模型Qwen3-1.7B。结果发现,这个小模型在生成反思的时候,连"这次到底是对是错"这种最基本的判断都经常说错,在数学任务上,反思给出的对错判断和真实裁判结果只有76%一致,代码任务上更是只有56.1%,比随便蒙硬币好不了太多。而同样场景下的Qwen3-8B,这个一致率高达99.7%以上。

后果很直接:在这个1.7B小模型上,HDL的优势彻底消失,跟GRPO打平(45.70%对45.66%),甚至输给了不需要理解反馈内容的熵定位法(47.54%)。

这个发现挺重要的,它说明HDL不是一个万能钥匙,它的前提是模型得先具备基本的"自我理解反馈"的能力。如果模型连自己错在哪都说不明白,那让它去对比"知道错误前后"的判断变化,得到的信号很可能只是噪音而已,甚至比什么都不做还糟。这就像你让一个还没学会看化验单的病人自己解读体检报告,指望他"回头反思哪里不健康",多半只会得出一堆似是而非甚至错误的结论。

**写在后面**

读完这篇论文,最触动我的其实是那个关于"熵定位法"逐渐退化的发现。

一个方法一开始看起来挺合理(选AI最犹豫的地方),训练久了却慢慢变成了"选最常见的动词",这个漂移的过程本身很值得琢磨。它提醒我们,很多"看起来聪明"的启发式规则,一旦脱离了对"真实结果"的锚定,很容易在优化过程中悄悄跑偏,而且跑偏的方向往往还是朝着"更容易、更省事"那个方向去的,因为熵高的地方本来就更容易被找到,这是一种统计规律,而不是因为这些地方真的更值得关注。

另一个让我意外的地方是,论文里那个1.7B模型翻车的实验,是很多论文不会主动放出来的"负面结果"。研究者们愿意把这段写进正式的附录,而不是藏起来,这种态度本身就值得肯定。它诚实地划出了这个方法的能力边界:这套思路不是对所有规模的模型都管用,它需要模型自己先具备一定的"读懂反馈、诚实自省"的底子。

这也带出一个更大的问题:随着AI模型规模越来越大,"自我反思"这种能力似乎正在成为一种新的、需要单独培养和检验的能力维度,它不完全等同于模型解题能力本身的强弱。一个数学做得好的模型,未必天然就擅长回头看自己错在哪。这两件事,或许值得分开来研究和训练。

如果一个AI连自己是对是错都判断不准,你还敢让它"反思"吗?

Q&A

Q1:HDL是什么?

A:HDL全称事后分歧定位,是一种让AI通过对比"知道结果前后"对自己答案的判断变化,找出关键错误位置,然后针对该位置生成多种续写方案的强化学习训练方法,能在省算力的同时提升训练效果。

Q2:HDL相比传统的GRPO训练方法能省多少成本?

A:在保持答案组数量一致的前提下,HDL最多能减少61%的生成词数,训练时的墙钟时间最多能快1.83倍,同时在数学、代码、智能体三类任务上的表现都优于GRPO。

Q3:HDL对所有规模的AI模型都管用吗?

A:不是。实验发现HDL依赖模型能否准确理解自己的错误反馈,在参数量较小的Qwen3-1.7B模型上,由于其反思判断对错的准确率大幅下降,HDL的优势基本消失,甚至不如更简单的熵定位方法。

分享至
0赞

好文章,需要你的鼓励

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