首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >强化学习|直接偏好优化 DPO 介绍

强化学习|直接偏好优化 DPO 介绍

作者头像
AI老马
修改2026-01-18 12:19:05
修改2026-01-18 12:19:05
2220
举报
文章被收录于专栏:AI前沿技术AI前沿技术

直接偏好优化(Direct Preference Optimization DPO)的核心理论突破在于通过数学变换,将 “奖励建模 + 策略优化” 的 RLHF 关键流程,转化为直接对策略的单阶段优化,绕开了独立奖励模型的训练和高方差的强化学习梯度。本节围绕DPO主要介绍:

1)经典的RLHF三阶段训练过程以及优化点 2)DPO优化目标和实现方式介绍 3)DPO训练过程中数据准备、模型选择、损失函数更新等

关注“AI老马” —【获取资源】&【进群交流】

1,RLHF 训练三阶段

在RLHF的训练中主要有三个阶段:可监督的微调训练阶段SFT,偏好采样和奖励模型学习阶段,以及强化学习优化阶段。下面分别介绍下。

  • SFT 可监督的微调训练

RLHF 通常是将一个由高质量领域数据训练过的模型作为基准,进行模型的初始化。这样可以保证模型在开始就有较好的能力,产生正确的结果。

  • 偏好采样和奖励模型训练

在此阶段,将准备好的prompt 集合给到 SFT 模型产生结果,比如一条输入prompt 产生两条结果 ,然后将结果给到标注人员进行标注,产生偏好数据, ,表示相比于结果 更偏好结果 。在实际的应用中,通常使用模型生产偏好数据,即 。对于偏好模型,使用Bradley-Terry模型进行建模。

公式中的 表示对数据的奖励。假设需要从偏好分布 P 中评估偏好,我们可以参数化奖励模型 ,并使用最大似然估计,估计参数。将其映射成一个二元分类问题:

通常奖励模型为在监督模型的最后加上一个额外的线性层,产生对当前输入的奖励分数,为了降低奖励的偏差,通常将奖励进行归一化。

  • RL 微调阶段

在此阶段中,奖励模型给训练的LLM提供反馈信息更新模型参数,一般的优化目标为:

公式中的两个模型 和 都是由训练好的 SFT 监督模型进行初始化。

在RLHF中强化学习阶段通常选用经典的PPO优化策略,但PPO 等演员 - 评论家算法的目标函数包含软值函数(soft value function 归一化项),如果缺少该归一化项会导致策略梯度高方差;而拟合该归一化项又需要额外训练价值函数或采用蒙特卡洛估计,增加了优化难度。

DPO 的解决方案:通过参数重写得到的奖励函数自带归一化特性,无需依赖任何基线或额外的价值函数拟合,从根本上降低了训练方差,提升了稳定性。

2,DPO 优化策略

2.1,DPO 优化目标

直接偏好优化目标是:通过依托奖励函数与最优策略的解析映射,借助特定偏好模型和定制损失函数,完成直接基于偏好数据优化模型策略,从而简化大语言模型偏好对齐流程。

为实现目标主要借助了三种优化方式:

  • Bradley - Terry 模型转化偏好关系:该模型是 DPO 实现偏好转化的关键支撑,它擅长处理成对偏好数据,能将人对两个回复的偏好选择,转化为模型输出概率的对数差异。比如面对一条输入指令对应的优质回复和劣质回复,此模型可把人类更偏好优质回复这一选择,转化为模型需提升优质回复概率、降低劣质回复概率的量化优化方向,无需额外定义奖励具体数值。
  • 专属损失函数优化策略:DPO 构建了以偏好数据为核心的损失函数,核心逻辑是最大化优质回复与劣质回复的概率比值。其典型损失函数引入 sigmoid 函数和温度参数 β,温度参数 β 用于控制模型参数的更新幅度,替代 PPO 中的 KL 散度约束以防止模型过度偏离原始策略。通过该损失函数计算模型输出与人类偏好的偏差,再通过梯度下降调整模型参数,让模型不断强化对优质回复的生成倾向。
  • 以参考模型为基准简化训练流程:训练时以监督微调模型作为参考模型 ,通过计算当前模型与参考模型对优质回复、劣质回复输出概率的比值,来衡量模型的优化方向。整个过程无需像 RLHF 那样反复进行奖励评估和采样循环,仅需基于 “提示词 + 优质回复 + 劣质回复” 的三元组偏好数据,一步完成损失计算与参数更新,大幅简化流程并降低计算成本。

小结:通过将奖励损失传递到强化学习策略损失,使得不必要显式的训练一个奖励模型,而仅通过BT奖励偏好就可以建模偏好数据,进而隐式的对策略模型进行训练。

2.2,DPO 公式推导

由公式3到公式4,从 RL 的优化目标推导DPO优化函数。

在公式 4,两边取对数。

将公式 5 带入到公式 1 的模型中,得到在BT奖励模型约束下的偏好模型:

公式 6 通过一定的数学变换,并且使用最大似然估计优化参数,最终DPO的优化目标函数为:

3,DPO训练流程

主要分为三个阶段:数据准备、模型选择和初始化、损失函数更新

3.1,构建离线偏好数据集

核心操作

  • • 采样:用参考模型为每条提示词生成多条候选回复
  • • 标注:由人类标注员区分优质回复和劣质回复
  • • 整合:将数据整理为的三元组格式,形成离线数据集

无需从头标注,直接复用公开偏好数据集,降低标注成本。

比如一个例子

: “简述 DPO 与 RLHF 的区别”

: “DPO 跳过奖励模型,直接用偏好数据优化策略;RLHF 需先训练奖励模型再做强化学习”

: “二者没啥区别,都是训练大模型”

此时就形成了一个三元组偏好数据对

3.2,初始化参考模型和策略模型

通常将有监督微调模型 直接作为参考模型 。策略模型 选用与同结构的预训练大模型,或直接基于 微调,减少初始参数差异。

关键操作:训练过程中冻结 的参数,仅更新 的参数

3.3,最小化损失函数优化模型

核心目标:基于数据集 D 和固定的 ,通过梯度下降最小化 ,让 生成的回复更符合人类偏好。即针对数据集中的每组三元组 ,分别计算策略模型和参考模型对 的输出概率,并进一步求得各自的对数概率。

损失函数逻辑:最大化 对 的相对概率,同时最小化对 的相对概率,

训练终止条件:当损失值趋于稳定、模型在验证集上的偏好匹配率不再提升时,停止训练。

总结:

DPO 的核心理论突破在于通过数学变换,将RLHF中的关键流程 “奖励建模 + 策略优化” ,转化为直接对策略的单阶段优化。其核心逻辑是,最优策略对应的奖励函数可以等价表示为 “当前策略与参考策略的概率对数比”,因此直接优化策略的偏好匹配度,就等价于优化奖励函数,从而绕开了独立奖励模型的训练和高方差的强化学习梯度。

参考:arxiv:2305.18290

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI老马啊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1,RLHF 训练三阶段
  • 2,DPO 优化策略
    • 2.1,DPO 优化目标
    • 2.2,DPO 公式推导
  • 3,DPO训练流程
    • 3.1,构建离线偏好数据集
    • 3.2,初始化参考模型和策略模型
    • 3.3,最小化损失函数优化模型
    • 总结:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档