一、它要解决什么问题让大模型“懂规矩”大语言模型预训练时只是学会了“接话”还分不清好坏。比如你问“怎么做炸弹”它可能真会回答。为了让模型安全、有用、讲礼貌需要进行对齐教它理解人类的偏好和价值观。在 DPO 出现之前主流的对齐方法是RLHF基于人类反馈的强化学习流程非常繁琐SFT收集高质量问答对做监督微调。训练奖励模型让人对模型的多个回答打分排序训练一个模拟人类偏好的“打分员”模型。PPO 强化学习用打分员给出的分数作为奖励信号用复杂的 PPO 算法更新模型。这个流程需要额外训练一个奖励模型强化学习训练又极不稳定非常难调。二、DPO 的核心思想化繁为简一步到位DPO 直接拿人类标注的偏好数据一步训练就完成对齐。它的关键洞察是最优策略和奖励模型之间存在精确的数学映射关系。既然我们最终要的就是最优策略那就可以绕开显式训练奖励模型、绕开复杂的强化学习直接从偏好数据里解出最优策略。本质上DPO 把对齐问题变成了一个简单的二分类问题给定同一个问题模型需要学会给“好的回答”高于“差的回答”的生成概率。三、DPO 是怎么工作的它的学习过程很直观准备数据每组数据包含一个提示Prompt和两个回答。好回答是胜出的差回答是落败的。双模型协同待优化模型正在学习变好的那个。参考模型冻结的初始 SFT 模型像“紧箍咒”防止新模型跑偏太远。计算损失DPO 的损失函数直接比较——当前模型认为“好回答比差回答好多少”目标是让这个相对概率最大化同时受参考模型的约束。这就像教练不停在你耳边说这个回答必须比那个排名更高才对。四、为什么说这是革命性的不需要奖励模型省掉了训练和维护另一个大型模型的成本。训练超稳定不再和 PPO 这种强化学习算法打交道就是一个标准的监督微调训练曲线平滑收敛稳定。直接针对目标优化RLHF 是间接的先在奖励模型上逼近人类偏好再在策略上逼近奖励模型误差会传递。DPO 直击目标。数据效率高学习方式更直接对偏好数据的利用更高效。五、DPO 的主要变体DPO 也有局限比如可能被超长的好回答“蒙骗”导致模型变得啰嗦。于是出现了改进版KTO不强制要求同一提示的成对回答可以处理“这个回答是赞还是踩”这种单点数据。IPO引入正则化项防止 DPO 损失过拟合。SimPO干脆去掉参考模型直接用回答长度做归一化的平均对数概率作奖励缓解了 DPO 的“长度偏好”。RSO从统计估计的角度改进力求达到 RLHF 同款的“最优解”。六、DPO 的典型流程收集人类偏好数据得到一个排名对。用高质量的对话数据先做一轮 SFT得到一个不错的基础模型。设定 SFT 模型为参考模型用偏好数据计算 DPO 损失进行训练。训练完成后参考模型就可以拿掉只保留新的策略模型用于线上服务。七、总结框图DPO 的精髓在于它不是通过评估一个“分数”来间接优化而是直接优化什么是更受人类偏好的“行为”。这种化繁为简的思路极大降低了大模型对齐的门槛。