DPO训练中的logit scale 与 reward shift 偏置问题以及可能的解决方案

发布于:2025-07-06 ⋅ 阅读:(18) ⋅ 点赞:(0)

Logit Scale Bias(Logit 放缩偏置)

  1. 定义:
    Logit scale 偏置指的是,不同模型(如 Actor 与 Reference)之间输出的 logit 的数量级(scale)不一致,导致 log-prob 或 log-ratio 计算偏差。
  2. 举例说明
    • 当前策略模型(Actor)输出:logits ≈ [3.2, 1.1, 0.4, …] → 比较 confident
    • Reference 模型输出: logits ≈ [0.6, 0.5, 0.2, …] → 比较均匀
    • 则两者的 log prob 差异会很大,但实际上可能只是 softmax 温度不同或 batch norm 不一致
  3. 结果
    • l o g ( π a c t o r ) / π r e f = l o g − r a t i o 被人为的放大 log(\pi_{actor})/\pi_{ref}=log-ratio 被人为的放大 log(πactor)/πref=logratio被人为的放大
    • DPO loss 变得过于激进或震荡
    • 导致训练不稳定或”熵崩溃“ (Entropy collapse)

Reward Shift Bias(奖励偏移问题)

  1. 定义
    指的是由于数据分布、模型参数或 batch 样本差异,导致 每批次样本的 log-ratio 平均值有显著偏移
  2. 举例说明:
    • 某个 batch 的 log(π_actor / π_ref) 偏向全为正值,表示 actor 极度偏向 chosen,损失变得极低或无梯度。
    • 另一个 batch 偏向负值,DPO loss 会变得极高
  3. 后果
  • 模型更新过快或者过慢(learning rate mismatch)
  • loss variance 大,收敛变慢甚至崩溃
  • learning signal 不稳定,影响模型泛化能力

在DPO中如何出现的

在这里插入图片描述
DPO中,bias 来源的关键点

来源 说明
模型初始化差异 Actor 初始化可能是微调过的,Reference 是 SFT,logits 分布不同。
Softmax 温度不一致 不同模型输出概率分布 sharpness 不一样。
训练 batch 之间样本分布不均 某 batch 里 response 长、另一个短,影响 reward sum。
过拟合或奖励驱动过强 Actor 学得太快,偏好 chosen 太多。

应对策略

项目 含义 在 DPO 中表现 应对方法
Logit scale bias 不同模型 logits 范围差异大 log prob ratio 被放大或缩小,训练过激或钝化 限制温度、使用 delta、对抗训练
Reward shift bias 不同 batch 中平均 reward 偏移 训练波动大,容易过拟合某些 batch 使用移动平均 delta,或 normalized loss

解决方案

  • BCO-Pair(Bias-Corrected Optimization)

网站公告

今日签到

点亮在社区的每一天
去签到