【偏好对齐】通过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θt−qθt−1。
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)=y∣y<tmaxrθ(y),qθst(y<t,yt)=Eπref(y∣y<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(yi∣y<t)πθ(yi∣y<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(y∣y≤t)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θt−qθt−1=i=t−1∑tβlogπref(yi∣y<i)πθ(yi∣y<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(y∣y<t)rθ(y)≤qθt(y<t,yt)≤y∣y<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
论文地址:https://arxiv.org/pdf/2412.01981 相关博客 【自然语言处理】【大模型】 ΨPO:一个理解人类偏好学习的统一理论框架 【强化学习】PPO:近端策略优化算法 【偏好对齐】PRM应该奖励单个步骤的正确性吗? 【偏好对齐】通过OR…...
Python与其他编程语言的区别是什么?
Python是一种广泛使用的高级编程语言,以其简洁的语法、强大的库支持和广泛的应用领域而著称。与其他编程语言相比,Python具有许多独特的特点和优势。以下将从多个方面详细探讨Python与其他编程语言的区别,并通过示例进行说明。 一、语法简洁…...

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

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

uniapp:微信小程序文本长按无法出现复制菜单
一、问题描述 在集成腾讯TUI后,为了能让聊天文本可以复制,对消息组件的样式进行修改,主要是移除下面的user-select属性限制: user-select: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms…...

qml Item详解
1、概述 Item是QML(Qt Modeling Language)的基础元素,所有其他可视化元素都继承自它。它代表了一个可视化的对象,虽然Item对象本身没有可视外观,但它定义了所有可视项之间通用的属性,比如位置、大小、旋转…...
【Java回顾】Day4 反射机制
反射机制 之前学过一部分,笔记在20250103Java包_网络编程.md里,这里在之前的笔记的基础上做一些补充。 反射:得到class对象后反向获取对象的各种信息。 包 Field 类或接口中的字段(成员变量),动态访问和修改类的字段 模板 获取Class 对象 …...

【沉默的羔羊心理学】汉尼拔的“移情”游戏:操纵与理解的艺术,精神分析学视角下的角色互动
终极解读《沉默的羔羊》:弗洛伊德精神分析学视角下的深层剖析 关键词 沉默的羔羊弗洛伊德精神分析学角色心理意识与潜意识性别与身份 弗洛伊德精神分析学简介 弗洛伊德的精神分析学是心理学的一个重要分支,主要关注人类行为背后的无意识动机和冲突。…...

[深度学习] 大模型学习1-大语言模型基础知识
大语言模型(Large Language Model,LLM)是一类基于Transformer架构的深度学习模型,主要用于处理与自然语言相关的各种任务。简单来说,当用户输入文本时,模型会生成相应的回复或结果。它能够完成许多任务&…...
如何解决数据库和缓存不一致的问题
目录 一、Cache-Aside模式(旁路缓存模式) 二、Write-Through模式(写透缓存模式) 三、Write-Behind模式(写回缓存模式) 四、先删除缓存再更新数据库(不推荐,存在风险)…...

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

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

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

Spring AI Alibaba-对话模型(Chat Model)
对话模型(Chat Model)接收一系列消息(Message)作为输入,与模型 LLM 服务进行交互,并接收返回的聊天消息(Chat Message)作为输出。相比于普通的程序输入,模型的输入与输出…...
HTML——79.代码快捷输入方式
!DOCTYPE html> <html><head><meta charset"UTF-8"><title>代码快捷输入方式</title></head><body><!--1.父子关系:--><!--div>p 加Tab键--><div><p></p></div><…...

李宏毅机器学习课程笔记01 | 1.Introduction of Machine/Deep Learning
笔记是在语雀上面做的,粘贴在CSND上可能存在格式错误 机器学习的本质就是借助机器寻找一个转换函数 根据函数的输出类型,可以将机器学习进行分类 regression 回归任务:函数输出时一个数值classification 分类任务:人类设定好选项…...

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

计算机网络复习(学习通作业4、5、6系统答案)
📢📢📢传送门 一、作业4一. 计算题(共1题,100分) 二、作业5一. 简答题(共1题,30分)路由器属于那一层的互联设备?路由器结构包含哪两个部分?请解释…...
javascript 绘制图表的几种方式
JavaScript 中,绘制图表的常用方法是使用图表库,它们提供了便捷的 API 和功能来实现图形和数据可视化。以下是几种常见的 JavaScript 图表绘制库以及如何使用它们来绘制图表的示例: 1. Chart.js Chart.js 是一个轻量级、简单易用的图表库,支持多种图表类型,如线性图、柱…...

【网络协议】开放式最短路径优先协议OSPF详解(四)
前言 在本章的第一部分和第二部分中,我们探讨了OSPF的基本配置,并进一步学习了更多OSPF的概念,例如静态路由的重分发及其度量值。在第三部分中,我们讨论了多区域OSPF。在第四部分中,我们将关注OSPF与多访问网络&#…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...

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

在Zenodo下载文件 用到googlecolab googledrive
方法:Figshare/Zenodo上的数据/文件下载不下来?尝试利用Google Colab :https://zhuanlan.zhihu.com/p/1898503078782674027 参考: 通过Colab&谷歌云下载Figshare数据,超级实用!!࿰…...
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 都是以太坊智能合约开发的工具套件,支持合约的编译、测试和部署。 它们允许开发者在本地或测试网络快速开发智能合约,并部署到链上(测试网或主网)。 部署过程…...

【Docker 02】Docker 安装
🌈 一、各版本的平台支持情况 ⭐ 1. Server 版本 Server 版本的 Docker 就只有个命令行,没有界面。 Platformx86_64 / amd64arm64 / aarch64arm(32 - bit)s390xCentOs√√Debian√√√Fedora√√Raspbian√RHEL√SLES√Ubuntu√√√√Binaries√√√ …...
SpringCloud——Nacos
1、核心功能: 服务注册与发现: 服务实例可动态注入到Nacos中,消费者通过服务名发现可用实例。 // 启用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…...