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

初识DPO

Bradley Terry模型

\[P(i \succ j) = \frac{e^{s_i}}{e^{s_i} + e^{s_j}}\\e^{s_i}表示{s_i}的实力,则P(i \succ j)表示{s_i}战胜{s_j}的概率 \]

假设x为prompt,LLM的response为y,评价一个回答的好坏就是用reward model来评估即 \(r(x,y)\)

\({y_1}\)好于\({y_2}\)即表示为

\[P({y_1} \succ {y_2}) = \frac{r(x,{y_1})}{r(x,{y_1}) + r(x,{y_2})} \]

但是r可能为负数,所以再加上exp函数,即

\[P({y_1} \succ {y_2}) = \frac {e^{r(x,{y_1})}}{e^{r(x,{y_1})} + e^{r(x,{y_2})}} \]

对于reward模型,要想使得\({y_1}\)好于\({y_2}\),可以使用对数最大似然估计,加上负号就成了loss(最小化)

\[\begin{aligned} \mathcal{L} &= - \mathbb{E}_{(x, y_w, y_l)\sim \mathcal{D}} \left[ \ln \frac{e^{\bigl(r(x, y_w)\bigr)}} {e^{\bigl(r(x, y_w)\bigr)} + e^{\bigl(r(x, y_l)\bigr)}} \right] \\[6pt] &= - \mathbb{E}_{(x, y_w, y_l)\sim \mathcal{D}} \left[ \ln \frac{1} {1 + e^{\bigl(r(x, y_l) - r(x, y_w)\bigr)}} \right] \\[6pt] &= - \mathbb{E}_{(x, y_w, y_l)\sim \mathcal{D}} \left[ \ln \, \sigma\!\left(r(x, y_w) - r(x, y_l)\right) \right] \end{aligned} ,{ \sigma}为sigmoid \]

通过优化该loss,使得\({y_w}\)的reward分数大于\({y_l}\),二者分别对应DPO数据集中的chosen和rejected,这便是DPO的训练目标。(直接基于 pairwise preference 优化策略)

RLHF

RLHF的正则化目标:

\[\max_{\pi_\theta} \; \mathbb{E}_{x \sim \mathcal{D},\, y \sim \pi_\theta(\cdot|x)} \big[ r(x,y) \big] \;-\; \beta \, \mathrm{KL}\!\left( \pi_\theta(\cdot|x)\;\|\;\pi_{\text{ref}}(\cdot|x) \right) \]

在保证策略不要偏离原模型太远的前提下,让模型生成的答案尽量“更符合人类偏好”。(最大化 reward + KL 正则)

image-20251216231338178

下面是推导过程,由于笔者的latex水平有限,直接贴图

1、首先RLHF的目标函数化简推导

image-20251216231401120

image-20251216231428042

2、RLHF的最优解即最小化这个KL散度(为0)时,得到最优策略分布\(\pi^*(y\mid x)\),这是人为构造的目标分布,也是 Boltzmann 分布的形式。

image-20251216231445285

3、根据最优分布反推出reward公式(当reward这么算的时候最优)

image-20251216231515691

4、最后带入DPO的loss函数得到最终形态

image-20251216233751424

DPO 通过 直接最大化最优策略下更好样本被选中的概率,实现了 RLHF 的 KL-正则化目标的等价优化。

tips:其中3、4步也可以这么理解:

(其实就是1、先推出loss关于r的公式,再由\(\pi^*(y\mid x)\)反推出r带入loss 2、先由\(\pi^*(y\mid x)\)反推出r带入Bradley Terry公式得到loss的区别,总之就是没区别,但是笔者现在也有点乱...)

在最优策略下,对于一对chosen和rejected

image-20251216235054281

image-20251216235154772

参考:https://www.bilibili.com/video/BV1GF4m1L7Nt/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click&vd_source=da862fa7a218e81897b55d7e24fe26ee

http://www.zskr.cn/news/112218.html

相关文章:

  • Java毕设项目推荐-基于javaweb的小零食销售系统的设计与实现基于WEB的网上零食销售系统【附源码+文档,调试定制服务】
  • 计及负荷异常增长的空间负荷预测与配电网规划(基于开源数据集SMART-DS)
  • 【time-rs】解释://! Indeterminate offset(error/indeterminate_offset.rs)
  • 玩转Docker小游戏项目系列:Docker部署无名杀网页小游戏
  • 车载系统集成设想:LobeChat打造智能座舱体验
  • 艾尔登法环终极帧率解锁与游戏增强工具完整使用指南
  • Java 大视界 -- 基于 Java+Flink 构建实时电商交易风控系统实战(436)
  • 终极解放双手!M9A重返未来:1999自动化助手完整攻略
  • FGA自动战斗工具:FGO玩家的智能辅助解决方案
  • 视频硬字幕去除神器:AI技术让字幕消失无踪
  • async 和 await
  • Applite:重塑Mac软件管理新体验的智能工具
  • 超实用的“财务数据统计报表-可视化图表”Excel模板分享!
  • 基于STM32和FreeRTOS的智能家居设计之路
  • ThinkPad终极静音方案:TPFanCtrl2双风扇智能控制系统深度解析
  • 5分钟搞定Android投屏:QtScrcpy零门槛操作指南
  • 拿捏 React 组件通讯:从父子到跨组件的「传功秘籍」
  • tensorflow 零基础吃透:tf.sparse.SparseTensor 与核心 TensorFlow API 的协同使用
  • 入职宇树Web前端开发,30K双休有点爽
  • tensorflow 零基础吃透:TensorFlow 张量切片与数据插入(附目标检测 / NLP 实战场景)
  • BetterNCM终极个性化定制:从零打造专属网易云音乐深度改造方案
  • Qwen3-32B实测:单卡A100跑出180+吞吐
  • 显卡驱动彻底清理终极指南:高效解决驱动冲突问题
  • ComfyUI-Manager完整教程:5步掌握AI绘画插件高效管理
  • 写论文软件挑到崩溃?听劝!别试了!虎贲等考 AI 已经把 “毕业级论文” 标准答案写好了
  • 探索ChinaAdminDivisonSHP:地理数据背后的数字艺术
  • Day29~删除一个字符串中出现次数最少的字符(小写字母)
  • 大麻叶病害缺陷检测数据集介绍-198张图片 智能农业监测 精准病害诊断 作物健康管理 农业科研分析 智能植保机器人 农业教育培训
  • 【OpenCV】Python图像处理几何变换之翻转
  • 口腔医学X光影像诊断检测数据集介绍-274张图片 临床辅助诊断 牙科影像自动分类 口腔疾病研究 远程医疗系统 医学教育培训