强化学习RLHF的替代方案:DPO全面解析
RLHF的痛点 RLHF(Reinforcement Learning from Human Feedback)是大模型对齐的标准方案,但它以复杂著称。完整的RLHF流程包含三个阶段:SFT(监督微调)、RM(奖励模型训练)、PPO(强化学习优化)。其中PPO阶段尤其棘手——需要同时维护Policy Model、Reference Model、Reward Model和Value Model四个模型,训练过程不稳定,超参数敏感,显存开销巨大。 有没有更简单的方式来实现同样的目标? DPO(Direct Preference Optimization)给出了一个令人惊喜的答案。 DPO的核心思想 DPO的核心洞察是:我们不需要显式地训练奖励模型,也不需要强化学习。 通过一个精巧的数学推导,DPO将偏好学习问题转化为一个简单的分类问题。 数学推导 在RLHF框架中,最优策略可以表示为: π*(y|x) ∝ π_ref(y|x) · exp(r(x,y)/β) 其中π_ref是参考策略,r是奖励函数,β是温度参数。这个关系意味着给定奖励函数,我们可以直接写出最优策略的形式。 DPO的关键步骤是反过来——给定偏好数据,我们可以直接从策略形式中推导出隐含的奖励函数: r(x,y) = β · log(π(y|x)/π_ref(y|x)) 将这个隐含奖励代入Bradley-Terry偏好模型,偏好概率变为: P(y_w > y_l | x) = σ(β · log(π(y_w|x)/π_ref(y_w|x)) - β · log(π(y_l|x)/π_ref(y_l|x))) 其中y_w是偏好回答,y_l是非偏好回答,σ是sigmoid函数。 这就是DPO的损失函数——一个简单的二元交叉熵!不需要奖励模型,不需要强化学习,只需要偏好数据对和一个参考模型。 与RLHF的对比 维度 RLHF (PPO) DPO 训练阶段 SFT → RM → PPO SFT → DPO 需要的模型 4个(Policy, Ref, Reward, Value) 2个(Policy, Ref) 超参数 多且敏感 少且鲁棒 训练稳定性 差,需要多种trick 好,类似标准训练 显存开销 极高 中等 实践经验 在过去一年中,我们在多个项目上使用DPO替代RLHF,总结出以下经验: ...

