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

【偏好对齐】通过ORM直接推导出PRM

论文地址:https://arxiv.org/pdf/2412.01981

相关博客
【自然语言处理】【大模型】 ΨPO:一个理解人类偏好学习的统一理论框架
【强化学习】PPO:近端策略优化算法
【偏好对齐】PRM应该奖励单个步骤的正确性吗?
【偏好对齐】通过ORM直接推导出PRM

一、PRM的成本和性能困境

1. ORM和PRM

​ 在强化学习中,奖励模型用于评估模型的输出。常见的两种奖励模型是结果奖励模型(ORM)和过程奖励模型(PRM)。ORM为整个响应分配一个稀疏奖励,而PRM则为每个中间步骤提供奖励。

ORM和PRM奖励分配方式。令 x x x表示指令, y y y为包含n个步骤的响应, y t y_t yt为第t步的响应, y < t y_{<t} y<t表示前t-1步的响应。PRM为第t步分配的奖励为 r θ t ( y < t , y t ) r^{t}_{\theta}(y_{<t},y_t) rθt(y<t,yt)。令Q值 q θ t ( y < t , y t ) q_{\theta}^t(y_{<t},y_t) qθt(y<t,yt)表示基于响应 y < t y_{<t} y<t和当前步骤 y t y_t yt的奖励 r θ r_{\theta} rθ的期望值。先前的研究将过程奖励定义为每个步骤的正确性,而近期研究则将其定义为优势值。即Q值之差: r θ t : = q θ t − q θ t − 1 r_{\theta}^t:=q_{\theta}^t-q_{\theta}^{t-1} rθt:=qθtqθt1

2. PRM的优势

效果。结果奖励模型和过程奖励模型都能够提供奖励以评估模型的输出。然而,PRM在训练和推理时都表现出优于ORM的优势。

效率。PRM提供密集的步骤级奖励能让强化学习(RL)训练变得稳定且高效。

3. PRM的困境

​ 尽管PRM很有效,但其训练难度更大,主要挑战在于训练数据的收集。为了收集PRM的训练数据,通常需要使用蒙特卡洛树搜索(MCTS)进行自动步骤标注。

​ MCTS基于指令和前t步的响应来采样多条轨迹,每条轨迹都会产生一个最终答案。但是,这种方法会带来高额的额外成本,并且由于标注过程存在噪声,可能会导致性能欠佳。

4. MCTS估计的问题

估计策略:

在MCTS中,有两种常见的标签估计策略:

  • 硬估计:如果有任意rollout是正确的,那么步骤tt被标注为1,否则为0。即 l t = max ⁡ { c 1 , c 2 , … , c N } l_t=\max\{c_1,c_2,\dots,c_N\} lt=max{c1,c2,,cN}
  • 软估计:步骤t被标注为所有rollout中正确答案的比例,也就是 l t = ∑ t = 1 N c t / N l_t=\sum_{t=1}^N c_t/N lt=t=1Nct/N

令ORM为 θ \theta θ,基于硬估计数据训练的PRM为 θ h \theta_h θh,基于软估计数据训练的PRM为 θ s \theta_s θs,那么两种策略的Q值表示为
q θ h t ( y < t , y t ) = max ⁡ y ∣ y < t r θ ( y ) , q θ s t ( y < t , y t ) = E π r e f ( y ∣ y < t ) r θ ( y ) q_{\theta_h}^t(y_{<t},y_t)=\max_{y|y_{<t}} r_{\theta}(y),q_{\theta_s}^t(y_{<t},y_t)=\mathbb{E}_{\pi_{ref}(y|y_{<t})}r_{\theta}(y) \\ qθht(y<t,yt)=yy<tmaxrθ(y),qθst(y<t,yt)=Eπref(yy<t)rθ(y)
潜在问题:

尽管硬估计和软估计都有其合理性,但它们都存在噪音问题。具体来说:

  • 硬估计: q θ h t q_{\theta_h}^t qθht表示给定 y < t y_{<t} y<t的情况下的最大结果奖励 r θ r_{\theta} rθ,而不是期望值,因此会高估 Q Q Q值。
  • 软估计:对于 q θ s t q_{\theta_s}^t qθst,由于策略模型的能力通常有限,要针对困难的指令采样处正确的解决方案很难,会受假阴性噪音的影响,从而低估 Q Q Q

二、通过ORM直接构造PRM

​ MCTS虽然能够不借助人工来构造PRM数据,但是成本高昂且奖励值估计不准确。那么不通过MCTS,而是直接基于ORM来构造过程奖励可以吗?

1. 基于ORM构造PRM

​ ORM采用DPO中定义的形式,即 r θ ( y ) : = β log ⁡ π θ ( y ) π ref ( y ) r_{\theta}(y):=\beta\log\frac{\pi_{\theta}(y)}{\pi_{\text{ref}}(y)} rθ(y):=βlogπref(y)πθ(y)。令 q θ t ( y < t , y t ) : = ∑ i = 1 t β log ⁡ π θ ( y i ∣ y < i ) π ref ( y i ∣ y < t ) q_{\theta}^t(y_{<t},y_t):=\sum_{i=1}^t\beta\log\frac{\pi_{\theta}(y_i|y_{<i})}{\pi_{\text{ref}}(y_i|y_{<t})} qθt(y<t,yt):=i=1tβlogπref(yiy<t)πθ(yiy<i),那么 q θ t q_{\theta}^t qθt r ( θ ) r(\theta) r(θ)的指数平均值,即
q θ t ( y < t , y t ) = β log ⁡ E π r e f ( y ∣ y ≤ t ) e 1 β r θ ( y ) q_{\theta}^t(y_{<t},y_t)=\beta\log\mathbb{E}_{\pi_{ref}(y|y_{\leq t})}e^{\frac{1}{\beta}r_{\theta}(y)} \\ qθt(y<t,yt)=βlogEπref(yyt)eβ1rθ(y)
所以, q θ t q_{\theta}^t qθt表示结果奖励 r θ r_{\theta} rθ在步骤 t t t处的精确期望值,即Q值。

​ 既然, q θ t q_{\theta}^t qθt是Q值,那么若令过程奖励值为优势值,则可以直接计算 r θ t r_{\theta}^t rθt
r θ t : = q θ t − q θ t − 1 = ∑ i = t − 1 t β log ⁡ π θ ( y i ∣ y < i ) π ref ( y i ∣ y < i ) r_{\theta}^t:=q_{\theta}^t-q_{\theta}^{t-1}=\sum_{i=t-1}^t\beta\log\frac{\pi_{\theta}(y_i|y_{<i})}{\pi_{\text{ref}}(y_i|y_{<i})} \\ rθt:=qθtqθt1=i=t1tβlogπref(yiy<i)πθ(yiy<i)

2. 隐式PRM的奖励估计更合理

q θ s t = E π r e f ( y ∣ y < t ) r θ ( y ) ≤ q θ t ( y < t , y t ) ≤ max ⁡ y ∣ y < t r θ ( y ) = q θ h t q_{\theta_{s}}^t=\mathbb{E}_{\pi_{ref}(y|y_{<t})}r_{\theta}(y)\leq q_{\theta}^t(y_{<t},y_t)\leq\max_{y|y_{<t}}r_{\theta}(y)=q_{\theta_h}^t \\ qθst=Eπref(yy<t)rθ(y)qθt(y<t,yt)yy<tmaxrθ(y)=qθht

上面提出的隐式PRM理论上介于 q θ s t q_{\theta_s}^t qθst q θ h t q_{\theta_h}^t qθht之间,而 q θ s t q_{\theta_s}^t qθst q θ h t q_{\theta_h}^t qθht分别会低估和高估Q值,因此 q θ t q_{\theta}^t qθt的估计更加准确且鲁棒性更强。

三、实验

1. 效果

在这里插入图片描述

​ 论文中各种隐式PRM的效果优于baseline。

2. 效率

在这里插入图片描述

相关文章:

【偏好对齐】通过ORM直接推导出PRM

论文地址&#xff1a;https://arxiv.org/pdf/2412.01981 相关博客 【自然语言处理】【大模型】 ΨPO&#xff1a;一个理解人类偏好学习的统一理论框架 【强化学习】PPO&#xff1a;近端策略优化算法 【偏好对齐】PRM应该奖励单个步骤的正确性吗&#xff1f; 【偏好对齐】通过OR…...

Python与其他编程语言的区别是什么?

Python是一种广泛使用的高级编程语言&#xff0c;以其简洁的语法、强大的库支持和广泛的应用领域而著称。与其他编程语言相比&#xff0c;Python具有许多独特的特点和优势。以下将从多个方面详细探讨Python与其他编程语言的区别&#xff0c;并通过示例进行说明。 一、语法简洁…...

cuda11.6和对应的cudnn(windows)

因为每次不同的torch版本要下对应的cuda&#xff0c;这次刚好在Windows上下好了一个cuda11.6和对应的cudnn&#xff0c;直接放到网盘中&#xff0c;大家有需要对应版本的可以直接下载&#xff1a; 链接&#xff1a;https://pan.quark.cn/s/f153a53830d4 大家自取&#xff0c;c…...

24年无人机行业资讯 | 12.23-12.29

24年无人机行业资讯 | 12.23-12.29 1、 国家发改委新设低空经济司&#xff0c;助力低空经济规范发展2、商务部支持无人机民用国际贸易&#xff0c;强调出口管制与安全并重3、滨州高新区首架无人机成功下线4、 2025第九届世界无人机大会筹备推进会顺利召开5、2024年世界无人机竞…...

uniapp:微信小程序文本长按无法出现复制菜单

一、问题描述 在集成腾讯TUI后&#xff0c;为了能让聊天文本可以复制&#xff0c;对消息组件的样式进行修改&#xff0c;主要是移除下面的user-select属性限制&#xff1a; user-select: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms…...

qml Item详解

1、概述 Item是QML&#xff08;Qt Modeling Language&#xff09;的基础元素&#xff0c;所有其他可视化元素都继承自它。它代表了一个可视化的对象&#xff0c;虽然Item对象本身没有可视外观&#xff0c;但它定义了所有可视项之间通用的属性&#xff0c;比如位置、大小、旋转…...

【Java回顾】Day4 反射机制

反射机制 之前学过一部分&#xff0c;笔记在20250103Java包_网络编程.md里,这里在之前的笔记的基础上做一些补充。 反射&#xff1a;得到class对象后反向获取对象的各种信息。 包 Field 类或接口中的字段(成员变量)&#xff0c;动态访问和修改类的字段 模板 获取Class 对象 …...

【沉默的羔羊心理学】汉尼拔的“移情”游戏:操纵与理解的艺术,精神分析学视角下的角色互动

终极解读《沉默的羔羊》&#xff1a;弗洛伊德精神分析学视角下的深层剖析 关键词 沉默的羔羊弗洛伊德精神分析学角色心理意识与潜意识性别与身份 弗洛伊德精神分析学简介 弗洛伊德的精神分析学是心理学的一个重要分支&#xff0c;主要关注人类行为背后的无意识动机和冲突。…...

[深度学习] 大模型学习1-大语言模型基础知识

大语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;是一类基于Transformer架构的深度学习模型&#xff0c;主要用于处理与自然语言相关的各种任务。简单来说&#xff0c;当用户输入文本时&#xff0c;模型会生成相应的回复或结果。它能够完成许多任务&…...

如何解决数据库和缓存不一致的问题

目录 一、Cache-Aside模式&#xff08;旁路缓存模式&#xff09; 二、Write-Through模式&#xff08;写透缓存模式&#xff09; 三、Write-Behind模式&#xff08;写回缓存模式&#xff09; 四、先删除缓存再更新数据库&#xff08;不推荐&#xff0c;存在风险&#xff09;…...

剑指Offer|LCR 021. 删除链表的倒数第 N 个结点

LCR 021. 删除链表的倒数第 N 个结点 给定一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1…...

【NX入门篇】

NX入门篇 一、UG NX 由来二、软件如何启动&#xff08;UG NX 12.0&#xff09;三、使用步骤四、常用命令 一、UG NX 由来 UG NX由来&#xff1a; 1969 年&#xff1a;UG 的开发始于美国麦道航空公司&#xff0c;基于 C 语言开发实现&#xff1b;1976 年&#xff1a;UG问世&am…...

ubuntu如何禁用 Snap 更新

.禁用 Snap 更新&#xff08;通过修改 snapd 配置&#xff09; 打开并编辑 /etc/apt/apt.conf.d/50unattended-upgrades文件。 这个文件控制自动更新的行为。 sudo vim /etc/apt/apt.conf.d/50unattended-upgrades 里面有一行将里面的auto改为false即可禁用更新&#xff1a;…...

Spring AI Alibaba-对话模型(Chat Model)

对话模型&#xff08;Chat Model&#xff09;接收一系列消息&#xff08;Message&#xff09;作为输入&#xff0c;与模型 LLM 服务进行交互&#xff0c;并接收返回的聊天消息&#xff08;Chat Message&#xff09;作为输出。相比于普通的程序输入&#xff0c;模型的输入与输出…...

HTML——79.代码快捷输入方式

!DOCTYPE html> <html><head><meta charset"UTF-8"><title>代码快捷输入方式</title></head><body><!--1.父子关系&#xff1a;--><!--div>p 加Tab键--><div><p></p></div><…...

李宏毅机器学习课程笔记01 | 1.Introduction of Machine/Deep Learning

笔记是在语雀上面做的&#xff0c;粘贴在CSND上可能存在格式错误 机器学习的本质就是借助机器寻找一个转换函数 根据函数的输出类型&#xff0c;可以将机器学习进行分类 regression 回归任务&#xff1a;函数输出时一个数值classification 分类任务&#xff1a;人类设定好选项…...

1、pycharm、python下载与安装

1、去官网下载pycharm 官网&#xff1a;https://www.jetbrains.com/pycharm/download/?sectionwindows 2、在等待期间&#xff0c;去下载python 进入官网地址&#xff1a;https://www.python.org/downloads/windows/ 3、安装pycharm 桌面会出现快捷方式 4、安装python…...

计算机网络复习(学习通作业4、5、6系统答案)

&#x1f4e2;&#x1f4e2;&#x1f4e2;传送门 一、作业4一. 计算题&#xff08;共1题&#xff0c;100分&#xff09; 二、作业5一. 简答题&#xff08;共1题&#xff0c;30分&#xff09;路由器属于那一层的互联设备&#xff1f;路由器结构包含哪两个部分&#xff1f;请解释…...

javascript 绘制图表的几种方式

JavaScript 中,绘制图表的常用方法是使用图表库,它们提供了便捷的 API 和功能来实现图形和数据可视化。以下是几种常见的 JavaScript 图表绘制库以及如何使用它们来绘制图表的示例: 1. Chart.js Chart.js 是一个轻量级、简单易用的图表库,支持多种图表类型,如线性图、柱…...

【网络协议】开放式最短路径优先协议OSPF详解(四)

前言 在本章的第一部分和第二部分中&#xff0c;我们探讨了OSPF的基本配置&#xff0c;并进一步学习了更多OSPF的概念&#xff0c;例如静态路由的重分发及其度量值。在第三部分中&#xff0c;我们讨论了多区域OSPF。在第四部分中&#xff0c;我们将关注OSPF与多访问网络&#…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

在Zenodo下载文件 用到googlecolab googledrive

方法&#xff1a;Figshare/Zenodo上的数据/文件下载不下来&#xff1f;尝试利用Google Colab &#xff1a;https://zhuanlan.zhihu.com/p/1898503078782674027 参考&#xff1a; 通过Colab&谷歌云下载Figshare数据&#xff0c;超级实用&#xff01;&#xff01;&#xff0…...

Yii2项目自动向GitLab上报Bug

Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...

WEB3全栈开发——面试专业技能点P8DevOps / 区块链部署

一、Hardhat / Foundry 进行合约部署 概念介绍 Hardhat 和 Foundry 都是以太坊智能合约开发的工具套件&#xff0c;支持合约的编译、测试和部署。 它们允许开发者在本地或测试网络快速开发智能合约&#xff0c;并部署到链上&#xff08;测试网或主网&#xff09;。 部署过程…...

【Docker 02】Docker 安装

&#x1f308; 一、各版本的平台支持情况 ⭐ 1. Server 版本 Server 版本的 Docker 就只有个命令行&#xff0c;没有界面。 Platformx86_64 / amd64arm64 / aarch64arm(32 - bit)s390xCentOs√√Debian√√√Fedora√√Raspbian√RHEL√SLES√Ubuntu√√√√Binaries√√√ …...

SpringCloud——Nacos

1、核心功能&#xff1a; 服务注册与发现&#xff1a; 服务实例可动态注入到Nacos中&#xff0c;消费者通过服务名发现可用实例。 // 启用EnableDiscoveryClient注解启用Nacos SpringBootApplication EnableDiscoveryClient public class UserServiceApplication {public st…...

DOM(文档对象模型)深度解析

DOM(文档对象模型)深度解析 DOM 是 HTML/XML 文档的树形结构表示,提供了一套让 JavaScript 动态操作网页内容、结构和样式的接口。 一、DOM 核心概念 1. 节点(Node)类型 类型值说明示例ELEMENT_NODE1元素节点<div>, <p>TEXT_NODE3文本节点元素内的文字COMMEN…...