RLHF的改进算法DPO原理
- 开源代码
- 2025-08-27 04:45:01

DPO 优点
RLHF需要先利用偏好数据来训练一个RM,然后基于强化学习来最大化奖励,而不能偏离原始模型。DPO通过奖励函数和最优策略之间的映射,受限的奖励最大化问题可以使用单个阶段的策略来实现微调,无需训练RM,数据采样,训练更轻量;
DPO推导 Bradley-Terry模型借助Bradley-Terry模型是来表达微调的目标函数: Bradley-Terry模型是一种用于比较成对对象并确定相对偏好或能力的方法。这种模型特别适用于对成对比较数据进行分析,从而对一组对象进行排序。
P ( i > j ) = α i α i + α j P(i>j)=\frac{\alpha_i}{\alpha_i+ \alpha_j} P(i>j)=αi+αjαi 将reward r带入到 P P P中,得到loss函数: 目标是优化LLM输出的 y w y_w yw得分尽可能大于 y l y_l yl的得分。
根据RLHF的优化目标推导出reward的表达式: RLHF的优化目标:其中:
引入Z(x)将目标函数转换为 π ∗ \pi^* π∗与 π \pi π之间的kl散度最小化:将第一项分母定义 π ∗ \pi^* π∗: π ∗ \pi^* π∗与 π \pi π之间的kl散度最小化: 再根据该式与 π ∗ \pi^* π∗推导出reward表达式
推导出reward表达式 将reward表达式带入到BT的loss函数中,就可以得到消除reward的loss函数,即DPO loss这样模型的微调更新就不依赖于reward函数,而是只依赖于偏好数据对
IPO算法IPO提出当偏好数据更优的确定性很大时,控制kl散度强度的参数不起作用,dpo可能会发生过拟合。IPO在DPO的损失函数上添加了一个正则项,从而即使偏好确定性很大时,最优的策略也可以靠近于 π r e f \pi_{ref} πref,可以不使用early stopping技巧就可以使模型收敛。
参考: DPO(Direct Preference Optimization)论文算法学习笔记: blog.csdn.net/Ever_____/article/details/139304624代码介绍: blogs /lemonzhang/p/17910358.htmldpo改进方法介绍: blog.csdn.net/beingstrong/article/details/138973997源码: hub.yzuu.cf/huggingface/trl/blob/main/trl/trainer/dpo_trainer.pyRLHF的改进算法DPO原理由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“RLHF的改进算法DPO原理”