简介:本文围绕DPO训练中“chosen概率下降”与“rejected概率下降”两种看似矛盾的现象展开对比分析,区分参考模型漂移、隐式奖励重参数化、数据分布偏移与长度偏差等成因,给出诊断指标与排查路径,帮助读者定位训练异常并制定更稳健的偏好优化策略。
在偏好优化(Direct Preference Optimization,DPO)的常规认知中,训练目标应推动模型提高 chosen 响应的对数概率、降低 rejected 响应的对数概率。但在实际训练中,常出现一个反直觉现象:chosen 与 rejected 的条件概率同时下降。这一现象本身并不直接说明训练失败,它可能来自完全不同的两类机制——一类是“参考模型相对漂移”导致的度量假象,另一类是“隐式奖励重参数化”带来的真实概率重分配。若不加以区分,容易把正常的正则化行为误判为训练崩溃,或把真正的退化问题误判为收敛。
本文对比的对象是两类成因:
二者的外部表现相似,但技术含义、诊断指标与应对方式差异显著。
DPO 的损失函数以参考模型 πref 为锚点,优化目标是让策略模型 πθ 相对 π_ref 更偏向 chosen。其核心量是隐式奖励差:
Δ(x, y_w, y_l) = β * [ log π_θ(y_w|x) - log π_ref(y_w|x)- log π_θ(y_l|x) + log π_ref(y_l|x) ]
当 π_θ 整体向 π_ref 之外的分布区域移动时,chosen 与 rejected 的绝对对数概率都可能下降,但只要 chosen 相对 π_ref 的提升幅度大于 rejected 的提升幅度,隐式奖励差仍在增大,损失仍在下降。此时概率同时下降只是“绝对度量”的假象,训练在相对意义上仍然有效。
DPO 将奖励隐式定义为 r(x,y) = β * log(π_θ(y|x) / π_ref(y|x))。由于 softmax 归一化约束,模型无法无条件抬高某一类响应的概率,只能重新分配概率质量。当优化压力集中在“拉开 chosen 与 rejected 的差距”时,模型可能选择整体压低两类响应的概率、同时让 rejected 降得更多的路径。此时:
这一类下降是“真实”的概率重分配,需要结合生成质量评估,而不能只看损失曲线。
两类现象在表层指标上有明显共性,这也是它们容易被混淆的原因:
对象A的本质是度量基准问题:绝对概率以 π_ref 为隐含基准才有意义,脱离基准谈升降会失真。对象B的本质是归一化约束下的概率重分配:softmax 的零和性质决定了抬高相对优势必然伴随某些响应概率的压缩。
| 维度 | 对象A:参考漂移型 | 对象B:重参数化型 |
|---|---|---|
| chosen 相对 π_ref 的增量 | 为正且增大 | 可能为正但绝对值下降 |
| rejected 相对 π_ref 的增量 | 为正但小于 chosen | 明显为负或大幅下降 |
| 隐式奖励差 Δ | 持续增大 | 增大但可能伴随饱和 |
| KL(π_θ ‖ π_ref) | 温和上升 | 可能快速上升或异常波动 |
| 生成质量(人工/自动评估) | 基本稳定 | 可能退化:重复、截断、长度漂移 |
| 概率质量去向 | 分散到相近语义响应 | 集中于少数模板化序列 |
对象A对 β 的取值较为敏感:β 过大时参考锚定过强,绝对概率下降更明显;β 过小时正则不足,漂移加剧。对象B对偏好数据的长度偏差与配对质量更敏感:当 chosen 普遍长于 rejected 时,模型可能学到“长度即偏好”的伪信号,通过压缩短响应概率来拉大差距,表现为 rejected 概率骤降、chosen 概率缓降。
对象A多数情况下属于可接受的训练动态,风险在于误判后过早停止训练或错误调整超参。对象B则存在实质性退化风险,尤其是概率质量过度集中导致的多样性丧失,需要引入长度归一化、数据去偏、早停与质量评估等手段。
| 对比维度 | 参考漂移型下降 | 重参数化型下降 |
|---|---|---|
| 本质 | 度量基准失真 | 概率质量重分配 |
| 损失曲线 | 平稳下降 | 下降但可能伴随波动 |
| 奖励差 | 稳定增大 | 增大后趋于饱和 |
| KL 散度 | 温和 | 偏高或波动 |
| 生成质量 | 稳定 | 存在退化风险 |
| 主要诱因 | β 设置、参考模型选择 | 数据长度偏差、配对噪声 |
| 应对重点 | 改用相对指标监控 | 数据去偏、长度归一、质量评估 |
场景一:损失下降、奖励差增大、KL 温和、生成质量稳定。 优先判定为对象A,无需干预,但应把监控指标从“绝对概率”切换为“相对参考模型的增量”。
场景二:损失下降但生成出现重复、长度异常、多样性下降。 优先判定为对象B,排查步骤建议如下:
示意性诊断伪代码如下:
for each batch:logp_w = logprob(policy, chosen)logp_l = logprob(policy, rejected)ref_w = logprob(ref, chosen)ref_l = logprob(ref, rejected)delta_w = logp_w - ref_w # chosen 相对增量delta_l = logp_l - ref_l # rejected 相对增量margin = beta * (delta_w - delta_l)record(margin, kl(policy, ref), len(chosen), len(rejected))
当 delta_w 与 delta_l 同时为负但 margin 持续增大时,倾向对象A;当 delta_l 显著为负、margin 饱和且生成质量下降时,倾向对象B。
从绝对概率监控迁移到相对指标监控时,需要注意:历史训练日志需重新计算参考模型概率;评估口径变化会影响早停阈值;多任务或多数据混合场景下,参考模型的选择需保持一致,否则跨实验对比失去意义。同时,生成质量评估应作为常规环节纳入训练流水线,避免仅依赖损失曲线做决策。
DPO 训练中 chosen 与 rejected 概率同时下降,既可能是参考模型相对漂移下的度量假象,也可能是隐式奖励重参数化下的真实概率重分配。二者的核心区分在于:相对参考模型的增量方向、KL 散度的幅度、以及生成质量是否稳定。把绝对概率换为相对指标、把数据偏差纳入排查、把质量评估纳入流水线,是应对这一现象的稳健路径。