DPO:直接偏好优化简化语言模型的偏好训练

人工智能咨询培训老师叶梓 转载标明出处

如何精确控制大规模无监督语言模型(LMs)的行为一直是一个挑战。这些模型虽然通过大量数据学习到了广泛的世界知识和一些推理技能,但由于其训练的无监督性质,使得它们的行为难以精确控制。现有的方法通过收集人类对模型生成内容的相对质量标签,然后通过人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)对无监督LM进行微调,以使其行为与这些偏好对齐。然而,RLHF是一个复杂且常常不稳定的过程,它首先拟合一个反映人类偏好的奖励模型,然后使用强化学习对大型无监督LM进行微调,以最大化估计的奖励,同时不过分偏离原始模型。

斯坦福大学的研究团队提出了一种名为“直接偏好优化”(Direct Preference Optimization, DPO)的新方法。DPO通过一种新的奖励模型参数化方法,使得可以直接提取相应的最优策略,而不需要复杂的强化学习过程。DPO算法稳定、高效且计算成本低,消除了在微调过程中从LM采样或进行大量超参数调整的需要。图 1展示了直接偏好优化(DPO)与现有方法的区别。

论文链接:https://arxiv.org/pdf/2305.18290

方法

DPO的核心思想是利用奖励函数到最优策略的解析映射,将奖励函数上的损失函数转换为策略上的损失函数。这种方法避免了显式拟合独立的奖励模型,同时在现有的人类偏好模型(如Bradley-Terry模型)下进行优化。策略网络在DPO中既代表了语言模型,也隐式地代表了奖励模型。

研究者从与先前工作相同的强化学习目标出发,通过一系列数学推导,得到了最优策略的表达式。这个表达式涉及到一个分区函数Z(x),它在实际应用中估计起来可能很昂贵。然而,通过重新排列和一些代数操作,研究者能够用最优策略πr、参考策略πref和未知的分区函数Z来表示奖励函数。特别地,Bradley-Terry模型仅依赖于两个完成之间的奖励差异,这使得分区函数在替换过程中被消去,从而可以用最优策略和参考策略来表示人类偏好概率。

研究者分析了损失函数LDPO的梯度:LDPO损失函数的梯度增加了优选完成(preferred completions)的可能性,并减少了不优选完成(dispreferred completions)的可能性。这些例子的权重取决于隐式奖励模型对不优选完成的评分,按β进行缩放,即隐式奖励模型对完成的排序错误程度,这考虑了KL约束的强度。

DPO的一般流程包括两个步骤:

1)对于每个提示x,采样完成y1, y2,并用人类偏好进行标记,构建偏好的离线数据集D;

2)优化语言模型πθ,以最小化给定πref和D以及期望的β下的LDPO。在实践中,研究者希望能够重用公开可用的偏好数据集,而不是生成样本和收集人类偏好。由于偏好数据集是使用πSFT采样的,因此通常初始化πref = πSFT。然而,当πSFT不可用时,研究者通过最大化优选完成(x, yw)的可能性来初始化πref。

研究者进一步解释了DPO方法,并提供了理论支持,将DPO的优势与RLHF中使用的演员-评论家算法(如PPO)的问题联系起来。研究者定义了奖励函数之间的等价关系,并提出了两个引理来证明在Plackett-Luce偏好框架下,同一类的两个奖励函数产生相同的偏好分布,并且同一等价类中的两个奖励函数在受约束的强化学习问题下产生相同的最优策略。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。9月22日晚,实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

加助理微信提供直播链接:amliy007,29.9元即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory,关注享粉丝福利,限时免费CSDN听直播后的录播讲解。
 

LLaMA Factory 支持多种预训练模型和微调算法。它提供灵活的运算精度和优化算法选择,以及丰富的实验监控工具。开源特性和社区支持使其易于使用,适合各类用户快速提升模型性能。

实验

实验设置:

情感控制生成:使用IMDb数据集中的电影评论前缀作为输入x,策略需要生成具有积极情感的文本y。为了进行控制评估,研究者使用预训练的情感分类器生成偏好对。

摘要生成:输入x是Reddit论坛帖子,策略必须生成帖子主要内容的摘要y。使用了Reddit TL;DR摘要数据集和由Stiennon等人收集的人类偏好。

单轮对话:输入x是人类查询,可以是任何问题或请求。策略必须产生对用户查询有帮助和吸引人的响应y。研究者使用了Anthropic Helpful and Harmless对话数据集。

评估方法:

为了分析算法在优化受约束的奖励最大化目标方面的有效性,研究者评估了每个算法在实现奖励和与参考策略的KL散度之间的权衡。

在现实世界中,真实的奖励函数是未知的,因此研究者使用GPT-4作为人类评估摘要质量和响应有帮助性的代理,来评估算法。

实验结果:

图2展示了不同算法在情感设置中的奖励-KL边界。DPO在所有KL值下都提供了最高的期望奖励,展示了优化的质量。

在TL;DR摘要任务中,DPO在0.0的采样温度下达到了约61%的胜率,超过了PPO在0.0采样温度下57%的性能。DPO在不同的采样温度下也显示出比PPO更好的鲁棒性。

在单轮对话任务中,DPO是唯一在Anthropic HH数据集中超过优选完成的方法,并且提供了与计算成本较高的Best of 128基线相似或更好的性能。

图3进一步展示了DPO在Anthropic-HH单轮对话中的胜率,以及在训练过程中不同采样温度下的胜率演变。DPO在训练过程中对数据集标签的改进在不同采样温度下相对稳定。

表 1为在CNN/DailyMail数据集上,PPO和DPO算法在不同采样温度下的GPT-4胜率与地面真相摘要的比较。DPO继续以显著的优势超越PPO策略,这为DPO策略与PPO策略的泛化能力提供了初步证据。

研究者通过人类研究验证了GPT-4判断的可靠性(表2)。研究发现,GPT-4的判断与人类的判断一致性与人类评价者之间的一致性相似或更高,这表明GPT-4是评估的合理代理。

这些实验结果表明,DPO算法在几乎不需要调整超参数的情况下,就能在多个任务上实现与或优于现有强基线算法(如使用PPO的RLHF)的性能,同时在计算上更加高效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/417962.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Error running tomcat: Can‘t find catalina.jar

一、错误描述: 在运行 java-web项目时出现报错:Error running tomcat: Can‘t find catalina.jar 二、错误原因: tomcat的路径错误,在idea中配置正确的tomcat路径 三、解决方法: 1.点击EditConfigurations 2.点…

RP2040 C SDK clocks时钟源配置使用

RP2040 C SDK clocks时钟源配置使用 🌿RP2040时钟源API函数文档:https://www.raspberrypi.com/documentation/pico-sdk/hardware.html#group_hardware_clocks 🍁RP2040时钟树: 系统时钟源可以来自外部时钟输入(exte…

4000字三合一!Stata、SPSS、MATLAB实现多元线性回归详解!

参加数学建模的小伙伴要注意了:多元线性回归几乎是所有分析方式里面最核心、最常用、最全面的模型,博主本科大致参加了10次数模,还有一次正大杯市场调研赛,其中获得拿得出手的奖有9次,有5次都用到了多元线性回归——至…

山东大学OLED透明展示柜案例:科技赋能,创新展示新体验

随着科技的飞速发展,显示技术也在不断突破传统界限,为各行各业带来了全新的展示体验。山东大学集成攻关大平台展厅近期引入了OLED透明展示柜,这一创新举措不仅提升了展厅的展示效果,还为参观者带来了前所未有的互动体验。 背景介绍…

KADAL | Kriging代理模型Python工具箱推荐

用于分析、设计优化和探索的Kriging工具箱 简介Required packagesQuick ExamplesContact特别感谢:参考资料 简介 用于分析、设计优化和探索的克里金法 (Kriging for Analysis, Design optimization, And expLoration, KADAL) 是由万隆理工学院 (Institut Teknologi…

缓存对象反序列化失败

未定义serialVersionUID,会自动生成序列化号 新增了属性,序列号就变了,导致缓存对象反序列化失败。 所有缓存对象必须指定序列化id! 那我如何找到未添加字段前 对象的序列化号呢?默认的序列化号是如何生成的呢&#…

身份证实名认证-实名认证API接口文档

1、接口介绍及适用范围 身份证实名认证是指通过验证个人身份证信息的真实性,来确认用户身份的一种安全验证方式。这种认证方式广泛应用于各种需要身份验证的场合,如金融交易、社交媒体注册、网络游戏登录、电子商务平台购物等。 2、接口地址 输入姓名和…

C语言手撕实战代码_二叉树_构造二叉树_层序遍历二叉树_二叉树深度的超详细代码实现

二叉树习题1.通过前序序列和中序序列构造二叉树2.通过层次遍历序列和中序序列创建一棵二叉树3.求一棵二叉树的结点个数4.求一棵二叉树的叶子节点数5.求一棵二叉树中度为1的节点个数6.求二叉树的高度7.求一棵二叉树中值为x的节点作为根节点的子树深度8.判断两棵树是否相似&#…

如何构建短视频矩阵?云微客开启多账号协同作战

你有没有疑惑过,为什么有些账号每一次发布视频,都要艾特一下其他账号呢?那些被艾特的账号,你有点进去关注过吗?其实做过运营的都或多或少的接触过矩阵,短视频矩阵的玩法现在也逐步成为了趋势。企业通过多账…

亿佰特-NT1/NT1-B串口转RJ45以太网模块

亿佰特-NT1/NT1-B串口转RJ45以太网模块 模块概要连接方式配置模块亿佰特网络配置助手配置模块网页版配置模块 串口以太网双向数据收发AT模式配置模块 模块概要 亿佰特官网 https://www.ebyte.com/ 模块概要: 接口方式:TTL串口RJ45工作电压&#xff1a…

C++ 设计模式——解释器模式

目录 C 设计模式——解释器模式1. 主要组成成分2. 逐步构建解释器模式步骤1: 定义抽象表达式步骤2: 实现终结符表达式步骤3: 实现非终结符表达式步骤4: 构建语法树步骤5: 实现内存管理步骤6: 创建上下文和客户端 3. 解释器模式 UML 图UML 图解析 4. 解释器模式的优点5. 解释器模…

FxFactory 8 for Mac 视觉特效插件包安装

Mac分享吧 文章目录 介绍页面效果一、下载软件二、开始安装1、Install安装2、显示软件页面,表示安装成功3、补丁安装 三、注意事项1、若已安装过其他版本,需要使用软件自带的卸载功能进行软件卸载,再安装此版本 安装完成!&#x…

像素间的关系(邻接、连通、区域、边界、距离定义)

文章目录 像素的相邻像素4邻域D邻域8邻域 邻接、连通、区域和边界邻接类型连通区域边界 距离测度欧氏距离城市街区距离(city-block distance)棋盘距离(chessboard distance) 参考 像素的相邻像素 4邻域 坐标 ( x , y ) (x,y) (x…

ElasticSearch 集群的索引别名管理

一、索引别名 (一)添加索引别名 1.给单个索引添加别名 POST http://10.0.0.101:9200/_aliases{"actions":[{"add":{"index":"yedu-linux85","alias":"Linux容器运维"} },{"add&q…

Qt QGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小_图片查看

QtQGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小 头文件&#xff1a; #ifndef TIMGWIDGET_H #define TIMGWIDGET_H#include <QGraphicsItem> #include <QMainWindow> #include <QObject> #include <QWidget>// class TImgWidget : pu…

uniapp钱包支付、与设置密码页面

设置密码页面 <template><view class="paymentCodeBox"><!-- 自定义键盘 -->

【ArcGIS Pro实操第二期】最小成本路径(Least-cost path)原理及实操案例

ArcGIS Pro实操第一期&#xff1a;最小成本路径原理及实操案例 概述&#xff08;Creating the least-cost path&#xff09;1.1 原理介绍1.2 实现步骤1.3 应用案例 2 GIS实操2.1 工具箱简介2.1.1 成本路径&#xff08;Cost path&#xff09;2.1.2 成本距离&#xff08;Cost dis…

微信小程序知识点(二)

1.下拉刷新事件 如果页面需要下拉刷新功能&#xff0c;则在页面对应的json配置文件中&#xff0c;将enablePullDownRefresh配置设置为true&#xff0c;如下 {"usingComponents": {},"enablePullDownRefresh": true } 2.上拉触底事件 在很多时候&#x…

《互联网内容审核实战》:搭建团队到绩效激励,一书在手全搞定!“

&#x1f310;在数字时代的浩瀚海洋中&#xff0c;互联网视频、图片、文字等内容如同潮水般汹涌澎湃&#xff0c;它们以惊人的速度传播&#xff0c;连接着世界的每一个角落。这股信息洪流不仅丰富了我们的视野&#xff0c;也带来了前所未有的挑战——如何在享受信息便利的同时&…

Kaggle竞赛——手写数字识别(Digit Recognizer)

目录 1. 数据集介绍2. 数据分析3. 数据处理与封装3.1 数据集划分3.2 将数据转为tensor张量3.3 数据封装 4. 模型训练4.1 定义功能函数4.1 resnet18模型4.3 CNN模型4.4 FCNN模型 5. 结果分析5.1 混淆矩阵5.2 查看错误分类的样本 6. 加载最佳模型7. 参考文献 本次手写数字识别使用…