题目重点:偏好数据、奖励建模与直接偏好目标,明确reference、log-prob求和和离线覆盖限制。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 以chosen/rejected成对偏好、同prompt与frozen reference模型为训练合同。
- RLHF是利用人类反馈的一类训练流程,不等同某一个PPO算法;DPO是其中一种直接偏好目标,不保证所有任务更优。
解题路线
- 典型reward-model流程先用偏好拟合reward,再让policy采样并优化奖励,同时限制偏离reference;需要考虑rollout/reward/value/策略更新。PPO只是可选策略优化方法之一。
- 标准DPO直接优化−logσ(β[(logπθ(y+|x)−logπref(y+|x))−(logπθ(y−|x)−logπref(y−|x))])。同prompt比较两个completion,token logprob只统计completion有效位置并求和。
- reference固定但必须和tokenizer/prompt template匹配;预缓存ref logprob能节省重复前向,改变reference/模板/截断后缓存失效。两条completion被截断至相同前缀时,原偏好可能失去可辨信号。
- DPO不需要在标准离线微调循环里新采样rollout或训练独立reward model,但仍需偏好数据与policy/ref计算;数据覆盖不足时分布外生成质量不由离线loss保证。
- 按任务测试偏好标注一致性、长度偏差与安全/事实等维度,β会改变reference相对偏好项强度,不和PPO clip ε混为同一参数。人为把序列求和换均值会改变标准目标。
- 比较两流程报告人评/任务质量、数据/生成/训练成本和鲁棒性;不要只以DPO步骤少就认定真实质量更好。若要在线收集新偏好,须单独说明数据迭代流程。
手动走一遍
自拟ref-relative logprob差Δ=0时DPO loss=log2;Δ>0时chosen相对ref更被偏好、loss降低。一个长chosen的原始logprob可能更负,所以必须按公式做成对相对reference比较,不能只看chosen原始logprob大小。
规模与取舍
每偏好样本需chosen/rejected的policy前向/反传与reference前向或缓存,成本随两序列长度与模型规模。典型在线RLHF另有rollout和reward/value开销,不能报统一倍数。
易错点与追问
容易失分的边界
- RLHF直接等于PPO。
- chosen/rejected prompt不一致。
- 把prompt/padding计入completion。
- reference缓存换模板仍复用。
- 序列sum改mean却声称标准DPO。
继续深挖
- 偏好标签噪声怎样检查?
- 截断删掉真正差异怎么处理?
- 有多个同等正确答案怎样构造偏好?
- 训练偏好提升但事实性退化怎样评估?
技术参考
- DPO 原论文:直接偏好目标与流程参考;题目仅给比较题。
