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,一经查实,立即删除!

相关文章

shell命令行查询文件中的内容

在 Linux shell 中查找文件内容可以使用多种命令。以下是几种常用的命令及其用法: 1. grep 命令 grep 命令是最常用的文本搜索工具之一,它可以在文件中搜索指定的字符串并输出包含该字符串的行。 基本用法 grep "pattern" filename • patte…

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…

算法:空间复杂度

空间复杂度 定义计算方法常见的空间复杂度示例分析示例1:常数空间复杂度(O(1))示例2:线性空间复杂度(O(n))示例3:平方空间复杂度(O(n^2))示例4:递归调用的空间…

在当前的数字化时代,Cobol 语言如何与新兴技术(如云计算、大数据、人工智能)进行融合和交互?

Cobol语言作为一种古老的编程语言,与新兴技术的融合和交互需要一些额外的工作和技术支持。以下是一些将Cobol与新兴技术结合的方法: 云计算:Cobol程序可以迁移到云平台上运行,通过云提供的弹性和可扩展性,为Cobol应用程…

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…

JAVA默写单词小程序

编写一个记单词和默写单词两个功能的小程序 package com.lu.word;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString;Data AllArgsConstructor NoArgsConstructor ToString public class A {private String k;p…

潇洒郎: centos安装supervisor流程

安装supervisordyum install supervisor pip install supervisor pip3 install supervisor==4.2.1 mkdir /usr/supervisor sudo chmod -R 777 /usr/supervisor # 查看是否安装成成功 echo_supervisord_conf > /usr/supervisor/supervisord.conf # 新建配置文件文件夹 mkd…

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

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

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

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

Postman中的代理艺术:配置与使用指南

Postman中的代理艺术:配置与使用指南 在API开发和测试过程中,代理服务器常用于捕获、检查、修改请求和响应。Postman作为一个流行的API开发工具,内置了代理服务器功能,使得测试人员可以方便地查看和修改通过代理的流量。本文将详…

【pandas中concat和append函数的介绍】

文章目录 1. concat函数1.1 基本概念1.2 参数详解1.3 使用示例 2. append函数2.1 基本概念2.2 参数详解2.3 使用示例 1. concat函数 1.1 基本概念 pandas中的concat函数用于沿着指定轴(行或列)将多个DataFrame或Series对象连接起来。 1.2 参数详解 o…

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 聚合优化执行顺序内存排序 整…

深度学习:如何计算感受野

感受野(Receptive Field)是卷积神经网络(CNN)中的一个重要概念,用于描述输入图像中的一个像素在输出特征图中影响的区域大小。在设计和理解卷积神经网络时,计算感受野有助于理解网络如何对输入数据进行处理…