RewardBench:Evaluating Reward Models for Language Modeling

image.png

Leaderboard: https://hf.co/spaces/allenai/reward-bench
Code: https://github.com/allenai/reward-bench
Dataset: https://hf.co/datasets/allenai/reward-bench


在人类偏好的强化学习(RLHF)过程中,奖励模型(Reward Model)格外重要。奖励模型通常是大模型本身并在标注好的偏好数据上进行训练,从而赋予其能够识别好坏的能力。
在RLHF过程中,Reward模型可以给予大模型生成结果的信号,基于这个信号来更新大模型参数,使得其可以进一步提高与人类的对齐能力。

一、背景

(1)Reward模型
在RLHF场景中,给定一个prompt和若干response,通过排序来表示各个response与人类偏好的程度。将其转换为prompt-chosen-rejected pair,其中chosen表示比rejected更符合人类偏好。至此,通过分类器并按照Bradley-Terry模型(排序loss)进行训练。
偏好概率定义为:

p ∗ ( y 1 > y x ∣ x ) = exp ⁡ ( r ∗ ( x , y 1 ) ) exp ⁡ ( r ∗ ( x , y 1 ) ) + exp ⁡ ( r ∗ ( x , y 2 ) ) p^{*}(y_1>y_x|x)=\frac{\exp{(r^{*}(x, y_1))}}{\exp{(r^{*}(x, y_1))} + \exp{(r^{*}(x, y_2))}} p(y1>yxx)=exp(r(x,y1))+exp(r(x,y2))exp(r(x,y1))

损失函数定义为:

L ( θ , D ) = E ( x , y c h o s e n , y r e j e c t e d ) ∼ D [ log ⁡ ( 1 + e r θ ( x , y r e j e c t e d ) − r θ ( x , y c h o s e n ) ) ] \mathcal{L}(\theta, \mathcal{D}) = \mathbb{E}_{(x, y_{chosen}, y_{rejected})\sim\mathcal{D}}[\log(1 + e^{r_{\theta}(x, y_{rejected}) - r_{\theta}(x, y_{chosen})})] L(θ,D)=E(x,ychosen,yrejected)D[log(1+erθ(x,yrejected)rθ(x,ychosen))]

  • 在训练阶段,Reward模型通常是在大模型的基础上添加一个linear层,并通过排序loss进行训练。
  • 在推理阶段,模型会返回一个概率 p ( y 1 > y 2 ∣ x ) ∝ e r ( x , y 1 ) p(y_1>y_2|x)\propto \text{e}^{r(x, y_1)} p(y1>y2x)er(x,y1),表示 y 1 y_1 y1符合偏好的概率。在评测时,如果 y 1 y_1 y1的reward值比 y 2 y_2 y2大,则说明预测正确(win)。

RLHF中的Reward模型需要显式地使用大模型(policy model)和线性层来训练一个排序模型,通过这个Reward模型给予的reward得分,用强化学习(PPO)算法优化policy model的参数。即期望模型生成出高奖励回报的结果。

RLHF中的Reward模型训练模式(Bradley-Terry模型)

  • 先通过人类反馈进行Pair-wise标注;
  • 获得prompt下所有response的排序后,构建两两pair,使用Bradley-Terry模型的排序loss进行训练;
  • Bradley-Terry模型通过pair的比较排序训练方式来获得每个response的reward。

(2)DPO模型
在DPO中,无需显式的训练一个Reward模型,待优化的大模型(policy model)本身可以直接作为奖励模型,其通过policy model的概率来作为隐式的reward。
其奖励函数可以定义为:

r ( x , y ) = β log ⁡ π ( y ∣ x ) π r e f ( y ∣ x ) + β log ⁡ Z ( x ) r(x, y)=\beta\log\frac{\pi(y|x)}{\pi_{ref}(y|x)} + \beta\log Z(x) r(x,y)=βlogπref(yx)π(yx)+βlogZ(x)

DPO代表的方法没有显式的奖励,而是间接使用大模型(policy model)的概率作为奖励。
在训练时,会先让policy model计算chosen和rejected respond的logits,其次基于这个logits来转换为dpo loss进行优化。

二、Reward Benchmark

整个评估的方法流程如下图所示:
image.png
给定一个prompt以及两个response,当模型给chosen的分数高于rejected时,则被判定为win。
RewardBench的分布情况如下所示:
image.png
包含五个subset。

  • Chat:评估奖励模型是否能够区分thorough和correct的chat response;
  • Chat hard:理解trick question以及作出不易察觉的变化instruction response;
  • Safety:拒绝危险回复的能力;
  • Reasoning:模型的推理和代码能力;
  • Prior Set:直接获取现有的一些测试集上的评估结果,所有测试集的数据详见:https://huggingface.co/datasets/allenai/preference-test-sets

评测结果(Top20):
image.png

scaling performance:
image.png
Tulu和Qwen-chat均为DPO reward模型。

  • 对于tulu,随着模型的增大,reward性能也提升;
  • 对于Qwen,则发现最大的模型并非最好,说明泛化性能不足;

参考文献:

  • Your language model is secretly a reward model.
  • Zephyr: Direct Distillation of LM Alignment.
  • Starling-7B: Improving LLM Helpfulness & Harmlessness with RLAIF

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

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

相关文章

Centos7重装系统保留数据安装方式记录

一、选择手动配置分区 二、选择/分区以后,输入挂载点/,选择标准分区,勾选重新格式化,单击更新设置。这样重装的时候,就格式化/分区内的数据。 三、选择swap分区,勾选重新格式化,单击更新设置…

【数据分享】2024年省市县行政区划数据(最新版本/带审图号/官方发布/免费获取/Shp格式)

省份\地级市\区县这三个级别的行政边界矢量(shp格式)数据是我们在各项研究中最常用的数据。在我们发表学术论文的时候,一旦涉及到行政边界,在期刊的投稿指南中都明确要求必须使用自然资源地图技术审查中心发布的标准地图底图&…

基于JSP的在线教育资源管理系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:JSP技术 工具:IDEA/Eclipse、Navicat 系统展示 首页 管理员界面 学生界面 教师界面 摘…

【React】详解 Redux 状态管理

文章目录 一、Redux 的基本概念1. 什么是 Redux?2. Redux 的三大原则 二、Redux 的核心组件1. Store2. Action3. Reducer 三、Redux 的使用流程1. 安装 Redux 及其 React 绑定2. 创建 Action3. 创建 Reducer4. 创建 Store5. 在 React 应用中使用 Store6. 连接 React…

Docker安装oracle19c

文章目录 Docker安装oracle19c1. 拉取镜像2. 创建目录并赋权3. 构建容器并启动4. 查看日志5. 登录docker容器里面6. 登录sqlplus 创建PDB用户7. 查看show pdbs7. 切换数据库8. 创建用户9. 授权10. 使用navicat连接11. 参考和感谢 Docker安装oracle19c 1. 拉取镜像 docker pul…

深入分析 Android ContentProvider (八)

文章目录 深入分析 Android ContentProvider (八)ContentProvider 高级使用及最佳实践案例分析(续)1. 深入了解跨应用数据共享示例:跨应用数据共享的完整实现1. 定义权限2. 定义 ContentProvider3. ContentProvider 实现 2. 实践案例&#xf…

操作系统中存储系统简介 虚拟内存、内存管理、分页、保护

文章目录 存储器的层次结构存储器之间的实际价格和性能差距存储器的层次关系 虚拟内存简述主要概念虚拟内存的优势 内存管理内存碎片 内存分页页面置换算法TLB加速分页软件TLB管理针对大内存的页管理技术三个重要的缓存能力 内存保护总结 存储器的层次结构 对于存储器&#xff…

用Python打造精彩动画与视频.2.1 Python基础语法概述

2.1 Python基础语法概述 Python作为一门功能强大且易于学习的编程语言,其基础语法简单直观,非常适合初学者入门。这一节将带你了解Python的基本语法规则,为后续制作动画和视频打下坚实的基础。 1. 变量与数据类型 Python的变量不需要提前声…

OCC 创建倒角

目录 一、简介 二、示例 1、使用BRepFilletAPI_MakeFillet 创建倒角 2、使用BRepFilletAPI_MakeChamfer创建斜面倒角 三、总结 一、简介 倒角指的是把工件的棱角切削成一定斜面的加工。倒角是为了去除零件上因机加工产生的毛刺,也为了便于零件装配,一般在零件端部做出…

达梦数据库归档介绍

一、什么是归档 数据库归档是一种数据管理策略,它涉及将旧的、不经常访问的数据移动到一个单独的存储设备,以便在需要时可以检索,同时保持数据库的性能和效率。 归档的主要目标是为了释放数据库中的空间,以便更有效地利用高性能…

【C++高阶数据结构】红黑树:全面剖析与深度学习

目录 🚀 前言:红黑树与AVL树的比较一: 🔥 红黑树的概念二: 🔥 红黑树的性质 三: 🔥 红黑树节点的定义和结构🚀 3.1 基本元素🚀 3.2 节点颜色🚀 3.…

MongoDB聚合操作详解

文章目录 聚合操作聚合管道管道(Pipeline)和阶段(Stage)常用的聚合阶段运算符准备数据集,执行脚本$project$match$count$group$unwind$limit$skip$sort$lookup聚合操作案例1聚合操作案例2 聚合优化执行顺序内存排序 整…

Hugo部署到Vercel踩大坑——全是XML文件?

问题描述 部署到Vercel全都是XML文件 Vercel是著名PAAS服务,相比于 Github Pages,其中国大陆可直接访问,因此尝试把Hugo站点发布到vercel中,部署后遇到问题,所有页面都为xml文件,如下所示: Ve…

AIGC-VDM -Video Diffusion Models论文解读

homepage:https://video-diffusion.github.io/ paper:https://arxiv.org/pdf/2204.03458 参考:https://zhuanlan.zhihu.com/p/585009571 视频生成方面的扩散模型 论文Video Diffusion Models精读,笔者会多多更新AIGC相关知识!点个关注吧&…

SpringCloud Alibaba 微服务(二):Nacos

目录 前言 一、什么是Nacos? 二、Nacos的主要功能 服务发现与注册 配置管理 服务健康监控 集群模式 三、安装Nacos 下载Nacos 初始化Nacos 单机模式 集群模式 访问Nacos 四、服务注册 新建子工程 引入Nacos依赖 配置application.yml 创建启动类 …

内网穿透的应用-中文版个人知识库Trilium笔记本地安装结合内网穿透远程协作

文章目录 前言1. 安装docker与docker-compose2. 启动容器运行镜像3. 本地访问测试4.安装内网穿透5. 创建公网地址6. 创建固定公网地址 前言 今天和大家分享一款在G站获得了26K的强大的开源在线协作笔记软件,Trilium Notes的中文版如何在Linux环境使用docker本地部署…

Linux基础复习(五)

前言 本文介绍了Linux常用命令,接Linux基础复习(四) 一、常用命令 命令通配符 在Linux中,命令通配符(也称为通配符模式或通配符表达式)是用来匹配文件名或其他字符串的一种特殊字符。这些通配符可以帮助…

深入解析 GZIP 压缩传输:优化网络性能的利器

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…

访问控制列表(ACL)

文章目录 ACL原理与基本配置ACL分类ACL组成ACL规则的匹配与应用 ACL原理与基本配置 ACL(Access Control List,访问控制列表) 读取二层、三层、四层报文信息根据预先定义好的规则对报文进行过滤和分类实现网络访问控制、防止网络攻击和提高网络带宽利用率等目的提高…

力扣SQL50 上级经理已离职的公司员工 一题双解

Problem: 1978. 上级经理已离职的公司员工 Code -- 方法 1 -- select e1.employee_id -- from employees e1 -- left join employees e2 -- on e1.manager_id e2.employee_id -- where e1.salary < 30000 -- and e1.manager_id is not null -- and e2.employee_id is…