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 因低门槛被广泛采用。
参考与延伸阅读
- “Training language models to follow instructions with human feedback”(InstructGPT/RLHF, Ouyang 等, 2022)。已核验。https://arxiv.org/abs/2203.02155
- “Direct Preference Optimization”(Rafailov 等, 2023)。已核验。https://arxiv.org/abs/2305.18290
本文累计阅读 — 次