你大概率听说过”ChatGPT 是用强化学习训练的”,也在各种文章里撞见过 RLHF、PPO、GRPO 这些缩写满天飞。大多数文章直接从算法讲起,默认你已经知道”策略""奖励”是什么——这篇反过来,不讲任何算法,不用一个公式,只回答三个更早的问题:强化学习到底是什么?模型已经有预训练和微调了,为什么还非要它不可?它是怎么被搬到语言模型头上的?这三个问题想通了,后面的算法文章才有地方长。
一句话主线
示范只能教会”照着做”,教不会”做得更好”。而”更好”恰恰是人类容易判断、难以示范的东西——所以需要一种只靠打分、不靠示范的训练方式。它就是强化学习。
先摆好舞台:大模型训练的三步走
要明白强化学习补的是哪块缺,得先看清它前面两步各自能做到什么、卡在哪。
第一步,预训练(pretraining):学会接话。 让模型读遍互联网,反复做同一件事——给上半句,猜下一个词。读得足够多之后,它掌握了语言、事实和相当多的推理套路。但此时它只会”续写”:你问它”法国的首都是哪里?“,它可能回答”巴黎”,也可能续写成”意大利的首都是哪里?西班牙的首都是哪里?”——因为在它读过的互联网上,问题后面跟着更多问题,是很常见的。它会说话,但不听话。
第二步,监督微调(SFT):学会照做。 人类写好几万条”问题 → 优质回答”的示范,让模型照着学。这一步之后,模型明白了自己的角色是”回答问题的助手”,而不是”续写文本的复读机”。它听话了。
到这里看起来挺完美——那第三步在补什么?
SFT 的天花板:三个教不了的东西
想象你是语文老师,教学生写作文。“给示范”这条路有三个天生的死角:
一,学生的上限是示范的水平。 SFT 的本质是模仿,模仿的天花板就是被模仿的对象。人类标注员写的示范回答,写得再认真也是”雇来的标注员在限定时间里写出的水平”——模型照着学,最多学到这个水平。想让模型超过示范?示范这条路上没有这个选项。
二,示范从来不说”别这样”。 SFT 的每一条数据都是正面示范:“要这样写”。它从不提供反面信号:“这种写法是错的""这句是编造的,不许说”。模型学会了好回答长什么样,却没学过差回答差在哪。想压掉幻觉、拒绝有害请求,只靠正面示范,劲儿使不上。
三,也是最根本的:很多目标只有”更好”,没有”标准答案”。 “写一首关于秋天的诗”,两首诗放你面前,你能立刻说出哪首更好——但你写得出”标准的秋天诗”让模型抄吗?”解释量子纠缠给小学生听”,怎样算”讲得清楚”?这类目标(有用、诚实、得体、讲得明白)都是程度问题,人类判断它们很容易,示范出完美版本很难。
把这三条压成一句话:人类的判断力,远比人类的示范能力值钱。 判断”哪个更好”又快又准,产出”完美示范”又贵又难。SFT 只能用到示范能力,判断力这座金矿完全没开采。
问题于是变成:有没有一种训练方式,只需要人类的判断(打分),不需要人类的示范?
有,而且它比深度学习还老,叫强化学习。
强化学习:从”给示范”到”给反馈”
忘掉大模型一分钟,先看这个方法本身。
强化学习(Reinforcement Learning,RL)的思想用一个场景就能讲完:教小孩骑自行车。你没办法”示范平衡感”——你骑得再标准,他看一百遍也学不会,因为平衡感没法用语言和示范传递。真正的教法是:让他自己上车,摔了,疼(负反馈);骑稳了三米,夸(正反馈)。几十个回合下来,他自己”长”出了平衡感——没有任何人教过他”该怎么做”,他只是不断尝试,并从每次尝试的结果里修正自己。
这就是强化学习的全部内核:尝试 → 得到反馈 → 朝着反馈好的方向调整 → 再尝试。
对比一下两种教法,差别就清楚了:
| 监督学习(SFT 属于这类) | 强化学习 | |
|---|---|---|
| 人类提供什么 | 正确答案(示范) | 分数(反馈) |
| 数据从哪来 | 人准备好,喂给模型 | 模型自己试出来的 |
| 学到的是 | ”照这样做" | "怎样做分更高” |
| 上限 | 示范的水平 | 打分标准的水平 |
注意右下角那格——这就是第三步存在的理由:换了教法,天花板从”人类写得多好”变成了”人类判断得多准”。 后者高得多。
四个词的词汇表
RL 领域给这套流程里的角色起了固定的名字。这四个词是你之后读所有 RL 文章的钥匙,每个都翻译成人话,并对上大模型里的具体对应物:
| RL 术语 | 人话 | 在大模型场景里就是 |
|---|---|---|
| 智能体(agent) | 那个正在学习的家伙 | 语言模型本身 |
| 动作(action) | 它每一步做的选择 | 生成下一个词;一串动作连起来 = 一条完整回答 |
| 奖励(reward) | 每次尝试后拿到的分数 | 这条回答的得分(下一节讲分从哪来) |
| 策略(policy) | 它脑子里那套”什么情况下倾向怎么做”的行为倾向 | 就是模型的参数本身——模型权重决定了它看到什么问题倾向生成什么话 |
“策略”这个词最容易把人挡在门外,值得多说一句:它听起来像个额外的东西,其实对语言模型而言,策略 = 模型。“更新策略”就是”更新模型权重”,“策略变好了”就是”模型倾向于生成得分更高的回答了”。以后在文章里见到 π(策略的惯用符号),脑子里直接替换成”模型”就行。
分数从哪来:RLHF 的”HF”
上面的故事有个没交代的角色:谁来打分? 骑自行车有物理世界当裁判(摔没摔是客观的),但”这个回答好不好”呢?
让人类给每条回答打分?训练需要给几百万条模型生成的回答打分,人力上不可能。而且直接打绝对分,人与人之间标准还不一致:同一条回答,你打 7 分他打 4 分。
OpenAI 在 InstructGPT(ChatGPT 的直系前身)里给出的方案分两步,很聪明:
- 让人类做选择题,不做打分题。 给标注员看同一个问题的两条回答,只问”哪条更好?”——二选一比打绝对分容易得多,人与人之间也一致得多。这正好用上了前面说的那座金矿:人类的判断力。
- 用这几万个”A 比 B 好”训练一个打分模型。 这个模型学的是人类的品味,学成之后就能给任何回答打分——它叫奖励模型(reward model)。它就是人类判断力的”可复制、可规模化”的替身:人类只判断了几万次,它可以替人类判断几百万次。
这就是 RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)全称的含义:强化学习提供”靠打分学习”的框架,人类反馈(经由奖励模型)提供分数。
顺带一提,分数不一定非得来自”品味”。数学题和代码有客观对错——答案对了给分,测试通过给分,连奖励模型都省了。用这种”客观打分”做强化学习,正是 DeepSeek-R1 让模型自己长出推理能力的路线,我在另一篇里详细写过。你看,一旦有了这套词汇,那篇的主线其实就一句话:把奖励从”人类喜欢”换成”答案正确”,长出来的能力就从”讨人喜欢”变成了”会做题”。
装配起来:第三步的完整样子
现在三个角色都齐了(模型、奖励模型、打分学习的框架),第三步的训练流程就是一个循环:
循环:
1. 出题:从题库里抽一批问题
2. 作答:让当前模型自己生成回答
3. 打分:奖励模型(或对错判定)给每条回答打分
4. 调整:更新模型权重,让高分回答以后更容易被生成、低分的更难
5. 回到 1,用调整后的模型继续
停在这里,把它和 SFT 对比一眼,你会看到一个安静但深刻的区别:SFT 的训练数据是人准备的,这个循环的训练数据是模型自己生成的。 模型在从自己的经验里学习,而不是从人类的示范里学习——这正是它能突破示范天花板的原因,也是”强化学习”和”监督学习”最本质的分界线。
有个自然的疑问值得在这里接住:“既然能打分,为什么不直接挑出高分回答,拿去做 SFT?” 问得好,而且真有人这么干(业内叫拒绝采样微调,rejection sampling)。它确实有效,也确实更简单,但它只利用了”哪条好”,丢掉了”哪条差、差多少”——低分回答就被扔掉了,模型没有收到任何”别这样”的信号。而完整的强化学习把正反两个方向的信号都用上:好的推高,差的压低。判断力这座金矿,前者只挖了一半。
最难的一步,也是下一篇的主角
上面循环里,第 4 步”调整”被我一句话带过了。它恰恰是整件事里最凶险的一步。
难在哪?分数只告诉你”这条回答 8 分、那条 3 分”,没告诉你该把几十亿个参数往哪个方向拧、拧多少。而且模型是拿自己生成的数据训练自己,一旦某次调整用力过猛,模型变差 → 生成的回答变差 → 学习信号跟着变差 → 越练越歪,可能直接练废,再也救不回来。步子太小又永远学不动。
管好这一步——“每次到底该调多大幅度”——的算法,就是 PPO,也是 ChatGPT 训练时用的那个。我在《PPO 的训练循环》里把它拆开讲了。读完本文再去读它,开头那些”策略""奖励""RLHF 四模型”就全是熟人了。不急的话,先让这篇消化两天再去也完全来得及——那篇不会跑。
带走的三句话
- SFT 的天花板是人类的示范能力,RL 的天花板是人类的判断能力——后者高得多。 这是第三步存在的全部理由。
- 一张四词词汇表:智能体=模型,动作=生成词,策略=模型参数本身,奖励=回答的得分。 拿着它,RLHF/PPO/GRPO 的文章就从黑话变成了普通话。
- RLHF = 人类做选择题 → 训练出打分模型 → 模型靠打分自己练。 分数换成”答案对不对”,就是 R1 那条推理路线——框架同一个,换的只是分数的来源。