作者 | hzwer 黄哲威 编辑 | 自动驾驶之心
原文链接:https://zhuanlan.zhihu.com/p/696732944
点击下方卡片,关注“自动驾驶之心”公众号
>>点击进入→自动驾驶之心『LLM』技术交流群
本文只做学术分享,如有侵权,联系删文
论文地址:https://arxiv.org/pdf/2404.10719v2

这是一篇四月份的新论文,一作单位是清华
这篇主要有三个部分,1. 从理论和实验上看,DPO 可能有本质缺陷 2. 研究了 PPO 提升的几个重要因素 3. 实验证实 PPO 可以在硬核任务上(编程比赛)碾压 DPO 达到新的 SoTA
论文先指出了一个令业界困惑的现状,即大部分的开源的榜单上,DPO 占据了领先的位置,但是众所周知,最好的闭源模型 GPT4 和 Claude,用的都是 PPO 方案。所以这里就自然引出两个问题,即 1. DPO 相对 PPO 真的有优势吗?2. 如何让 PPO 也很能刷榜呢?
DPO 的缺陷
在调教 PPO 的时候,一种常见的现象是语言模型发现了奖励模型的缺陷,而构造出不符合人类偏好,但是却能拿到高奖励的解,即 reward hacking 现象。作者首先指出,虽然 DPO 没有显式的奖励模型,它也会遇到类似的问题。作者的理论指出,PPO 找到的解同样最小化 DPO 目标函数,因此这些 reward hacking 的解也存在于 DPO 的求解空间里。而且,DPO 可能会有过度偏离参考策略的风险。
理论 1:在给定真值奖励 r 和偏好数据集 D 时,PPO 导出的策略是 DPO 导出策略的真子集
直觉理解此时的策略完美的学会了 r,那么从 DPO 的角度看也是最优的
然后作者给了一个在 DPO 的解空间但不在 PPO 解空间的例子,是说 DPO 没有直接拉近当前策略和参考策略,产生了一个符合偏好但是偏离参考策略的解


作者做了一个验证性实验,发现在偏好数据集没有覆盖的数据点上,DPO 可能分配了比参考模型更高的概率,奖励模型也会在这些数据点赋予偏高的奖励,而 PPO 在 KL 约束下,却能优化出一个优秀的解
所以在真实场景下,DPO 会不断冒出在数据分布外的回复,导致无法预期的行为
PS:DPO 也可以做更显式的 KL 约束,效果会怎么样呢?
SafeRLHF 实验

在这个场景下,可以通过减轻分布漂移的方式来提高 DPO 的性能,做法是先通过 SafeSFT 来给 DPO 一个更贴近偏好数据的起点,也可以通过迭代 DPO,即训练 -> 生成新样本 -> 奖励模型标注 -> 训练的方式来提高性能;还可以通过降低偏好数据集中的噪声来提高 DPO 性能,但依然无法胜过 PPO
提高 PPO 效果的关键因素
作者使用的奖励方式是对每个回复奖励一次,而不是稠密奖励

这里涨点的三个技巧是优势函数规范化,大 Batch 训练,以及对参考模型做滑动更新;当 batchsize 太小的时候,PPO 的性能甚至差于 SFT
Benchmark 结果
这一部分大部分就是在说 PPO > Iter DPO > DPO
我最关心的实验结果是编程:


对于解编程题来说,不需要人工标注或者训练奖励模型,因为可以直接测试测例来得到结果,正确的回复给高奖励,错误的回复给低奖励,形成成对数据
而最终结果是 DPO 训炸了,产生的都是无意义的结果,Iter DPO 稍微好点,但都不如 SFT
而 PPO 刷新了 SoTA
自动驾驶之心
论文辅导来啦
知识星球交流社区
近4000人的交流社区,近300+自动驾驶公司与科研结构加入!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(大模型、端到端自动驾驶、世界模型、仿真闭环、3D检测、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型,更有行业动态和岗位发布!欢迎加入。
独家专业课程
端到端自动驾驶、大模型、VLA、仿真测试、自动驾驶C++、BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、CUDA与TensorRT模型部署、大模型与自动驾驶、NeRF、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频
学习官网:www.zdjszx.com