MLE / Research · ML Fundamentals

TikTok DPO:偏好 Pair、参考模型与稳定 Loss

定义chosen/rejected数据与相对logprob差,区分固定参考和旧策略,覆盖长度偏差及标注噪声。

题目重点:定义chosen/rejected数据与相对logprob差,区分固定参考和旧策略,覆盖长度偏差及标注噪声。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 训练同prompt两个响应yw/yl的偏好pair,reference冻结,policy训练,β>0;用响应token logprob求和。
  • 不把固定离线pair训练称在线PPO,也不声称无需数据治理。

解题路线

  1. 数据记录prompt、chosen、rejected、来源和偏好理由,两响应须针对同条件,训练/验证按prompt或来源去重防泄漏。模糊平局和无法判断的pair要有处理政策,不硬造偏好。
  2. margin=β[(logπθ(yw|x)−logπθ(yl|x))−(logπref(yw|x)−logπref(yl|x))],loss=−logσ(margin)。优化相对reference的偏好差,不是只提高chosen绝对概率。
  3. reference是冻结基线,不是每轮采样的old policy;否则目标随更新漂移。prompt/padding token通常不计响应loss,tokenizer/template需policy/ref一致。
  4. 稳定loss为softplus(−margin),避免直接σ下溢后log0。正margin大loss小,等相对差margin0时log2;β影响尺度与约束相关行为,不是越大必然越好。
  5. 响应logprob总和有长度影响,是否按长度归一化会改变理论目标,不能偷偷换。偏好数据若系统偏爱长答、风格或含噪,模型会学这些偏差,需按任务分层评估。
  6. DPO借偏好建模推导避免显式训练reward model和在线rollout的基础流程,但不保证对所有分布覆盖或代替所有RL优化;数据偏好与实际用户目标可能不同。
  7. 测试loss方向、ref冻结、chosen/rejected对换、极端margin、mask和batch归约;数据侧测重复prompt、冲突标注和来源偏差,比只跑训练loss更重要。

手动走一遍

policy相对reference增加chosen-vs-rejected log差,则margin增、loss降。若policy与reference完全一致,margin0、losslog2,与两响应本身的概率高低无关。

Python 参考实现

下面的代码按上文假设实现,适合本地运行并追加自己的测试用例。

代码区可横向滚动;使用键盘时,先聚焦代码区再按方向键查看。

from math import exp, log1p, isfinite


def dpo_loss(policy_chosen, policy_rejected, reference_chosen, reference_rejected, beta=.1):
    if beta <= 0 or any(not isfinite(v) for v in [policy_chosen, policy_rejected, reference_chosen, reference_rejected, beta]):
        raise ValueError('finite log probabilities and positive beta required')
    margin = beta * ((policy_chosen - policy_rejected) - (reference_chosen - reference_rejected))
    return max(-margin, 0) + log1p(exp(-abs(margin)))

复杂度

每pair通常policy/ref两响应forward加policy backward,token数线性占激活/存储,注意力内部按模型架构计;reference缓存logprob需保证固定版本/template。

易错点与追问

容易失分的边界

  • chosen/rejected来自不同prompt。
  • reference每轮跟着policy变。
  • prompt/padding计入响应概率。
  • 长度归一化不声明改目标。

继续深挖

  • 平局pair如何处理?
  • 离线偏好如何防长度偏差?
  • 缓存reference结果有什么版本要求?

技术参考

  • DPO paper:技术语义参考,具体题目按本文约定。
✓已复制微信号!