当前位置: 首页 > news >正文

DPO直接偏好函数的学习解读

DPO, Direct Preference Optimization,采用直接优化策略满足人类偏好,使得LLM对于给定输入,生成能用输出的概率高于生成不能用输出的概率。

1)DPO优化目标

在DPO训练过程中,模型通过最大化可用回答相对于不可用回答的偏好分数的对数似然来优化。

L_{DPO}(\theta) = \mathbb{E}_{(x, y_w, y_l) \sim D} [log \sigma(\beta \cdot r(x, y_w, y_l))]

其中:

D是偏好数据集。

σ是sigmoid函数。

β控制KL散度惩罚项强度的超参数,平衡模型生成高质量响应和保持与参考模型接近之间的关系。

优化目标是通过最小化损失 L_DPO 来增大模型对好回答 𝑦_𝑤的偏好,同时降低对差回答 𝑦_𝑙的偏好。这导致模型倾向于提升 𝑦_𝑤的概率,同时抑制 𝑦_𝑙 的概率。

2)DPO奖励函数

DPO奖励函数

r(x, y_w, y_l) = {log{\frac{\pi_{\theta}(y_w|x)}{\pi_{\text{ref}}(y_w|x)}}}-{log{\frac{\pi_{\theta}(y_l|x)}{\pi_{\text{ref}}(y_l|x)}}}

3)传统RL奖励函数

对于一个给定策略π_θ,其生成响应y的奖励函数r(x,y)由策略模型π_θ与参考模型π_ref(通常是SFT后模型)之间的对数概率比表示。

r(x, y) \propto log \frac{​{\pi_{\theta}}(y|x)}{​{\pi_{\text{ref}}}(y|x)}

传统RL奖励函数r(x, y)是策略优化中KL散度惩罚的一个重要结果,在RL中加入KL惩罚项,即最大化

\mathbb{E}[reward - \beta KL(\pi_{\theta}||\pi_{\text{ref}})]

时,最优策略πθ∗的形式为:

{\pi}_{\theta}^{*}(y|x) \propto {\pi}_{\text{ref}}(y|x)exp(\frac{1}{\beta}r(x, y))

从这个式子反推得到奖励函数r(x,y),与策略模型与参考策略的对数概率比成正比关系。

4)DPO学习解读

从DPO优化目标和奖励函数可见,DPO样本的输入和输出为prompt + chosen + rejected,prompt用x表示,chosen表示的是可用输出,rejected表示的是不可用输出。通过最大化DPO目标函数,直接鼓励模型生成更偏好的响应,同时惩罚生成不偏好的响应,无需显式地训练一个奖励模型。

reference

---

DPO在代码优化任务上性能糟糕的原因分析

https://inuyashayang.github.io/AIDIY/RLHF_Pages/DPO_Problem/

深度强化学习中的DPO算法:理论与实践

https://juejin.cn/post/7511915154032967706

Direct Preference Optimization: Your Language Model is Secretly a Reward Model

[2305.18290] Direct Preference Optimization: Your Language Model is Secretly a Reward Model

相关文章:

  • 【Kubernetes】从零搭建K8s集群:虚拟机环境配置全指南(DNS/网络/防火墙/SELinux全解析一站式配置图文教程)
  • Spring中IoC的理解
  • python模块常用语法sys、traceback、QApplication
  • [muduo] Buffer缓冲区 | TcpServer | Reactor模式
  • 在 `setup` 函数中实现路由跳转:Vue3与Vue Router 4的集成
  • Python 数据分析与可视化 Day 3 - Pandas 数据筛选与排序操作
  • vivado工具配置(二)
  • Python 的内置函数 hasattr
  • 网络编程及原理(六):三次握手、四次挥手
  • 【软考高级系统架构论文】论软件设计方法及其应用
  • modelscope设置默认模型路径
  • app Router VS pages Router(Next.js学习笔记)
  • 车载CAN总线数据采集与故障诊断装置设计与实现
  • Spring Boot邮件发送终极指南:从基础到高级应用
  • 纯跟踪算法本质解密:航向角偏差=预瞄角?数学证明与工程实践
  • vscode搭建spring boot项目
  • 【软考高级系统架构论文】论多源数据集成及应用
  • CSS 制作学成在线网页
  • 【LeetCode#第198题】打家劫舍(一维dp)
  • 使用ccs生成bin
  • 服务周到的做网站/今日油价92汽油
  • 成都网站推广经理/北京优化推广公司
  • 宁夏百度网站怎么做/河南疫情最新情况
  • wordpress 1g 不够用/邯郸seo营销
  • 下载微信公众号平台官网/广州市口碑seo推广
  • ppt模板网站大全/营销方法