核心要点

  • 能说出 RLHF 三阶段:① 监督微调 SFT、② 训练奖励模型 RM、③ 用 PPO强化学习,并说清每阶段的输入数据和训练目标

  • SFT 阶段:用人工写好的「示范数据」(prompt + 优质回答)对预训练模型做监督微调,得到一个会按指令回答的初始策略模型

  • RM 阶段:对同一个 prompt 采样多个回答让人工排序,奖励模型学习这种偏好、对任意回答输出一个标量分数(打分),把人类偏好压成可计算的奖励信号

  • PPO 阶段:策略生成回答 → RM 打分作为奖励 → PPO 更新策略;同时加 KL 惩罚约束新策略不要偏离 SFT 参考模型太远,防止 reward hacking 和能力坍塌

标准回答

RLHF(基于人类反馈的强化学习)的目标是把「人类偏好」注入模型,让它的回答更有用、更符合人意。标准流程分三阶段。

阶段一:监督微调(SFT)

  • 数据:人工撰写的高质量「示范数据」,即 prompt 配上人工写的理想回答。
  • 做法:在预训练模型上用这些数据做标准的监督学习(最大似然),让模型学会按指令、按期望风格作答。
  • 产出:一个初始策略模型 π_SFT,它已经会对话,但还没有被细粒度地按偏好对齐。这个模型后面还会被当作 PPO 的参考模型

阶段二:训练奖励模型(Reward Model)

  • 数据:对同一个 prompt,用 SFT 模型采样出多个回答,请标注员排序(哪个更好),得到成对/排序的偏好数据。
  • 做法:训练一个奖励模型 RM,输入「prompt + 回答」,输出一个标量分数;用排序损失(如 Bradley-Terry,让被偏好的回答得分高于被拒绝的)训练。
  • 目的:把昂贵、离散的人类偏好,压缩成一个可以对任意回答自动打分的连续奖励函数,供下一阶段大规模使用。

阶段三:用 PPO 做强化学习

  • 循环:策略模型对 prompt 生成回答 → 把回答喂给 RM 得到奖励分数 → 用 PPO 这个策略梯度算法,按奖励更新策略,让高分回答的生成概率上升。
  • KL 惩罚:在奖励里减去当前策略与 SFT 参考模型之间的 KL 散度惩罚。这是关键约束——防止模型为了骗取高分而钻 RM 漏洞(reward hacking)、生成怪异文本,或偏离 SFT 太远导致语言能力和多样性坍塌。
  • 产出:最终对齐后的策略模型。

整体串联:SFT 提供会说话的起点和参考锚,RM 把人类偏好变成可计算的奖励,PPO 在 RM 奖励和 KL 约束的拉扯下,把策略推向「人类更喜欢、又不跑偏」的方向。

常见误区

⚠️ 常见踩坑

一是误以为 RLHF 只是「再做一次监督微调」——SFT 是模仿示范,而 RM+PPO 是用奖励信号做强化学习,能利用「排序/比较」这类更易标注的偏好信号,去优化没有标准答案的开放回答。二是忽视 KL 惩罚的作用——去掉它模型会 reward hacking,专挑 RM 打高分的套路输出、语言退化。三是把奖励模型当成「真理」——RM 只是人类偏好的有噪声近似,过度优化它会放大其偏差,所以要早停、控制 KL,并定期用人评校准。

追问

追问 1PPO 阶段为什么必须保留一个参考模型并加 KL 惩罚?

参考模型一般就是 SFT 模型,被冻结。KL 惩罚衡量当前策略偏离它的程度,并从奖励里扣除。没有这个约束,策略会一味追逐 RM 高分、钻奖励模型的漏洞(reward hacking),输出重复、谄媚或语义退化的文本,丢失预训练学到的语言能力。KL 把模型「拴」在合理分布附近,在提升偏好得分和保持原有能力之间取得平衡。

追问 2奖励模型的数据为什么用「排序」而不是直接打分?

让人对单条回答打绝对分数主观、不一致、跨标注员难校准;而「A 和 B 哪个更好」这种相对比较对人来说更容易、更稳定可靠。RM 用排序/成对偏好损失(如 Bradley-Terry)学习,把相对偏好转化为相对分数,既降低标注难度,又减少了绝对分尺度漂移带来的噪声。

追问 3DPO 相比这套 RLHF 流程做了什么简化?

DPO(直接偏好优化)跳过了显式训练奖励模型和 PPO 在线强化学习这两步,用一个闭式损失直接在偏好数据上优化策略,相当于把「RM + PPO」隐式合并。它仍需要一份参考模型来约束(类似 KL 的作用),但去掉了 RM 训练、在线采样和 PPO 调参,流程更短、更稳、更省算力,代价是可控性和上限通常略逊于精调好的完整 RLHF。

🔗 相似问题

同一考点的不同问法,面试官可能换着问,一起刷更稳

没找到想看的面试题?把你想看的告诉我们 →

延伸学习

按主题分类的相关资源,便于系统复习