论文解读:Investigating the Factual Knowledge Boundary of Large Language Models with Retrieval Augmentati

2023-10-26

论文解读:Investigating the Factual Knowledge Boundary of Large Language Models with Retrieval Augmentation

image.png

一、动机

  • Knowledge-intensive任务通常需要借助外部的资源来回答问题,此时需要有一个retrieve模型来完成外部知识的检索;
  • 最近大模型(例如ChatGPT)可以解决此类问题,其在大量的文档数据上进行过预训练,并将大量的知识学习在参数里;
  • 然而现有的大模型依然存在一个未知的问题,即大模型是否有能力察觉到他们事实知识认知边界;
  • 本文则致力于研究检索式增强对于大模型生成能力的影响进行分析。主要关注三个问题:大模型察觉到它的事实知识边界程度、检索增强对大模型生成有什么影响、具有不同特征的辅助文档如何影响LLM。

二、问题定义

开放域问答中,给定一个问题 q q q以及一个文档库 D = { d i } i = 1 m \mathcal{D}=\{d_i\}_{i=1}^m D={di}i=1m,目标是给定一个回答 a a a
先前的方法是通过一个retriever检索文档库,并获得与问题相关的文档,随后使用机器阅读理解的方式回答问题。大模型可以直接利用模型本身的知识来回答问题,免于使用外部知识,即有: a = f L L M ( p , q ) a=f_{LLM}(p, q) a=fLLM(p,q),其中 p p p表示prompt。
如果使用检索增强的方式,则为 a = f L L M ( p , q , L ) a=f_{LLM}(p, q, \mathcal{L}) a=fLLM(p,q,L),其中 L \mathcal{L} L表示检索得到的support document。

为了能够探测大模型的知识,需要先设计指令来让大模型完成相应的测试任务。

Instruction设计

(1)QA模式
提出两种类型:

  • Normal Setting:即知让大模型根据参数知识来回答问题。指令如下所示:

Answer the following question based on your internal knowledge with one or few words. · · ·

  • 检索式:让大模型结合参数内的知识和检索到的外部知识一起进行回答。指令如下所示:

Given the following information: · · · Answer the following question based on the given information or your internal knowledge with one or few words without the source. · · ·

(2)判别模式
另一种方法则是让大模型去做判定。也存在两种模式:

  • Priori judgement:在大模型做出回答之前,先让其判断是否能够回答该问题。指令如下所示:

Are you sure to accurately answer the following question based on your internal knowledge, if yes, you should give a short answer with one or few words, if no, you should answer ‘Unknown’. · · · ”

  • Posterior judgement:在大模型回答之后,再让大模型来判断自己生成的结果是否准确。指令如下所示:

Can you judge if the following answer about the question is correct based on your internal knowl-edge, if yes, you should answer True or False, if no, you should answer ‘Unknown’. · · · ”

三、实验

数据集

Natural Question、TriviaQA、HotpotQA

评价指标

QA模式:EM、F1
判别模式:

  • Give-up:大模型放弃回答的问题的占比,可以估算为大模型回答的置信度;
  • Right/G:大模型放弃回答,但实际上能够正确回答的概率;
  • Right/NotG:大模型没有放弃回答,且实际上能够正确回答的概率;
  • Eval-Right:大模型评估其回答是正确的问题的比例;
  • Eval-ACC:大模型对答案的评估(正确或错误)与事实相符的问题的百分比。

检索器

采用下面三种进行检索:
image.png
ChatGPT表示使用ChatGPT插件来检索相关的文档。

模型

对比text-davinci-003和gpt3.5-turbo

实验与结论

(1)大模型本身很难知道自己的知识边界,且会过度自信。
image.png
(2)LLM无法充分利用自己所拥有的知识,而检索增强可以作为LLM的宝贵知识补充。
image.png
可以知道当用高质量的文档检索器后,大模型的放弃回答的比例下降了很多,说明给定外部知识大模型是可以有效回答问题的。
(3)检索增强提高了大模型感知事实知识边界的能力。
如上表可知给定检索的知识,大模型priori judgement的准确率很高。
(4)更多的文档可以进一步提高检索增强大模型的性能。
image.png
当检索的文档越多时,EM指标会呈现上升趋势,Given Up率也会下降很多。
(5)检索增强可以改变大模型对不同查询类别的偏好。
image.png
(6)当提供更高质量的检索文档时,大模型可以表现出很强的质量保证能力和知识边界感知能力。
image.png
当检索的文档是准确时(Golden),其不论是EM、F1指标,还是Eval-Acc、Eval-Right都很高,说明高质量的检索文档可以提升模型的知识边界感知能力的。
7)大模型会依赖于检索到的文档。
(8)大模型对检索到的文档的置信度和依赖程度取决于问题和文档之间的相关性。
上表中的几个检索方式的对应Question与检索文档的相关性排序为:golden doc- uments > retrieved documents > highly-related incorrect documents > weakly-related incorrect documents > random incorrect documents.
可知EM、F1等指标也几乎呈现此顺序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

论文解读:Investigating the Factual Knowledge Boundary of Large Language Models with Retrieval Augmentati 的相关文章

  • Antlr 解析器运算符优先级

    考虑以下语法 我对运算符优先级有疑问 例如 res 2 a b有一个类似的解析树res 2 a b 我知道问题出在哪里 但我没有想到没有相互左递归的 漂亮 解决方案 你能帮我一点忙吗 该语法与自定义访问者一起使用 grammar Math
  • 如何通过索引访问 JSON 对象中的字段

    我知道这不是最好的方法 但我别无选择 我必须通过索引访问 JSONObject 中的项目 访问对象的标准方法是只写this objectName or this objectName 我还找到了一种获取 json 对象内所有字段的方法 fo
  • 测量窗口偏移

    有没有一种方法可以测量 jQuery 中窗口的偏移量 以便我可以比较 固定 元素和相对定位元素的位置 我需要能够知道窗口滚动了多远 以便我可以使用该图来计算固定元素的高度 相对于视口顶部 和相对对象的高度 相对于顶部 之间的差异文件的内容
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供
  • PrimeFaces 对话框参考父级

    我有一个 xhtml 页面 显示带有条目的数据表 我还有一个用于插入新条目的按钮 该按钮显示一个包含表单的对话框 插入表格用作
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 将第三个表链接到多对多关联中的桥接表

    设计这个数据库的正确方法是什么 这是我设置表格的方式 我在名为 教师 的表和名为 仪器 的表之间存在多对多关系 然后我有一个连接两者的桥接表 我想将另一个表与 BRIDGE 表关联起来 意思是乐器 老师的组合 该表有 3 行 指定老师可以教
  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中
  • 使用velocity.js制作可拖动元素的动画

    我正在使用velocity js 为用户拖动的可拖动 SVG 元素设置动画 然而 velocity js 将先前的 mousemove 坐标排队并通过所有后续的 mousemove 坐标进行动画处理 我想要的是velocity js 不要对
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使
  • 如何修复:“无法解析类型 java.lang.CharSequence。它是从所需的 .class 文件间接引用的”消息? [复制]

    这个问题在这里已经有答案了 我正在尝试使用这个字符串 amountStr amountStr replace replace replace 但我收到一条错误消息 我知道我收到的错误消息是因为我刚刚发布的字符串已过时 所以我想知道该字符串的
  • 如何在 OSX 上安装 LaTeX .sty 文件?

    我设置了一个 LaTeX 项目 tex documents some file tex support todonotes sty where some file tex uses todonotes usepackage colorinl
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前
  • Android 材料芯片组件崩溃应用程序。无法膨胀 xml

    Tried Chip来自两个支持库的组件 com google android support design 28 0 0 rc01和材料 com google android material material 1 0 0 rc01 堆栈
  • 禁用允许文本选择的

    残疾人可以吗
  • 探查器模板可以迁移到较新版本的 SQL Profiler 吗?

    是否可以将 Profiler 模板迁移到较新版本的 SQL Server 就我而言 我想将 SQL 2008 模板带到 2012 年 我尝试过 1 直接文件复制和 2 导出 导入 在这两种情况下 旧模板都会运行 但无法修改 修改后会出现以下

随机推荐

  • Python 工匠:编写条件分支代码的技巧

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由鹅厂优文发表于云 社区专栏 作者 朱雷 腾讯IEG高级工程师 Python 工匠 是什么 我一直觉得编程某种意义是一门 手艺 因为优雅而高效的代码 就如同完美的手工艺品一样让人
  • 2017年总结和2018年规划(几年前帖子,私密变公开后时间就变了)

    2017年浑浑噩噩 一直处于摇摆不定的局面 2018年重新找了个工作 必须要努力啦 月薪16000 图形还是要和师兄这边搞搞UE4 图像这边学学计算机视觉 希望能通过试用期 加油
  • 左程云算法笔记025

    map和哈希map的使用 cpp 此文件包含 main 函数 程序执行将在此处开始并结束 include
  • LINUX下查看点云图————point cloud(.ply .vtk .pcd)

    首先 你要确定点云的格式 pcd vtk 还是 ply 如果是 pcd vtk 那么可以用pcl工具查看 1 安装pcl 官网链接点击打开链接 sudo add apt repository ppa v launchpad jochen s
  • python可使用什么退出死循环_碰到python死循环后要怎么退出结束?

    每当编写代码行云流水 却突然碰到代码无限循环 这是非常让人头疼的 难道直接退出程序运行嘛 答案肯定是不行 怎么跳出呢 一起来看下吧 案例 遇到的问题是这样的 如果我定义了一个死循环线程我该如何终止它 我发现用全局变量的方法根本不好使 pys
  • python基础 - networkx 绘图总结

    目录 1 创建方式 2 基本参数 3 DiGraph 有向图 4 Graph 无向图 5 有向图和无向图互转 6 一些精美的图例子 networkx是一个用Python语言开发的图论与复杂网络建模工具 内置了常用的图与复杂网络分析算法 可以
  • 【科普向】LaTeX简介(一篇极简的 LaTeX 介绍文章)

    文章目录 LaTeX诞生背景 TeX和LaTeX LaTeX主要功能 文档结构 数学公式 公式块 我们平时在word里新建一个doc x 文件后 输入内容 调整页边距 字体大小 行间距等待 然后交给打印机打印就可以了 如果你写了一篇关于新疆
  • Qt获取控件位置,坐标总结

    总结的结果是 QMouseEvent中两类坐标系统 一类是窗口坐标 一类是显示器坐标 总结一 经过试验 QMouseEvent globalPos 和 QCursor pos 效果一样 但是Qt帮助文档说不一样 可是我获得值确实相同的 QC
  • 手把手搭建Python量化交易平台-2:量化策略的原理与整体架构

    摘要 探讨量化策略的整体架构 一 量化策略的原理与整体架构 1 输入数据 来自于金融数据共享平台 1 行情或技术面数据 K线数据 MA均线数据 MACD数据 2 财务或基本面数据 国家宏观经济 行业经济 公司财务数据 3 自定义数据 4 投
  • 看懂今天这个!你就是个真正的javaer!

    昨天 猿人君已经教会你搞对象了 听说 由于文字篇幅有限 讲得不明白的地方 大家关注公主号猿人工厂 或者加入qq群765605694 猿人工厂君 手把手的免费教你 恭喜你 从此开始一段新的人生 跨越上和大海 抽象人山人海 在过去的几天里 你已
  • 单词统计

    题目描述 输入一行字符 统计其中有多少个单词 单词之间以空格分隔 输入 一行英文字符 含空格 输出 单词的个数 单独占一行 样例输入 I am a boy 样例输出 4 代码 Java版 import java util Scanner p
  • 毕业后的五年拉开大家差距的原因在哪里?

    有人工作 有人继续上学 大家千万不要错过这篇文章 能看到这篇文章也是一种幸运 真的受益匪浅 对我有很大启迪 这篇文章将会改变我的一生 真的太好了 希望与有缘人分享 也希望对有缘人有所帮助 看完之后有种 相见恨晚 的感觉 特别激动 希望大家好
  • Eclipse环境下通过Cygwin使用NDK编译jni程序

    一 认识Cygwin NDK和jni 首先来认识一下什么是Cygwin NDK和jni Cygwin Cygwin是一个在windows平台上运行的unix模拟环境 它对于学习unix linux操作环境 或者从unix到windows的应
  • java 动态生成 visio----aspose.diagram for java

    最近在鼓捣java 如何生成visio图表 苦于没有API 找到了aspose这个神器 下载试用版本之后 发现最多只能生成10个元素 而且有水印 下面尝试如何去掉水印与元素限制 本文章所涉及的软件均可从网上获取 但是只能用于学习之用 不能用
  • idea使用http客户端上传文件

    controller 文件上传 param file return PostMapping value fileUpload ResponseBody public String uploadSkuImage RequestParam fi
  • 初始C语言——从大到小排序

    三个数的排序 三个数之间两两比较类似于三个数中显示最大值 两两比较 但是有一个问题 最大值问题只需要输出最大值即可而排序问题则还要排序 那么我们是否可以确定三个位置x y z将最大值依次赋值给x y z确保输出时x y z的位置是从左到右输
  • 真二次元!动漫形象风格迁移

    点击上方 机器学习与生成对抗网络 关注星标 获取有趣 好玩的前沿干货 文章 机器之心 一张输入人脸图像 竟能生成多样化风格的动漫形象 伊利诺伊大学香槟分校的研究者做到了 他们提出的全新 GAN 迁移方法实现了 一对多 的生成效果 在 GAN
  • 【JVM】JVM-codecache内存区域介绍

    1 概述 转载 https leokongwq github io 2016 10 12 maven test html 2 JVM codecache内存区域介绍 大家都知道JVM在运行时会将频繁调用方法的字节码编译为本地机器码 这部分代
  • 网络层_数据平面_四(题目完成)

    网络 引入网络层学习 分组交换 虚电路VC 数据报网络 CIDR DHCP 路由器 IP数据报格式 IPv4 IPv6 过渡策略 双栈 隧道 特殊IP地址即内部IP地址 流表中匹配 动作 计算机自顶向下方法 第七版课后习题及答案 正在更新中
  • 论文解读:Investigating the Factual Knowledge Boundary of Large Language Models with Retrieval Augmentati

    论文解读 Investigating the Factual Knowledge Boundary of Large Language Models with Retrieval Augmentation 一 动机 Knowledge in