AdaDPO: Self-Adaptive Direct Preference Optimization with Balanced Gradient Updates
作者: Shaolong Chen, Madalina Ciobanu, Qingqing Mao, Ritankar Das
分类: cs.CL, cs.LG
发布日期: 2026-05-27
备注: 5 figures
💡 一句话要点
AdaDPO:一种自适应直接偏好优化方法,平衡梯度更新以提升LLM对齐效果
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture)
关键词: 直接偏好优化 大型语言模型 人类偏好对齐 梯度平衡 自适应学习
📋 核心要点
- DPO算法在对齐LLM时存在梯度不对称问题,导致模型倾向于避免差的回答,而非生成好的回答。
- AdaDPO通过引入自适应系数,平衡优选和不优选响应的梯度大小,从而纠正梯度不平衡问题。
- 实验表明,AdaDPO在AlpacaEval 2上优于DPO,提高了长度控制胜率,并有效缓解了长度偏差。
📝 摘要(中文)
直接偏好优化(DPO)已成为将大型语言模型(LLM)与人类偏好对齐的广泛采用的RLHF替代方案,无需单独的奖励模型或RL循环。最近的理论分析揭示了DPO中的不对称梯度行为:损失抑制不优选响应的速度远快于提升优选响应的速度,导致模型学习避免不良答案而不是生成好的答案。我们提出了AdaDPO,一种DPO算法的自适应变体,它引入了基于每个偏好对的、基于停止梯度的系数,这些系数直接从策略模型的生成概率中导出,参考模型的概率作为可选组成部分。AdaDPO旨在强制优选和不优选概率之间的梯度幅度相等;实际实现平衡了每个token的梯度,并应用数值裁剪边界以提高稳定性,同时保留了DPO的原始超参数结构。在Llama-3-8B-Instruct上,使用类似于SimPO的设置在UltraFeedback上进行训练,AdaDPO在AlpacaEval 2上始终优于DPO:它在81%的超参数组合中实现了更高的长度控制胜率(LC),获得了全局最佳LC(48.3%)和原始胜率(46.1%),并在88%的组合中扩大了LC-over-WR的差距,表明有效缓解了长度偏差。对KL散度、奖励边距和奖励准确性的额外分析证实,AdaDPO纠正了梯度不平衡,并产生了更有效的优化。因为它纯粹在损失层面运行,所以AdaDPO可以放入现有的基于偏好的对齐管道中,而无需更改数据收集或模型架构。该方法只需要几行代码,并且相同的自适应原则可以推广到广泛的成对对比偏好损失系列,包括SimPO、R-DPO、IPO、CPO和ORPO。
🔬 方法详解
问题定义:DPO算法在训练过程中存在梯度不对称的问题。具体来说,DPO损失函数抑制不优选响应的速度远快于提升优选响应的速度,这导致模型更多地学习避免生成差的回答,而未能充分学习生成好的回答。这种不对称性限制了模型的性能,并可能导致长度偏差等问题。
核心思路:AdaDPO的核心思路是通过引入自适应系数来平衡优选和不优选响应的梯度大小。这些系数基于策略模型的生成概率(以及可选的参考模型概率)动态计算,旨在强制优选和不优选概率之间的梯度幅度相等。通过平衡梯度,AdaDPO旨在使模型能够更有效地学习生成好的回答,同时避免差的回答。
技术框架:AdaDPO的整体框架与DPO类似,仍然是一个pairwise对比学习的框架。主要区别在于损失函数的设计。AdaDPO在DPO的损失函数中引入了自适应系数,这些系数根据每个偏好对的生成概率动态调整。整个训练流程与DPO保持一致,无需更改数据收集或模型架构。
关键创新:AdaDPO的关键创新在于引入了自适应梯度平衡机制。与传统的DPO相比,AdaDPO不再使用固定的超参数来控制优选和不优选响应的权重,而是根据模型的生成概率动态调整权重,从而更有效地纠正梯度不平衡问题。这种自适应性使得AdaDPO能够更好地适应不同的数据集和模型,并取得更好的性能。
关键设计:AdaDPO的关键设计包括:1) 基于策略模型(和可选的参考模型)的生成概率计算自适应系数;2) 平衡每个token的梯度;3) 应用数值裁剪边界以提高训练稳定性。具体来说,自适应系数的设计目标是使优选和不优选响应的梯度幅度相等。为了避免训练不稳定,AdaDPO还采用了数值裁剪技术,限制了自适应系数的取值范围。此外,AdaDPO保留了DPO的原始超参数结构,使得它可以很容易地集成到现有的DPO训练流程中。
🖼️ 关键图片
📊 实验亮点
在Llama-3-8B-Instruct上,使用UltraFeedback数据集进行训练,AdaDPO在AlpacaEval 2上始终优于DPO。AdaDPO在81%的超参数组合中实现了更高的长度控制胜率(LC),获得了全局最佳LC(48.3%)和原始胜率(46.1%),并在88%的组合中扩大了LC-over-WR的差距,表明有效缓解了长度偏差。
🎯 应用场景
AdaDPO可广泛应用于各种需要将大型语言模型与人类偏好对齐的场景,例如对话系统、文本生成、代码生成等。通过平衡梯度更新,AdaDPO可以提高模型的生成质量和对齐效果,使其更符合人类的期望。该方法易于集成到现有的DPO训练流程中,具有很高的实际应用价值。
📄 摘要(原文)
DPO has become a widely adopted alternative to RLHF for aligning LLMs with human preferences, eliminating the need for a separate reward model or RL loop. Recent theoretical analysis uncovers an asymmetric gradient behavior in DPO: the loss suppresses dispreferred responses substantially faster than it promotes preferred ones, causing the model to learn to avoid bad answers rather than to generate good ones. We propose AdaDPO, a Self-Adaptive variant of the DPO algorithm that introduces per-preference-pair, stop-gradient-based coefficients derived directly from the policy model's generation probabilities, with the reference model's probabilities as an optional component. AdaDPO is constructed to enforce equality of gradient magnitudes between preferred and dispreferred probabilities; the practical implementation balances per-token gradients and applies a numerical clipping bound for stability, while retaining DPO's original hyperparameter structure. On Llama-3-8B-Instruct trained on UltraFeedback under a SimPO similar setup, AdaDPO consistently outperforms DPO on AlpacaEval 2: it achieves higher length-controlled win rates (LC) in 81% of hyperparameter combinations, attains the global best LC (48.3%) and raw win rate (46.1%), and enlarges the LC-over-WR margin in 88% of combinations, indicating effective mitigation of length bias. Additional analyses on KL divergence, reward margin, and reward accuracy confirm that AdaDPO rectifies the gradient imbalance and yields more efficient optimization. Because it operates purely at the loss level, AdaDPO can be dropped into existing preference-based alignment pipelines without changing data collection or model architectures. The method requires only a few lines of code, and the same self-adaptive principle generalizes to a broad family of pairwise contrastive preference losses including SimPO, R-DPO, IPO, CPO, and ORPO.