对应:Stanford CS329H Fall 2026 Lecture 10(10/26 Active elicitation for LLMs & case studies)。依据教材第 2 章(主动学习、信息增益、轨迹偏好)及相应幻灯片;信息增益依据 Houlsby 等(2011,BALD);轨迹偏好依据 Sadigh 等(2017)与 Bıyık 等(2019);大模型上的主动探索依据 Dwaracherla 等(2024)与 Muldrew 等(2024);案例依据 InstructGPT(Ouyang 等 2022)、Llama 2(Touvron 等 2023)、Chatbot Arena(Chiang 等 2024)的论文。 配套代码:
code/lecture10/(numpy;01~03 号文件复用第 8 讲的玩具语言模型,需要 PyTorch) 预计阅读时间:3 小时(含运行代码)
0. 本讲导航
0.1 学完本讲,你应该能够
- 区分奖励模型的两种不确定性(参数的 vs 标注本身的),说出拉普拉斯近似、最后一层的贝叶斯、集成各自怎样估计参数的不确定性。
- 写出 BALD(信息增益)的公式并拆开解释两项;说出为什么”两个一样的回答”信息为 0、为什么只看”答案有没有悬念”的不确定性采样会掉进陷阱。
- 解释”主动挑选让奖励模型整体更准”和”用它优化出的策略更好”为什么不是一回事;说出在线 / 迭代收集为什么重要。
- 说出双 Thompson 采样、主动 DPO 的思路。
- 比较 InstructGPT、Llama 2、Chatbot Arena 的偏好数据收集方式:谁标、看什么、怎么问、怎么选样本、怎么迭代,以及各自的取舍。
- 解释机器人轨迹偏好里的”半空间”和”体积移除”,以及体积移除在人会出错时的失效方式。
0.2 先修知识
| 知识点 | 用在哪里 | 最低要求 |
|---|---|---|
| 第 6 讲 | 第 2 节 | 拉普拉斯近似、集成、后验预测 |
| 第 7 讲 | 第 2、3 节 | Fisher 信息、D 最优、批量选择 |
| 第 8、9 讲 | 第 3、4 节 | 玩具语言模型、KL 约束的解析解、在线 DPO |
0.3 本讲地图
第1节 问题:给大模型收集偏好,该问什么
第2节 奖励模型的不确定性与信息增益 ← 代码 01
第3节 从候选池里主动挑回答对 ← 代码 02
第4节 在线 / 迭代收集:在哪里采候选 ← 代码 03
第5节 案例:InstructGPT、Llama 2、Chatbot Arena
第6节 机器人的轨迹偏好:半空间与体积移除 ← 代码 04
第7–11节 小结、与考核的关系、练习、延伸阅读、下一讲预告
0.4 玩具世界与关于数字
01~03 号代码复用第 8 讲的玩具语言模型(19531 个回答可以穷举)。奖励模型是 16 维特征(每种词出现 1 次 / 2 次 / ≥3 次的指示变量 + 是否为空)上的线性 BT——相当于”冻结预训练表示、只学最后一层”。标注员默认是没有偏差的专家:这一讲关心”问哪些问题学得又快又准”,标注员没有偏差时,“奖励模型准”和”用它优化出的策略好”是一回事。主动学习只能让你更快地学到标注员的偏好——包括他们的偏差(第 8、14 讲)。
所有数字来自代码的实际运行(随机种子固定);真实论文的结论单独标出。
1. 问题:给大模型收集偏好,该问什么
收集一条偏好要决定很多事:
- 哪个提示词:用户真实的提问?标注员自己写的?模型最没把握的?
- 哪些回答:同一个模型采两次?不同的模型?不同的温度?用哪个版本的模型(SFT?上一轮 RLHF 的?)
- 怎么问:两个回答选一个?排序 4~9 个?加上”好多少”?分别评”有用”和”无害”?
- 问谁:外包标注员?领域专家?普通用户?另一个语言模型?
第 2 讲讨论过”怎么问”,第 7 讲讨论过一般意义上的”问哪个”。这一讲聚焦在大语言模型上:候选的回答对几乎无穷多,而能请人比较的只有几万到几百万对,挑哪些? 以及一个第 8、9 讲已经暗示的问题:偏好数据应该在什么时候、从哪个模型采?
2. 奖励模型的不确定性与信息增益
2.1 两种不确定性
奖励模型对”a 比 b 好的概率”没把握,可能有两种原因:
- 标注本身的随机性(偶然不确定性,aleatoric):两个回答真的差不多,不同的标注员、同一个标注员在不同时候会给出不同答案。问再多次也消除不了。
- 我们不知道参数(认知不确定性,epistemic):训练数据里很少有这类回答,奖励模型没学好。多问就能减少。
主动学习要找的是第二种。第 6 讲介绍了估计它的办法:
| 方法 | 做法 | 代价 |
|---|---|---|
| 拉普拉斯 / 最后一层的贝叶斯 | 表示固定,只对最后的线性层求后验 | 一次求逆(维数 = 隐藏层大小) |
| 集成 | 不同种子 / 自助抽样训练几个模型,看分歧 | 训练和推理都乘以成员数 |
| 认知神经网络(epinet,Osband 等 2023) | 在网络上加一个小的”随机头”,用一个随机输入索引不同的”假设” | 比完整的集成便宜得多 |
| MC dropout | 测试时也打开 dropout | 便宜,校准一般 |
代码 01_reward_uncertainty.py 演示 1 比较了三种预测概率(点估计 、拉普拉斯后验的平均、10 个自助成员的平均)。30 对训练数据时,点估计过于自信(ECE 0.053),拉普拉斯和集成更校准(0.012、0.025);100 对时差别已经很小且不一致;1000 对时三者几乎一样。不确定性带来的好处主要在数据很少的时候——而主动学习正是在数据很少的时候做决定。
演示 2:用 100 对随机数据训练后,把新的比较分成两组——“常见”(每种词都不超过 2 个)和”少见”(某个回答里某种词出现了 3 次以上,SFT 很少这样写)。少见组的拉普拉斯标准差 1.294(常见组 1.070),判错率 0.239(0.188)。奖励模型最不确定的地方,恰好是 RLHF 最想去的地方(第 8 讲的过度优化把策略推向”要点堆满”的回答)。
2.2 信息增益(BALD)
第 7 讲用 Fisher 信息衡量一个问题的价值。另一个常用的量是信息增益:问了这个问题、得到答案 之后,关于参数 的不确定性(熵)平均减少多少。它等于答案和参数之间的互信息,可以写成(Houlsby 等 2011,“BALD”):
其中 , 是二元熵。直觉:
- 第一项大:总的来说答案没把握。
- 第二项小:每个可能的 都很有把握——“没把握”来自不同的 意见不同(我们不知道 ),而不是标注本身的随机性。
两项之差大,才说明这个问题值得问。代码 01 演示 3 用 60 对数据训练后看四个候选对:
| 候选对 | BALD | |||
|---|---|---|---|---|
| 要点 要点 例子 vs 要点 例子 要点(特征完全相同) | 0.500 | 0.693 | 0.693 | 0.000 |
| 要点 要点 例子 vs 错误 错误 客套(一边倒) | 0.990 | 0.055 | 0.038 | 0.017 |
| 要点 例子 vs 要点 华丽(接近,特征常见) | 0.736 | 0.577 | 0.528 | 0.049 |
| 要点 要点 要点 要点 vs 要点 要点 例子(涉及少见特征) | 0.192 | 0.489 | 0.423 | 0.066 |
- 两个特征完全相同的回答(只是词序不同):每个 都说”五五开”,两项相等,信息为 0。答案是纯粹的抛硬币。
- 一边倒的对:几乎所有 都同意,第一项就很小。
- 涉及少见特征的对:不同的 给出的 分散得最开,信息最多。
对逻辑斯蒂模型,BALD 和第 7 讲的 D 最优增量 给出的排序很接近:两者都在找”参数不确定 × 答案没把握”的问题。另一个常用的近似是委员会投票(query by committee,Seung 等 1992):看集成成员给出的 的分歧。
3. 从候选池里主动挑回答对
代码 02_active_pairs.py 的设定:从 SFT 策略采 300 个回答,随机组成约 6000 个候选对;每次挑一对交给专家标注员,拿到答案后更新奖励模型,再挑下一对;前 10 对随机挑(冷启动)。重复 8 次。
奖励模型和标注员方向的一致率:
| 标注数 | 随机 | 不确定性(p≈0.5) | 方差最大 | D 最优 | BALD | 集成分歧 |
|---|---|---|---|---|---|---|
| 20 | 0.744 | 0.712 | 0.756 | 0.762 | 0.745 | 0.743 |
| 40 | 0.817 | 0.716 | 0.815 | 0.862 | 0.844 | 0.842 |
| 80 | 0.867 | 0.787 | 0.855 | 0.900 | 0.897 | 0.902 |
| 160 | 0.908 | 0.905 | 0.871 | 0.937 | 0.939 | 0.935 |
用这个奖励模型做 RLHF(β = 0.3)后的真实质量(完美奖励模型能达到 +2.608,SFT 是 +0.685):
| 标注数 | 随机 | 不确定性 | 方差最大 | D 最优 | BALD | 集成分歧 |
|---|---|---|---|---|---|---|
| 40 | +2.428 | +2.042 | +2.186 | +2.339 | +2.257 | +2.402 |
| 160 | +2.529 | +2.499 | +2.425 | +2.540 | +2.539 | +2.526 |
三个发现:
- 看参数不确定性的挑法(D 最优、BALD、集成分歧)让奖励模型整体学得更快:80 对左右就达到随机挑 160 对的一致率——省了约一半标注。只看方向(方差最大)不如它们。
- 不确定性采样的陷阱:前 80 对几乎原地踏步。原因在第三张表——它挑的对里有 44%~68% 是”两个回答特征完全相同”的(永远五五开,BALD = 0)。去掉这些对之后(演示 2),它不再原地踏步,但也不比随机好多少:剩下的”p ≈ 0.5”的对常常是特征差和 几乎垂直的(第 7 讲练习 5)。真实世界里也有这种对:同一个模型对同一个提示词生成两次几乎一样的回答。
- “用它做 RLHF 后的真实质量”几乎没有区别。主动挑法让奖励模型在 SFT 的回答上整体更准,但 RLHF 关心的是奖励模型在策略要去的地方准不准,而那些回答在 SFT 的候选池里很少(第 2.1 节)。
【边界】玩具世界只有 16 维特征,随机挑 160 对已经学得不错,主动学习的空间有限。真实的奖励模型维数高得多,Dwaracherla 等(2024)在大模型上报告主动探索能省下大量标注(第 4.2 节)。
4. 在线 / 迭代收集:在哪里采候选
4.1 实验
第 3 节的第三个发现提示:候选回答从哪里来可能比”怎么挑”更重要。代码 03_online_collection.py 把收集过程改成一轮一轮的:
每一轮:用当前奖励模型求 RLHF 策略(β = 0.3 的解析最优解)→ 采 200 个候选回答 → 挑 20 对请人比较 → 更新奖励模型
先用 20 对随机 SFT 数据热身,再做 8 轮,共 180 对标注。重复 10 次:
| 标注数 | 离线 + 随机 | 离线 + BALD | 在线 + 随机 | 在线 + BALD | 在线 + D 最优 | 在线 + 双 Thompson |
|---|---|---|---|---|---|---|
| 20 | +2.162 | +2.162 | +2.162 | +2.162 | +2.162 | +2.162 |
| 60 | +2.364 | +2.419 | +2.552 | +2.474 | +2.499 | +2.437 |
| 100 | +2.462 | +2.465 | +2.591 | +2.556 | +2.551 | +2.494 |
| 180 | +2.487 | +2.520 | +2.581 | +2.575 | +2.567 | +2.555 |
(“离线”:候选一直从 SFT 采;“在线”:从当前策略采。表中是 RLHF 后的真实质量,完美奖励模型能达到 +2.608。)
- 在线明显好于离线:候选从当前策略采,奖励模型就在”策略要去的地方”得到了数据——哪里被高估了,下一轮就会有比较来纠正它(第 8 讲的过度优化在这里被”在线”地修正)。60 对标注时,在线 + 随机已经比离线做法用 180 对还好。
- 离线时主动挑法有帮助(+2.520 vs +2.487);在线时随机配对反而和主动挑法一样好甚至更好。 当前策略的回答已经集中在高分区域,在它们之间随机比较,问的正好是”好回答里哪个更好”——这比”让参数整体更准”更贴近 RLHF 的需要。
- 最后一轮的候选回答本身:离线约 +0.72,在线约 +2.56。在线时标注员看到的是”好回答 vs 好回答”。
这和第 9 讲在线 DPO 的结论一致:让数据跟上策略。Tajwar 等(2024)在真实的大模型上也发现,用策略自己生成的(on-policy)数据做偏好微调很重要。
4.2 大模型上的主动探索
- 双 Thompson 采样(Dwaracherla 等 2024):从奖励模型的后验(他们用集成或 epinet)里抽两个奖励函数,各自在策略生成的多个回答里挑出它认为最好的,让人比较这两个。后验还不确定时,两个”可能的奖励函数”推荐不同的回答,而这正是该搞清楚的”谁才是最好的”(第 12 讲详细讲 Thompson 采样)。他们报告这种探索比随机配对省下大量标注。在我们的玩具世界里,双 Thompson 没有比在线 + 随机更好——每轮候选只有 200 个、特征只有 16 维,随机配对已经覆盖得不错。结论依赖规模,不能直接外推。
- 主动 DPO(Muldrew 等 2024):DPO 没有显式的奖励模型,但隐式奖励 可以给出”模型对这一对的预测”;挑预测最不确定(熵最大)、或隐式奖励最”出乎意料”的提示词和回答对去标注,在线地训练。
- 挑提示词:除了挑回答对,还可以挑提示词——模型最没把握的、训练数据里少见的、用户真正关心的。提示词的分布决定了模型在哪些任务上被对齐。
5. 案例:InstructGPT、Llama 2、Chatbot Arena
三个有影响的偏好数据收集方式,代表了三种取舍:
| InstructGPT(2022) | Llama 2(2023) | Chatbot Arena(2023—) | |
|---|---|---|---|
| 谁标 | 约 40 名经过筛选的外包标注员 | 外包标注员(供应商) | 任何访问网站的用户(众包) |
| 提示词从哪来 | OpenAI API 用户的真实提示词 + 标注员自己写的 | 标注员自己写 | 用户自己输入 |
| 看什么 | 同一个提示词的 4~9 个回答 | 两个回答(来自不同的模型变体、不同温度) | 两个匿名模型的回答 |
| 怎么问 | 排序(拆成 对) | 二选一 + 偏好强度(明显更好 / 更好 / 稍好 / 几乎一样);有用性和安全性分开 | 二选一 / 平局 / 都不好 |
| 迭代 | 一轮 | 每周一批,用最新的模型生成回答,奖励模型和策略迭代了 5 个版本 | 持续收集 |
| 规模 | 约 3.3 万个提示词的排序 | 超过 140 万对比较 | 论文发表时约 24 万票,之后数百万 |
| 用途 | 训练奖励模型 → PPO | 训练两个奖励模型 → 拒绝采样微调 + PPO | 评估(BT 排行榜,第 5、6 讲) |
几个值得注意的设计:
- 防止少数用户主导:InstructGPT 每个 API 用户最多取 200 个提示词,并按用户划分训练集和测试集(第 2 讲第 3.5 节:按独立单元划分)。
- 增加回答的多样性:Llama 2 用不同的模型变体、不同的温度生成两个回答。如果两个回答总是很像,标注就退化成”特征完全相同”的抛硬币(第 3 节)。
- 跟上模型:Llama 2 每周用最新的模型生成新回答,正是第 4 节”在线收集”的做法。论文指出,随着模型变好,旧的偏好数据的分布和新模型的输出差别越来越大,奖励模型的准确率会下降。
- 偏好强度:Llama 2 用它在奖励模型的损失里加间隔(第 6 讲),也用它分析准确率:在”明显更好”的对上奖励模型很准,在”几乎一样”的对上接近 50%。
- Chatbot Arena 的代价:提示词的分布不受控制,投票者千差万别,回答的长度和格式会影响投票(第 14 讲的风格控制)。它的论文还提出了主动采样:优先展示能最大程度缩小排行榜置信区间的模型对——第 7 讲最优设计的直接应用。
AI 反馈:越来越多的偏好数据由另一个语言模型标注(例如 UltraFeedback 用 GPT-4 给约 6.4 万个提示词的回答打分;“宪法 AI”让模型按一组原则批评和比较回答)。它便宜、可以在线大规模地做,但评委模型自己的偏差(偏爱长回答、偏爱自己的风格)会被继承下来(第 14、15 讲)。
6. 机器人的轨迹偏好:半空间与体积移除
6.1 设定
主动偏好学习最早的成功应用之一在机器人上(Sadigh 等 2017)。一辆自动驾驶车的一条轨迹用几个特征描述(例如离车道中心多远、速度多快、离前车多近),人心中的奖励是 。 只确定方向(长度和”人有多敏锐”混在一起,第 1 讲的不可识别),所以放在单位球面上。
每次给人看两条轨迹的动画,问”哪条更好”。如果人从不出错,回答”a 更好”就告诉我们 : 在一个半空间里。每个回答把可能的 切掉一部分。
体积移除:挑”预期能切掉最多体积”的问题。如果答 a 的概率是 ,预期留下的体积(后验质量)是 ,所以要最大化 ——两个答案各占一半时最好。和第 7 讲的二分搜索是同一个直觉。
6.2 体积移除的失效
人的回答有噪声:。代码 04_trajectory_preferences.py:3 维特征,60 条轨迹两两组成 1770 个问题,再混进 60 个”两条几乎一样的轨迹”的问题;后验用 1000 个粒子表示。重复 30 次,报告估计方向和真实方向的夹角(度):
| 挑法(κ = 5,会出错的人) | 5 个问题后 | 10 个 | 20 个 | 30 个 | 30 个里”几乎一样”的问题 |
|---|---|---|---|---|---|
| 随机 | 27.0 | 19.9 | 12.8 | 9.7 | 1.1 |
| 体积移除 | 42.1 | 23.4 | 19.5 | 16.4 | 21.9 |
| 信息增益 | 17.7 | 6.2 | 3.5 | 3.2 | 0.0 |
体积移除的 30 个问题里,平均有 22 个是”两条几乎一样的轨迹”!对这种问题,无论 是什么,人都是在瞎猜,——体积移除的得分 达到最大值 0.5。可是瞎猜的答案对 毫无信息,结果它比随机还差。信息增益没有这个问题:对”几乎一样”的问题,每个可能的 自己就是五五开,,信息为 0。
这正是 Bıyık 等(2019)“问简单的问题”一文的发现。他们还发现,信息增益挑出的问题对人来说也更容易回答(两条轨迹差别明显)——难以区分的问题不仅没信息,还让人烦、更容易答错。
几乎不出错的人(κ = 50):体积移除的误差(30 个问题后 3.7 度)接近信息增益(2.7 度),因为只要有一点差别人就能分辨——体积移除最初就是在”人不出错”的假设下提出的。但它仍然挑了约 18.5 个”几乎一样”的问题,而在真实的人身上,这些恰恰是最难、最容易答错的。
和第 3 节的联系:不确定性采样(只看 是否接近 0.5)和体积移除(只看两个答案是否各占一半)犯的是同一个错——只看”答案有没有悬念”,不看”答案能不能告诉我们关于 的事”。BALD 的第二项 正是用来排除”悬念来自噪声”的情形的。
6.3 外骨骼的步态
同样的思路被用来个性化外骨骼的步态(Tucker 等 2020,CoSpar)。步态参数(步长、步频……)合不合适因人而异,又很难用一个公式写出来;让使用者每次走两种步态、说哪个更舒服,几十次比较就能找到适合这个人的参数。参数是连续的,效用是未知的非线性函数——这是第 13 讲偏好贝叶斯优化的问题。
7. 小结
- 两种不确定性:标注本身的随机性(问再多也消不掉)和参数的不确定性(多问就能减少)。主动学习要找后者。估计方法:拉普拉斯 / 最后一层的贝叶斯、集成、epinet、MC dropout。数据很少时,考虑参数不确定性的预测更校准。
- 信息增益(BALD) :答案总体没把握、但每个可能的 都有把握。两个一样的回答信息为 0,一边倒的对信息很少。BALD 和 D 最优排序相近。
- 陷阱:只看”答案有没有悬念”的不确定性采样和体积移除,会挑出大量”两个几乎一样”的问题——答案是噪声,问了白问。
- 离线主动挑选让奖励模型整体更准(玩具里约省一半标注),但用它优化出的策略不一定更好:RLHF 需要奖励模型在策略要去的地方准。
- 在线 / 迭代收集(从当前策略采候选)效果好得多;在线时”怎么挑”的差别变小。真实大模型上,双 Thompson 等主动探索报告了显著的节省。
- 案例:InstructGPT(筛选过的外包标注员、K 个回答排序、按用户划分)、Llama 2(二选一 + 强度、多样的回答来源、每周迭代)、Chatbot Arena(众包、匿名对战、用于评估、主动采样);AI 反馈便宜但继承评委的偏差。
- 轨迹偏好:回答 = 半空间;体积移除在人会出错时失效,信息增益更稳,问题也更容易回答。
8. 与测验、口试和项目的关系
- 测验与口试可能会问:两种不确定性的区别;BALD 的公式和两项的含义;为什么”两个一样的回答”信息为 0;不确定性采样 / 体积移除的失效方式;为什么奖励模型更准不一定让 RLHF 更好;在线收集为什么重要;三个案例的数据收集方式和取舍;双 Thompson 采样的思路。
- 期末项目:如果你要收集偏好,预分析计划里写清楚候选从哪里来(离线 / 在线)、怎么挑(以及为什么)、怎样避免”几乎一样”的对、怎样评估(不只是奖励模型的准确率,还有下游的效果)。如果用 AI 反馈,说明怎样检查评委的偏差。
9. 练习
练习 1(BALD 的性质)。 (a) 证明 BALD ,并说明什么时候等于 0。 (b) 如果后验已经完全确定( 只有一个可能的值),BALD 是多少?这时”答案没把握”的问题还值得问吗?
参考答案
(a) 二元熵是凹函数,由 Jensen 不等式 。等号成立 ⇔ 对后验几乎处处相同——所有可能的 对这个问题给出同样的预测,答案不能区分它们。 (b) 只有一个 时两项相等,BALD = 0。即使 (答案没把握),问了也不能减少关于 的不确定性——这种”没把握”完全来自标注本身的随机性。(如果目标不是学 ,而是别的,比如评估一个具体的回答对,那另当别论。)
练习 2(不确定性采样的陷阱)。线性 BT,两个回答的特征完全相同()。 (a) 不确定性采样、方差最大、D 最优、BALD 分别给它什么分数? (b) 哪些规则会被它吸引?
参考答案
(a) :不确定性采样得分 ,是最高可能的分数。方差 ,最低。D 最优 ,最低。BALD:所有 都给出 ,,最低。 (b) 只有不确定性采样会被吸引(代码 02 里它挑的对有一半以上是这种)。其余三种都会避开。体积移除在第 6 节有同样的问题: 让 最大。
练习 3(体积移除)。 (a) 推导”预期剩下的后验质量” 。 (b) 人从不出错时(),证明体积移除和信息增益挑出同一个问题。
参考答案
(a) 答 a 的概率 ,答 a 之后剩下的后验质量(未归一化)是”和答 a 一致的 的质量” 。所以预期剩下 。 (b) 不出错时,每个 的 ,信息增益 ,它随 向 0.5 靠近单调增大;体积移除 也是。两者都在 最接近 0.5 的问题上取最大值,所以挑同一个。两者的差别只在人会出错时出现。
练习 4(离线 vs 在线)。用第 8 讲的语言解释:为什么从 SFT 采候选、主动地挑,奖励模型在 SFT 的回答上更准了,RLHF 的结果却没变好?在线收集修正的是什么?
参考答案
RLHF 的结果取决于奖励模型在策略 访问的回答上是否准确(第 8 讲第 5.2 节:在”奖励模型打分最高”的区域,它和真实质量的一致性最差)。 会把概率推到 SFT 很少写的回答上,那里的奖励模型主要靠外推。从 SFT 的候选池里挑问题,无论怎么挑,都很少问到这些回答。在线收集从当前策略采候选,奖励模型在策略要去的地方得到数据,被高估的回答在下一轮就会被比较、被纠正——这是一个”优化 → 暴露错误 → 纠正”的循环。
练习 5(双 Thompson 采样)。 (a) 后验已经集中到一个点时,双 Thompson 采样会挑出什么样的对? (b) 为什么这种挑法适合”找最好的回答”,而不一定适合”让奖励模型整体更准”?
参考答案
(a) 两个样本几乎相同,推荐同一个最好的回答,于是退化成”最好的回答 vs 随机的对手”(代码里换一个随机对手),探索很少。 (b) 它只关心”谁是最好的”:两个可能的奖励函数推荐的都是各自心中的最好回答,问的是”这两个候选冠军谁更好”。它不关心低分区域的排序(那里的错误不影响选最好的回答)。这正是 RLHF(和第 11~13 讲的老虎机)需要的:决策只依赖最好的那部分。
练习 6(案例分析)。Llama 2 用”两个不同的模型变体 + 不同的温度”生成每一对回答。 (a) 如果总是用同一个模型、同一个温度采两次,会有什么问题? (b) 如果两个回答一个来自很强的模型、一个来自很弱的模型,又会有什么问题?
参考答案
(a) 两个回答常常很像,标注接近抛硬币(第 3 节的”特征完全相同”),信息少;而且只覆盖了一个模型的输出分布。 (b) 结果几乎总是”强的赢”,一边倒,信息也少(第 7 讲: 接近 1 时 接近 0)。奖励模型只学会了”强模型 vs 弱模型”的粗略差别,学不到”两个好回答之间”的细微差别——而 RLHF 后期需要的恰恰是后者。好的设计让两个回答”有区别但不一边倒”。
练习 7(设计)。你要为一个代码助手收集偏好,预算 1 万对,标注员是程序员(很贵)。设计收集方案:提示词从哪来、回答怎么生成、怎么挑对、分几轮、怎样评估。
参考答案(思路)
提示词:真实用户的代码问题(去重、按用户限额、按任务类型分层抽样),加上一部分覆盖薄弱场景的人写问题。回答:多个模型版本和温度,保证多样;对能自动检验的部分(能否运行、测试是否通过)先用程序过滤掉明显的错误,把人的时间留给”都能运行,哪个更好”的问题。挑对:去掉几乎一样的回答;按奖励模型的认知不确定性(集成或最后一层贝叶斯的 BALD)挑,并保证批内多样(第 7 讲的贪心逐个加入)。分 5~10 轮,每轮从最新的模型采候选(在线)。评估:留出一批随机抽样的对(不受主动挑选影响,第 7 讲第 4.4 节的教训)测奖励模型;用人工评估或自动测试评估最终策略;监控回答长度等风格变量。
10. 延伸阅读
课程教材
- Truong, Haupt, Koyejo. Machine Learning from Human Preferences. 第 2 章(主动学习与信息增益、轨迹偏好)。
主动学习与信息增益
- Settles. Active Learning Literature Survey. 2009.
- Houlsby, Huszár, Ghahramani, Lengyel. Bayesian Active Learning for Classification and Preference Learning. 2011.(BALD)
- Seung, Opper, Sompolinsky. Query by Committee. COLT 1992.
- Osband et al. Epistemic Neural Networks. NeurIPS 2023.
大模型上的主动偏好获取
- Dwaracherla, Asghari, Hao, Van Roy. Efficient Exploration for LLMs. ICML 2024.
- Muldrew, Hayes, Zhang, Barber. Active Preference Learning for Large Language Models. ICML 2024.
- Mehta et al. Sample Efficient Reinforcement Learning from Human Feedback via Active Exploration. 2023.
- Tajwar et al. Preference Fine-Tuning of LLMs Should Leverage Suboptimal, On-Policy Data. ICML 2024.
案例
- Ouyang et al. Training Language Models to Follow Instructions with Human Feedback. NeurIPS 2022. 第 3 节与附录 B(标注员的筛选与数据收集)。
- Touvron et al. Llama 2: Open Foundation and Fine-Tuned Chat Models. 2023. 第 3.2 节。
- Chiang et al. Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. ICML 2024.
- Cui et al. UltraFeedback: Boosting Language Models with High-Quality Feedback. 2023.
- Bai et al. Constitutional AI: Harmlessness from AI Feedback. 2022.
机器人的偏好学习
- Sadigh, Dragan, Sastry, Seshia. Active Preference-Based Learning of Reward Functions. RSS 2017.
- Bıyık, Palan, Landolfi, Losey, Sadigh. Asking Easy Questions: A User-Friendly Approach to Active Reward Learning. CoRL 2019.
- Tucker et al. Preference-Based Learning for Exoskeleton Gait Optimization. ICRA 2020.
11. 下一讲预告
这一讲的主动学习有一个隐含的目标:学准偏好。可是学偏好通常是为了做决定——推荐一个商品、选一个回答、给一个剂量。做决定时,“学准”本身不是目的,“决定得好”才是;而为了学习去尝试一个可能不好的选项,本身就有代价。
第 11 讲开启第三单元的核心:在不确定中行动。
- 协助博弈:机器不知道人想要什么时应该怎样行动?“关机博弈”说明:对目标的不确定性会让机器愿意被人关掉;完全确定的机器则没有这个动机。人应该”示范”还是”教”?
- 多臂老虎机:一边学、一边做决定。遗憾的定义;ε-贪心、UCB;探索与利用的权衡;为什么”贪心”会永远卡住。
- 选择架构:系统怎样摆放选项,本身就在影响人的选择——也影响系统能学到什么。