题目
请从 RLHF 出发推导 DPO 的损失函数,并说明它为何能跳过奖励模型。
参考答案
起点:RLHF 的目标。在 KL 约束下最大化奖励:
第一步:求最优策略的闭式解。对上式求变分,得最优策略:
其中 是配分函数。
第二步:反解奖励。把上式反过来,用 与 表达 :
第三步:代入 Bradley-Terry 偏好模型。BT 假设 的概率:
把第二步的表达式代入, 在相减时消掉:
第四步:最大似然得 DPO 损失:
为何无需奖励模型:
- RLHF 流程是”偏好 → 训 RM → 用 RM 做 RL → 得策略”。
- DPO 通过上面推导发现:最优策略与奖励一一对应(第二步),故可直接用偏好数据对策略做最大似然,把”训 RM + RL”压缩为一步监督学习。
- 配分函数 在 chosen/rejected 相减时抵消,绕开了 RLHF 中不可处理的归一化难题——这是 DPO 的数学妙笔。
DPO 训练不稳定怎么办:
- 学习率要小(比 SFT 小一个量级)。
- 不要太大(0.1 左右),过大会让损失陡峭。
- 偏好数据质量要高,标签噪声敏感。
- 参考 必须是 SFT 后的模型,不能是基座。
- 监控 reward margin(chosen 与 rejected 的分差),过快增大可能是 hacking。
面试加分点:
- 能写出闭式解 是关键,体现对 KL 约束 RL 的理解。
- 指出 DPO 不是”无 RL”,而是”把 RL 解析解代入 BT 模型,转化为监督学习”。
- DPO 假设偏好数据服从 BT 模型,若数据违反该假设(如非传递偏好),效果会打折。
出处:CSDN《大模型面试题 72:DPO 如果在训练中不稳定应该怎么处理》、DPO 论文《Direct Preference Optimization: Your Language Model is Secretly a Reward Model》。
内容来源
整理自 CSDN《大模型面试题 72:DPO 如果在训练中不稳定应该怎么处理》及 DPO 论文
本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。