跳到主要内容

让它改自己的作业 — 以及怎么在不知道答案时给一个回答打分

这一章讲什么: 三件事。第一,打分和评测不是一回事 —— 评测时手里有标准答案, 打分时假定没有,所以要另造一把尺。第二,怎么量「模型对这个答案有多大把握」 —— 这一段是全书数学门槛最高的地方,但它的每一步都有具体的数。 第三,让模型改自己的作业:出初稿、挑毛病、照批评重写。

它在全书链条里的位置: 「不动权重」这条路的最后一站,同时是第 10、11 章的数学准备课 —— 作者自己交代了这一点:这一章讲的那套算法,下一章会直接进入训练目标。 所以这一章即使不看它那招精修,也不能跳。

需要的基础: 第 07 章那道 softmax 换算(把原始分变成加起来等于一的可能性)。

顶层全景:两句话,四个数

这一章有两条走查。主走查是一对只差最后一个词的句子,书用它把打分那套算法从头走到尾:

A:"The capital of Germany is Berlin"(对) B:"The capital of Germany is Bridge"(不知所云)

① 逐个位置问模型:「你写下这个词的可能性有多大?」
A [6.1512e-05, 4.6484e-01, 1.6724e-02, 7.3828e-01, 1.6895e-01]
B [6.1512e-05, 4.6484e-01, 1.6724e-02, 7.3828e-01, 2.9802e-07]
前四个一模一样 ↑ 只差最后一个 ↑
│ ② 全部相乘
▼ A 5.9372e-08 B 1.0481e-13
│ ③ 数太小,计算机会当成 0 —— 改成各自取对数再相加
▼ A −16.6250 B −29.8750
│ ④ 再改两处:把提示词那几个词排除掉、求平均而不是求和
▼ A −0.2041 B −3.8906 ← **这就是最终的打分**

图说:四步,每一步都有具体的数。**越接近 0 越有把握。**
第 ③ 步是这一章的技术核心,第 ④ 步是它能拿来比较不同答案的原因。

另一条走查在第 5、6 节:让模型把一道答错的题改对。

1. 打分和评测不是一回事:为什么不能用第 05 章那把尺子

这是这一章第一个、也是最容易被跳过的关卡。

读者会立刻问:第 05 章不是已经有验证器了吗,为什么还要另造?

这一章要造的东西有个名字:一段拿一个回答、吐出一个分数的代码,这一行就叫打分器。

书的回答一句话说完1:

我们造一把打分器、而不用第 3 章那个验证器,是因为这里假定不知道正确答案。 验证器只在「拿现成的测试集做评测」时才用得上。

把这条区分摆成一张表就清楚了:

评测(第 05 章)打分(这一章)
手里有标准答案吗假定没有
用来干什么事后量一个方法好不好当场从几个候选里挑一个,或者判断改动是不是变好了
判据对 / 错一个分数

这一区分为什么要紧: 你在真实场景里用模型的时候,手上永远没有标准答案 —— 有的话你也不用问它了。所以「不知道答案的前提下怎么判好坏」才是实用的问题。

书还交代了这一章为什么值得存在2:上一章那招投票虽然简单, 但它常常带来很大的提升,所以在「准确率比等待时间更重要」的场景里已经是常见选择; 书举了两个当代的例子(DeepSeekMath-V2 和 Google Gemini 3 的 Deep Think 模式)。

它的硬伤只有一条:多数投票要求答案短到能互相比较3而这一章这招没有这个限制 —— 它只改进一个答案。

作者还提前打了招呼4:这一章会花很大篇幅讲那套「有多大把握」的算法, 因为它在下一章实现训练方法时还要再用,而且那时它不再只是一个打分信号, 会成为训练目标的一部分。 ——这是全书最重要的一处伏笔。记住它,第 11 章会兑现。

2. 第一把尺:只看格式和长度

先造最土的一把。它只看两件事,加起来就是分数5:

看什么给几分
答案能干净地装在 \boxed{} 里抠出来+2.0
抠不出框,但至少含一个数+1.0
两样都没有+0.0
另加一项:答案越短,加分越多最多 +1.5

那个「越短加分越多」不是按长度均匀往下减的,而是一开始掉得很快、后面越来越平: 短答案能拿到接近 1.5 分,而超过 1000 个字符的只剩 0.2 分以下6

书对这几个数的口径写得很清楚,这段值得记5:

绝对的数值不重要,重要的是它们之间的比例。 框里那 2.0 分特意定得比 1.0 大,是为了让「干净的答案框」优于「只抠得出一个数」; 而简短那一项上限只有 1.5,所以它主要用来在质量相近的答案之间打破平局, 而不是压过前面那两项。

跑出来的数。 书拿两个都答对 83 的回答比7:

回答长度分数
长的那个1419 个字符2.088
短的那个533 个字符2.517 ← 胜出

但「短就一定好吗」?书自己给了保留

这一段很诚实,不该被删掉8:

短的不一定更好。 两个回答都答对时,哪个更好并不好判 —— 那往往取决于人的偏好:清晰度、有用性、中间步骤对不对。 给中间步骤打分仍然是一个活跃的研究方向;而专门给推理过程打分的那类模型, 在实践中并不总是产出更好的结果。 唯一确定的一件事是:质量相当时,短的更便宜 —— 因为要生成的小块更少。

——「专门给推理过程打分的那类模型不总是更好」这一条要记住。 第 10 章会看到 DeepSeek 团队试过这条路并且失败了,而第 14 章末尾又会看到它被翻转。

3. 第二把尺:量「模型对这个答案有多大把握」

这是全章的技术核心,也是第 11 章要用的东西。

思路很朴素9:模型在每个位置上都会把可能性分给所有候选的下一个词; 如果一个答案里的词始终拿到高可能性,说明这个答案很合模型自己的口味。

走查第 ① 步。 拿那对句子逐位置去问,得到两串数10:

A "The capital of Germany is Berlin"
[6.1512e-05, 4.6484e-01, 1.6724e-02, 7.3828e-01, 1.6895e-01]
B "The capital of Germany is Bridge"
[6.1512e-05, 4.6484e-01, 1.6724e-02, 7.3828e-01, 2.9802e-07]
前四个完全一样 ↑
最后一个:0.16895 对 0.00000029802 —— 差了约 56 万倍

6.1512e-05 这种写法读作「6.1512 乘以 10 的负 5 次方」,也就是 0.000061512。 数太小的时候用这种写法更省事。)

走查第 ② 步:把每个位置的可能性全部相乘,得到「整句话被这样写出来的可能性」10:

A → 5.9372e-08 ( = 0.000000059372 )
B → 1.0481e-13 ( = 0.00000000000010481 )

A 比 B 大了五十多万倍。判断是对的:模型确实更认可 Berlin 那句。

但这条路走不下去:连乘会把数压到零

问题很实在11:

一串数连乘,结果会迅速趋近于零。 而计算机存数的位数有限, 数一旦太小,就会被直接舍成 0 —— 有用的信息就此丢掉。 这个现象叫下溢。

上面那个例子才 5 个词,B 就已经小到 1.0481e-13 了。 一个几百个词的回答,连乘下来必然归零。

改法只有一个,但要先认一个数学动作。 问「这个数是 10 的几次方」, 得到的那个次方数就叫对数 —— 0.0001 是 10 的 −4 次方,它的对数是 −4; 0.000001 的是 −6。一个越来越小的数,这样换算之后只是越来越负, 而不会挤成一团贴着 0。(书里用的是以自然常数为底的那一种,但这不影响理解。)

于是改法是这样11:

给每个可能性各自取对数,然后相加(而不是把可能性直接相乘)。

为什么这么改就行,书给了两条理由12:

理由说明
数值稳很小的可能性取完之后,落在一个正常的数值范围里,不会被舍成 0
乘法变加法取对数把连乘变成连加,很长的一串词也稳

走查第 ③ 步13:

A 逐词的对数值 [-9.6875, -0.7695, -4.0938, -0.3008, -1.7812] → 相加 **−16.6250**
B 逐词的对数值 [-9.6875, -0.7695, -4.0938, -0.3008, -15.0000] → 相加 **−29.8750**

这套数有个名字:对数概率(log-probability)。它是这本书后半部分最常出现的量。

一条必须当场建立的直觉,书写得很清楚14:

可能性是越大越好;而对数概率是越接近 0 越好 —— 0 对应可能性等于 1,非常负的值对应极小的可能性。

书还给了一条代码级的口径,顺带附了一句警告15: 从「相乘」版改到「取对数再相加」版只要改两处; 而混搭(比如取了对数还去相乘)写出来照样能跑,数学上却是错的。

三处必须原样保留的辨析

书在这一节开了三个边栏,每一个都在防一种误读。

辨析一:打分不是生成。

算这些数的时候整句话已经存在了;我们只是回过头去问模型 「如果是你写,这几个词各有多大可能性」。这一步不采样、模型不挑任何词。 它是一次回溯性的打分,不是一个生成步骤16

辨析二:贪心解码并不保证得到「整体可能性最高」的那句话。

某一步看着次优的词,可能通向后面一串可能性很高的词;反过来, 每一步都只挑眼下最好的那个(这种只顾眼下的选法就叫局部最优), 也可能把模型带进后面处处都很憋屈的死胡同17而且就算真找到了整体可能性最高的那一句,也不保证它是对的 —— 只能说明「在模型自己的口味下它最受偏爱」18

辨析三:同一批数,有两个名字。 统计学里,「概率」说的是「给定模型,某件事有多可能发生」; 而「给定看到的数据、这个模型解释得多好」是另一个量,它就叫似然

书的裁定是: 模型给出的下一个词的可能性,技术上确实是概率; 而把它们连乘起来的那个结果,常被叫作「序列似然」19

一条贯穿全章的警告

书在三个地方重复了同一句话,可见它有多要紧20:

模型「有把握」不等于「对」。 高分只说明这个答案很符合它学到的模式,不代表它是真的、对的、有用的。

这句话在第 6 节会变成一个具体的实验结果。

4. 还要再改两处,这把尺才能真用

上一节那个 −16.6250 还不能直接拿来比较不同的答案。书改了两处21:

改动为什么
把提示词那几个词排除掉提示词是我们给的,不是模型答的 —— 拿它算分毫无意义
求平均,而不是求和否则长答案天然吃亏:每多一个词就多加一个负数,答案越长分越低

走查第 ④ 步,改完之后的两个分数22:

回答分数
" The capital of Germany is Berlin."−0.2041
" The capital of Germany is Bridge."−3.8906

主走查到此走完。这两个数就是这把尺子最终的读数。

记住「求平均」这个选择,因为第 11 章会把它改回「求和」,而且理由很硬。 那里要打分的不是「哪个答案更好」,而是「产生整条回答的可能性有多大」—— 一字之差,含义完全不同。

5. 自我精修:三步,都是同一个模型换个提示词

现在用上面那把尺子,做这一章标题上的那件事。

书说得很朴素:这套流程看着复杂,其实就是把同一个生成函数在不同的提示词上依次调几遍23

三步走查(还是那道「3x−9 的一半等于 x+37」,答案 83):

① 出初稿:正常问它
▼ 它答 "\boxed{18}" ← **错了**

② 挑毛病:把「原题 + 初稿」塞进一个新的提示词 ——
「你是一个严谨的审稿人,找出逻辑错误、缺失的步骤或算术错误,
写一段短评和要点式的修正方案(120 词以内)」
▼ 它写出一段批评,而且**批评里直接把正确解法算了出来**:
「……方程应该是 (1/2)(3x−9) = x+37」

③ 照批评重写:把「原题 + 初稿 + 批评」塞进第三个提示词,
要求末尾给出 \boxed{答案}
▼ 它答 "\boxed{83}" ← **对了**

每一步的出处都在书里24注意:从头到尾只有一个模型,没有第二个模型参与。 变的只有提示词。

一条很有价值的判断:批评本身可以是错的

书专门指出了这一点25:

批评本身可以包含事实性错误 —— 但只要它整体上把模型推向更好的修订,它仍然有用。

这条判断很反直觉,也很实用:你不需要一个完美的审稿人,你只需要一个能指出方向的审稿人。

一处书自己的不一致,我们照实说明: 书在这句话里举的例子是 「批评里说『这道题本身不完整』,而这句话并不成立」—— 但书前面印出来的那段批评原文里没有这句话,写的是 「这道题的设定里似乎有一处逻辑错误」26两处对不上,是早期试读版的疏漏。 我们保留作者的观点(批评可以有错但仍有用), 不引那句对不上的原话。

6. 做成循环,以及那把尺子怎么当把关人

书把三步做成了一个可以反复跑的循环,多了两样东西27:

加了什么干什么
轮数参数可以反复精修好几轮
可插拔的打分器只有当新答案的分数不低于旧的,才接受这次修订

书当场承认这个把关会失灵28:

自我精修跑多轮反而可能变差;而打分器不一定能改善结果 —— 用哪一把、要不要用,得在 MATH-500 这样的题库上试出来。

两轮循环的实测,是绝好的走查素材29:

修订前修订后分数变化判定
第 1 轮10(错)83(对)−0.855 → −0.226变好,接受
第 2 轮8383−0.226 → −1.320变差

书的解读:第二轮分数变差没关系,因为正确答案已经拿到了29

——但这句话反过来读更有意思:如果第二轮把对的改成了错的呢? 那就要靠那个「分数不低于旧的才接受」的把关。而下一节会看到,这个把关本身并不可靠。

7. 成绩单:不打分反而最好,而「有把握」那把尺最差

全部 500 道题跑出来的表,前七行是 base 模型30:

#做法用哪把尺轮数准确率耗时
1基线15.2%10.1 分钟
2自我精修不打分125.0%84.8 分钟
3自我精修不打分222.0%165.4 分钟
4自我精修格式和长度121.6%84.7 分钟
5自我精修格式和长度220.8%151.4 分钟
6自我精修有多大把握121.4%85.3 分钟
7自我精修有多大把握222.0%165.3 分钟

后四行是官方推理版30:

#做法用哪把尺准确率耗时
8基线48.2%182.1 分钟
9自我精修不打分56.6%498.8 分钟
10自我精修格式和长度57.8%498.6 分钟
11自我精修有多大把握48.4%499.7 分钟

四条结论,书都明说了:

① 在 base 模型上,不打分反而最好(25.0%)。 书的解释:两种打分器都可能让错的答案盖掉本来正确的初稿31

② 多跑一轮通常更差(第 3 行 22.0% < 第 2 行 25.0%)。

③「有多大把握」那把尺整体最差 —— base 上 21.4%(1 轮),推理版上 48.4% (比不精修的 48.2% 只高 0.2 个点,等于白跑了 300 分钟)32

这里书把话说满了一点,我们照实指出32:书的原话是 「两种情况下,这把尺都比不打分和格式尺更差」 —— 可上面那张表里, base 模型 2 轮那一行,「有多大把握」是 22.0%,反而高于格式尺的 20.8%(第 5 行对第 7 行)。 四行里有一行不成立。 推理版那三行的结论是稳的(48.4% 对 56.6% 和 57.8%,差着七八个点), base 模型 1 轮那一行也成立;所以这一节的落点不受影响,但「都」这个字下得过重。 书自己在这句话前面加了「看起来」(it seems),我们按它实际的数照实收窄: 在四组对照里,这把尺三组垫底、一组不是。

④ 加上思维链之后,自我精修救不回来 —— 书说结果没有列出来33

第 ③ 条的解释是这一章最深刻的一句

书给的原因值得原样记住32:

平均对数概率衡量的是「这个答案在模型看来有多自然、多像它预期的样子」, 而不是它对不对。 所以它会偏爱那些读起来流畅、眼熟、句子工整、意思却是错的答案 —— 换句话说,这个标准会无意中选中自信的错误。

把它和那把只看格式的尺子对照,差别就清楚了:

格式和长度那把尺:只管「答案有没有装进框里、是不是够短」
⟹ 它对内容一无所知,所以也不会替内容站错队

有多大把握那把尺:量「这句话有多像模型自己会写的」
⟹ 一个说得斩钉截铁、其实算错了的答案,恰恰最像模型会写的
⟹ **它被这把尺子选中的机会更大**

图说:这就是「自信的错误」被选出来的完整机制。
**一把量「像不像」的尺子,永远量不出「对不对」。**

8. 落点:这一招不如投票,而它的天花板在哪里

书自己把两章的表放在一起比了34:

在这个模型、这个任务上,自我精修不如投票(25.0% 对 52.0%)。 投票之所以仍然被广泛使用,是因为它简单却真的管用。

但书在最后给了这一招的天花板在哪里,而且是一条很新的证据35:

2025 年 11 月,DeepSeek 团队用 DeepSeekMath-V2 证明了: 用第二个模型来做自我精修可以非常成功,在多个数学竞赛上拿到金牌级的成绩。 他们的做法是专门训练一个「批评模型」,同时把原来那个解题的模型也训得更擅长在这种情境下答题。

差别一句话:这一章的自我精修完全没有额外训练,而那套做法训了。

这一章:一个模型 + 三个提示词 + 零训练 ⟹ 25.0%
DeepSeekMath-V2:专门训一个批评模型 + 训基础模型 ⟹ 数学竞赛金牌级

图说:同一个想法(让它改自己的作业),差别全在有没有额外训练。
**而「额外训练」正是接下来五章的题目。**

到这里,不动权重能拿的基本拿完了(最高 52.0%,代价 862.6 分钟)。 要再往上,只能动模型本身 —— 第 10 章开始。

作者的判断与证据

说法性质
那两串可能性、两个联合可能性、两组对数值、−0.2041 / −3.8906书里印出来的实测
2.088 与 2.517 那两个分数书里印出来的实测
两轮循环 10 → 83 → 83,分数 −0.855 → −0.226 → −1.320书里印出来的实测
表 5.1 全部十一行书里的实测,同一台机器、同一批 500 道题
打分和评测的区分作者的方法论区分,是这一章的地基
那几个奖励分数(2.0 / 1.0 / 1.5)怎么定作者的设计取舍,他自己说绝对值不重要
「短的不一定更好」作者的保留,他把话说得很满:这取决于人的偏好
取对数的两条理由技术事实,不是判断
批评可以有错但仍然有用作者的判断,只有一个例子支撑
「有多大把握」那把尺会偏爱自信的错误作者的解释,措辞是「很可能」;表里的数在四组对照里有三组支持它(推理版那三行差着七八个点,最硬),但 base 模型 2 轮那一行不支持
「两种情况下这把尺都更差」书把话说满了一格 —— 见第 7 节那个照实说明的块
自我精修不如投票有证据,两张表放在一起就是
DeepSeekMath-V2 的金牌级成绩作者引用的外部结果,不是他自己复现的
批评原文与引文对不上这是我们发现的,书没有承认(见第 5 节末尾)
「都更差」和表 5.1 对不上一行这是我们发现的,书没有承认(见第 7 节第 ③ 条下面那个块)

判断(我们的,不是书里的): 这一章最该带走的不是那招精修(它输给了上一章), 而是那把「有多大把握」的尺子为什么失败这是一条能迁移到很多地方的教训: 凡是用「模型自己觉得这答案怎么样」来当质量信号的做法 (打分、挑最优、当裁判),都会继承同一个毛病 —— 它量的是「像不像」,不是「对不对」。 而「像」和「对」在模型学过的分布里高度相关,恰恰在它出错的时候最不相关。 如果错,会错在: 书只在一个 6 亿参数的小模型和一个数学题库上量了这件事。 更大的模型上,「像」和「对」可能靠得更近,这把尺子未必这么差 —— 书没有做这组对照,我们也没有别的数据。

边界与局限

  1. 两把尺子都很简陋。 一把只看格式和长度,另一把只看模型自己的偏好。 书没有做「第三种打分器」 —— 让另一个模型当裁判那一种放在附录里(第 05 章末尾提过)。
  2. 这一章的实验没有重复取平均。 表 5.1 每一行只跑了一次,和第 08 章那张表同样的问题。
  3. 精修只跑到 2 轮。 更多轮会怎样,书没有量。
  4. 加了思维链之后的结果「未列出」。 书只说了一句「没有改善」,没有给数。
  5. 批评那段提示词是作者写的一个版本。 换个写法会怎样,书没有讨论 —— 考虑到第 05 章量过的「提示词敏感」,这可能是个不小的影响因素。
  6. 书里有一处引文和它印出来的输出对不上(第 5 节末尾),引用这一段时要当心。
  7. DeepSeekMath-V2 那条是引用,不是复现。 它需要额外训练,不在这本书的范围内。

可带走的

  1. 打分和评测是两回事:评测时有标准答案,打分时假定没有。 真实场景里你永远处在后一种情况。
  2. 最土的打分器往往够用: 能不能干净地抠出答案(+2)、抠不出但有个数(+1)、 再加一个最多 1.5 分的「短一点」奖励。绝对值不重要,相对比例才重要。
  3. 「短的更好」只在一种意义上成立:质量相当时,短的更便宜。 书明确保留了「短就一定好」这个说法。
  4. 想量「模型对这个答案有多大把握」,就把答案里每个词的可能性连乘起来。 但连乘会下溢 —— 数小到被计算机当成 0,信息就丢了。
  5. 所以改成各自取对数再相加。 这套数叫对数概率,越接近 0 越有把握。 取对数把连乘变成连加,长序列也稳。
  6. 拿它比较不同答案还要再改两处:排除提示词、求平均而不是求和。 不求平均的话,长答案天然吃亏。(第 11 章会把这一条改回去,理由完全不同。)
  7. 打分不是生成:序列已经存在,你只是回头去问模型「你会怎么评价这几个词」。 这一步不采样、不挑词。
  8. 贪心解码不保证得到整体可能性最高的那句话 —— 局部最优可能通向死胡同。
  9. 自我精修 = 一个模型 + 三个提示词:出初稿 → 当审稿人挑毛病 → 照批评重写。 不需要第二个模型。
  10. 批评本身可以是错的,仍然有用 —— 只要它整体上把模型推向更好的修订。
  11. 加一个打分器把关,可能反而更差。 base 模型上不打分最好(25.0%), 因为打分器会让错答案盖掉本来正确的初稿。
  12. 最要紧的一条:「模型很有把握」不等于「答对了」。 那把尺子量的是「这答案有多像模型预期的样子」—— 所以它会偏爱那些流畅、自信、其实答错了的答案。
  13. 这一招在这本书里输给了投票(25.0% 对 52.0%)。 但它的天花板在别处:专门训一个批评模型,可以做到数学竞赛金牌级 —— 差别就在有没有额外训练。

原文地图

主题原书章原文位置
投票的优点与那条硬伤5.1 Scoring and iteratively improving model responsestext/36-ch05-01-5-1-scoring-and-iteratively-improving-model-resp.txt:32(搜「DeepSeekMath-V2」) · :38(搜「majority voting requires short answers」)
这一章是下一章的准备课同上text/36-ch05-01-5-1-scoring-and-iteratively-improving-model-resp.txt:75(搜「relevant in the next chapter」)
「短就一定好吗」的保留5.2 Loading a pre-trained modeltext/37-ch05-02-5-2-loading-a-pre-trained-model.txt:205(搜「A shorter response is not necessarily better」) · :211(搜「process reward models」) · :217(搜「shorter responses are cheaper」)
规则式打分器5.3 Scoring LLM responses with a rule-based scoretext/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:52(搜「def heuristic_score」) · :80(搜「brevity_bonus」)
分数怎么定的口径同上text/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:105(搜「The absolute values are not very important」)
为什么不用第 3 章的验证器同上text/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:118(搜「we assume we don't know the true answer」)
简短奖励的衰减同上text/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:176(搜「longer than 1,000 characters」)
2.088 与 2.517同上text/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:207(搜「2.088」) · :220(搜「2.517」)
「有多大把握」的思路5.4 Understanding token probability scorestext/39-ch05-04-5-4-understanding-token-probability-scores.txt:7(搜「confidence means model-assigned probability」)
有把握不等于对同上text/39-ch05-04-5-4-understanding-token-probability-scores.txt:86(搜「confidence does not automatically imply correctness」) · :443(搜「not a calibrated probability of correctness」)
打分不是生成同上text/39-ch05-04-5-4-understanding-token-probability-scores.txt:227(搜「retrospective scoring procedure」)
贪心不保证整体最优同上text/39-ch05-04-5-4-understanding-token-probability-scores.txt:239(搜「is guaranteed to produce the sequence with the highest overall probability」) · :245(搜「the sequence the model itself prefers most」)
两串可能性与两个联合值同上text/39-ch05-04-5-4-understanding-token-probability-scores.txt:385(搜「Next-token probabilities」) · :387(搜「5.9372e-08」) · :418(搜「1.0481e-13」)
概率与似然的辨析同上text/39-ch05-04-5-4-understanding-token-probability-scores.txt:464(搜「both terms, "probability" and "likelihood"」)
对数概率越接近 0 越好5.5 From token probability scores to log-probabilitiestext/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:195(搜「values closer to zero are better」)
取对数的两条理由 · 下溢同上text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:220(搜「turns this multiplication into addition」) · :278(搜「numerical underflow」)
只要改两处 · 混搭是错的同上text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:318(搜「two small changes」) · :331(搜「mathematically incorrect」)
−16.6250 与 −29.8750同上text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:403(搜「-16.6250」) · :434(搜「-29.8750」)
再改两处:排除提示词、求平均5.6 Scoring model confidence with log-probabilitiestext/41-ch05-06-5-6-scoring-model-confidence-with-log-probabilit.txt:26(搜「exclude the prompt from the score calculation」)
−0.2041 与 −3.8906同上text/41-ch05-06-5-6-scoring-model-confidence-with-log-probabilit.txt:197(搜「-0.2041」) · :216(搜「-3.8906」)
它会偏爱自信的错误同上text/41-ch05-06-5-6-scoring-model-confidence-with-log-probabilit.txt:234(搜「favor confident mistakes」)
三步都是同一个模型5.7 Self-refinement through iterative feedbacktext/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:39(搜「sequential application of the text generation function」)
初稿答 18(错)同上text/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:90(搜「which is an incorrect answer」)
批评的提示词与批评内容同上text/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:106(搜「def make_critique_prompt」) · :140(搜「logical error in its setup」)
批评可以有错但仍有用同上text/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:154(搜「a critique can still be useful even if parts of it are wrong」)
精修的提示词同上text/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:170(搜「def make_refine_prompt」)
打分把关与它会失灵5.8 Coding the self-refinement looptext/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:26(搜「self-refinement can also produce worse answers」) · :39(搜「Scoring does not always improve the results」) · :168(搜「revised_score >= current_score」)
两轮循环的实测同上text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:286(搜「[Refinement 1/2]」) · :303(搜「the score improved from -0.855 to -0.226」)
表 5.1 十一行同上:336(搜「Table 5.1」) · :392(搜「25.0%」) · :409(搜「22.0%」) · :426(搜「21.6%」) · :443(搜「20.8%」) · :460(搜「21.4%」) · :516(搜「56.6%」) · :533(搜「57.8%」) · :550(搜「48.4%」),均在 text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt
不打分反而最好 · 思维链救不回来同上text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:567(搜「when no scoring is used」) · :573(搜「results not shown」)
为什么那把尺最差同上text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:585(搜「how natural or expected an answer looks」)
不如投票同上text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:597(搜「less effective than self-consistency」)
DeepSeekMath-V2同上text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:609(搜「gold-level performance」)

Footnotes

  1. 出处:「5.3 Scoring LLM responses with a rule-based score」第 118 段(text/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:118,搜「we assume we don't know the true answer」)。

  2. 出处:「5.1 Scoring and iteratively improving model responses」第 32 段(text/36-ch05-01-5-1-scoring-and-iteratively-improving-model-resp.txt:32,搜「DeepSeekMath-V2」)。原文举的两个当代例子是 DeepSeekMath-V2 和 Google Gemini 3 的 Deep Think 模式,出处清单在附录 A。

  3. 出处:「5.1 Scoring and iteratively improving model responses」第 38 段(text/36-ch05-01-5-1-scoring-and-iteratively-improving-model-resp.txt:38,搜「majority voting requires short answers」)。

  4. 出处:「5.1 Scoring and iteratively improving model responses」第 75 段(text/36-ch05-01-5-1-scoring-and-iteratively-improving-model-resp.txt:75,搜「relevant in the next chapter」)。原文明说:那套概念在下一章实现强化学习时还会用到,而且那时它会成为训练目标的一部分,所以这一章要花很大篇幅讲它。

  5. 出处:「5.3 Scoring LLM responses with a rule-based score」第 52 段(text/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:52,搜「def heuristic_score」)是那个函数;第 105 段(text/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:105,搜「The absolute values are not very important」)是那段口径。 2

  6. 出处:「5.3 Scoring LLM responses with a rule-based score」第 80 段(text/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:80,搜「brevity_bonus」)与第 176 段(text/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:176,搜「longer than 1,000 characters」)。

  7. 出处:「5.3 Scoring LLM responses with a rule-based score」第 207 段(text/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:207,搜「2.088」)与第 220 段(text/38-ch05-03-5-3-scoring-llm-responses-with-a-rule-based-scor.txt:220,搜「2.517」)。两个回答的字符数出自同一节 5.2 的输出。

  8. 出处:「5.2 Loading a pre-trained model」第 205 段(text/37-ch05-02-5-2-loading-a-pre-trained-model.txt:205,搜「A shorter response is not necessarily better」)、第 211 段(text/37-ch05-02-5-2-loading-a-pre-trained-model.txt:211,搜「process reward models」)与第 217 段(text/37-ch05-02-5-2-loading-a-pre-trained-model.txt:217,搜「shorter responses are cheaper」)。「专门给推理过程打分的那类模型」原文写作 process reward models(过程奖励模型)。

  9. 出处:「5.4 Understanding token probability scores」第 7 段(text/39-ch05-04-5-4-understanding-token-probability-scores.txt:7,搜「confidence means model-assigned probability」)。

  10. 出处:「5.4 Understanding token probability scores」第 385 段(text/39-ch05-04-5-4-understanding-token-probability-scores.txt:385,搜「Next-token probabilities」)与第 387 段(text/39-ch05-04-5-4-understanding-token-probability-scores.txt:387,搜「5.9372e-08」)是 A 那句;第 416 段(text/39-ch05-04-5-4-understanding-token-probability-scores.txt:416,搜「1.6724e-02」)与第 418 段(text/39-ch05-04-5-4-understanding-token-probability-scores.txt:418,搜「1.0481e-13」)是 B 那句。 2

  11. 出处:「5.5 From token probability scores to log-probabilities」第 278 段(text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:278,搜「numerical underflow」)。原文用大白话解释了下溢:数太小的时候,计算机可能把它直接舍成零,有用的信息就丢了。 2

  12. 出处:「5.5 From token probability scores to log-probabilities」第 220 段(text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:220,搜「turns this multiplication into addition」)。

  13. 出处:「5.5 From token probability scores to log-probabilities」第 401 段(text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:401,搜「Next-token log-probabilities」)与第 403 段(text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:403,搜「-16.6250」);B 那句在第 432 段(text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:432,搜「-9.6875」)与第 434 段(text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:434,搜「-29.8750」)。

  14. 出处:「5.5 From token probability scores to log-probabilities」第 195 段(text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:195,搜「values closer to zero are better」)。

  15. 出处:「5.5 From token probability scores to log-probabilities」第 318 段(text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:318,搜「two small changes」)与第 331 段(text/40-ch05-05-5-5-from-token-probability-scores-to-log-probabi.txt:331,搜「mathematically incorrect」)。

  16. 出处:「5.4 Understanding token probability scores」第 227 段(text/39-ch05-04-5-4-understanding-token-probability-scores.txt:227,搜「retrospective scoring procedure」)。这是书里的一个边栏。

  17. 出处:「5.4 Understanding token probability scores」第 239 段(text/39-ch05-04-5-4-understanding-token-probability-scores.txt:239,搜「is guaranteed to produce the sequence with the highest overall probability」)。

  18. 出处:「5.4 Understanding token probability scores」第 245 段(text/39-ch05-04-5-4-understanding-token-probability-scores.txt:245,搜「the sequence the model itself prefers most」)。

  19. 出处:「5.4 Understanding token probability scores」第 464 段(text/39-ch05-04-5-4-understanding-token-probability-scores.txt:464,搜「both terms, "probability" and "likelihood"」)。这是书里的一个边栏,作者还给了自己一篇专门讲这个区分的科普文。

  20. 出处:「5.4 Understanding token probability scores」第 86 段(text/39-ch05-04-5-4-understanding-token-probability-scores.txt:86,搜「confidence does not automatically imply correctness」)与第 443 段(text/39-ch05-04-5-4-understanding-token-probability-scores.txt:443,搜「not a calibrated probability of correctness」);第三处在「5.6 Scoring model confidence with log-probabilities」第 234 段(text/41-ch05-06-5-6-scoring-model-confidence-with-log-probabilit.txt:234,搜「favor confident mistakes」)。

  21. 出处:「5.6 Scoring model confidence with log-probabilities」第 26 段(text/41-ch05-06-5-6-scoring-model-confidence-with-log-probabilit.txt:26,搜「exclude the prompt from the score calculation」)。

  22. 出处:「5.6 Scoring model confidence with log-probabilities」第 197 段(text/41-ch05-06-5-6-scoring-model-confidence-with-log-probabilit.txt:197,搜「-0.2041」)与第 216 段(text/41-ch05-06-5-6-scoring-model-confidence-with-log-probabilit.txt:216,搜「-3.8906」)。

  23. 出处:「5.7 Self-refinement through iterative feedback」第 39 段(text/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:39,搜「sequential application of the text generation function」)。

  24. 出处:「5.7 Self-refinement through iterative feedback」第 90 段(text/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:90,搜「which is an incorrect answer」)是初稿答 18;第 106 段(text/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:106,搜「def make_critique_prompt」)是批评那段提示词(「严谨的审稿人」「120 词以内」都出自它);第 140 段(text/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:140,搜「logical error in its setup」)是批评的原文,里面确实把正确的方程写了出来;第 170 段(text/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:170,搜「def make_refine_prompt」)是精修那段提示词。

  25. 出处:「5.7 Self-refinement through iterative feedback」第 154 段(text/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:154,搜「a critique can still be useful even if parts of it are wrong」)。

  26. 出处:同上第 154 段引用的那句话,与第 140 段(text/42-ch05-07-5-7-self-refinement-through-iterative-feedback.txt:140,搜「logical error in its setup」)印出来的批评原文对不上。这处不一致是我们通读时发现的,书没有承认也没有解释。

  27. 出处:「5.8 Coding the self-refinement loop」第 168 段(text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:168,搜「revised_score >= current_score」)。那一行就是「分数不低于旧的才接受」这条规则本身。

  28. 出处:「5.8 Coding the self-refinement loop」第 26 段(text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:26,搜「self-refinement can also produce worse answers」)与第 39 段(text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:39,搜「Scoring does not always improve the results」)。

  29. 出处:「5.8 Coding the self-refinement loop」第 286 段(text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:286,搜「[Refinement 1/2]」)是那两轮的输出;书的解读在第 303 段(text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:303,搜「the score improved from -0.855 to -0.226」)。注意:书在 5.8 节开头的图 5.21 里用的是另一组数(−1.258 → −0.377),那是示意图上的例子,和这里跑出来的两轮不是同一次运行。 2

  30. 出处:表 5.1,「5.8 Coding the self-refinement loop」第 336 段起(text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:336,搜「Table 5.1」)。十一行的准确率见「原文地图」那一行列出的地址。 2

  31. 出处:「5.8 Coding the self-refinement loop」第 567 段(text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:567,搜「when no scoring is used」)。

  32. 出处:「5.8 Coding the self-refinement loop」第 585 段(text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:585,搜「how natural or expected an answer looks」)。原文的措辞是「很可能是因为」(likely because),并明说这个标准会偏爱那些流畅、熟悉、语法干净但语义错误的答案。「都最差」这句话出自同一段的开头(同一地址,搜「worse performance than no scorer」),原文是「两种情况下,平均对数概率打分看起来都比不打分或格式尺更差」。这句话和表 5.1 对不上一行: base 模型 2 轮那两格的数见「原文地图」列出的地址(格式尺 20.8%、有多大把握 22.0%)。这处松动是我们通读时发现的,书没有承认也没有解释 —— 和第 07 章那处贪心口径写反、第 08 章那处 862.9 对 862.6 一样,属于早期试读版的粗糙,我们按表里的数说话。 2 3

  33. 出处:「5.8 Coding the self-refinement loop」第 573 段(text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:573,搜「results not shown」)。

  34. 出处:「5.8 Coding the self-refinement loop」第 597 段(text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:597,搜「less effective than self-consistency」)。

  35. 出处:「5.8 Coding the self-refinement loop」第 609 段(text/43-ch05-08-5-8-coding-the-self-refinement-loop.txt:609,搜「gold-level performance」)。原文明说他们训练了一个专门的批评模型,并把基础模型也训得更擅长在自我精修的情境下解题 —— 而本章这一招完全没有额外训练,这是关键差别。