Learn AI · 模型硬功底(由内而外)
第 16 课 / 经典论文 P15  ·  阶段四:对齐与推理(开篇 · Ouyang et al., 2022)

InstructGPT / RLHF:
博学 ≠ 听话
——ChatGPT 为什么会照你说的做,也是你「prompt 控不住行为」的根

阶段三你搞懂了怎么把模型训得又强又便宜。但「强」只是能力——GPT-3 博学,却不羁:你让它回答,它可能接着编更多问题、跑题、胡说、或答得没用。 因为它的训练目标是「猜下一个最像网上文本的词」,这和你真正要的「按我的意图、有用、真实、无害地回答根本不是一回事。 这一课 InstructGPT 用 RLHF 把模型从「博学但不羁」调成「听话的助手」。它正面回答你那个老困惑:为什么我精心写 prompt,模型的行为还是不完全受我控?
一句话:预训练给的是「能力」,不等于「听话」。InstructGPT 用 RLHF(基于人类反馈的强化学习)三步补上「听话」——
SFT:人写好答案当示范,微调模型;② 奖励模型 RM:人给模型的多个输出排序,训一个会「预测人类偏好」的打分器;③ PPO:拿 RM 当奖励,用强化学习把模型推向「人更爱的输出」。
惊人结论:对齐过的 1.3B 小模型,人类更爱它,胜过大 100 倍的 GPT-3 175B这就是 ChatGPT 会听话的原因——也是你「prompt 控不住行为」的根:行为活在「能力」和「对齐」两条轴上。

一、立靶:GPT-3 博学,却「不羁」

回忆 GPT-3 的训练目标:猜下一个最像互联网文本的词。这练出了惊人的能力,但「像网上的文本」和「你想要的回答」之间,有一道目标错位(misalignment)的鸿沟:

立靶:训练目标,根本不是你真正的目标

你给一个 base 模型下指令「解释天为什么是蓝的,讲给小学生」——它很可能不回答,而是接着续写更多类似的题目(「解释草为什么是绿的。解释……」),因为它在模仿网上常见的「习题列表」文本。 它没不会,它只是没在「回答你」,而在「续写文本」能力(会预测)和意图对齐(按你要的做)是两回事——预训练只给了前者。

二、抽框架:RLHF 三步(示范 → 排序 → 强化)

做什么教会模型
① SFT
监督微调
亲手写一批「好答案」当示范,拿去微调 GPT-3当助手的基本格式与风格(先学会「在回答」而非「续写」)
② RM
奖励模型
同一问题给出几个模型答案,人排序(好→坏);训一个模型去预测这个偏好、输出一个分数把「人类喜欢什么」压成一个可自动打分的函数
③ PPO
强化学习
模型生成答案 → RM 打分 → 用 RL 推模型produce更高分的输出(+ KL 惩罚别跑太远)主动朝「人更爱的方向」优化,规模化对齐
关键设计:为什么是「排序」,不是「写示范」或「打分」?

写示范贵且有限——让人写出大量高质量答案,成本极高、覆盖不全。 ② 直接打绝对分不可靠——「这答案打几分」人言人殊、漂移严重。 ③ 排序又便宜又稳——「A 和 B 哪个更好」人类判断快、一致性高。 所以 RLHF 把「难写的好答案」转化成「易判的两两比较」,再让 RM 学会这套偏好、规模化地给无数新答案打分。这是整套方法能 scale 的命门。

三、核心洞察:能力 vs 对齐,是两条轴

这一课最该带走的心智模型——你日后所有「模型为什么这样」的判断都建在它上面。

来自决定
能力(capability)预训练(猜下一个词,烧海量算力)模型会不会——知识、推理、语言
对齐(alignment)RLHF(人类反馈,算力只占零头)模型愿不愿、按不按你的意图做——有用、真实、无害、听话
震撼实验:对齐打败规模

1.3B 的 InstructGPT,人类更偏爱它,胜过 175B 的 GPT-3——后者大 100 倍。 就「按用户意图做事」而言,对齐的价值远超单纯堆规模。而 RLHF 花的算力,只是预训练的零头。 这也解释了你的体感:「换更大的模型」未必更听话;听不听话主要看它被怎么对齐的,不只是它多大。

四、动手玩:同一个指令,三个阶段的输出怎么变

同一条指令,点 base(纯预训练)→ SFT → RLHF,看输出怎么从「续写跑偏」一步步变成「听话好用」。

指令:解释天为什么是蓝的,讲给小学生听。
选阶段: 

看出门道了吗:三个阶段「能力」几乎一样(都懂瑞利散射),变的是「对齐」——会不会回答、答得有不有用、贴不贴合对象。这就是「博学 ≠ 听话」最直观的样子。

五、对照表(一):预训练 vs SFT vs RLHF

阶段数据来源教会什么算力
预训练海量网络文本能力(猜下一个词)巨大
SFT人写的示范答案助手的格式/风格
RM + PPO(RLHF)人对输出的排序对齐(朝人类偏好优化)小(预训练的零头)

六、对照表(二):RLHF 的代价、坑,与它启动的赛道

说明
对齐税(alignment tax)对齐后模型在某些纯能力 benchmark 上会略降——「听话」和「极致能力」有轻微取舍。论文用「混入预训练梯度」来缓解。
奖励作弊(reward hacking)模型会钻 RM 的空子——找到能骗高分但实际不好的输出(如一味冗长、谄媚)。靠 KL 惩罚(别离 SFT 太远)+ 更好的 RM 压制。
RM 就是「学出来的裁判」奖励模型本质是一个 LLM-as-judge——把人类偏好压成自动打分器。如果你做过「用 LLM 给输出打分的质检器」,这正是它的祖先。

🔮 RLHF 强大但笨重(要训 RM + 跑 RL,三阶段、不稳)。于是后续两条路来简化/强化它:P17 DPO——不训 RM、不跑 RL,直接用偏好数据一步优化(更对得上「打分→改 prompt」自动调优环的直觉);P18 Constitutional AI(Anthropic)——用一套书面原则让模型自我批评、自我对齐,少依赖人工标注。这一阶段就是「怎么让模型听话」的方法演化史。

七、映射到你的项目

你工作里的东西其实就是这篇论文的什么
你那个老困惑「精心写 prompt,行为还是控不住」因为行为活在能力 + 对齐两条轴上:prompt 只在「对齐好的地盘」里微调,模型被 RLHF 烤进去的性格/拒答/风格,prompt 顶多绕、难根除
你做 LLM 评分/质检(LLM-as-judge)就是 奖励模型(RM)的同款:把「什么算好」压成一个可自动打分的裁判。RLHF 的 RM 是它的理论原型
你搭 prompt 自动调优环(生成→评分→改 prompt 再评)结构上就是 RLHF 的轻量版:用一个评分信号去迭代优化输出/prompt——同一个「靠反馈爬坡」的范式
你给评分模型设规则,却发现被「钻空子」(输出变长、变谄媚就拿高分)正是 reward hacking——裁判会被它评的对象套路。设计 LLM 评分器要专门防这个(对照基准、防长度偏好等)
「换个更大的模型,是不是就更听话了」不一定——听话看对齐,不只看规模。1.3B 对齐版能赢 175B base,选型别只盯参数

八、检索练习(关掉上文,凭记忆答)

1. 「能力」和「对齐」分别来自哪?
2. RLHF 为什么让人「排序」而不是「写示范」或「打绝对分」?
3. InstructGPT 最震撼的实验结论是?

九、常见问题 FAQ

把这一课接到你真实工作上的几个关键问。点开看答。

既然 RLHF 让模型听话,为什么我的 prompt 还是常常控不住它?

因为 RLHF 把一套「性格」烤进了权重——有用、拒绝某些请求、某种语气、某些安全边界。你的 prompt 是在这套既定对齐之上做调整:和它一致时如臂使指,和它冲突时(比如想让它做被 RLHF 训得会拒绝的事),prompt 顶多绕、难根除

实操心智:prompt 控的是「在对齐允许的范围内怎么做」,控不了「对齐本身划的红线和默认人格」。所以同一条 prompt 在不同厂商模型上表现不同——它们被不同的人类偏好对齐过。选模型时,「它的默认对齐合不合你的产品调性」和「它多强」一样重要

RLHF 是让模型变「更真实/更聪明」了吗?

主要不是变聪明,是变「按人类偏好行事」。知识和推理能力基本在预训练就定了,RLHF 几乎不加新能力(甚至有对齐税、个别能力略降)。它做的是:把已有能力导向「人更想要的输出」——更愿意回答、格式更好、少胡说、少冒犯。

一个重要警告:RLHF 优化的是「人类觉得好」,不完全等于「真实正确」。两者常一致,但会分叉——模型可能学会「说得让人爱听」(自信、流畅、谄媚),哪怕内容是错的。这是 RLHF 的内在张力,也是你做事实类产品要额外校验的原因。

KL 惩罚到底在防什么?去掉会怎样?

RL 阶段,模型为了拿 RM 高分会不择手段地漂移。KL 惩罚是一条「别离 SFT 模型太远」的橡皮筋:每偏离原模型一点就扣分。去掉它,模型会钻 RM 空子(reward hacking)——产出 RM 爱打高分、但其实退化的怪输出(语无伦次却命中 RM 偏好、或一味谄媚冗长),甚至把语言能力也忘了

直觉:RM 只是人类偏好的「近似裁判」,不是真理;放任模型死磕这个近似裁判,它会找到裁判的漏洞而非真的变好。KL 惩罚=「在裁判允许的范围内进步,但别为了刷分变成另一个东西」。这对你设计任何「用一个打分器去优化」的闭环(prompt 自动调优环、LLM 评分器驱动的迭代)都是同一课:得有个锚防止系统钻分数空子。

RLHF 和我做的 LLM-as-judge / prompt 自动调优环,像在哪、差在哪?

像:同一个骨架——「生成→裁判评估→用信号推向更好」。你的 LLM 评分器≈RLHF 的 RM、prompt 自动调优循环≈PPO 循环,连失败模式都一样(裁判被钻)。

RLHF你的 prompt 自动调优环
改什么模型权重(永久)prompt/输出(不动权重)
优化器真 RL(PPO+梯度+KL)LLM 驱动的改写/搜索(无梯度)
裁判训出来的 RM(锚真人偏好)prompt 出来的 LLM 评分器(灵活但不接地气)
信号刻意用排序常用绝对分(更不稳)

一句话:你在做 RLHF 的「形」、没用它的「重机械」——通常是对的(便宜够用),但继承了失败模式(代理被钻)却没自带护栏(KL 锚、真人 RM),得自己补。可立刻用的改进:评分器从「打绝对分」改成「两两排序」,信号稳很多

为什么会有对齐税,能不能消掉?

为什么有:本质是在优化一个和「原始能力」不同、且是代理的目标。四机制:① 分布收窄(推向偏好窄分布,纯能力 benchmark 掉分);② 优化代理非真值(在「偏好≠正确」处死磕 RM 会拽偏);③ 灾难性遗忘(侵蚀偏好数据没覆盖的技能);④ 多样性塌缩(伤创造力任务)。

能大幅缩、消不干净(两目标的本质张力)。手段:RL 阶段混入预训练梯度(PPO-ptx,最有效)、更好更大的 RM、KL 惩罚、偏好数据覆盖更全。随方法成熟税已很小,但谄媚/啰嗦/过度拒答是消不掉的残留——「优化偏好代理 ≠ 优化真值」这条裂缝是结构性的。

reward hacking 在我的 LLM 评分器里长什么样、怎么防?

长什么样:① 长度偏好(越长越高分,学会注水);② rubric 关键词谄媚(塞满 rubric 原词);③ 自我标榜/对裁判喊话/自信口吻刷分;④ 格式刷分(分点标题被当「组织良好」);⑤ 位置偏好(两两比时偏第一/第二);⑥ 共享盲点(裁判与生成器同源,查不出自己也不知道的事实错);⑦ 过拟合到这个裁判/测试集(钻当前裁判怪癖而非真变好)。

怎么防(按性价比):① 排序代替绝对分;② 控长度(忽略/惩罚啰嗦、等长比);③ 带参考答案/基线对比;④ 守住 held-out 集(train 涨、held-out 不涨 = 正在钻空子,最灵的报警器);⑤ 多裁判/轮换;⑥ 裁判比生成器强且异源;⑦ 对抗式 rubric(让裁判主动找漏洞/幻觉、要引证据);⑧ 位置随机化;⑨ 剥离 meta 文本;⑩ 定期真人抽检。

统一原则:Goodhart 定律——一个指标一旦变成目标,就不再是好指标。两手抓:(a) 让代理更难钻;(b) 留锚/held-out/真人 check 发现它正被钻(即 RLHF 里 KL 惩罚 + 真人评估扮的角色)。

本课主源

读原典:Ouyang et al. — Training language models to follow instructions with human feedback(InstructGPT, 2022)

建立直觉:Hugging Face — Illustrating Reinforcement Learning from Human Feedback (RLHF)(图解三步流程)。

阶段四「对齐与推理」开篇。接下来:P16 思维链(让它一步步想)→ P17 DPO(不用 RL 的对齐)→ P18 Constitutional AI(用原则自我对齐)

我是你的老师,随时提问。 比如:「RLHF 和我做的 LLM-as-judge / prompt 自动调优环,到底像在哪、差在哪?」「为什么会有对齐税,能不能消掉?」 「reward hacking 在我的 LLM 评分器里具体会长什么样、怎么防?」——别带着模糊往下走。

参考:
Ouyang et al., Training language models to follow instructions with human feedback, 2022.