[论文阅读] |RAG评估_Retrieval-Augmented Generation Benchmark

news2024/11/19 3:36:44

写在前面

检索增强能够有效缓解大模型存在幻觉和知识时效性不足的问题,RAG通常包括文本切分、向量化入库、检索召回和答案生成等基本步骤。近期组里正在探索如何对RAG完整链路进行评估,辅助阶段性优化工作。上周先对评估综述进行了初步的扫描,本篇分享其中一份评估benchmark,RGB。

论文:https://arxiv.org/abs/2309.01431
代码和数据:https://github.com/chen700564/RGB

RAG评估benchmark-RGB

      • 写在前面
      • 1. 核心思想
      • 2. 评估维度和方式
      • 3. 评估数据构建
      • 4. 评估指标
      • 5. 实验和结论
        • 设置
        • 5.1 噪声鲁棒性
        • 5.2 拒绝能力
        • 5.3 信息整合能力
        • 5.4 反事实鲁棒性
      • 6. 总结


 

1. 核心思想

  • 检索增强生成(RAG)是有效的消除大模型幻觉的方法,但已有工作缺乏RAG对不同大模型影响的评估
  • 因此构建检索增强生成的基准(Benchmark)RGB,并设计4个维度的评估,包括(1)噪声鲁棒性(2)拒绝能力(3)信息整合能力(4)反事实鲁棒性
     

2. 评估维度和方式


 

3. 评估数据构建

  • 主要包括4个步骤:

 
  • 具体如下:

 

最终构建数据量600个基本问题+200个扩展的整合问题+200个反事实问题;300中文、300英文
 

4. 评估指标

评估的是大模型的响应,特定的响应(拒绝、发现错误)是写在prompt里的

  • 准确率:评估噪声鲁棒性和信息整合能力,与答案精确匹配
  • 拒绝比例:评估拒绝能力,根据生成的响应含有"I can not answer the question because of the insufficient information in documents."
  • 错误检测比例:评估反事实鲁棒性,根据生成的响应"There are factual errors in the provided documents.
  • 错误矫正比例:评估识别到错误信息后是否可以生成正确响应
     

5. 实验和结论

设置
  • 每个问题设置5个候选文档(300tokens/个),噪声文档比例[0,0.8]随机
  • 6个LLM:ChatGPT (OpenAI 2022) ChatGLM-6B (THUDM 2023a), ChatGLM2-6B (THUDM2023b), Vicuna-7b-v1.3 (Chiang et al. 2023), Qwen-7BChat(QwenLM 2023), BELLE-7B-2M (Yunjie Ji 2023)
  • prompt:

 
5.1 噪声鲁棒性

当输入给大模型的候选文档中包含1到多篇噪声文档(与问题相关但不能回答)时,评估大模型抵抗噪声干扰的能力


 

随着含噪声文档的增加,答案的准确率呈下降趋势,那么噪声影响下错误产生的具体原因,作者分析包括答案出现的距离远、证据不明确、概念混淆:


 
5.2 拒绝能力

当候选文档都不能回答问题时,大模型最高的拒绝比例仅有45%→容易被误导


 
5.3 信息整合能力

当答案需要从多篇候选文档中抽取信息进行回复时,评估大模型的信息整合能力;
 

实验发现生成答复时存在的问题:

  • 使用一个子问题的正确答案回答所有子问题
  • 忽略子问题,只回答其中一个
  • 子问题和候选文档匹配错误

原因:大模型对复杂问题的理解能力有限,妨碍了有效利用来自不同子问题的信息的能力


 
5.4 反事实鲁棒性

当输入给大模型的文档包含错误信息时,评估大模型的拒绝能力


 
  • Acc,是没有提供候选文档,请LLM自己回答的准确率
  • Acc_doc,是增加含有错误信息的候选文档后的准确率;

增加错误信息后,大模型准确率迅速下降,而且其错误和纠正错误的比例很低
 

6. 总结

  • 这篇工作的测评是通过生成的答案来评估整体能力的,不侧重RAG整个pipeline中某个步骤的提升给整体系统带来的效果;由于其数据来源于网络,所以除了常规的评估抗噪声、拒绝回答和整合能力之外,还考虑了识别错误信息的能力;
  • RAG包含多个步骤,文档的切分粒度、向量化模型的选择、prompt的写法以及大模型本身的能力都会影响最终答案的生成,因此理想的评估应该是控制变量的中间环节评估+整个系统评估;
  • 具体工作中,我们也发现了RAG的痛点在于,当召回的文档与问题不那么相关、甚至文档包含干扰信息时,chatgpt3.5容易被错误的信息指引生成错误的答案;
  • 还在提升的点:让大模型更加准确、快速地理解if-else的能力。

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

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

相关文章

PAT-Apat甲级题1003(python和c++实现)下

PTA | 1003 Emergency 书接上回,上次我们使用了python实现无向带权图与DFS算法的设计,本次我们将使用C对本题进行解答,思路和题目分析同上一节内容,本次我们将在上一节的基础上继续实现。 okok现在又是激动人心的手搓代码时间&a…

JMeter性能测试实战

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

喝酒筛子小游戏集合源码微信小程序喝酒骰子程序带流量主版本源码酒桌玩筛子源码

2023新版酒桌小游戏喝酒小程序源码-(流量主版本) 修改增加了广告位 根据文档直接替换,原版本没有广告位 直接上传源码到开发者端即可 通过后改广告代码,然后关闭广告展示提交,通过后打开即可 无广告引流 流量主版…

Spring MVC 基本知识

知识回顾 Tomcat 是 Servlet 容器,会解析 Java Web 应用下的 WEB-INF/web.xml 文件,得到相关的 Servlet 组件。 原理解析 Spring MVC 实际是定义了一个 DispatcherSevlet 来统一管理当前 Web 应用下的 Path 路径。在 DispatchSevlet 中持有了一个 Spr…

存储技术架构演进

一. 演进过程 存储技术架构的演进主要是从集中式到分布式的一种呈现,集中式存储模式凭借其在稳定性和可靠性方面的优势成为许多业务数据库的数据存储首选,顾名思义,集中式存储主要体现在集中性,一套集中式管理的存储系统&#xff…

鸿蒙开发-UI-布局-网格

鸿蒙开发-UI-布局 鸿蒙开发-UI-布局-线性布局 鸿蒙开发-UI-布局-层叠布局 鸿蒙开发-UI-布局-弹性布局 鸿蒙开发-UI-布局-相对布局 鸿蒙开发-UI-布局-格栅布局 鸿蒙开发-UI-布局-列表 文章目录 前言 一、基本概念 二、开发布局 1.排列方式 2.设置行列间距 三、应用特性 1.网格数…

数字图像处理(实践篇)三十五 OpenCV-Python在图像上进行SQRBox滤波操作实践

目录 一 方框滤波 二 涉及的函数 三 实践 一 方框滤波 方框滤波是均值滤波的一般形式。二者的不同之处在于在均值滤波中,将滤波器中所有的像素值求和后的平均值作为滤波后结果,方框滤波也是求滤波器内所有像素值的之和࿰

AGP更改gradle版本无效的解决方案

从Github下载了一个项目,非常激进,AGP版本8.4.0,而我的AS只支持到8.2.0 详见:https://developer.android.com/build/releases/gradle-plugin?buildsystemndk-build&hlzh-cn#android_gradle_plugin_and_android_studio_compa…

国标GB/T 28181详解:GB/T28181基本注册流程和注销流程

目 录 一、基本要求 二、注册流程 三、注销流程 四、产品说明 五、参考 一、基本要求 根据《GB/T 28181-2022》第9章关于注册和注销的描述,GB28181的注册和注销应满足下面这些要求: SIP 客户端网关、SIP 设备、联网系统等 SIP 代理…

Python中如何将字符串变成数字?

字符串和数字是Python中常见的数据类型,而且在撰写Python程序的时候,也经常会遇到需要将字符串转换为数字的情况,那么Python中如何将字符串变成数字?有多种方法可以使用,接下来一起来看看具体内容介绍。 1、使用int()函数 int(…

C++(6) 继承

文章目录 继承1. 继承1.1 什么是继承1.2 C 继承方式1.2.1 基本案例1.2.2 继承权限组合1.2.3 继承中构造函数的说法1.2.4 继承中析构函数的执行顺序1.2.5 继承中变量名称冲突问题1.2.6 继承中函数【重写】 继承 1. 继承 1.1 什么是继承 面向对象程序设计中最重要的一个概念是继…

STM32-电动车报警器

STM32-电动车报警器 1.振动传感器点亮LED灯 需求:当振动传感器接收到振动信号时,使用中断方式点亮LED1 //重写中断服务函数,如果检测到EXTI中断请求,则进入此函数 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {//一根中断线上接有多个…

基于springboot网上图书商城源码和论文

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括网上图书商城的网络应用,在外国网上图书商城已经是很普遍的方式,不过国内的管理网站可能还处于起步阶段。网上图书商城具有网上图书信息管理功能的选择…

求两数之间的最大公约数和最小公倍数

1. 最大公约数和最小公倍数的概念 最大公约数:最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a&…

标准库中的string类(下)——“C++”

各位CSDN的uu们你们好呀,这段时间小雅兰的内容仍然是Cstring类的使用的内容,下面,让我们进入string类的世界吧!!! string类的常用接口说明 string - C Reference string类的常用接口说明 string类对象的修…

C++ 数论相关题目 扩展欧几里得算法(裴蜀定理)

给定 n 对正整数 ai,bi ,对于每对数,求出一组 xi,yi ,使其满足 aixibiyigcd(ai,bi) 。 输入格式 第一行包含整数 n 。 接下来 n 行,每行包含两个整数 ai,bi 。 输出格式 输出共 n 行,对于每组 ai,bi ,求…

SpringCloud--OpenFeign解析

一、OpenFeign简介 OpenFeign是一个声明式的Web服务客户端,它简化了与HTTP API的通信。它的底层原理主要基于Java的反射和动态代理,并且通过利用Spring AOP 框架、RestTemplate、Ribbon 和 Hystrix 等组件,将复杂的 HTTP 调用封装起来&#…

浏览器V8是怎么进行垃圾回收的

面试相关问题解答 1、浏览器V8是怎么进行垃圾回收的 浏览器的内存占用是有限制的&#xff1a; 64位系统&#xff1a;物理内存 > 16G > 最大堆内存限制为4G物理内存 < 16G > 最大堆内存限制为2G 32位系统&#xff1a;最大堆内存限制为1G为什么浏览器要对占用内…

云表企业级无代码案例-10天做出《运输车辆管理系统》

物流运输行业像物流公司、运输车队、出租客运公司等企业在车辆管理方面&#xff0c;因其行业特点而面临很多管理上难题&#xff1a; 一、管理的对象多&#xff1a;车辆多&#xff0c;如果有三方车辆挂靠&#xff0c;还要涉及到车主管理&#xff0c;关系错综复杂。 二、管理的信…

2024-01-24-redis4

秒杀活动 需求&#xff1a;库存中有10件商品 商品的信息自定义 同时有100个人去抢购&#xff08;这里100个人的抢购由jmeter来模拟&#xff09; jmeter的使用 在idea中将后台代码实现 package org.aaa.controller;import org.apache.commons.lang3.StringUtils; import org.sp…