【论文阅读】RAG-Reward: Optimizing RAG with Reward Modeling and RLHF

研究背景

  1. 研究问题:这篇文章要解决的问题是如何优化检索增强生成(RAG)系统,特别是通过奖励建模和人类反馈强化学习(RLHF)来提高大型语言模型(LLMs)在RAG任务中的效果。
  2. 研究难点:该问题的研究难点包括:如何定义评估生成质量的指标,如何构建高质量的偏好数据集,以及如何有效地利用LLMs进行自动标注。
  3. 相关工作:该问题的研究相关工作有:HH-RLHF、PRM800K、RAG-Truth等,这些工作分别评估语言的帮助性、无害性、逐步正确性以及检测RAG系统中的幻觉现象。

研究方法

这篇论文提出了RAG-Reward,一种用于优化RAG的数据集和方法。具体来说,

  1. 数据集构建:首先,从QA、data2Text和Summary三个领域选择了现有的RAG数据集,包括WebGLM、Yelp和XSum。然后,使用12个开源和专有LLMs(如GPT-4和Llama-3系列)生成多样化的响应。对于每个数据集中的每个提示,随机选择两个LLMs的响应进行比较。

  1. 自动标注:使用GPT-4o作为评判者,根据四个关键指标(幻觉、全面性、冗长性和归因)对生成的响应进行比较。这些指标由人类专家精心选择和定义。通过多数投票法构建偏好对,最终收集了35K的高质量训练样本。

  2. 奖励建模采用Bradley-Terry奖励模型来学习偏好信号。具体来说,使用Llama-3.1-8B-Instruct作为基础模型进行训练,学习率为2e-6,全局批量大小为64,最大长度为4096,训练1个epoch。

  3. 强化学习使用RAFT算法进行偏好对齐。RAFT利用reward model从N个候选响应中选择得分最高的响应,并在该响应集上微调策略模型。实验中设置N=16,初始策略模型为Llama-3.2-3B-Instruct和Mistral-7B-Instruct-v0.1,微调学习率为5e-6,训练1个epoch。

实验设计

  1. 数据收集:从WebGLM、Yelp和XSum数据集中收集了11000、12000和12000个训练样本,分别用于问答、数据到文本和总结任务(这35K用于训练reward model)。每个数据集还包含500个测试样本。
  2. 实验设计:使用35K偏好对进行奖励建模,并创建一个3K样本的开发集用于RLHF训练期间的采样和学习。使用1.5K样本的保留测试集评估策略和奖励模型的性能。
  3. 样本选择:对于每个问题和其对应的参考,随机选择两个LLMs的生成响应形成偏好对。
  4. 参数配置:奖励模型使用Llama-3.1-8B-Instruct进行训练,学习率为2e-6,全局批量大小为64,最大长度为4096,训练1个epoch。RAFT算法中,初始策略模型为Llama-3.2-3B-Instruct和Mistral-7B-Instruct-v0.1,微调学习率为5e-6,训练1个epoch。

结果与分析

  1. 奖励模型性能:奖励模型在三个任务上的准确率分别为WebGLM 84.8%、Yelp 88.2%、XSum 78.4%,平均准确率为83.8%。这表明奖励模型能够有效地对齐生成质量。

        2. 偏好对齐:使用RAFT算法进行偏好对齐后,策略模型在三个任务上的胜率分别为  WebGLM 66.8%、Yelp 54.4%、XSum 68.2%,平均胜率为63.1%。这表明对齐训练显著提高了策略模型的性能。

        3. 自我评估:随机选择1000个样本进行重新评估,结果显示GPT-4o的自我评估一致性率超过90%,表明标注数据集的高质量和稳定性。

        4. 人类评估:随机选择100个样本进行人类评估,结果显示人类评估与GPT-4o标注数据集的一致性率为71%,表明AI辅助标注在多个RAG任务中的潜力。

总体结论

这篇论文介绍了RAG-Reward,一个高质量偏好数据集,旨在优化检索增强生成(RAG)系统。通过自动AI标注管道和GPT-4o评估,构建了涵盖多个领域的多样化基准数据集。实验结果表明,RAG-Reward在奖励建模和强化学习中表现出色,验证了其有效性和数据集质量。

优点与创新

  1. 引入RAG场景的奖励建模方法:论文提出了一种针对RAG场景的奖励建模方法,并发布了一个高质量的35K偏好标注数据集,以支持未来的研究。
  2. 综合评估指标:定义了一套综合评估RAG质量的指标,并指导数据集构建过程。
  3. 广泛的实验验证:进行了广泛的实验来评估奖励模型,训练策略模型,并展示了该方法在提高RAG性能方面的有效性。
  4. 自动化的LLM注释管道:开发了一种新颖的自动化LLM注释管道,生成高质量的偏好数据集RAG-Reward。
  5. 多领域数据集:数据集跨越多个领域,包括问答、数据到文本和摘要,形成了一个大规模且多样化的基准。
  6. 高一致性率:通过自我评估和人类评估,验证了GPT-4o生成的标签具有高度一致性,确保了数据集的质量。

不足与反思

  1. 现有奖励模型的局限性:许多现有的奖励模型在评估聊天、安全和推理任务时表现出色,但在RAG场景中的整体准确性低于80%,显示出显著差距。
  2. 领域特定训练数据的必要性:当前主要在推理任务上训练的奖励模型可能无法有效泛化到评估RAG特定的生成内容,表明领域特定的训练数据对于缩小这一差距和提高RAG性能评估至关重要。

关键问题及回答

问题1:RAG-Reward数据集的构建过程中,如何选择和生成多样化的响应?

在RAG-Reward数据集的构建过程中,研究团队采用了多种策略来确保生成的响应具有多样性和高质量。具体步骤如下:

  1. 数据集选择:选择了三个现有的RAG数据集,包括WebGLM(问答)、Yelp(数据到文本)和XSum(总结)。
  2. 模型选择:使用了12个开源和专有的LLMs,包括GPT-4和Llama-3系列,以确保生成的响应具有多样性。
  3. 响应生成:对于每个数据集中的每个提示,随机选择两个LLMs生成响应。这样可以确保每个提示都有两种不同的生成结果,从而增加数据的多样性。
  4. 评判标准:使用GPT-4o作为评判者,根据四个关键指标(幻觉、全面性、冗长性和归因)对生成的响应进行比较,构建偏好对。

通过这些策略,RAG-Reward数据集成功地收集了35K高质量的训练样本,确保了数据集的多样性和可靠性。

问题2:RAG-Reward数据集的标注方法是如何确保标注的一致性和质量的?

RAG-Reward数据集的标注方法通过以下步骤确保标注的一致性和质量:

  1. 使用GPT-4o进行标注:研究团队使用GPT-4o作为主要标注工具,通过提示GPT-4o比较两个生成的响应,并根据四个关键指标(幻觉、全面性、冗长性和归因)选择偏好响应
  2. 多轮标注:为了确保标注的一致性,研究团队设计了多轮标注流程。具体来说,对于每个数据集中的每个提示和对应的偏好对,GPT-4o会被要求重新评估其之前的判断,确保其选择的响应在所有指标上都是一致的。
  3. 自我评估:研究团队还进行了自我评估,随机选择1000个样本进行重新评估,测量GPT-4o在不同任务上的标注一致性。结果显示,整体一致性率超过90%,表明GPT-4o能够提供稳定且一致的标注结果。
  4. 人工评估:为了进一步验证标注质量,研究团队还进行了人工评估。随机选择100个样本,由标注员根据相同的标准进行评估。结果显示,人工评估与GPT-4o标注的一致性率为71%,展示了AI辅助标注在多个RAG任务中的潜力。

通过这些方法,RAG-Reward数据集确保了标注的高质量和一致性,为后续的奖励建模和强化学习提供了可靠的基础。

问题3:RAG-Reward数据集在奖励建模和偏好对齐实验中的表现如何?

RAG-Reward数据集在奖励建模和偏好对齐实验中表现出色,具体结果如下:

  1. 奖励模型性能:奖励模型在三个任务上的准确率分别为WebGLM 84.8%、Yelp 88.2%、XSum 78.4%,平均准确率为83.8%。这表明奖励模型能够有效地对齐预期标准,区分选定的响应和被拒绝的响应。
  2. 偏好对齐效果:经过一次RAFT迭代后,策略模型在三个任务上的胜率分别为WebGLM 66.8%、Yelp 54.4%、XSum 68.2%,平均胜率为63.1%。此外,GPT-4o也倾向于选择后训练策略模型生成的响应,平均胜率为66.2%。这些结果表明,RAFT算法能够有效地利用奖励模型进行偏好对齐,显著提升策略模型的性能。

总体而言,RAG-Reward数据集在奖励建模和偏好对齐实验中表现出色,验证了其在提高RAG系统性能方面的潜力。研究结果为未来的RAG系统评估和生成提供了新的思路和工具。

问题4: Reward模型和Policy模型分别是如何进行测评的? 

奖励模型(Reward Model)的评估:

  1. 训练:奖励模型通过偏好数据集进行训练,该数据集由多个候选响应对组成,每个对包含一个被选中的响应和一个被拒绝的响应。奖励模型的目标是学习一个能够区分这些响应的奖励函数。

  2. 评估

  • 准确性(Accuracy):在测试阶段,奖励模型为每对候选响应分配分数,并计算其准确性。准确性: prefer response score > reject response score, scores由reward模型给出。
  • 跨任务一致性:奖励模型在多个任务上进行评估,以确保其在不同场景下的泛化能力。

策略模型(Policy Model)的评估:

  1. 基线模型:首先,使用未经微调的策略模型生成响应。

  2. 微调:使用奖励模型和强化学习算法(如RAFT)对策略模型进行微调。微调的目标是提高策略模型生成高质量响应的能力。

  3. 评估

  • 胜率(Win Rate):在测试集上,裁判对SFT后和SFT前模型的回答进行选择。胜率定义为SFT后策略模型生成的响应被选中的比例。裁判:reward模型、GPT-4o、人类裁判。
  • 一致性:通过比较人类评估者和奖励模型的评估结果来评估一致性,以确保奖励模型的评估结果与人类偏好一致。

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

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

相关文章

【数据结构】(3)包装类和泛型

一、包装类 1、什么是包装类 将基础类型包装成的类就是包装类。由于基础类型不是继承 Object 类的类,所以在泛型不能直接支持基础类型,为了解决这个问题,就需要把基础类型转换为对应的包装类。 基础类型对应的包装类 基础类型包装类byteByte…

C++11线程

C11提供了线程库&#xff0c;下面我们来看一下如何使用。 线程的创建 头文件 要创建一个线程需要包一个线程头文件:#include <thread> 我们先来看看thread支持的构造方式。 支持默认构造&#xff0c;直接使用thread创建一个空的线程对象。 也支持带参的构造&#x…

Golang 并发机制-3:通道(channels)机制详解

并发编程是一种创建性能优化且响应迅速的软件的强大方法。Golang&#xff08;也称为 Go&#xff09;通过通道&#xff08;channels&#xff09;这一特性&#xff0c;能够可靠且优雅地实现并发通信。本文将揭示通道的概念&#xff0c;解释其在并发编程中的作用&#xff0c;并提供…

笔记:使用ST-LINK烧录STM32程序怎么样最方便?

一般板子在插件上&#xff0c; 8脚 3.3V;9脚 CLK;10脚 DIO;4脚GND ST_Link 19脚 3.3V;9脚 CLK;7脚 DIO;20脚 GND 烧录软件&#xff1a;ST-LINK Utility&#xff0c;Keil_5; ST_Link 接口针脚定义&#xff1a; 按定义连接ST_Link与电路板&#xff1b; 打开STM32 ST-LINK Uti…

网络测试工具

工具介绍&#xff1a; 这是一个功能完整的网络测速工具&#xff0c;可以测试网络的下载速度、上传速度和延迟。 功能特点&#xff1a; 1. 速度测试 - 下载速度测试 - 上传速度测试 - Ping延迟测试 - 自动选择最佳服务器 2. 实时显示 - 进度条显示测试进度 - 实时显示测试状…

java每日精进1.31(SpringSecurity)

在所有的开发的系统中&#xff0c;都必须做认证(authentication)和授权(authorization)&#xff0c;以保证系统的安全性。 一、基础使用 1.依赖 <dependencies><!-- 实现对 Spring MVC 的自动化配置 --><dependency><groupId>org.springframework.bo…

17.2 图形绘制8

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 17.2.10 重绘 先看以下例子&#xff1a; 【例 17.28】【项目&#xff1a;code17-028】绘制填充矩形。 private void button1_Clic…

自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测,对预测结果计算精确度和召回率及F1分数

import numpy as np import torch import torch.nn as nn import torch.optim as optim from sklearn.metrics import precision_score, recall_score, f1_score# 数据准备 class1_points np.array([[1.9, 1.2],[1.5, 2.1],[1.9, 0.5],[1.5, 0.9],[0.9, 1.2],[1.1, 1.7],[1.4,…

neo4j入门

文章目录 neo4j版本说明部署安装Mac部署docker部署 neo4j web工具使用数据结构图数据库VS关系数据库 neo4j neo4j官网Neo4j是用ava实现的开源NoSQL图数据库。Neo4作为图数据库中的代表产品&#xff0c;已经在众多的行业项目中进行了应用&#xff0c;如&#xff1a;网络管理&am…

Java基础——分层解耦——IOC和DI入门

目录 三层架构 Controller Service Dao ​编辑 调用过程 面向接口编程 分层解耦 耦合 内聚 软件设计原则 控制反转 依赖注入 Bean对象 如何将类产生的对象交给IOC容器管理&#xff1f; 容器怎样才能提供依赖的bean对象呢&#xff1f; 三层架构 Controller 控制…

智慧园区系统集成解决方案引领未来城市管理的智能化转型

内容概要 在现代城市管理的背景下&#xff0c;“智慧园区系统集成解决方案”正扮演着越来越重要的角色。这种解决方案不仅仅是技术上的创新&#xff0c;更是一种全新的管理理念&#xff0c;它旨在通过高效的数据整合与分析&#xff0c;优化资源配置&#xff0c;提升运营效率。…

99.24 金融难点通俗解释:MLF(中期借贷便利)vs LPR(贷款市场报价利率)

目录 0. 承前1. 什么是MLF&#xff1f;1.1 专业解释1.2 通俗解释1.3 MLF的三个关键点&#xff1a; 2. 什么是LPR&#xff1f;2.1 专业解释2.2 通俗解释2.3 LPR的三个关键点&#xff1a; 3. MLF和LPR的关系4. 传导机制4.1 第一步&#xff1a;央行调整MLF4.2 第二步&#xff1a;银…

【VM】VirtualBox安装CentOS8虚拟机

阅读本文前&#xff0c;请先根据 VirtualBox软件安装教程 安装VirtualBox虚拟机软件。 1. 下载centos8系统iso镜像 可以去两个地方下载&#xff0c;推荐跟随本文的操作用阿里云的镜像 centos官网&#xff1a;https://www.centos.org/download/阿里云镜像&#xff1a;http://…

家居EDI:Hom Furniture EDI需求分析

HOM Furniture 是一家成立于1977年的美国家具零售商&#xff0c;总部位于明尼苏达州。公司致力于提供高品质、时尚的家具和家居用品&#xff0c;满足各种家庭和办公需求。HOM Furniture 以广泛的产品线和优质的客户服务在市场上赢得了良好的口碑。公司经营的产品包括卧室、客厅…

【VUE案例练习】前端vue2+element-ui,后端nodo+express实现‘‘文件上传/删除‘‘功能

近期在做跟毕业设计相关的数据后台管理系统&#xff0c;其中的列表项展示有图片展示&#xff0c;添加/编辑功能有文件上传。 “文件上传/删除”也是我们平时开发会遇到的一个功能&#xff0c;这里分享个人的实现过程&#xff0c;与大家交流谈论~ 一、准备工作 本次案例使用的…

VLN视觉语言导航基础

0 概述 视觉语言导航模型旨在构建导航决策模型 π π π&#xff0c;在 t t t时刻&#xff0c;模型能够根据指令 W W W、历史轨迹 τ { V 1 , V 2 , . . . , V t − 1 } \tau\{V_1,V_2,...,V_{t-1}\} τ{V1​,V2​,...,Vt−1​}和当前观察 V t { P t , R t , N ( V t ) } V_…

Flux的三步炼丹炉——fluxgym(三):矩阵测试

前面两篇文章给大家介绍了如何准备素材和怎么炼丹&#xff0c;现在我们拿到训练完成后的多个Lora怎么才能确定哪个才是我们需要的、效果最好的呢&#xff1f;答案就是使用xyz图表测试&#xff0c;也称为矩阵测试&#xff0c;通过控制控制变量的方法对Lora模型批量生图&#xff…

利用Muduo库实现简单且健壮的Echo服务器

一、muduo网络库主要提供了两个类&#xff1a; TcpServer&#xff1a;用于编写服务器程序 TcpClient&#xff1a;用于编写客户端程序 二、三个重要的链接库&#xff1a; libmuduo_net、libmuduo_base、libpthread 三、muduo库底层就是epoll线程池&#xff0c;其好处是…

文件读写操作

写入文本文件 #include <iostream> #include <fstream>//ofstream类需要包含的头文件 using namespace std;void test01() {//1、包含头文件 fstream//2、创建流对象ofstream fout;/*3、指定打开方式&#xff1a;1.ios::out、ios::trunc 清除文件内容后打开2.ios:…

C++编程语言:抽象机制:模板(Bjarne Stroustrup)

目录 23.1 引言和概观(Introduction and Overview) 23.2 一个简单的字符串模板(A Simple String Template) 23.2.1 模板的定义(Defining a Template) 23.2.2 模板实例化(Template Instantiation) 23.3 类型检查(Type Checking) 23.3.1 类型等价(Type Equivalence) …