当前位置: 首页 > ai >正文

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

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

在大型语言模型(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(yx)πθ(yx)A,clip(πθold(yx)πθ(yx),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 的本质。

http://www.xdnf.cn/news/18389.html

相关文章:

  • Java面试-自动装箱与拆箱机制解析
  • 零知开源——基于ESP8266(ESP-12F)驱动YS-IR05F红外控制空调
  • pytorch 网络可视化
  • Electron 核心 API 全解析:从基础到实战场景
  • k8sday14数据存储(2/2)
  • RSS与今日头条技术对比分析
  • 代码随想录刷题Day40
  • Linux 软件包安装和管理的相关操作及使用总结(未完成)
  • 漏洞分析 | Kafka Connect 任意文件读取漏洞(CVE-2025-27817)
  • 如何使用AI大语言模型解决生活中的实际小事情?
  • 【Protues仿真】基于AT89C52单片机的LCD液晶显示屏显示控制
  • 如何在 Axios 中处理多个 baseURL 而不造成混乱
  • portainer-ce汉化版下载
  • 从零开始的云计算生活——第四十九天,长路漫漫,kubernetes模块之持久化存储
  • 拆解本地组策略编辑器 (gpedit.msc) 的界面和功能
  • Kafka消息丢失的场景有哪些
  • ThingsBoard运行linux应用版本
  • FPGA设计中的信号完整性量化与优化:探索高速数字系统的关键路径
  • CVPR 2025 | 哈工大港大DeCLIP:解耦CLIP注意力实现开放词汇感知!
  • 车载中控:汽车的数字大脑与交互核心
  • 【RA-Eco-RA4E2-64PIN-V1.0 开发板】步进电机驱动
  • CISP-PTE之路--14文
  • JavaEE 初阶第二十期:网络编程“通关记”(二)
  • 数字隔离器:新能源系统的安全与效能革命
  • 【GM3568JHF】FPGA+ARM异构开发板 测试命令
  • 从零搭建 React 工程化项目
  • 深入解析鸿蒙 ArkTS 中的 @Local 装饰器
  • 【解决办法】wps的word文档编辑时字体的下方出现灰色的底色如何删除
  • CAM可视化卷积神经网络
  • 深度学习:入门简介