# 人类反馈强化学习

拉普拉斯的迷你世界 · 图版 F29 · 人工智能

> 预训练之后，聊天模型还要学会回答：人比较两个回答，奖励模型学会打分，模型对着分数练，一根弹簧拉住它。

- 可交互的模型：https://world.lapla.si/zh/rlhf/
- 嵌入页：https://world.lapla.si/embed/zh/rlhf/
- English：https://world.lapla.si/en/rlhf/
- 更新于：2026-10-21

## 01 小一百倍，更受欢迎

2022 年的 InstructGPT：在收集来的提问上，标注员更喜欢 13 亿参数的它写的回答，胜过 1750 亿参数的 GPT-3。两者结构相同，InstructGPT 又用人的数据调过。同为 1750 亿参数时，调过的回答有 85% ± 3% 的时候被选中。

调这一遍分三步：照着人写的示范做监督微调；让人比较回答，训练一个奖励模型；再用强化学习对着奖励模型优化。1750 亿参数的监督微调和强化学习两次训练合计约 65 petaflop/s-days（不算奖励模型），不到预训练 GPT-3 所用 3640 的 2%。ChatGPT 用的是同样的方法，在收集数据的做法上略有不同。

*InstructGPT · 13 亿参数胜过 1750 亿参数的 GPT-3 · 同为 1750 亿时 85% ± 3%*

## 02 先照着示范写

预训练教模型猜网页上的下一个词，这和“按用户的要求好好回答”不是一回事。台上这个小模型只会说十二种话，回答同一个问题：“天空为什么是蓝的？”每张卡片的高度是它说这句话的概率，刻度是对数的，从 0.1% 到 100%。

预训练后，它有 44% 的时候接着写出更多问题。监督微调就是照着标注员写的示范做梯度下降：12 条示范，80 步，“接着提问”降到 9%，会回答的卡片升上来。每张卡片最后的位置被一个红色夹子记下，后面都拿它作参照。InstructGPT 的示范来自约 1.3 万条提示。

*监督微调 · 12 条示范 · 80 步 · “接着提问” 44% → 9%*

## 03 两个回答，挑一个

第二步，人不再写，而是比较。InstructGPT 每次给标注员 4 到 9 个回答，从好到差排一遍，每两个之间算一次比较；约 40 位标注员。同一对回答，标注员之间约 73% 的时候意见一致。

为什么不直接打分？2017 年 Christiano 等人在一些任务上发现，人给出一致的比较，比给出一致的分数容易得多。打分要求每个人用同一把尺子；二选一只问哪个更好。台上的天平一次称两张卡片，红色的印是标注员的选择。

*InstructGPT · 每次排 4 到 9 个回答 · 训练标注员之间一致 72.6% ± 1.5%*

## 04 只有差距算数

比较怎样变成分数？用的是 Bradley 和 Terry 1952 年的成对比较模型，按今天的写法：每个回答有一个分 r，A 胜过 B 的概率是 e^r\_A / (e^r\_A + e^r\_B)，也就是 σ(r\_A − r\_B)。分差为 0，各占一半；分差 1，73%；分差 3，95%。

这和国际象棋的等级分一样，只有分差决定谁更可能赢。两个回答都加上同一个数，结果不变，就像天平两边各加一个砝码。所以奖励模型的分没有零点，只有差距。天平的指针偏出满格的 2σ(Δr) − 1。

*P(A 胜 B) = σ(r\_A − r\_B) · 分差 1 → 73% · 分差 3 → 95%*

## 05 一个学会打分的模型

本页编了一位标注员：他心里给十二种回答各打了分，讲清原因的高，啰嗦重复的低。他比较了 120 对回答，每次按 σ(分差) 的机会挑一个，所以偶尔也会挑错。这些都是本页生成的，不是真人数据。

台上的奖励模型很粗，只看三样：答没答、有几句、有没有客套话。用这 120 次选择拟合 Bradley–Terry 模型，它学到：答了 +3.44，每多一句 +0.16，客套话 −1.24。在 SFT 模型常写的回答上，它和标注员 77% 一致；知道他心里分数的裁判也只到 86%。每张卡片背后的砝码，就是它给的分。InstructGPT 的奖励模型有 60 亿参数。

*奖励模型 · 120 对 · r = 3.44 · 答了 + 0.16 · 句数 − 1.24 · 客套 · 与标注员一致 77%*

## 06 对着分数练

第三步是强化学习。InstructGPT 把它设成这样一个环境：给一个提示，模型写一个回答，奖励模型打一个分，这一回合就结束。PPO（近端策略优化）一批批地抽样：比预期得分高的回答，下次多写一点；低的，少写一点。真正的 PPO 用一个价值网络来学“预期”，台上用的是这一批的平均分。

新旧概率之比一旦超出 0.8 到 1.2（ε = 0.2），再往外推就不再有奖励，所以一步没有理由走远。台上每一步抽 128 个回答，在这一批上走 4 遍梯度。右前方的记录鼓上，红笔是奖励模型的平均分，黑笔是标注员的。

*PPO · 每步 128 个回答 · 比值 π / π\_旧 超出 0.8–1.2 不再计功 · β = 1*

## 07 一根弹簧

每个回答的分里还要扣掉 β · log(π / π\_SFT)：比 SFT 模型写得越多，扣得越多。平均下来，扣掉的正好是 β 乘以 KL 散度，也就是新模型离 SFT 模型有多远。2020 年的摘要研究写明了它的两个用处：防止模型缩到一种回答上，也不让它写出和奖励模型见过的相差太远的东西。

这个目标的最优解是 π ∝ π\_SFT · e^(r/β)。在对数刻度上，每张卡片离开红夹子的距离，等于它的分除以 β，再减去所有卡片共有的一个数。β 就是弹簧的硬度：β = 4，卡片几乎不动；β = 0.1，分最高的那张升到 99%。

*π ∝ π\_SFT · e^(r/β) · β = 4 → 1 → 0.3 → 0.1*

## 08 分数涨了，回答变差

把 β 降到 0.02 再练。头十几步，模型几乎只写 8 号卡片（讲到四次方和日落），标注员的分从 4.1 升到 6.4。两百多步时，它找到了 11 号：同样的内容，又多五句重复。奖励模型按句数加分，这五句值 0.8 分，模型便全写这一张。红笔还在升，黑笔跌到 2.6，比 SFT 时还低。

错在奖励模型：它看不见重复，只数句子，而 SFT 模型很少写那么长，120 对里 11 号只出现了 3 次。给它 2 万对比较也一样偏爱那张，因为它看的东西不变。ChatGPT 刚发布时，OpenAI 写道：模型常常过于啰嗦，原因是训练数据里的偏差（训练者更喜欢看起来更全面的长回答）和“众所周知的过度优化问题”。

*β = 0.02 · 奖励模型 3.46 → 4.42 → 5.23 · 标注员 4.13 → 6.37 → 2.6*

## 09 过度优化有规律

2022 年，Gao 等人把这件事量了出来：用 InstructGPT 的 60 亿参数奖励模型扮演“人”，用它的判断训练 300 万到 30 亿参数的代理奖励模型，再对着代理优化。代理的分一路涨，“人”的分先涨后跌。以 d = √KL 为横轴，强化学习的曲线贴近 d(α\_RL − β\_RL log d)（两个都是拟合系数，不是 KL 系数），β\_RL 随代理模型的大小平滑变化。

他们还发现，在他们的设定里，加 KL 惩罚的效果像提前停下，并没有让同样距离上的真实分更高；他们也提醒，这个结论可能对超参数很敏感。更早的摘要研究里，优化得越狠，奖励模型的预测和人的偏好越分开，最后甚至反过来。

*Gao 等 2022 · 强化学习 R(d) = d(α\_RL − β\_RL log d) · d = √KL · “人” = 60 亿参数的奖励模型*

## 10 剖开机架

把机架的前半剖开，卡片后面的东西就露出来：滑块套在两根导杆上；滑块后面一根弹簧连着红夹子；上面一根细绳绕过滑轮，挂着砝码。砝码是奖励模型的分，弹簧拉得越长，往回拉得越紧。

两边平衡的位置，就是上一页的解：log π − log π\_SFT = (r − c) / β。c 是所有卡片共有的一个数，保证概率加起来等于 1。砝码一样重时，什么也不会动，这就是“加上同一个数，结果不变”。

*log π − log π\_SFT = (r − c) / β · 砝码 = 分 · 弹簧硬度 = β*

## 11 不要单独的奖励模型

2023 年，Rafailov 等人把那个最优解反过来写：r = β log(π / π\_ref) + 一个只取决于问题的数。代进 Bradley–Terry，这个数消掉，比较数据就可以直接用来训练模型本身。这就是直接偏好优化（DPO）：一个分类式的损失，没有单独的奖励网络，训练时不用从模型抽样，也不用强化学习。

台上，同样的 120 对，砝码撤掉，卡片一路走到位。在这个小例子里，它和对着奖励模型求出的精确解落在同一个位置。实际训练中，数据有限、优化也不完美，两者都到不了精确解；在 DPO 论文自己的实验里（模型最大 60 亿参数），两者的结果并不相同。

*DPO · 损失 = −log σ(β log π/π\_ref(胜) − β log π/π\_ref(负)) · β = 1*

## 12 分数是谁的

RLHF 优化的是一个分数：一群特定的人，在特定说明下的偏好，被一个模型学去之后的样子。InstructGPT 的作者写明，他们对齐的是“一群特定的人（主要是我们的标注员和研究者）陈述的偏好”，而不是更广义的“人类价值”；他们也写明，这些模型“既没有完全对齐，也不完全安全”，仍会编造事实。

比较也可以交给模型来做。2022 年 Anthropic 的“宪法 AI”：在“无害”这一项上，由模型按写好的原则（两个阶段各 16 条）批改、改写自己的回答，再由另一个模型比较两个回答；用这些模型的比较做强化学习，叫作 RLAIF。“有帮助”这一项仍用了 135,296 次人的比较。

*InstructGPT · 约 40 位标注员 · 宪法 AI · 16 条原则 + 135,296 次人的比较*

## 13 拆开来看

一张台上三件仪器：玻璃罩里的天平（奖励模型），十二列的机架（模型的策略），前面的卡片盘和双笔记录鼓。每一件都可以单独托出来看。

## 14 实验台

可以拧 β，也可以从 SFT 模型重新练起。读数是当前策略下奖励模型和标注员的平均分，KL 是它离 SFT 模型多远；记录鼓记下每一步。

**试一试**：把 β 拧到 0.01，按“从 SFT 重新开始”：红笔和黑笔什么时候分开？再试 1 和 0.1，最后停在哪一张？

## 模型省略了什么

这不是一个语言模型：策略只在十二个写好的回答里挑，一次抽样就是一个完整回答；真实的模型一个词元一个词元地写，KL 也按词元累加。标注员是虚构的，他的分由本页设定，比较按这些分随机生成。奖励模型只有三个特征（答没答、句数、客套话），真实的奖励模型本身就是一个几十亿参数的语言模型。PPO 没有价值网络，用每批的平均分作基线；每批 128 个回答、4 遍梯度、学习率 1。机架是对数刻度，低于 0.1% 的卡片停在底挡。本页的 β 和真实系统里的不能直接比。

## 一个常见的误解

常有人说 RLHF 让模型变得真实、安全，或者让它懂得了人类的价值。它做的是让一个分数变高，而这个分数来自一群特定标注员在特定说明下的选择，再经过一个会出错的奖励模型。分数高不等于回答好：奖励模型高估了哪里，优化就容易往哪里去。InstructGPT 的回答更受标注员欢迎，在封闭域任务上编造信息的比例也低了（21%，GPT-3 为 41%），但作者明确写道，它们既没有完全对齐，也不完全安全。

## 常见问题

### 标注员更喜欢 InstructGPT 还是 GPT-3？

2022 年的 InstructGPT：在收集来的提问上，标注员更喜欢 13 亿参数的它写的回答，胜过 1750 亿参数的 GPT-3。

见：[01 小一百倍，更受欢迎](https://world.lapla.si/zh/rlhf/#prefer)

### 为什么让人比较两个回答，而不是直接打分？

2017 年 Christiano 等人在一些任务上发现，人给出一致的比较，比给出一致的分数容易得多。

见：[03 两个回答，挑一个](https://world.lapla.si/zh/rlhf/#compare)

### RLHF 里的 KL 惩罚有什么用？

2020 年的摘要研究写明了它的两个用处：防止模型缩到一种回答上，也不让它写出和奖励模型见过的相差太远的东西。

见：[07 一根弹簧](https://world.lapla.si/zh/rlhf/#leash)

### ChatGPT 为什么常常很啰嗦？

ChatGPT 刚发布时，OpenAI 写道：模型常常过于啰嗦，原因是训练数据里的偏差（训练者更喜欢看起来更全面的长回答）和“众所周知的过度优化问题”。

见：[08 分数涨了，回答变差](https://world.lapla.si/zh/rlhf/#hack)

## 资料来源

1. [Christiano、Leike、Brown、Martic、Legg、Amodei（2017）：Deep reinforcement learning from human preferences，arXiv:1706.03741（比较 1–2 秒的片段、Bradley–Terry 形式、比较比打分更容易一致）](https://arxiv.org/abs/1706.03741)
2. [Stiennon 等（2020）：Learning to summarize from human feedback，arXiv:2009.01325（带 KL 惩罚的奖励及其两个用处、图 5 过度优化）](https://arxiv.org/abs/2009.01325)
3. [Ouyang 等（2022）：Training language models to follow instructions with human feedback，arXiv:2203.02155（InstructGPT：三步、13 亿对 1750 亿、85% ± 3%、约 40 位标注员、K = 4–9、6B 奖励模型、赌博机环境与 KL、算力、§5.2 与 §5.3 的限制）](https://arxiv.org/abs/2203.02155)
4. [Schulman、Wolski、Dhariwal、Radford、Klimov（2017）：Proximal Policy Optimization Algorithms，arXiv:1707.06347（裁剪目标，ε = 0.2）](https://arxiv.org/abs/1707.06347)
5. [Gao、Schulman、Hilton（2022）：Scaling Laws for Reward Model Overoptimization，arXiv:2210.10760（“金标准”奖励模型、R(d) 的形式、KL 惩罚像提前停止）](https://arxiv.org/abs/2210.10760)
6. [Rafailov、Sharma、Mitchell、Ermon、Manning、Finn（2023）：Direct Preference Optimization: Your Language Model is Secretly a Reward Model，arXiv:2305.18290（式 4、5 与 7）](https://arxiv.org/abs/2305.18290)
7. [Bai 等（2022）：Constitutional AI: Harmlessness from AI Feedback，arXiv:2212.08073（16 条原则、RLAIF、135,296 次人的有用性比较）](https://arxiv.org/abs/2212.08073)
8. [Bradley、Terry（1952）：Rank Analysis of Incomplete Block Designs: I. The Method of Paired Comparisons，Biometrika 39(3/4)，324–345](https://doi.org/10.2307/2334029)
9. [OpenAI（2022 年 11 月 30 日）：Introducing ChatGPT（与 InstructGPT 相同的方法、啰嗦与过度优化）](https://openai.com/index/chatgpt/)

## 数据

The twelve answers, the labeller’s scores and the 120 preference pairs are the page’s own, made up for it (src/topics/rlhf/answers.js, sim.js, pairs.json from gen-pairs.mjs). They are not human data and not the output of any model. Material presets, parts and the softbox studio of the site’s model kit are ported from AirsupHQ/machine-skill (MIT, © 2026 Air Supply Technologies Inc.).

## 许可 CC BY-NC 4.0

本页的文字、图片和模型采用 CC BY-NC 4.0 许可：可以免费用于教学和其他非商业用途，可以修改，请注明出自 world.lapla.si。上面列出的第三方素材仍按各自的许可。

https://creativecommons.org/licenses/by-nc/4.0/deed.zh-hans

## 引用这幅图版

拉普拉斯的迷你世界，图版 F29《人类反馈强化学习》，https://world.lapla.si/zh/rlhf/，CC BY-NC 4.0，2026-10-21 更新。
