「LLM 是不是下一词元预测器」,这问题最近又被拎出来问了一遍。
简单说,这话不算错。它只是把外形说完了,里子一个字没提。
这个月初,Garrin McGoldrick 写了篇文章专门拆它,第二天又改了一版。作者自述是机器学习研究者、软件工程师,再往前是搞粒子物理的。博客上标着"进行中的笔记",看着就是随手记的那种。他自己也很客气:这话不算严格错误,只能当零阶近似用。翻成白话,拿它当入门的第一层理解可以,拿它当结论不行。
预训练那半段,这句话是准的
预训练的概念循环好讲。模型把前面的词元读一遍,然后让训练数据里实际跟着出现的那个词元,变得更容易被采到。
每个序列、每个位置,都这么来一遍。
底下当然有损失函数、有梯度、有参数更新。那部分不是这篇文章要讲的,他讲的是联合效果:谁在数据里出现过,谁就被抬一手。
所以这个阶段管基础模型叫下一词元预测器,没什么可挑的。它的训练目标本来就是这个。
麻烦在后半段
人们实际用的模型不是裸的基础模型,后面还有一整套后训练。现代后训练里有一块很关键的东西,叫带可验证奖励的强化学习,缩写 RLVR。
推理的时候它当然还是一个一个吐词元,表面看还是那个形态。训练的时候已经不是了。
RLVR 里没有一个"正确的下一词元"摆在那儿等着被预测。任务换成了:模型自己探出一段序列,跑一遍,看结果拿多少奖励。
拿到高奖励的那条序列,里面每个词元都被抬一手。理由不是它出现在数据里,而是它带着这条路径赢了。
差别比看上去大。预训练是"数据里有,所以抬它"。RLVR 是"这么走能赢,所以抬它"。
抬的动作是同一个动作。理由完全不是一回事。
作者那个象棋类比,是全文最值钱的
第一种系统,在大量大师对局上训练。给它一个局面,它预测大师最可能走的下一步。管它叫下一招预测器,没争议。
第二种是个理想化的引擎。它把可能的走法都探过,知道每个局面的获胜概率,然后挑胜率最高的那步走。它还从自己下出来的棋里学,不只靠大师下过的棋。
管第二种叫下一招预测器就很怪。它不是在猜数据集里的下一步,它是在挑能赢的那步。
我第一遍读到这里,觉得是在抠字眼。把 RLVR 那段对着这个类比再读一遍,就不太像抠字眼了。
同一句口头禅,为什么值得较真
"下一词元预测器"描述的是机制的样子:一次输出一个词元。它没说这个机制里装了什么。
装的东西可以是"模仿预训练数据"。RLHF 大致偏这一头,让模型从整体模仿语料,转向模拟一个有用的助手。
RLVR 走得更远。它让模型去碰训练数据里根本没出现过的解法。
同一个下一词元循环,装两种完全不同的东西。你说它是预测器,只说了这个循环的壳。
所以我的看法是:这句话还能用来解释机制,不能用来解释能力。
其实我想说得更直一点。每次看到有人拿这句话一笔带过某个模型的能力边界,我都觉得是在偷懒。这话听着舒服,因为它把一个说不清的东西压成了一句能重复的话。它压掉的那部分,恰好是这两年变化最大的那部分。
这个判断我拿不出什么充分论证,就是东西看多了以后的直觉。先放在这里。
一条小到快看不见的细节
作者后来加了段编辑说明。标题是照 Hacker News 社区的习惯改的,正文也微调过,主要是把推理和训练分清。尤其是 RLVR 那块,讲法改成了最大化奖励,不再是"预测数据里的下一词元"。
连作者自己都得靠读者提醒,才把这段讲得更准。可见这个区分有多容易滑过去。
有一条我确实没吃透
RLVR 里那个"探索"到底怎么个探索法,奖励怎么算、什么才算可验证,文章没细讲。我也只懂个大概,不敢在这儿硬撑。先放着,等我搞明白再补一句。有懂行的愿意回来给我讲讲,更欢迎。
上面这些收在一起,就为了一件事:把一个被讲得太顺口的词,稍微还原一下它的边界。
本周就这些。哪条你觉得我讲错了,或者讲偏了,欢迎告诉我。讲错的我补,没讲清的我改。
下周见。