Reference KL:分布差异与策略约束#
TL;DR#
本页内容6 个部分
1. 为什么需要固定参考策略#
参考策略给两个动作的概率都是 ,训练中的策略改成 和 。任务奖励可能鼓励这种变化,但目标是否也应为偏离参考行为付出代价?Reference KL 用分布差异定义这份代价。
若目标只包含期望任务奖励,优化器就没有显式保留参考行为的正则约束。评分可能没有覆盖我们希望保留的全部行为,也可能存在获得高奖励但不符合任务意图的行为。Reference KL 给目标增加一个偏好:奖励相近时,倾向于选择更接近参考策略的分布。
2. KL 的定义与正则目标#
KL 散度(Kullback–Leibler divergence)衡量两个概率分布的差异。把当前策略相对 reference 的 KL 从奖励目标中扣掉,就在高奖励与保留参考行为之间加入取舍。对同一个 KL 数值,正则系数越大,目标中的惩罚越大。
2.1 Current、old 与 reference 的作用#
每轮训练包含两个阶段:(1)生成一批数据;(2)用这批数据更新参数。各策略在这两个阶段的作用如下:
| 策略 | 是什么 | 什么时候变化 |
|---|---|---|
| Current policy | 正在训练的 Actor | 每次优化步骤都会更新参数 |
| Old policy | 生成本批 rollout 的策略快照 | 一批数据优化期间固定,下一轮 rollout 前刷新 |
| Reference policy | 作为行为参照的模型,例如 SFT 模型 | 在本文讨论的一段 RL 训练中固定 |
同一批数据优化期间,current 变化,old 固定。Reference 则跨批保留,用作整段训练的行为参照。
Old 记录采样来源,reference 提供行为参照。某些方案会在训练阶段之间刷新 reference;本文先讨论固定 reference 的情况。
2.2 定义 KL 与本页的方向#
固定状态 ,KL 的定义是:
这个式子要求 reference 对 current 可能采取的动作有支持,否则 KL 可能为无穷大。KL 非负、两个分布相同时为零,而且通常不对称;交换两者会改变含义。非负性说的是完整期望,不是每个动作上的 log-ratio:某个动作的 current 概率低于 reference 时,该动作的 log-ratio 可以为负。
这里的分母是 reference,动作却按 current 取平均。这个 log-ratio 是用来衡量分布差异的量,没有把采样分布从 reference 换成 current。
本文把 称为 reverse KL。LLM RLHF 常采用它,既有目标上的取舍,也有利用现有 rollout 训练时的计算原因。
2.3 任务奖励与参考 KL 的联合目标#
以固定问题 、完整回答 为例,令 为任务评分, 为正则强度。可以定义:
这里比较完整回答分布,实际训练还会对问题取平均。KL 惩罚改变奖励与参考偏离之间的取舍,也可能改变最优策略。InstructGPT 就用相对 SFT 模型的 KL 惩罚缓解奖励模型过度优化。[1]
2.4 两动作任务的 KL 惩罚与目标值#
用动作 作手算例子:reference 的概率是 ,current 是 。因此,KL 为 ,这里用自然对数。
单独看 ,其 log-ratio 是 ;但两个动作按 current 概率加权后的 KL 仍为正。因此,一个采样 token 的 log-ratio 可以为负,分布的 KL 才是非负的。
继续这个两动作例子,令任务奖励分别为 和 ,则 current 下的期望奖励为 。若 ,用更精确的 KL 值计算,加入惩罚后的目标为 。这里降低的是目标值,任务奖励本身没有被重新估计。
2.5 刷新 old 后的概率比与参考惩罚#
沿用 current 为 、reference 为 的两动作分布。下一轮把 current 的 保存成新的 old 时,所有动作的 current / old ratio 都回到 ;相对 reference 的 KL 却仍是约 。
固定同一状态,所有动作的 ratio 都为 ,表示 current 与 old 在该状态下的动作分布相同;该状态下的 reference KL 为零,则要求 current 与 reference 的动作分布相同。 两个量使用不同基准,所以可以同时参与训练。
KL 只衡量相对参考模型的分布差异,不能保证回答正确,也不能代替对奖励质量的判断。
3. 最优分布与逐 token 分解#
3.1 两动作重加权与最优策略推导#
沿用两动作任务:reference 概率均为 ,奖励分别为 和 ,KL 系数为 。将参考概率分别乘以指数奖励,未归一化权重为 和 。再除以两者之和,得到最优概率:
两个动作在 reference 中等概率,奖励较高的动作因指数权重更大,取得更高的最优概率。这是给定奖励与 KL 系数、可自由选择动作分布时的理论解;原算例中的 current 用于计算当时的目标值,尚未达到这个最优分布。
固定问题 ,令 ,在 reference 的支持上优化。先把策略视为可自由选择的分布,不限制在某个神经网络的参数范围内,并假定下面的归一化求和有限。对奖励减去 reference KL 惩罚的目标加入概率和为 的约束,用拉格朗日乘子 求驻点:
移项可得 。目标中的奖励项对分布线性,负 KL 项为凹函数,因此这个驻点给出最大值。归一化后:
Reference 提供基准概率,奖励通过指数权重调整该概率。 奖励相同的回答保留 reference 中的概率比例;奖励更高的回答具有更大的指数重加权倍数。 越大,奖励差异对两个回答概率比的影响越小; 越小,这种影响越大。这是自由分布下的理论最优解,实际模型和优化过程未必能达到它。[2]
3.2 回答 log-ratio 的逐 token 分解#
LLM 的回答概率可以分解为各 token 条件概率的乘积。因此,对完整回答的 log-ratio 有:
这里按完整生成过程计入终止动作(如 EOS),两边采用相同的序列定义。对 current 生成的完整回答取期望,右边的和就对应完整回答分布的 KL;其中前缀也来自 current 的生成过程。
因此,完整回答的 log-ratio 可以沿 token 累计。将 log-ratio 用作奖励权重或直接用作可微 loss 时,求导路径不同;KL Regularization 进一步核对这两种正则方式。
4. 方向选择与采样条件#
4.1 Forward 与 reverse 的取舍#
交换方向,forward KL 的定义是:
| 方向 | 期望的加权分布 | 对参考行为的取舍 |
|---|---|---|
| Reverse KL | Current | 有 mode-seeking 倾向:允许根据奖励聚焦部分行为模式,不强求全面覆盖参考行为 |
| Forward KL | Reference | 对 reference 概率较高、current 概率却接近零的行为施加较大惩罚 |
Mode(模式)是分布的概率峰或高概率区域。Mode-seeking 描述拟合时聚焦部分模式的倾向;本页中应结合奖励重加权后的目标分布理解,而非只看某条 rollout 当前有多常见。
当模型无法同时表示全部目标模式时,这种取舍尤其明显。若模型能精确表示同一个固定目标分布,并达到全局最优,两个方向的 KL 都可降到零,无需降低任何目标模式的概率来近似其他模式。[3]
从定义看,若 reference 对一个动作给正概率,而 current 为该动作分配零概率,forward KL 会变成无穷大;reverse KL 不会仅因这个动作的 current 概率为零就变成无穷大,其他动作的偏离仍会受到惩罚。
例如,reference 原本会生成两类回答,奖励明确偏好其中一类。Reverse KL 允许显著调整两类回答的概率比例;forward KL 对另一类参考回答的概率降至接近零施加更强的约束。KL 的方向是一项训练目标设计选择。
4.2 采样来源与梯度估计成本#
在当前策略采样的配置中,任务奖励直接在 current 生成的回答上计算。Reverse KL 的 log-ratio 可以沿用这些回答:在按 current 采样时,把 加进奖励并停止其梯度,通过 policy gradient 就能估计相应正则目标的梯度。[4]
Forward KL 也可以利用 current 样本,但需要正确的重加权。 固定前缀 ,假定两种策略在共同支持上概率为正,并允许交换求和与求导。令 score 向量 。两种 KL 的梯度都能写成在 current 样本上计算“权重乘 ”的期望:
| 方向 | 乘在 前的权重 |
|---|---|
| Reverse KL | |
| Forward KL |
第二行利用了 ;去掉其中的 ,仍得到同一个期望梯度。表中比较正的 KL 惩罚,不乘 或最大化目标中的负号。
作一个权重大小的手算例子:若某个动作的 current 概率只有 reference 的千分之一,reverse 的权重为 ,forward 的权重则为 。这个动作在 current 下很少出现,该动作一旦被采样,其 forward KL 梯度系数可能很大。
这个例子解释了 forward KL 为什么可能受少数大权重样本影响。完整梯度方差还取决于概率分布和 score,因此不能推出 reverse KL 总是方差更小。[4]
也可以按 reference 采样来估计 forward KL;固定前缀且动作可枚举时,还可以直接求和。采用哪种方式,需考虑采样来源、计算成本与估计稳定性。
4.3 校正采样与改变目标的区别#
| 机制 | 比较对象 | 作用 |
|---|---|---|
| Importance ratio | Current / old | 用旧动作样本计算当前动作分布下的期望 |
| Reference KL | Current 与 reference | 在目标中惩罚偏离参考分布 |
Importance Ratio 的两动作算例中,乘 ratio 后仍然是在计算原来想求的期望 ;在同一两动作任务中加入 reference KL 后,目标变成约 。前者改变计算期望的方式,后者改变要优化的目标。