【强化学习与大模型后训练】10|DPO:把 RLHF 变成一个分类损失

💡 原文中文,约10200字,阅读约需25分钟。
📝

内容提要

DPO通过数学推导,从KL正则的RLHF目标中反解出隐式奖励,无需显式奖励模型和在线采样,直接用离线偏好数据训练语言模型。其损失函数基于Bradley-Terry模型,通过推高胜者、压低败者的log-ratio来优化策略。DPO工程复杂度低,但受限于离线数据,存在分布漂移和长度偏置风险,β参数控制KL正则强度。

🔎

延伸解读

DPO 的工程简化与代价

DPO 省去了显式奖励模型、在线采样、critic 和 PPO 的多轮更新,训练流程接近 SFT,显存和工程复杂度显著降低。但这种简化以离线数据为代价:模型无法探索新回答,只能从固定偏好对中学习。若数据未覆盖某些 prompt 或更优回答,DPO 不会自行发现,可能陷入局部最优。

隐式奖励与 reference model 的作用

DPO 通过数学推导,将奖励表示为策略相对参考模型的 log-ratio 乘以 β,从而无需显式奖励模型。reference model 提供 KL 正则锚点,抵消语言建模难度,并控制更新幅度。若将 reference 换成分布差异大的 base 模型,或训练中同步更新,隐式奖励语义会改变,DPO 的原始解释不再成立。

β 参数的双重角色与调参注意

β 既是 KL 正则系数,又控制分类间隔的温度。β 太小,训练信号弱;β 太大,sigmoid 饱和,可能不稳定。不同代码库对 β 的命名、默认值和归一化方式可能不同,不能直接比较数值。实践中应同时监控训练 loss、chosen/rejected reward、margin 和 KL-like log-ratio,结合下游评测调整。

DPO 的离线数据风险与数据构造

DPO 依赖成对偏好数据,且数据分布固定。若 loser 太弱,模型很快学会区分,梯度变小;若 winner 质量一般,模型会推高它而不知有更好回答。数据中的格式偏见也会被稳定学习。因此,构造 DPO 数据需强负例、难负例、多样 prompt、清晰标注准则和长度控制,以缓解分布漂移和长度偏置。

Q&A

DPO的核心思想是什么?

DPO(Direct Preference Optimization)的核心思想是直接从离线偏好数据中优化语言模型,而不需要显式训练奖励模型或进行在线强化学习。它通过数学推导,从带KL正则的RLHF目标中反解出隐式奖励,并将偏好学习转化为一个分类损失。

DPO是如何推导出隐式奖励的?

DPO从KL正则的RLHF目标出发,通过拉格朗日乘子法求解最优策略的闭式解,得到最优策略与奖励的关系:π*(y|x) ∝ π_ref(y|x) * exp(r(x,y)/β)。然后反解出奖励:r(x,y) = β * log(π*(y|x)/π_ref(y|x)) + β*log Z(x)。在比较两个回答时,β*log Z(x)会抵消,因此隐式奖励可以定义为 r_θ(x,y) = β * log(π_θ(y|x)/π_ref(y|x))。

DPO的损失函数是如何构造的?

DPO的损失函数基于Bradley-Terry模型,将隐式奖励代入偏好概率公式,得到 P(y_w > y_l) = σ(r(x,y_w) - r(x,y_l))。然后最大化偏好数据的似然,等价于最小化负对数似然:L_DPO(θ) = -log σ(β * log(π_θ(y_w|x)/π_ref(y_w|x)) - β * log(π_θ(y_l|x)/π_ref(y_l|x)))。这个损失函数类似于分类损失,但每一项都有RLHF目标的来源。

DPO相比PPO-RLHF有哪些优势和劣势?

DPO的优势在于工程复杂度低:不需要显式奖励模型、不需要在线采样、不需要critic,训练过程更接近SFT,显存更少,流程更短。劣势在于它只能从离线偏好数据中学习,无法探索新样本,存在分布漂移和长度偏置的风险。PPO-RLHF虽然工程复杂,但能在线探索,由奖励模型评价新样本。

DPO中reference model的作用是什么?

reference model在DPO中有三个作用:1) 提供KL正则的锚点,使DPO可以解释为KL正则奖励优化;2) 抵消语言建模难度,通过log-ratio关注相对SFT的偏移;3) 控制更新幅度,防止策略偏离reference过远。通常使用SFT模型的冻结副本作为reference。

DPO中的β参数有什么作用?

β参数在DPO中对应RLHF中的KL正则强度。它控制着策略偏离reference model的程度:β越大,策略越接近reference;β越小,奖励差异被放大得越厉害。在损失函数中,β乘在log-ratio差上,影响梯度大小、模型偏移速度和分类间隔。β太小会导致训练信号弱,β太大可能导致sigmoid饱和和不稳定。

DPO存在哪些主要风险?

DPO的主要风险包括:1) 分布漂移:训练后的策略可能偏离离线数据覆盖的区域;2) 长度偏置:序列log-prob求和导致长回答数值更负,可能影响偏好学习;3) 数据偏置:如果偏好数据有格式偏见或弱负例,DPO会学习到错误偏好。

🏷️

标签

➡️

继续阅读