大型语言模型(LLMs)并非只是在预测下一个词
LLMs科普内容,关于LLMs如何被训练及机制。
前言
本文为搬运内容,原文链接戳这里。原作者:Harys Dalvi。
内容涉及具体技术细节较少,更多是对于现阶段LLMs的理解与剖析。不同训练方式及不同阶段的LLMs或许是完全不同的内涵的事物。
预计阅读时长:15分钟
正文
很久以前,牛顿发现了一个关于引力的方程。令人惊讶的是,这个方程非常简单(最多只是高中代数水平),却能不仅预测行星和卫星的椭圆轨道,还能解释地球上苹果的下落。
尽管牛顿的引力公式既强大又简洁,但它仍然存在一些小问题。其中最著名的就是水星轨道的偏差无法被解释。爱因斯坦在提出广义相对论后解决了这个问题,他的理论还预测了黑洞和引力波的存在。
你可能听过这样一句话:“LLMs 只是预测下一个词的统计模型。”就像牛顿的引力理论一样,这确实是一个相当准确的近似,但背后还有更深层的机制值得我们探索。
今天,我想从强化学习的视角来重新审视 LLMs,将其视为有“思考能力”的智能体,而不是高级的自动补全系统。我会涉及一些基础概念,比如指令微调(Instruction Finetuning)和人类反馈强化学习(RLHF, Reinforcement Learning from Human Feedback)。
我的目标不是对这些技术深入剖析,而是借助它们解释:LLMs 在多大程度上已经超越了“仅仅预测下一个词”的任务,是否已经具备某种“自主行为”的能力。接下来,我会将这一理念与当前关于 AI 智能体(AI Agents)的讨论进行对比,并探讨这对 AI 智能体未来发展的启示。
为什么说 LLMs 是在预测下一个词?
在我发表“大胆观点”之前,先简要回顾一下为什么说 LLMs 是在预测下一个词——以及这在多大程度上是真实的。
LLMs 在预训练阶段采用了所谓的“下一个 token 预测目标”(next-token objective)。这个过程真的就是在预测下一个 token。举个例子,训练数据中有一句话是:“我不喜欢绿鸡蛋和火腿”(I do not like green eggs and ham),模型接受到的训练样本可能如下所示:
- (I, do)
- (I do, not)
- (I do not, like)
- ...
- (I do not like green eggs and, ham)
也就是说,对于句子中的每个 token,模型都接收到它之前的全部内容,并必须预测下一个 token。在预训练阶段,模型会被喂入大量类似的文本,任务就是预测接下来的内容。

其中 p_y 是模型为正确下一个 token 给出的概率。[2](这个公式是从通用的交叉熵公式简化而来,但在语言建模这一特例中仍然有效。)
也就是说,如果模型为正确的下一个 token 给出概率为 1,那么损失就是 0;如果它错误地认为其他 token 更可能出现,就会产生更大的损失。

因此,在预训练过程中,模型试图最小化损失函数,也就等于最大化对下一个 token 的正确预测概率。这也是为什么 LLMs 在预测下一个 token 上如此擅长的原因。事实上,它们甚至在某些任务上比人类还要准确。
指令微调(Instruction Finetuning)
但仅仅通过让大型语言模型(LLM)在大规模文本上学习如何预测下一个词,并不足以让它成为一个合格的聊天机器人。
比如,如果你对 GPT-3 说:“写一篇关于美式足球的文章(Write an article about American football)”,它可能不会继续写一篇文章,而是按概率补全这句话,比如预测最可能的下一些 token 是:“Write an article about American football and its influence on television in America”(写一篇关于美式足球及其对美国电视影响的文章)。
这时,“指令微调”就派上用场了,也被非正式地称为 instruction tuning。
指令微调的主要目的,是提高模型在 零样本学习(zero-shot learning) 场景下的表现——即你只需要“告诉”模型要完成某个任务,而不需要给出具体的示例,它就能完成任务。
指令微调是如何进行的?
在实际操作中,指令微调使用的是一个全新的“指令数据集”,这个数据集与预训练阶段所使用的超大规模文本语料是分开的。例如,早期的指令微调代表作 FLAN,在微调阶段只使用了大约 2.5 亿个 token 的数据。而 FLAN 所基于的预训练模型使用了多达 2.49 万亿个 token。
指令微调的具体格式会根据模型的不同而有所差异。例如,以下是 Llama 3 中使用的一种格式:
<|start_header|>user<|end_header|>
Hi! I am a human.<|eot|>
<|start_header|>assistant<|end_header|>
Hello there! Nice to meet you! I'm Meta AI, your friendly AI assistant<|eot|>与预训练不同的是,模型在指令微调过程中通常只被训练去生成“回答部分”(即 assistant 标签部分),而不是对整个提示进行预测。但除了这点之外,指令微调在本质上与预训练过程是相同的,只是换成了一个专门针对“指令提示”的新数据集。
损失函数仍然相同
重要的是,损失函数依然是交叉熵(cross-entropy)。这意味着模型仍然是在被训练去预测下一个 token——尽管这次预测的是在一个精心设计的“任务式输入”下的下一步内容。
强化学习(Reinforcement Learning)
到目前为止,模型仍然是在预测下一个 token。它首先在一个大型语料库上学习如何预测(即预训练),然后在一个专门设计用于提示任务的小型数据集上进行了微调(指令微调)。
那么,“LLMs 只是用来预测下一个 token”的说法是否成立呢?
即使仅从这两个阶段出发,也可以提出一个更深层的观点:要想准确预测下一个词,模型必须在其权重中存储大量关于世界的详细信息与事实。
“预测下一个词”可能是它的损失函数目标,但为了完成这个目标,它发展出了一个丰富的内部世界。
这就好比说人类只是“基因复制的机器”,而忽略了进化过程中所催生出的复杂性。有观点认为,人类大脑本质上也只是一个高级的预测机器。
不过,以上这些内容仍然是建立在“LLM 的训练目标就是预测下一个 token”这个假设上。但实际上,在预训练和指令微调之后,LLMs 还会在一个完全不同于“预测下一个 token”的目标上进行训练——这就是强化学习(RL)登场的地方。
更准确地说,是一种叫做 人类反馈强化学习(RLHF, Reinforcement Learning from Human Feedback) 的方法。
这到底算不算真正的强化学习还存在争议(Andrej Karpathy 认为“勉强算”,Yann LeCun 则认为“不算”),但关键在于:它的训练目标已经不再是预测下一个 token,这一点对于理解模型“到底在做什么”具有重要意义。
从宏观上讲,RLHF 包括两个核心步骤:
- 生成 + 人类反馈: 首先让模型针对不同的提示生成多个输出结果。然后请人类对这些输出进行排名(这就是 RLHF 中的“人类反馈”部分)。 这些排名信息会被用于训练一个 奖励模型(reward model),它能够预测人类更倾向于哪种输出。
- 强化学习阶段: 接着,利用训练好的奖励模型来进一步训练 LLM,使其倾向于生成人类更喜欢的输出(这就是 RLHF 中的“强化学习”部分)。
我不会在这里深入讲解所有细节(可以参考 RLHF 的原始论文或专门的 RLHF 书籍),我们今天关注的问题是:“LLMs 真的只是预测下一个词吗?”
为此,关键点就在于每一步中的损失函数。
奖励建模(Reward Modeling)
RLHF 的第一步是训练一个奖励模型(reward model),该模型用于预测一个输出结果的“奖励值”——本质上就是人类认为这个输出有多好。
奖励模型的损失函数如下所示:

- 输入是一条提示 x,和两个候选输出 y_w(人类偏好的输出)与 y_l(人类较不喜欢的输出)。
- rθ 是奖励模型,它对给定输出进行评分。
- σ 是 Sigmoid 函数。
我们可以将损失函数视为 rθ(x,yw)−rθ(x,yl)(人类偏好输出相对于次优输出的评分差异)的函数,并将其绘制成图:

图中可以看出:
- 当我们给人类更喜欢的输出赋予更高的得分时,损失值下降;
- 当我们反而给“差输出”更高分时,损失就会迅速上升。
通过对人类标注的数据进行训练,最终我们得到一个能够预测“人类喜好程度”的模型。
近端策略优化(Proximal Policy Optimization, PPO)
现在我们已经有了奖励预测函数 rθ。这很好,但我们真正的目标是:训练模型本体。
现在我们可以使用这个奖励模型,将它整合进损失函数中,来训练真正的 LLM!与此同时,我们的 LLM 在指令微调之后已经表现得相当不错了,所以我们不希望让它发生太大的变化。
这就是 近端策略优化(PPO, Proximal Policy Optimization) 的核心思想。
模型的新目标函数如下:

这看起来比前面我们提到的损失函数复杂得多!别担心,我会一步步解释清楚。
首先,这在技术上被称为目标函数(objective function),而不是损失函数(loss function)。所以我们的目标是最大化它,而不是最小化。
第一个部分:

- 这里的 (x,y)∼D 表示从 RLHF 的训练数据中抽取提示 x 和模型输出 y。
- 所以,目标函数的这一部分就是对奖励模型预测分数的期望。
- 换句话说,我们希望最大化之前训练好的奖励模型 rθ(x,y) 给出的分数。
- 这样做的目的很直接:鼓励模型生成人类更喜欢的输出。
第二部分:

- 仍然是对提示 x 和输出 y 的期望。
- p=πRL(y∣x):表示当前正在训练的模型(经过 RLHF)的输出概率。
- q=πSFT(y∣x):表示“基准模型”的输出概率,即在预训练 + 指令微调之后的模型。
我们可以换个符号让它更直观:

这就是 KL 散度(Kullback-Leibler divergence)的一部分,它度量两个分布之间的差异。
- 因此,这一项的作用是:对模型的新输出分布与旧分布之间的差异施加惩罚。
- 这样可以保证模型在强化学习过程中不要“跑太远”,避免偏离预训练+微调后的原始行为。
第三部分:

- 与前两部分不同,这一项使用的是预训练数据集 Dpretrain。
- 其目标是让模型仍然能像以前一样去预测下一个 token。
- 本质上,这就是我们在预训练时使用的标准交叉熵损失 −logpy-\log p_y−logpy(这里只是乘上了一个系数 γ\gammaγ)。
- 目的在于:即使模型正在经历 RLHF,它仍然要维持良好的“语言建模”能力。
总结这三个部分的意义:
- 最大化奖励(Reward): 我们尝试最大化奖励模型 rθ(x,y)r_\theta(x, y)rθ(x,y) 的得分。 希望输出结果是人类喜欢的。
- 限制偏移(KL Penalty): 惩罚模型与“基准模型”之间差异过大的输出分布。 保持“接近原本模型”的策略,避免过拟合强化偏好。
- 保留语言建模能力(语言保留项): 加入传统的 next-token 预测项,维持语言建模性能。
这一整体训练过程称为 近端策略优化(Proximal Policy Optimization, PPO)。
- “Proximal” 的意思是“近端”或“靠近”,指模型在训练过程中尽量保持靠近原始策略模型(SFT)。
- “Policy Optimization” 指的是在强化学习中优化“策略”,而模型的输出概率分布就被视为其“策略”。
将 LLMs 比作国际象棋选手
想象一下一个会下棋的模型,比如 AlphaZero。
如果我们暂时忽略它所用的搜索算法细节,这个模型的核心工作是:输入当前棋盘状态,输出一个对可能走法的概率分布(即它的策略)。
这个模型的训练方式,是基于它自己对弈的结果不断学习改进,随着时间推移,它变得越来越擅长下棋。
这正是**强化学习(Reinforcement Learning)**的本质:
- 有一个智能体(比如会下棋的模型);
- 它理解所处的环境(棋盘);
- 它在环境中执行动作(落子),这些动作会反过来影响环境;
- 它试图选择那些能最大化预期奖励的动作。
这个智能体的“动作”是以“策略(policy)”的形式体现的,也就是一个对所有可能走法的概率分布。

无论你是否认为 RLHF 是“真正的强化学习”,这里有一个非常有价值的类比可以借鉴:
- 与其说 LLM 是“预测下一个词”的机器,
- 不如说它是一个智能体(agent),
- 它感知环境(即:输入提示 + 当前已生成的文本),
- 它执行动作(即:生成下一个 token),
- 这些动作会改变环境(即生成的上下文),
- 它试图选择那些能够最大化奖励的动作(这个“奖励”是通过奖励模型间接定义的,比如生成更让人类喜欢的输出)。

值得注意的是,这种类比完全取决于我们是如何训练 LLM 的。
无论你怎么训练,LLM 的输入空间(token 字符串)和输出空间(对 token 的概率分布)是不变的。但在训练和使用过程中,我们可以用多种方式来解读这种输入/输出结构:
- 在预训练期间,LLM 就像一个智能体,它选择“动作”(下一个 token)以尽可能预测正确的下一个词;
- 在 RLHF 阶段,LLM 成为一个智能体,它选择“动作”(下一个 token)以生成那些最终能让人类“喜欢”的输出(这种“喜欢”是通过奖励模型间接学习的);
- 在链式思维(Chain-of-Thought)强化学习中(如 DeepSeek R1 所采用的训练方式 [9]),LLM 成为一个智能体,它选择动作(推理中的 token 与最终输出的 token),其目标是生成更正确的答案。
从这个角度出发,我们可以进一步想象:
- LLM 自动编写代码,并自己运行测试以评估结果;
- LLM 解答数学题,并使用证明助手验证其答案的正确性 [10];
- 更具挑战性的是,甚至可以想象 LLM 在某些场景中因为“成功传播错误信息”而被奖励(这显然是危险的用途)。
那 AI Agents 又是什么?
你可能会听到很多关于 “AI agents” 的讨论,而不是仅仅是 “chatbots” 或 “语言模型”。这些“代理型 AI(Agents)”有什么不同?
一个关键的观点是:AI agent 并不只是对提示做出反应,而是处于一个交互环境中,能够执行动作、获得反馈,并据此不断调整行为。
许多 AI agent 系统在结构上会包含以下几个部分:
- 一个语言模型(LLM),负责理解任务和生成输出;
- 一个记忆模块,存储对话历史或执行日志;
- 一个规划器,决定下一步做什么;
- 一个工具库,让模型能够执行实际任务,比如调用 API、读写文件,甚至控制浏览器或机器人。
听起来是不是很像强化学习的环境?这其实和我们刚才讲的 RLHF 非常契合。通过 RLHF,我们不仅让 LLM 学会“预测下一个词”,更是开始引导它学会“做正确的决策”。
模型开始“做决定”了吗?
通过 RLHF,模型已经不仅仅是“语言的预测器”,它变成了一个会根据人类偏好进行决策的系统。这也许是“智能体(Agent)”最基本的特征。
我们可以把这种转变比作生物学中的演化过程:
- 最早期的 LLMs(比如 GPT-2)就像单细胞生物,靠环境中的刺激做出简单反应;
- 加入指令微调后,它们变得更擅长理解任务;
- 加入 RLHF 后,它们学会了优化行为,而不仅仅是模仿;
- 接下来,如果它们能够在一个长期环境中与世界交互、更新记忆、调用工具……那么就真正开始像智能体那样运行了。
未来会怎样?
未来的发展方向可能是将这些 LLM 与工具和环境结合,形成真正的 Agent 系统。例如:
- 自动化科研助手:提出问题,查阅文献,设计实验,解释结果;
- 多轮对话决策系统:不断询问、澄清、分析,再提供最终建议;
- 机器人控制模型:基于自然语言做出操作动作,像人一样在真实世界中完成任务。
要实现这些,语言模型必须更加稳定、更加符合人类意图,同时具备可靠的记忆、推理、反馈能力。而这些,RLHF、PPO、Instruction Tuning 正在为它们打下基础。
总结
我们常说“LLMs 只是预测下一个词”,这句话在早期是准确的。
但从指令微调(Instruction Tuning)到人类反馈强化学习(RLHF),LLMs 正在从“语言预测器”成长为“行为优化者”甚至“决策智能体”。
它们的训练目标已经不再仅仅是最小化 token 的交叉熵损失,而是围绕人类意图、用户满意度和任务完成质量来进行全面优化。
未来,LLMs 将不只是聊天机器人,而是真正能规划、决策、执行任务的智能体。
感谢阅读~