跳转至

十六:强化学习:DPO 与 ORPO自测题

来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247484090&idx=1&sn=6507a20d9de9a22d31b24fa63c12a7e2&chksm=f01eb1c3c76938d5e7759f9db4f52fe69cb41392ebe1d97e947e3fe9b86c91de1057012f96ef#rd

覆盖范围

  • DPO 的动机、数据格式、RLHF-PPO 对比

  • KL 约束 RLHF 目标、最优策略形式、隐式奖励

  • Bradley-Terry 偏好模型、DPO loss、beta

  • sequence log probability、mask、reference model

  • DPO 的优缺点、实现陷阱、评估风险

  • ORPO 的 reference-free odds ratio 目标

  • DPO、ORPO、SFT、RLHF-PPO 的系统对比

一、DPO 基础

  • DPO 的全称是什么?它主要解决 RLHF-PPO 中的什么问题?

  • DPO 使用的数据通常是什么格式?

  • chosenrejected 分别表示什么?

  • DPO 是否需要显式训练 reward model?为什么?

  • DPO 是否需要 PPO rollout 和 value head?

  • DPO 为什么可以被看作一种离线偏好优化方法?

  • DPO 与 SFT 的核心区别是什么?

  • DPO 与 RLHF-PPO 的核心区别是什么?

二、RLHF 目标与隐式奖励

  • 请写出带 KL 约束的 RLHF 目标。

  • RLHF 目标中的 reference policy 起什么作用?

  • beta 在 KL 约束目标中控制什么?

  • KL 约束 RLHF 目标的最优策略形式是什么?

  • 如何从最优策略形式反推出隐式 reward?

  • 为什么同一个 prompt 下的 partition function Z(x) 会在偏好比较中抵消?

  • DPO 论文标题中“language model is secretly a reward model”是什么意思?

  • DPO 学到的是绝对 reward 还是 reward difference?为什么?

三、Bradley-Terry 与 DPO Loss

  • Bradley-Terry 偏好模型如何表示两个回答的偏好概率?

  • 请写出 DPO 中 chosen 和 rejected 的 reward difference。

  • 请写出 DPO loss 的标准形式。

  • DPO loss 中 log pi_theta(y_w|x) - log pi_ref(y_w|x) 表示什么?

  • DPO loss 如何同时提高 chosen、压低 rejected?

  • DPO 中 beta 变大或变小可能有什么影响?

  • DPO loss 为什么类似二分类 loss?

  • DPO 中 reference model 为什么必须冻结?

  • 如果 reference model 和 policy tokenizer/template 不一致,会发生什么?

  • DPO 是否可以加入 SFT loss?加入后可能有什么作用?

四、Sequence Log Probability 与实现

  • DPO 中 sequence log probability 如何计算?

  • 为什么 DPO loss 只应计算 response token?

  • Prompt token 进入 DPO sequence logp 会造成什么问题?

  • Padding token 进入 DPO loss 会造成什么问题?

  • chosen/rejected 长度差异会给 DPO 带来什么风险?

  • DPO 中是否应该做长度归一化?如何判断?

  • 使用 LoRA/QLoRA 做 DPO 时 reference model 可以如何实现?

  • DPO batch 中 chosen/rejected 应该如何拼接或编码?

  • DPO 训练时显存主要花在哪里?

  • DPO 中 label smoothing 或 conservative DPO 解决什么问题?

五、DPO 优缺点与评估

  • DPO 的主要优点有哪些?

  • DPO 的主要局限有哪些?

  • 为什么 DPO 对偏好数据质量敏感?

  • DPO 为什么可能学习到长度偏置?

  • DPO 为什么可能过拟合偏好数据中的格式偏置?

  • DPO 和 PPO 谁更适合在线探索?为什么?

  • DPO 训练中如果 chosen/rejected 区分太容易,会有什么问题?

  • DPO 训练中如果偏好标签噪声很大,会有什么问题?

  • DPO 评估为什么不能只看训练 loss?

  • DPO 后模型回复变短或变长,可能由哪些因素导致?

六、ORPO 基础

  • ORPO 的全称是什么?

  • ORPO 为什么被称为 reference model-free?

  • ORPO 为什么被称为 monolithic preference optimization?

  • ORPO loss 通常由哪两部分组成?

  • ORPO 中 SFT loss 的作用是什么?

  • ORPO 中 odds ratio preference loss 的作用是什么?

  • odds ratio 的直觉含义是什么?

  • 请写出 ORPO 偏好项的基本形式。

  • ORPO 中 lambda 控制什么?

  • ORPO 与 DPO 在 reference model 上有什么区别?

七、DPO、ORPO 与其他方法对比

  • DPO 与 ORPO 的目标结构有什么区别?

  • DPO 与 ORPO 在训练阶段上有什么区别?

  • DPO 与 ORPO 在工程成本上有什么区别?

  • DPO 与 RLHF-PPO 在 reward model 上有什么区别?

  • DPO 与 RLHF-PPO 在数据来源上有什么区别?

  • DPO 与 GRPO 在在线采样和偏好信号上有什么区别?

  • ORPO 与 SFT 相比多了什么训练信号?

  • DPO 与 IPO/KTO/SimPO 等偏好优化方法的共同思想是什么?

八、综合设计与排错

  • 请设计一个从 SFT 模型到 DPO 模型的完整训练流程。

  • 如果 DPO 训练 loss 下降但人工评估变差,应该排查哪些问题?

  • 如果 DPO 后模型拒答变多,可能是什么原因?

  • 如果 DPO 后模型事实性下降,可能是什么原因?

  • 如果要在 DPO 和 ORPO 中二选一,你会考虑哪些因素?

  • 请完整比较 SFT、DPO、ORPO、RLHF-PPO 的数据格式、目标函数、组件、优缺点和适用场景。

            预览时标签不可点
    

    <div class="