RLHF 和 DPO 有什么区别?偏好对齐应该如何选择?
简化版
经典 RLHF 通常先用偏好数据训练奖励模型,再用 PPO 等强化学习算法优化策略,并用 KL 约束避免偏离参考模型;DPO 直接用 chosen/rejected 偏好对优化策略,不显式训练奖励模型,也不需要在线强化学习。DPO 流程更简单,但仍依赖高质量偏好数据和参考策略,并非所有任务都优于 RLHF。
详细版
经典 InstructGPT 式流程是:
- 用示范数据做 SFT;
- 对同一 Prompt 的多个回答进行人工排序;
- 用排序数据训练奖励模型;
- 用 PPO 最大化奖励,同时通过 KL 惩罚限制策略漂移。
DPO 把同样的成对偏好转成分类式目标,直接提高 chosen 相对 rejected 的概率,并相对参考模型控制变化。它省去独立奖励模型和 RL 采样环节,训练通常更简单稳定;但离线偏好覆盖不足、标签噪声和长度偏差仍会影响结果。
完整版教学
记忆钩子:对齐题的主线不是让模型更听话这么简单,而是偏好数据、奖励信号、优化约束和安全边界如何共同塑造行为。
一、为什么 SFT 后还需要偏好对齐
SFT 告诉模型“一个可接受答案长什么样”,但复杂问题可能有多个合理回答。偏好数据通过比较两个候选,表达哪一个更有帮助、更安全或更符合风格。
这些偏好只代表标注规则和样本分布,不等于普遍人类价值。
二、经典 RLHF
奖励模型学习对回答打分,策略模型再通过强化学习提高预期奖励。KL 约束用于防止策略为了追逐奖励而过度偏离参考模型。
难点包括维护奖励模型、在线生成样本、PPO 稳定性、奖励黑客和较高算力成本。
三、DPO 的核心
DPO 利用受 KL 约束的最优策略与隐式奖励之间的关系,把问题改写为直接优化偏好对的目标。训练数据仍是 Prompt、chosen 和 rejected,通常还需要参考模型提供相对基准。
它“不显式训练奖励模型”,不表示没有偏好建模;偏好信号被直接写进策略损失。
四、DPO 的关键因素
偏好对必须有可辨别差异,chosen 和 rejected 都过差或几乎相同会带来弱信号。超参数 beta 控制偏好优化与偏离参考策略之间的权衡,具体含义要以实现的损失定义为准。
长度、格式和措辞可能成为捷径,应检查模型是不是只学会偏爱更长或更像模板的答案。
五、如何选择
已有稳定离线偏好对、希望降低工程复杂度时,DPO 是强基线。需要持续与环境交互、在线探索或复杂奖励组合时,RL 方法仍有价值。
无论选择哪种,都要同时评估有用性、安全、事实性、过度拒答和通用能力保持。
六、用资源与反馈时效做选型
假设已有 50,000 对静态偏好数据、两张训练卡且没有稳定的在线采样服务,DPO 只需策略与冻结参考模型,通常更容易落地。若任务奖励可自动验证、策略需要持续探索新解法,团队又能维护生成、奖励、价值和策略四类模型,PPO 或其他在线 RL 才可能发挥额外上限。
| 条件 | 更偏向 DPO | 更偏向 PPO/在线 RL |
|---|---|---|
| 反馈 | 固定离线偏好对 | 可持续评价新轨迹 |
| 基础设施 | 类 SFT 训练栈 | 完整 rollout 与 RL 栈 |
| 探索需求 | 数据覆盖已足够 | 需要发现训练集外策略 |
| 稳定性要求 | 优先简单可复现 | 接受更复杂调参与监控 |
离线偏好 + 资源有限 -> 先做 DPO
可验证奖励 + 需要探索 -> 评估在线 RL
二者都需要参考模型约束,也都可能过拟合偏好。公平比较应固定基座、数据、token 预算与评测集,同时报告帮助性、安全性、KL、训练成本和人工盲评,而不是只比较一个奖励分数。
七、常见误区与追问
- 误区:对齐就是让模型回答更礼貌。 礼貌只是表层行为,真正的对齐要处理有害请求、事实忠诚、拒答边界、用户意图和系统规范之间的冲突。
- 追问:偏好数据会不会把模型训偏? 会,所以要控制标注规范、样本分布、审查一致性和红队覆盖,否则奖励模型会学到标注偏见或格式偏好。
- 误区:奖励越高代表模型越安全。 奖励只是代理目标,模型可能通过迎合格式、绕开难题或钻评估漏洞拿高分,这就是奖励作弊。
- 追问:为什么要保留 KL 或参考模型约束? 它限制新策略偏离基座太远,避免过度优化奖励导致语言质量下降、能力坍缩或拒答过度。
- 误区:DPO 出现后 RLHF 就没有价值。 DPO 简化了训练链路,但复杂偏好、多轮工具使用和过程监督场景仍可能需要更细的奖励建模或强化学习。
八、加强记忆
RLHF 与 DPO 都在让 chosen 相对 rejected 更受偏好,并用参考模型限制策略漂移。DPO 把偏好直接写成监督式损失,训练链路短、稳定;PPO 通过在线采样和奖励探索新轨迹,上限与工程风险都更高。选型时记住“静态数据看 DPO,持续反馈与探索看在线 RL”,并始终用人工盲评检查代理奖励。真正比较时固定基座、偏好数据与训练 token 预算,同时报告质量、安全、KL、计算成本和复现难度,避免拿不同实验条件下的单一分数下结论。