作者: Yu Meng, Mengzhou Xia, Danqi Chen
提交/修订日期: 2024年5月23日提交,2024年11月1日修订 (v3)
主题/分类: 计算与语言 (cs.CL); 机器学习 (cs.LG)
摘要:
直接偏好优化 (Direct Preference Optimization, DPO) 是一种广泛使用的离线偏好优化算法,它通过重新参数化基于人类反馈的强化学习 (RLHF) 中的奖励函数来提升简洁性和训练稳定性。本文提出了一种更简单且更有效的方法——SimPO。SimPO 的有效性归功于一个关键设计:使用序列的平均对数概率作为隐式奖励。这种奖励公式能更好地与模型生成对齐,并且无需参考模型,从而在计算和内存上更高效。此外,我们在 Bradley-Terry 目标中引入了目标奖励间隔,以鼓励获胜和失败回答之间有更大的间隔,从而进一步提升算法性能。我们在多种先进的训练设置下,将 SimPO 与 DPO 及其最新变体进行了比较,包括基础模型和指令调优模型,如 Mistral、Llama 3 和 Gemma 2。我们在广泛的基于聊天的评估基准上进行了评估,包括 AlpacaEval 2、MT-Bench 和 Arena-Hard。我们的结果表明,SimPO 在不显著增加回答长度的前提下,始终显著优于现有方法。具体而言,SimPO 在 AlpacaEval 2 上比 DPO 高出最多 6.4 分,在 Arena-Hard 上高出最多 7.5 分。我们基于 Gemma-2-9B-it 构建的最佳模型,在 AlpacaEval 2 上实现了 72.4% 的长度控制胜率,在 Arena-Hard 上实现了 59.1% 的胜率,并在 Chatbot Arena 上凭借真实用户投票在 <10B 参数模型中排名第一。
备注: NeurIPS 2024。代码与模型:https://github.com/princeton-nlp/SimPO。v3 更新:增加了 Gemma 2 的结果(附录 J);关于长度归一化(第 2.2 节)和 KL 正则化(第 2.3 节)的更多讨论。