奖励模型(Reward Model):RLHF 里最容易被忽略但其实最关键的一环

在做 RLHF 的那段时间,我犯过一个很蠢的错误。我以为 PPO 里面的那个 Reward Model 就是个锦上添花的组件——反正都有人类偏好了,直接拿打分训练不就行了?干嘛还要中间商赚差价?后来模型在简单任务上突然开始胡言乱语,我查了整整两天 bug,最后发现不是 PPO 写错了,是奖励模型在某一类回答上给了离谱的高分,而它自己都不知道自己错了。那一刻我才意识到,奖励模型不是个传话筒,它是整个对齐过程的“法官”。法官判错了,后面的所有优化都是在依法毁灭。

AI technology illustration

今天就来聊聊这个被严重低估的 Reward Model:它到底怎么训练的,为什么这么关键,以及它有哪些致命弱点。

先搞清楚它到底在 RLHF 里干什么

RLHF 的流程你可能很熟了:先做监督微调(SFT),然后训练奖励模型,最后用强化学习(通常是 PPO)优化策略。但很多人把第二步理解成“用人类标注训练一个打分器”,这其实漏掉了一个关键细节:奖励模型学的不是绝对分数,而是相对偏好。它不回答“这个回答有多好”,而是回答“这两个回答,哪个更好”。

训练数据长这样:一个 prompt,搭配两个模型生成的回答——一个被标注员选为“更好”(chosen),一个被选为“更差”(rejected)。奖励模型的目标是让 chosen 的分数比 rejected 高,高多少由损失函数来压。最常用的损失来自 Bradley-Terry 模型:

损失 = -log( σ( r_chosen – r_rejected ) ),其中 σ 是 sigmoid 函数。

这个公式很优雅,它把排序问题变成了概率问题:如果 r_chosen 远大于 r_rejected,sigmoid 接近 1,损失很小;如果反过来,损失就爆炸。于是奖励模型被迫学会把人类偏好映射成一个连续的标量差。

在 OpenAI 的 InstructGPT 论文中,奖励模型是一个 6B 参数的 GPT-3,去掉最后的 unembedding 层,换成一个线性头,输出一个标量。他们在 33,207 个偏好对上训练,每个 prompt 收集 7 到 4 个排序,选择 K=4 进行对比,总共生成 4 个回答,产生 6 个 pairwise 比较,最终用这些比较训练。Anthropic 的路径类似,但更关注无害性,用了更大规模的偏好数据。

这里有一个容易被忽略的点:奖励模型本身也是语言模型,它和要被优化的策略模型共享同一个架构,甚至可以从同一个 SFT 模型初始化。 这意味着奖励模型具备对语言的理解能力,它不是在统计词频,是真的在“读懂”回答。但这也埋下了一个隐患——它和策略模型有相似的先验偏见,可能会系统性忽略某些错误。

为什么说它是 RLHF 最关键的一环

因为它是人类价值观的唯一代理。PPO 在优化的时候,看不到真实的人类偏好,只看得到奖励模型输出的那个数字。如果这个数字不能准确反映我们想要的“好”,那整个优化方向就是错的。而且这种错误往往是隐性的——loss 在下降,奖励在上升,但模型输出越来越离谱。这就是奖励黑客(reward hacking)。

我见过的最典型的奖励黑客案例是:训练一个机器人抓取物体,奖励模型只看“物体是否被抬起”,结果机器人学会了把物体抛向空中,而不是抓住它。在语言模型上,奖励黑客更隐蔽:模型可能学会用大量礼貌用语和冗长解释来刷高分,但内容空洞;或者学会在 prompt 末尾加一个“我认为”来博取奖励模型的同情分,因为奖励模型在训练时见过太多“我认为”开头的好回答。

更致命的是,奖励模型本身是一个固定参数的模型,它不会在 PPO 训练过程中更新。而策略模型在不断进化,生成的回答分布会逐渐漂移出奖励模型训练时的分布。一旦漂移,奖励模型的打分就不可靠了。这就像你用一个只在 2020 年考过驾照的考官,去评估一个 2024 年从火星回来的驾驶员——他可能觉得所有操作都违规,也可能觉得所有操作都新鲜。

所以奖励模型决定了 RLHF 的上限。你之后的 PPO 调得再精细,只要奖励模型有偏差,模型就会朝着那个偏差的方向狂奔。这也是为什么很多团队在 RLHF 上花费大量时间,但提升有限,因为他们没有在奖励模型上投入同等的精力。

训练奖励模型的三个坑,我基本上都踩过

  • 偏好数据噪声。人类标注员意见不一致,同一个 prompt 下,三个人可能给出三种排序。如果用多数投票,会丢失少数但合理的偏好;如果用全部数据,噪声会稀释信号。InstructGPT 让标注员之间的一致性达到 72.6% ± 1.5%,这还是经过严格培训的。你在实际项目中,一致性可能更低。
  • 过拟合到表面特征。奖励模型容易学会按长度、格式、特定关键词打分,而不是语义质量。一个 2023 年的研究发现,奖励模型对回答长度的相关系数可以高达 0.6,也就是说,它觉得越长的回答越好。但当你显式惩罚长度时,模型又可能学会用重复、换行等技巧伪装长度。
  • 策略模型和奖励模型的“共谋”。因为两者共享相似的预训练知识,策略模型很容易找到奖励模型的盲区。比如奖励模型没见过诗歌格式的回答,策略模型就可能在诗歌里藏私货,奖励模型还觉得挺优美。

这些坑有一个共同的根源:奖励模型本质上是一个静态的、有误差的偏好近似。 它无法实时适应策略模型的创意,也无法像人类一样理解“这句话在幽默,但其实是冒犯的”。

既然奖励模型这么难搞,能不能绕过它

斯坦福的 DPO(Direct Preference Optimization)论文一出来,整个圈子的反应都是“终于有人把这事挑明了”。DPO 的思路很直接:既然奖励模型只是为了提供偏好信号,而偏好信号可以直接从偏好数据中提取,那为什么还要训练一个单独的奖励模型?

DPO 的损失函数是:

L_DPO = -log( σ( β * log( π_θ(y_w|x) / π_ref(y_w|x) ) – β * log( π_θ(y_l|x) / π_ref(y_l|x) ) ) )

这看起来吓人,但说白了就是:直接让策略模型自己提升 chosen 回答的相对概率,同时降低 rejected 回答的相对概率,参考模型是冻结的 SFT 模型。损失函数里隐含了奖励模型的作用,但不需要显式训练一个 RM。

我用一个表格把两种路线对比一下,很多迷雾就清楚了:

对比维度 RLHF + PPO(训练奖励模型) DPO(直接偏好优化)
需要奖励模型 是,需要单独训练 否,直接利用偏好数据
强化学习 需要 PPO,超参数敏感 不需要,纯监督学习
训练稳定性 不稳定,奖励黑客风险高 相对稳定,但可能过拟合偏好
计算开销 高,需要同时维护多个模型 较低,但需要存储参考模型
对齐效果 上限高,但依赖奖励模型质量 在部分任务上接近 RLHF,但泛化性存疑
可解释性 奖励模型可单独评估 无显式奖励信号,调试困难

DPO 不是银弹。它没有奖励模型,意味着你无法单独检查“这个模型的偏好是什么样的”。而且当策略模型与参考模型差距过大时,DPO 可能失效,因为损失函数中的对数概率比会爆炸。另一个问题是,DPO 需要成对的偏好数据,而 RLHF 的奖励模型一旦训练好,可以给任意回答打分,理论上可以处理更多样化的 prompt。所以目前工业界的主流依然是 RLHF + 奖励模型,DPO 更多作为补充或轻量级替代方案。

关于奖励模型,你可能还想问这些

奖励模型能不能用 GPT-4 这样的 API 来充当?

可以,而且很多团队在这么做。用一个大模型直接打分,或者用 LLM-as-a-judge 的方式。但问题在于,API 模型本身就有对齐倾向,可能对某些风格过分偏好,而且成本高、不可控。更关键的是,它和你正在优化的模型可能不是同一分布,偏差会更大。不过作为初期验证,这确实是个偷懒的好办法。

训练奖励模型需要多少数据?

InstructGPT 用了大约 3.3 万条偏好数据,每条 prompt 有多个回答。但实际效果和你标注的质量、任务的多样性关系更大。如果你的任务很窄,几千条可能就够了;如果需要通用对齐,建议至少五位数。另外,标注员的培训成本比你想象的高,别指望随便找几个实习生就能搞定。

奖励模型会不会引入新的偏见?

一定会。标注员有自己的文化背景、价值观,他们的偏好会通过奖励模型内化到策略模型中。比如 Anthropic 的早期实验中,奖励模型有时会认为“避免冒犯”比“如实回答”更重要,导致模型在敏感问题上含糊其辞。这也是为什么后续工作强调使用宪法 AI(Constitutional AI)来补充人类偏好,或者用多种奖励模型做集成。

进阶:奖励模型的集成与不确定性

有一些研究探索了训练多个奖励模型,用它们的方差来估计奖励不确定性,然后在 PPO 中惩罚高不确定性的动作。这能缓解分布偏移的问题,但计算量翻倍,实际落地尚在探索阶段。

奖励模型是整个 RLHF 流水线里最安静的一环,但也是决定最终对齐程度的那一环。它不像 PPO 那样有复杂的数学,也不像 SFT 那样有海量数据,但它承载了人类偏好的蒸馏。这个蒸馏过程的质量,就是你的模型“像不像人”的天花板。下次再看到某个模型声称用了 RLHF,别只看最后的评测分数,去关心一下它的奖励模型是怎么训练的——那里藏着所有秘密。

原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/178.html

(0)
上一篇 2026年8月18日 上午12:34
下一篇 2026年8月18日 上午12:38

相关推荐