《工程检索增强生成系统时的七个失败点》论文 AI 解读

news2024/9/25 1:22:56

周末使用 AI 速度了一篇 RAG 相关的论文,文中提到的【设计 RAG 系统时需要考虑的七个失败点】非常有价值,简单整理一下分享出来,大家如果感兴趣可以继续阅读原文。


论文名称:Seven Failure Points When Engineering a Retrieval Augmented Generation System
论文中文名:工程检索增强生成系统时的七个失败点
论文地址:https://arxiv.org/abs/2401.05856
一译中英对照版:https://yiyibooks.cn/arxiv/2401.05856v1/index.html

如果你也想使用 AI 快速阅读论文,可参考:《AI 助力问题驱动式学习》

论文转思维导图速览:
在这里插入图片描述

如果你想了解该图是如何生成的,可以阅读:《AI 应用之文章转脑图的 N 种姿势》

一、概括

在这篇论文中,Scott Barnett 等人探讨了增强检索(Retrieval-Augmented Generation, RAG)系统在工程实践中可能遇到的挑战和失败点。RAG 系统通过结合信息检索和大型语言模型(LLM)的生成能力,旨在提供准确、上下文相关的回答。然而,RAG 系统在信息检索的固有局限性和对 LLM 的依赖上存在问题。本文通过三个不同领域的案例研究,分享了在设计 RAG 系统时需要考虑的七个失败点,并提出了软件工程社区可能的研究方向。

二、三个案例

论文通过三个案例研究展示了RAG系统在不同领域的应用和遇到的挑战:

  • Cognitive Reviewer:支持研究人员分析科学文档的 RAG 系统。
  • AI Tutor:一个 RAG 系统,学生可以就单元内容提问,答案来源于学习材料。
  • BioASQ:使用 BioASQ 数据集构建的 RAG 系统,专注于生物医学领域的问答。

三、设计 RAG 系统时需要考虑的七个失败点

在这里插入图片描述

1. FP1 缺少内容(Missing Content)
当用户提出的问题无法从现有的文档中找到答案时,RAG系统可能无法提供有用的回应。理想情况下,系统会回复类似于“对不起,我不知道”的回答。然而,如果问题与内容相关但没有直接答案,系统可能会错误地生成一个看似合理但实际错误的回答。

2. FP2 错过高排名文档(Missed the Top Ranked Documents)
即使文档中包含了问题的答案,但如果该文档的排名没有足够高,它可能不会被返回给用户。理论上,所有文档都应参与排名并用于后续步骤,但在实践中,通常只返回基于性能选定的前K个文档。

3. FP3 上下文缺失(Not in Context)
检索到的包含答案的文档可能没有被纳入生成答案的上下文中。这通常发生在从数据库检索到许多文档时,需要通过整合过程来提取答案。

4. FP4 提取失败(Not Extracted)
尽管答案存在于上下文中,但大型语言模型(LLM)可能未能正确提取出正确答案。这种情况通常发生在上下文中存在太多噪声或矛盾信息时。

5. FP5 格式错误(Wrong Format)
当问题需要以特定格式(如表格或列表)提取信息时,如果LLM忽略了这一指令,就会产生格式错误。

6. FP6 具体性错误(Incorrect Specificity)
返回的答案可能不够具体或过于具体,无法满足用户的需求。这发生在RAG系统设计者对给定问题有预期结果时,例如教师为学生提供的答案不仅应该是答案本身,还应该是具体的教育内容。

7. FP7 答案不完整(Incomplete)
不完整的答案虽然不是错误,但它们遗漏了一些信息,即使这些信息在上下文中可用并且可以被提取。例如,当用户问到“文档A、B和C中涵盖了哪些关键点?”时,更好的做法是分别提问这些问题。

四、教训

  1. 需要更大的上下文来获得更准确的结果。
  2. 语义缓存可以降低成本和延迟。
  3. 为 RAG 系统添加元数据可以改善检索。
  4. 开源嵌入模型在小文本上的表现与闭源模型相当。
  5. RAG 系统需要持续的校准和监控。

五、未来研究方向

5.1、分块和嵌入策略的优化

分块(Chunking) 是RAG系统中的关键步骤,它涉及将文档分割成更小的部分或“块”,这些块随后被转换成嵌入向量以用于检索。分块的质量直接影响到检索过程和嵌入的质量,进而影响文档与用户查询之间的匹配度。论文中提到了两种分块方法:

  • 基于启发式的分块:使用标点符号、段落结束等作为分块依据。
  • 基于语义的分块:利用文本中的语义信息来确定分块的起始和结束。

优化分块策略需要考虑以下方面:

  • 块的大小:块太小可能无法回答某些问题,块太大可能包含噪声。
  • 文档类型:不同类型的文档可能需要不同的分块和处理策略。
  • 嵌入模型的选择:不同的嵌入模型可能对语义检索的准确性有不同的影响。

进一步的研究应该探索这些方法之间的权衡,并评估它们对关键下游过程(如嵌入质量和相似性匹配)的影响。

嵌入(Embeddings) 是文档块的压缩语义表示,通常是一个数值向量。嵌入的生成对于文档检索至关重要,因为它们决定了文档与查询之间的相似度计算。优化嵌入策略涉及:

  • 嵌入模型的选择:选择能够准确捕捉文档语义的模型。
  • 更新频率:确定何时重新生成嵌入以反映新索引的文档或文档更新。

2、RAG与微调(Finetuning)的比较研究

RAG系统和微调是两种不同的方法,用于定制大型语言模型以适应特定领域的需求。微调涉及在特定领域的数据集上继续训练模型,而RAG系统则利用检索机制来提供上下文信息,然后由LLM生成答案。

  • 微调:需要内部数据集来训练和适应模型,数据一旦集成到模型中,就需要考虑隐私和安全性问题。此外,随着基础模型的更新或新数据的加入,需要重新进行微调。
  • RAG:提供了一种实用解决方案,允许按需分块数据,并只使用相关的块来生成答案。这有助于持续更新知识,并允许控制用户可以访问的块。

比较研究应该系统地评估这两种方法在以下方面的差异:

  • 准确性:哪种方法在特定任务上提供更准确的结果。
  • 延迟:生成答案所需的时间。
  • 运营成本:实施和维护每种方法的成本。
  • 鲁棒性:系统对新数据和变化的适应能力。

3、RAG系统的测试和监控方法

RAG系统的测试和监控是软件工程中的新兴领域,需要特定的方法和工具来确保系统的质量和性能。

  • 测试:由于RAG系统通常处理特定于应用的问题和答案,因此测试用例的生成可能需要创新方法,例如使用LLM生成问题。
  • 质量指标:开发质量指标来帮助工程师做出质量权衡,考虑到使用LLM的成本、引入的延迟以及每次新版本发布时性能的变化。
  • 自我适应系统:将自我适应系统的概念纳入RAG系统的监控和适应中,以支持系统的持续优化。

研究应该探索以下方面:

  • 测试数据生成:如何生成现实和领域相关的测试问题和答案。
  • 质量评估:开发和应用质量评估方法来衡量RAG系统的性能。
  • 自我适应:研究如何使RAG系统能够自我监控并根据实时反馈进行调整。

通过这些研究,可以为RAG系统的开发和维护提供更清晰的指导,并帮助实践者构建更加健壮和有效的系统。

六、结论

论文的结论部分强调了RAG系统作为结合大型语言模型的新型信息检索技术的重要性,并指出软件工程师在实施这些系统时面临的挑战。作者通过三个案例研究,包括对15,000份文档和1000个问题的实证调查,为实践者提供了实施RAG系统时可能遇到的挑战的指南。同时,论文提出了未来研究方向,包括分块和嵌入策略、RAG与微调的比较,以及RAG系统的测试和监控。最后,作者指出这是首次从软件工程视角对RAG系统进行的系统性研究,并强调了大型语言模型将持续发展,为工程师和研究人员带来新的研究兴趣点。

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

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

相关文章

php反序列化靶机serial实战

扫描ip,找到靶机ip后进入 他说这是cookie的测试网页,我们抓个包,得到cookie值 base64解码 扫描一下靶机ip的目录 发现http://192.168.88.153/backup/,访问 下载一下发现是他的网页源码 通过代码审计,发现 通过代码审计得知&…

盘点和讯飞语音转文字一样好用的4款转换工具。

语音转文字能够快速准确地记录下人们的发言,使用相应的工具能够让我们不用担心遗漏重要信息,或者花费大量时间手动整理成文字内容。很多人都知道讯飞语音转文字,但是现在网络上也有很多其他好用的工具,就比如这4款: 1、…

Spring的配置类分为Full和Lite两种模式

Spring的配置类分为Full和Lite两种模式 首先查看 Configuration 注解的源码, 如下所示: Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Component public interface Configuration {AliasFor(annotation Component.class)String value() defau…

Apache解析漏洞~CVE-2017-15715漏洞分析

Apache解析漏洞 漏洞原理 # Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如如下配置文件: AddType text/html .html AddLanguage zh-CN .cn# 其给 .html 后缀增加了 media-type ,值为 text/html ;给 …

WordPress资源下载类主题 CeoMax-Pro_v7.6绕授权开心版

CeoMax-Pro强大的功能 在不久的将来Ta能实现你一切幻想!我们也在为此而不断努力。适用于资源站、下载站、交易站、素材站、源码站、课程站、cms等等等等,Ta 为追求极致的你而生。多风格多样式多类型多行业多功能 源码下载:ceomax-pro7.6.zip…

<数据集>航拍行人识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:7482张 标注数量(xml文件个数):7482 标注数量(txt文件个数):7482 标注类别数:1 标注类别名称:[people, pedestrian] 序号类别名称图片数框数1people5226385602pedes…

hcip作业1

写网关 r1 <Huawei>system-view [Huawei]sysname r1 [r1]interface GigabitEthernet 0/0/0 [r1-GigabitEthernet0/0/0]ip address 192.168.1.1 24 [r1]interface g 0/0/1 [r1-GigabitEthernet0/0/1]ip address 192.168.3.1 24 [r1]interface LoopBack 0 [r1-LoopBack0…

【算法/题目】:递归、搜索训练

✨ 吾与春风皆过客&#xff0c;君携春水揽星河 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;算法训练 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 …

117页PPT埃森哲-物流行业信息化整体规划方案

一、埃森哲-物流行业信息化整体规划方案 资料下载方式&#xff0c;请看每张图片右下角信息 埃森哲在物流行业信息化整体规划项目中的核心内容&#xff0c;旨在帮助物流企业通过信息技术的应用实现业务流程的优化、运营效率的提升以及市场竞争力的增强。以下是埃森哲在此类项目…

全面掌握 Kubernetes 对象的基本操作:从定义到实践

引言 Kubernetes 是当今最流行的容器编排平台之一&#xff0c;它通过自动化容器化应用的部署、扩展和管理&#xff0c;极大地提升了应用的可用性和可扩展性。在 Kubernetes 系统中&#xff0c;对象是其核心概念之一&#xff0c;是对系统状态的持久化描述。理解 Kubernetes 对象…

日志定向实验

目录 一.实验环境 二.实验一 1.node1主机进入rsyslog.conf文件添加规则 2.重启服务测试 三.实验二 1.node1主机进入rsyslog.conf文件添加规则 2.node1重启服务&#xff0c;清除日志历史记录 2.node2主机重新登录node1 3.node1没有日志记录 4.node1重启httpd 5.node1…

网络基础之(2)初级网络知识

网络基础之(2)初级网络工程师 Author&#xff1a;Once Day Date: 2024年7月29日 漫漫长路&#xff0c;有人对你笑过嘛… 全系列文档可参考专栏&#xff1a;通信网络技术_Once-Day的博客-CSDN博客。 来自锐捷数通技术基础资料&#xff0c;百度云盘链接: 下载链接&#xff0c…

状体管理-装饰器

State 自己的状态 注意:不是状态变量的所有更改都会引起刷新。只有可以被框架观察到的修改才会引起UI刷新。 1、boolean、string、number类型时&#xff0c;可以观察到数值的变化。 2、class或者Object时&#xff0c;可以观察 自身的赋值 的变化&#xff0c;第一层属性赋值的变…

【控制研究领域EI会议推荐】第四届电气工程与控制科学国际学术会议(IC2ECS 2024)

【拟IEEE出版|连续3届稳定EI检索|团队投稿可享优惠】 第四届电气工程与控制科学国际学术会议&#xff08;IC2ECS 2024&#xff09; 2024 4th International Conference on Electrical Engineering and Control Science *拟IEEE 出版&#xff0c;连续3届稳定EI检索&#xff0…

了解三大无线通信技术(Wifi、蓝牙、NFC)

1.WIFI Wi-Fi&#xff08;Wireless Fidelity&#xff09;&#xff0c;又称作“移动热点”&#xff0c;是当今使用最广的一种无线网络传输技术。Wi-Fi技术是把有线网络信号转换成无线信号&#xff0c;形成无线局域网&#xff0c;将局域网内的设备联网。比如我们通过一个无线路由…

【Vue3】组件通信之自定义事件

【Vue3】组件通信之自定义事件 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋…

【重整化群】1.0 to Wilson RG

0. 写在最前面 从高能到统计物理模型RG的技术主要参考 大黄猫的量子多体讲义&#xff0c;杨展如NRG / DMRG 暂时没有想法&#xff0c;编排不出内容有趣的零碎内容&#xff0c;如 CFT&#xff0c;Z2 Lattice gauge, Fermi field 重整化零碎内容&#xff0c;下篇文章将逐一讲述 …

UE5.4内容示例(4)UI_UMG - 学习笔记

https://www.unrealengine.com/marketplace/zh-CN/product/content-examples 《内容示例》是学习UE5的基础示例&#xff0c;可以用此熟悉一遍UE5的功能 UI示例 UI_UMG &#xff1a;基本UMGUI_CommonUI &#xff1a;UMG多层应用UI_SlatePostBuffer UI &#xff1a;FX的示例&…

python中的print函数总结

文章目录 打印变量打印数学计算多行文本复制n次字符串 x*n,n*x不换行输出多个数据换行符制表位转义原字符字符串切片格式化字符串千位分隔符&#xff08;只适用于整数和浮点数&#xff09;浮点数小数部分的精度字符串类型&#xff0c;.表示最大的显示长度整数类型浮点数类型 打…

<Qt> 常用控件

目录 一、控件概述 二、QWidget 核心属性 &#xff08;一&#xff09;QWidget的核心属性概览 1. enabled 2. geometry 3. WindowFrame的影响 4. windowTitle 5. window Icon 6. windowOpacity 7. cursor 8. font 9. toolTip 10. focusPolicy 11. styleSheet 三、…