RLHF 与 DPO:对齐方法对比

让模型输出符合人类偏好,需要偏好对齐。RLHF(基于人类反馈的强化学习)先训奖励模型再用 PPO 优化策略;DPO(Direct Preference Optimization)则绕开奖励模型,直接用偏好对优化,更简单稳定。

RLHF 流程

先由指令微调模型采样回答,人工标注偏好(更优/更差),训一个奖励模型;再以 PPO 强化学习最大化奖励并约束不偏离原模型。环节多、超参敏感、训练不稳。

# RLHF 概念:PPO 用奖励微调策略(示意,非可运行全代码)
reward = reward_model(prompt, response)
loss = -advantage * policy.logprob(response) + beta * kl(policy, ref_model)

DPO 思路

DPO 证明:在已知偏好数据下,最优策略可用一个封闭形式表达。它把偏好损失直接写成对「被偏好回答」与「未被偏好回答」的对比损失,无需奖励模型与 RL 循环。

怎么选

RLHF 表达力强、可控性高,但工程复杂;DPO 实现简单、训练稳、资源省,已成为许多开源对齐的默认。两者都建立在指令微调基座之上。

小结

RLHF 经奖励模型加 PPO 对齐,灵活但复杂;DPO 用偏好对比损失直接优化,简洁稳定。二者目标一致,DPO 因低门槛被广泛采用。

参考与延伸阅读

本文累计阅读