
图中把采样时的旧策略、正在更新的策略和参考模型分开,三者承担不同责任。
RLHF 流程里经常出现 PPO,但如果只背“采样、打分、更新”,仍然说不清为什么要保存旧概率、价值模型做什么,以及参考模型为何不能简单等同于旧策略。理解一轮更新,先把数据从哪里来、每个信号给谁使用串起来。
先固定这轮由谁生成
从一批提示出发,使用采样时的策略生成回答,并保存相应 token 的概率等轨迹信息。这里的旧策略,是产生这一批样本的策略版本;随后进行若干优化步骤时,它提供比较基准,不能每更新一次参数就把保存的旧概率随手改掉。
正在训练的策略会重新计算这些已采样动作的概率,用来衡量相对变化。这不是每一步都重新自由生成一段答案再比较字符串,而是在已经收集的轨迹上构造优化目标。完成一轮采样与更新后,再进入新的采样阶段。
PPO 原本是通用策略优化方法,在语言模型中可以把逐步生成 token 看成连续决策。具体实现如何组织批次、序列掩码与训练轮数,仍然需要看训练框架,不能把一个简图当成唯一固定配置。
奖励与参考约束提供训练信号
一种经典做法是让奖励模型对回答评分,同时用相对参考模型的偏离惩罚约束策略漂移。参考模型通常承担保持某种基线行为的职责,它不必等于这轮刚产生样本的旧策略,两者即使初始相同,训练中也可能逐渐不同。
奖励高不代表事实必然正确。模型可能找到迎合评分器的表达,或者利用评分盲区,因此应当同时检查真实任务质量,而不是只看训练奖励上涨。参考约束也不是全面安全保证,只限制所定义的分布偏离。
序列级评分怎样分配到 token、惩罚怎样合成、长度怎样处理,会影响后续回报口径。不能不说明实现就把一个回答得分复制到所有位置,并断言这就是全部 RLHF 的标准形式。

价值估计帮助判断相对好坏
策略更新需要优势估计,粗略理解是:当前动作带来的结果,相比这个状态本来预期的水平好多少。价值函数负责估计状态的预期回报,用来形成相应基线,而不是再训练一个同义的奖励评分器。
奖励模型、价值函数和策略模型在职责上不同;工程中是否共享部分结构、怎样放置价值头,又是实现选择。不要把图中画了四个框,直接读成一定同时保存四份完全独立的大模型参数。
还要明确终止与截断、有效 token 掩码等边界。填充位置不应被当成真实决策,超时也未必等于任务自然结束。回报或价值目标边界错了,即使优化公式写对,训练信号仍然可能有偏差。
裁剪目标抑制有利方向的过大激励
PPO 常用新旧策略对已采样动作的概率比率,结合优势构造裁剪代理目标。正优势通常鼓励提高该动作概率,负优势通常鼓励降低;裁剪在相应有利方向上限制继续扩大变化所能获得的目标收益。
它不是把模型参数裁剪到一个数值区间,也不保证所有动作概率比率始终处于区间内。多个样本、共享参数与其他损失共同更新时,实际分布仍可能发生较大变化,需要额外监测相应统计量。
价值函数也要根据回报目标训练。一次参数优化可能组合策略项、价值项和其他项,符号与权重取决于最大化目标还是最小化损失的写法。只抄一个 min 公式而不说明优化方向,很容易把更新意义讲反。
一轮结束后检查什么
除了平均奖励,可以观察策略相对旧版本与参考版本的偏离、回答长度、有效样本和异常梯度,并在固定任务上评估结果。训练数据分布、奖励设计和更新预算都会影响行为,不能承诺固定轮数后必然变好。
RLHF 也不只有 PPO 一条路径,偏好优化还有其他方法。回答这道题的主线是:谁采样,谁评分,谁估值,怎样用旧概率控制更新,再用新策略收集下一批数据。
如果你把每次优化后的概率都覆盖为“旧概率”,下一次计算的比率又回到一附近,这还保留了对原采样策略变化的约束吗?