第 10 讲:面向大语言模型的主动偏好获取与案例研究

Machine Learning from Human Preferences · Lecture 10。个人学习讲义与配套实验,按主题整理并持续修订。

课程源码 ZIP ↓

个人整理的学习笔记,非官方讲义;课程来源与整理说明见课程介绍。配套示例未逐一运行验证。

本篇目录

对应: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 学完本讲,你应该能够

  1. 区分奖励模型的两种不确定性(参数的 vs 标注本身的),说出拉普拉斯近似、最后一层的贝叶斯、集成各自怎样估计参数的不确定性。
  2. 写出 BALD(信息增益)的公式并拆开解释两项;说出为什么”两个一样的回答”信息为 0、为什么只看”答案有没有悬念”的不确定性采样会掉进陷阱。
  3. 解释”主动挑选让奖励模型整体更准”和”用它优化出的策略更好”为什么不是一回事;说出在线 / 迭代收集为什么重要。
  4. 说出双 Thompson 采样、主动 DPO 的思路。
  5. 比较 InstructGPT、Llama 2、Chatbot Arena 的偏好数据收集方式:谁标、看什么、怎么问、怎么选样本、怎么迭代,以及各自的取舍。
  6. 解释机器人轨迹偏好里的”半空间”和”体积移除”,以及体积移除在人会出错时的失效方式。

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 讲介绍了估计它的办法:

方法做法代价
拉普拉斯 / 最后一层的贝叶斯表示固定,只对最后的线性层求后验 N(w^,Σ)N(\hat w, \Sigma)一次求逆(维数 = 隐藏层大小)
集成不同种子 / 自助抽样训练几个模型,看分歧训练和推理都乘以成员数
认知神经网络(epinet,Osband 等 2023)在网络上加一个小的”随机头”,用一个随机输入索引不同的”假设”比完整的集成便宜得多
MC dropout测试时也打开 dropout便宜,校准一般

代码 01_reward_uncertainty.py 演示 1 比较了三种预测概率(点估计 σ(w^⊤u)\sigma(\hat w^\top u)、拉普拉斯后验的平均、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 信息衡量一个问题的价值。另一个常用的量是信息增益:问了这个问题、得到答案 yy 之后,关于参数 ww 的不确定性(熵)平均减少多少。它等于答案和参数之间的互信息,可以写成(Houlsby 等 2011,“BALD”):

I(y;w)=H(Ew[pw])⏟答案总体上有多没把握−Ew[H(pw)]⏟每个可能的 w 自己有多没把握I(y; w) = \underbrace{H\big(E_w[p_w]\big)}_{\text{答案总体上有多没把握}} - \underbrace{E_w\big[H(p_w)\big]}_{\text{每个可能的 } w \text{ 自己有多没把握}}

其中 pw=σ(w⊤u)p_w = \sigma(w^\top u),HH 是二元熵。直觉:

  • 第一项大:总的来说答案没把握。
  • 第二项小:每个可能的 ww 都很有把握——“没把握”来自不同的 ww 意见不同(我们不知道 ww),而不是标注本身的随机性。

两项之差大,才说明这个问题值得问。代码 01 演示 3 用 60 对数据训练后看四个候选对:

候选对E[p]E[p]H(E[p])H(E[p])E[H(p)]E[H(p)]BALD
要点 要点 例子 vs 要点 例子 要点(特征完全相同)0.5000.6930.6930.000
要点 要点 例子 vs 错误 错误 客套(一边倒)0.9900.0550.0380.017
要点 例子 vs 要点 华丽(接近,特征常见)0.7360.5770.5280.049
要点 要点 要点 要点 vs 要点 要点 例子(涉及少见特征)0.1920.4890.4230.066
  • 两个特征完全相同的回答(只是词序不同):每个 ww 都说”五五开”,两项相等,信息为 0。答案是纯粹的抛硬币。
  • 一边倒的对:几乎所有 ww 都同意,第一项就很小。
  • 涉及少见特征的对:不同的 ww 给出的 pp 分散得最开,信息最多。

对逻辑斯蒂模型,BALD 和第 7 讲的 D 最优增量 log⁡(1+p(1−p)u⊤Σu)\log(1 + p(1-p)u^\top\Sigma u) 给出的排序很接近:两者都在找”参数不确定 × 答案没把握”的问题。另一个常用的近似是委员会投票(query by committee,Seung 等 1992):看集成成员给出的 pp 的分歧。


3. 从候选池里主动挑回答对

代码 02_active_pairs.py 的设定:从 SFT 策略采 300 个回答,随机组成约 6000 个候选对;每次挑一对交给专家标注员,拿到答案后更新奖励模型,再挑下一对;前 10 对随机挑(冷启动)。重复 8 次。

奖励模型和标注员方向的一致率:

标注数随机不确定性(p≈0.5)方差最大D 最优BALD集成分歧
200.7440.7120.7560.7620.7450.743
400.8170.7160.8150.8620.8440.842
800.8670.7870.8550.9000.8970.902
1600.9080.9050.8710.9370.9390.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

三个发现:

  1. 看参数不确定性的挑法(D 最优、BALD、集成分歧)让奖励模型整体学得更快:80 对左右就达到随机挑 160 对的一致率——省了约一半标注。只看方向(方差最大)不如它们。
  2. 不确定性采样的陷阱:前 80 对几乎原地踏步。原因在第三张表——它挑的对里有 44%~68% 是”两个回答特征完全相同”的(永远五五开,BALD = 0)。去掉这些对之后(演示 2),它不再原地踏步,但也不比随机好多少:剩下的”p ≈ 0.5”的对常常是特征差和 ww 几乎垂直的(第 7 讲练习 5)。真实世界里也有这种对:同一个模型对同一个提示词生成两次几乎一样的回答。
  3. “用它做 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 没有显式的奖励模型,但隐式奖励 βlog⁡(π/πref)\beta\log(\pi/\pi_{\text{ref}}) 可以给出”模型对这一对的预测”;挑预测最不确定(熵最大)、或隐式奖励最”出乎意料”的提示词和回答对去标注,在线地训练。
  • 挑提示词:除了挑回答对,还可以挑提示词——模型最没把握的、训练数据里少见的、用户真正关心的。提示词的分布决定了模型在哪些任务上被对齐。

5. 案例:InstructGPT、Llama 2、Chatbot Arena

三个有影响的偏好数据收集方式,代表了三种取舍:

InstructGPT(2022)Llama 2(2023)Chatbot Arena(2023—)
谁标约 40 名经过筛选的外包标注员外包标注员(供应商)任何访问网站的用户(众包)
提示词从哪来OpenAI API 用户的真实提示词 + 标注员自己写的标注员自己写用户自己输入
看什么同一个提示词的 4~9 个回答两个回答(来自不同的模型变体、不同温度)两个匿名模型的回答
怎么问排序(拆成 (K2)\binom{K}{2} 对)二选一 + 偏好强度(明显更好 / 更好 / 稍好 / 几乎一样);有用性和安全性分开二选一 / 平局 / 都不好
迭代一轮每周一批,用最新的模型生成回答,奖励模型和策略迭代了 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)。一辆自动驾驶车的一条轨迹用几个特征描述(例如离车道中心多远、速度多快、离前车多近),人心中的奖励是 r=w⊤ϕr = w^\top\phi。ww 只确定方向(长度和”人有多敏锐”混在一起,第 1 讲的不可识别),所以放在单位球面上。

每次给人看两条轨迹的动画,问”哪条更好”。如果人从不出错,回答”a 更好”就告诉我们 w⊤(ϕa−ϕb)>0w^\top(\phi_a - \phi_b) > 0:ww 在一个半空间里。每个回答把可能的 ww 切掉一部分。

体积移除:挑”预期能切掉最多体积”的问题。如果答 a 的概率是 P(a)P(a),预期留下的体积(后验质量)是 P(a)2+P(b)2P(a)^2 + P(b)^2,所以要最大化 1−P(a)2−P(b)2=2P(a)P(b)1 - P(a)^2 - P(b)^2 = 2P(a)P(b)——两个答案各占一半时最好。和第 7 讲的二分搜索是同一个直觉。

6.2 体积移除的失效

人的回答有噪声:P(a 更好)=σ(κ w⊤(ϕa−ϕb))P(a \text{ 更好}) = \sigma(\kappa\,w^\top(\phi_a - \phi_b))。代码 04_trajectory_preferences.py:3 维特征,60 条轨迹两两组成 1770 个问题,再混进 60 个”两条几乎一样的轨迹”的问题;后验用 1000 个粒子表示。重复 30 次,报告估计方向和真实方向的夹角(度):

挑法(κ = 5,会出错的人)5 个问题后10 个20 个30 个30 个里”几乎一样”的问题
随机27.019.912.89.71.1
体积移除42.123.419.516.421.9
信息增益17.76.23.53.20.0

体积移除的 30 个问题里,平均有 22 个是”两条几乎一样的轨迹”!对这种问题,无论 ww 是什么,人都是在瞎猜,P(a)=0.5P(a) = 0.5——体积移除的得分 2P(a)P(b)2P(a)P(b) 达到最大值 0.5。可是瞎猜的答案对 ww 毫无信息,结果它比随机还差。信息增益没有这个问题:对”几乎一样”的问题,每个可能的 ww 自己就是五五开,E[H(p)]=H(E[p])E[H(p)] = H(E[p]),信息为 0。

这正是 Bıyık 等(2019)“问简单的问题”一文的发现。他们还发现,信息增益挑出的问题对人来说也更容易回答(两条轨迹差别明显)——难以区分的问题不仅没信息,还让人烦、更容易答错。

几乎不出错的人(κ = 50):体积移除的误差(30 个问题后 3.7 度)接近信息增益(2.7 度),因为只要有一点差别人就能分辨——体积移除最初就是在”人不出错”的假设下提出的。但它仍然挑了约 18.5 个”几乎一样”的问题,而在真实的人身上,这些恰恰是最难、最容易答错的。

和第 3 节的联系:不确定性采样(只看 pp 是否接近 0.5)和体积移除(只看两个答案是否各占一半)犯的是同一个错——只看”答案有没有悬念”,不看”答案能不能告诉我们关于 ww 的事”。BALD 的第二项 Ew[H(pw)]E_w[H(p_w)] 正是用来排除”悬念来自噪声”的情形的。

6.3 外骨骼的步态

同样的思路被用来个性化外骨骼的步态(Tucker 等 2020,CoSpar)。步态参数(步长、步频……)合不合适因人而异,又很难用一个公式写出来;让使用者每次走两种步态、说哪个更舒服,几十次比较就能找到适合这个人的参数。参数是连续的,效用是未知的非线性函数——这是第 13 讲偏好贝叶斯优化的问题。


7. 小结

  1. 两种不确定性:标注本身的随机性(问再多也消不掉)和参数的不确定性(多问就能减少)。主动学习要找后者。估计方法:拉普拉斯 / 最后一层的贝叶斯、集成、epinet、MC dropout。数据很少时,考虑参数不确定性的预测更校准。
  2. 信息增益(BALD) =H(Ew[p])−Ew[H(p)]= H(E_w[p]) - E_w[H(p)]:答案总体没把握、但每个可能的 ww 都有把握。两个一样的回答信息为 0,一边倒的对信息很少。BALD 和 D 最优排序相近。
  3. 陷阱:只看”答案有没有悬念”的不确定性采样和体积移除,会挑出大量”两个几乎一样”的问题——答案是噪声,问了白问。
  4. 离线主动挑选让奖励模型整体更准(玩具里约省一半标注),但用它优化出的策略不一定更好:RLHF 需要奖励模型在策略要去的地方准。
  5. 在线 / 迭代收集(从当前策略采候选)效果好得多;在线时”怎么挑”的差别变小。真实大模型上,双 Thompson 等主动探索报告了显著的节省。
  6. 案例:InstructGPT(筛选过的外包标注员、K 个回答排序、按用户划分)、Llama 2(二选一 + 强度、多样的回答来源、每周迭代)、Chatbot Arena(众包、匿名对战、用于评估、主动采样);AI 反馈便宜但继承评委的偏差。
  7. 轨迹偏好:回答 = 半空间;体积移除在人会出错时失效,信息增益更稳,问题也更容易回答。

8. 与测验、口试和项目的关系

  • 测验与口试可能会问:两种不确定性的区别;BALD 的公式和两项的含义;为什么”两个一样的回答”信息为 0;不确定性采样 / 体积移除的失效方式;为什么奖励模型更准不一定让 RLHF 更好;在线收集为什么重要;三个案例的数据收集方式和取舍;双 Thompson 采样的思路。
  • 期末项目:如果你要收集偏好,预分析计划里写清楚候选从哪里来(离线 / 在线)、怎么挑(以及为什么)、怎样避免”几乎一样”的对、怎样评估(不只是奖励模型的准确率,还有下游的效果)。如果用 AI 反馈,说明怎样检查评委的偏差。

9. 练习

练习 1(BALD 的性质)。 (a) 证明 BALD ≥0\ge 0,并说明什么时候等于 0。 (b) 如果后验已经完全确定(ww 只有一个可能的值),BALD 是多少?这时”答案没把握”的问题还值得问吗?

参考答案

(a) 二元熵是凹函数,由 Jensen 不等式 H(E[p])≥E[H(p)]H(E[p]) \ge E[H(p)]。等号成立 ⇔ pwp_w 对后验几乎处处相同——所有可能的 ww 对这个问题给出同样的预测,答案不能区分它们。 (b) 只有一个 ww 时两项相等,BALD = 0。即使 p=0.5p = 0.5(答案没把握),问了也不能减少关于 ww 的不确定性——这种”没把握”完全来自标注本身的随机性。(如果目标不是学 ww,而是别的,比如评估一个具体的回答对,那另当别论。)

练习 2(不确定性采样的陷阱)。线性 BT,两个回答的特征完全相同(u=0u = 0)。 (a) 不确定性采样、方差最大、D 最优、BALD 分别给它什么分数? (b) 哪些规则会被它吸引?

参考答案

(a) p=σ(0)=0.5p = \sigma(0) = 0.5:不确定性采样得分 −∣0.5−0.5∣=0-|0.5 - 0.5| = 0,是最高可能的分数。方差 u⊤Σu=0u^\top\Sigma u = 0,最低。D 最优 log⁡(1+0.25×0)=0\log(1 + 0.25 \times 0) = 0,最低。BALD:所有 ww 都给出 p=0.5p = 0.5,H(0.5)−H(0.5)=0H(0.5) - H(0.5) = 0,最低。 (b) 只有不确定性采样会被吸引(代码 02 里它挑的对有一半以上是这种)。其余三种都会避开。体积移除在第 6 节有同样的问题:P(a)=0.5P(a) = 0.5 让 2P(a)P(b)2P(a)P(b) 最大。

练习 3(体积移除)。 (a) 推导”预期剩下的后验质量” =P(a)2+P(b)2= P(a)^2 + P(b)^2。 (b) 人从不出错时(P(a∣w)∈{0,1}P(a \mid w) \in \{0, 1\}),证明体积移除和信息增益挑出同一个问题。

参考答案

(a) 答 a 的概率 P(a)P(a),答 a 之后剩下的后验质量(未归一化)是”和答 a 一致的 ww 的质量” =P(a)= P(a)。所以预期剩下 P(a)⋅P(a)+P(b)⋅P(b)P(a)\cdot P(a) + P(b)\cdot P(b)。 (b) 不出错时,每个 ww 的 H(pw)=0H(p_w) = 0,信息增益 =H(P(a))= H(P(a)),它随 P(a)P(a) 向 0.5 靠近单调增大;体积移除 2P(a)(1−P(a))2P(a)(1 - P(a)) 也是。两者都在 P(a)P(a) 最接近 0.5 的问题上取最大值,所以挑同一个。两者的差别只在人会出错时出现。

练习 4(离线 vs 在线)。用第 8 讲的语言解释:为什么从 SFT 采候选、主动地挑,奖励模型在 SFT 的回答上更准了,RLHF 的结果却没变好?在线收集修正的是什么?

参考答案

RLHF 的结果取决于奖励模型在策略 πβ∗\pi^*_\beta 访问的回答上是否准确(第 8 讲第 5.2 节:在”奖励模型打分最高”的区域,它和真实质量的一致性最差)。πβ∗\pi^*_\beta 会把概率推到 SFT 很少写的回答上,那里的奖励模型主要靠外推。从 SFT 的候选池里挑问题,无论怎么挑,都很少问到这些回答。在线收集从当前策略采候选,奖励模型在策略要去的地方得到数据,被高估的回答在下一轮就会被比较、被纠正——这是一个”优化 → 暴露错误 → 纠正”的循环。

练习 5(双 Thompson 采样)。 (a) 后验已经集中到一个点时,双 Thompson 采样会挑出什么样的对? (b) 为什么这种挑法适合”找最好的回答”,而不一定适合”让奖励模型整体更准”?

参考答案

(a) 两个样本几乎相同,推荐同一个最好的回答,于是退化成”最好的回答 vs 随机的对手”(代码里换一个随机对手),探索很少。 (b) 它只关心”谁是最好的”:两个可能的奖励函数推荐的都是各自心中的最好回答,问的是”这两个候选冠军谁更好”。它不关心低分区域的排序(那里的错误不影响选最好的回答)。这正是 RLHF(和第 11~13 讲的老虎机)需要的:决策只依赖最好的那部分。

练习 6(案例分析)。Llama 2 用”两个不同的模型变体 + 不同的温度”生成每一对回答。 (a) 如果总是用同一个模型、同一个温度采两次,会有什么问题? (b) 如果两个回答一个来自很强的模型、一个来自很弱的模型,又会有什么问题?

参考答案

(a) 两个回答常常很像,标注接近抛硬币(第 3 节的”特征完全相同”),信息少;而且只覆盖了一个模型的输出分布。 (b) 结果几乎总是”强的赢”,一边倒,信息也少(第 7 讲:pp 接近 1 时 p(1−p)p(1-p) 接近 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;探索与利用的权衡;为什么”贪心”会永远卡住。
  • 选择架构:系统怎样摆放选项,本身就在影响人的选择——也影响系统能学到什么。
← 返回课程目录