大型语言模型中奖励模型的原理:训练、打分与更新

大型语言模型中奖励模型的原理:训练、打分与更新

在大型语言模型(LLMs)的对齐技术中,基于人类反馈的强化学习(RLHF)扮演着关键角色。其中,奖励模型(Reward Model, RM) 是核心组件,用于评估生成文本的质量。本文聚焦 RM 的核心原理,包括其训练过程、打分机制,以及在 RLHF 更新中的应用,特别是信用分配问题。我们将基于标准 RLHF 框架(如 OpenAI 的 InstructGPT)进行说明,避免过多工程细节,强调原理性理解。

奖励模型是什么?

奖励模型本质上是一个经过微调的神经网络,通常基于预训练语言模型(如 BERT 或 GPT 变体)。其目的是模拟人类对模型输出的偏好判断。

  • 输入:一个完整的序列,包括提示(Prompt)和生成的回复(Response),即 [Prompt + Response]。
  • 输出:一个标量分数(scalar),表示该回复相对于提示的质量。高分数意味着更符合人类偏好(如有用性、安全性、真实性和流畅性)。

RM 通过学习人类偏好数据,将抽象的"人类喜好"转化为可量化的信号,用于指导后续的强化学习。

奖励模型的训练原理

RM 的训练是一个监督学习过程,依赖于人类偏好数据。人类难以给出绝对分数(如"这个回复值 7.5 分"),但擅长比较(如"回复 A 比回复 B 好")。因此,训练聚焦于相对排名。

数据收集原理

  • 对于一个提示,使用初始模型生成多个候选回复(e.g., Response A 和 Response B)。
  • 人类标注员比较这些回复对,选择更优的一个,形成三元组:[Prompt, Chosen Response, Rejected Response]。
  • 核心:利用人类比较能力,避免绝对评分的不一致性。

模型架构原理

  • 基础:预训练 Transformer 模型,处理序列中的 token。
  • 修改:在顶层添加线性层(linear layer),从序列的最终隐藏状态(e.g., 最后一个 token 如 [EOS])或池化表示(pooled representation)中提取标量分数 r(x, y),其中 x 是提示,y 是回复。
  • 原理:Transformer 的注意力机制捕捉序列整体上下文,确保分数反映全局质量。

训练目标:成对排名损失(Pairwise Ranking Loss)

目标是让 RM 为 Chosen Response 赋予更高分数。采用 Bradley-Terry 模型的损失函数:

Loss=−log⁡(σ(r(x,yc)−r(x,yr))) Loss = -\log(\sigma(r(x, y_c) - r(x, y_r))) Loss=−log(σ(r(x,yc)−r(x,yr)))

  • ycy_cyc :偏好回复(Chosen)。
  • yry_ryr :非偏好回复(Rejected)。
  • σ\sigmaσ :Sigmoid 函数。

原理解释

  • 如果 r(x, ycy_cyc) 远大于 r(x, yry_ryr),则 σ 值接近 1,log(1) = 0,损失小(鼓励这种区分)。
  • 如果分数接近或反转,则 σ 值小,损失大(惩罚模型)。
  • 这是一个排名损失,而非回归损失,确保模型学习相对偏好,而非绝对值。通过梯度下降最小化损失,RM 参数逐步调整以匹配人类判断。

训练总结:从预训练模型初始化,迭代处理三元组,计算损失并更新,直到收敛。

奖励模型的打分原理

RM 不对单个 token 打分,而是评估整个序列。

  • 输入处理:整个 [Prompt + Response] 通过 Transformer 层,生成每个 token 的隐藏状态。
  • 输出生成:线性层从最终隐藏状态或平均池化中映射到单一标量。
  • 原理:打分基于序列整体上下文,避免局部偏差。常见误解是 per-token 打分,但标准 RM 只在序列末尾输出(如 EOS token),反映 holistic 质量。

在 RLHF 中,这个分数作为奖励信号使用。

RLHF 中的更新原理:PPO 与信用分配

在 RLHF 的 Proximal Policy Optimization (PPO) 阶段,RM 分数指导生成模型(策略 π)的更新。

奖励应用原理

  • 生成过程:模型逐 token 生成回复 y = (y1y_1y1, y2y_2y2, ..., yTy_TyT)。
  • 奖励计算:仅在完整序列生成后,输入 RM 得到单一分数rRM(x,y)r_{RM}(x, y)rRM(x,y)。
  • 更新:这个统一奖励应用于整个序列的所有 token。

PPO 损失函数示例:

LPPO(θ)=E(x,y)∼Dnew[min⁡(πθ(y∣x)πθold(y∣x)A,clip⁡(πθ(y∣x)πθold(y∣x),1−ϵ,1+ϵ)A)] L^{PPO}(\theta) = \mathbb{E}{(x,y) \sim D{new}} \left[ \min\left( \frac{\pi_\theta(y|x)}{\pi_{\theta_{old}}(y|x)} A, \operatorname{clip}\left( \frac{\pi_\theta(y|x)}{\pi_{\theta_{old}}(y|x)}, 1-\epsilon, 1+\epsilon \right) A \right) \right] LPPO(θ)=E(x,y)∼Dnew[min(πθold(y∣x)πθ(y∣x)A,clip(πθold(y∣x)πθ(y∣x),1−ϵ,1+ϵ)A)]

  • A(优势函数) ≈ r(x, y) - baseline(x),其中 r(x, y) = rRM(x,y)r_{RM}(x, y)rRM(x,y) - β ∑ KL 项(KL 散度惩罚逐 token 计算,防止偏离初始模型)。
  • 原理:统一奖励 "鼓励" 高分序列的所有 token 概率,或 "惩罚" 低分序列。通过策略梯度,所有 token 的 log 概率乘以同一奖励,实现整体优化。

信用分配问题(Credit Assignment Problem)

  • 核心挑战:单一奖励无法精确归因于每个 token 的贡献(e.g., 开头好但结尾差,导致整体低分,却惩罚所有 token)。
  • 原理:标准方法假设所有 token 等贡献,导致粗粒度优化。有效但次优,尤其在长序列中。
  • 改进方向(研究中):中间奖励(checkpoint 评估)、价值函数(估计部分序列期望奖励)、因果归因(量化每个 token 贡献)。但这些增加复杂性,标准 RLHF 仍依赖统一奖励。

结论

奖励模型通过成对排名损失学习人类偏好,对完整序列打分,并在 PPO 中提供统一奖励驱动更新。尽管信用分配存在局限,但这一原理已证明有效,推动了如 ChatGPT 的对齐模型。理解这些,能更好地把握 RLHF 的本质。