大模型论文 | 溯源分析RAG系统错误,提出选择性生成框架,让RAG问答准确率提升10%

引言

当前RAG技术应用非常广泛,但是由于涉及技术节点比较多,问题排查通用非常困难。为此,本文作者对RAG系统出现的错误进行了深入的分析,「引入充分上下文(Sufficient Context)的概念,指出RAG系统中的幻觉现象可能是由于上下文不足引起」,为此提出了选择性生成框架来提高RAG系统的准确性,实验结果表明该方法可让RAG系统准确率最高提升10%。图片链接:https://arxiv.org/pdf/2411.06037

背景介绍

检索增强生成(Retrieval-Augmented Generation,RAG)是当前NLP领域中最重要的技术突破之一。它将大语言模型(LLMs)与动态信息检索机制相结合,有效解决了传统语言模型的三大核心问题:知识固化问题、事实性幻觉倾向,以及长尾知识覆盖不足的缺陷。这种方法在开源和商用应用中都非常广泛,如搜索问答、智能客服、医疗辅助诊断等。

尽管 RAG 在许多任务中表现优异,但仍经常出现“幻觉”(hallucination)现象,即模型在提供不完整或无关文档时依然自信地生成错误答案。此时你可能会想到:「这些错误究竟是因为检索系统未能提供足够信息,还是模型本身未能正确使用上下文?」

为了分析和解决这个问题,Google提出了“「充分上下文(Sufficient Context)」”的概念,并围绕这一概念展开了深入研究,旨在明确划分 RAG 系统错误的责任归属,并给出了几种提升RAG生成质量的策略。

上下文充分性评估工具

何为充分上下文(Sufficient Context)?作者给出的定义是:检索的内容中是否 「能够具备支持正确答案的全部信息」。这一标准并不要求上下文中显式的包含答案,但应当使一个熟悉该任务的 LLM 能够基于其常识和推理能力,合理得出正确答案。

为了量化这个概念,作者构建了一个新的评估任务:「给定问题、答案与上下文,判定该上下文是否足够支持该答案」。简单来说:如果上下文包含所有必要信息,能够让大模型生成正确答案,则将其定义为“充分”;如果上下文缺乏必要信息、不完整、不确定或包含相互矛盾的信息,则定义为“不充分”。图片基于以上定义,作者首先开发了一个基于大模型的 上下文充足评估器(这里大模型主要采用Gemini 1.5 Pro,通过构建提示词来实现),用于自动判断上下文是否充分。如果上下文充足,它会输出“真”,如果上下文不足,它会输出“假”。实验结果表明上下文充足评估器,1-shot 在评估上下文充分性方面达到高达 93% 的准确率。

RAG错误溯源分析

本文作者利用上下文充分性评估工具,分析了各种大型语言模型(LLMs)和数据集的性能,得出了以下几项关键发现:

  • 最先进的大型模型(如Gemini、GPT和Claude)在提供足够上下文时通常能够出色地回答问题,但在上下文不足时无法识别并避免生成错误答案
  • 小型开源模型存在特定问题,即使在上下文足以正确回答问题的情况下,它们也容易出现幻觉。
  • 有时即使上下文被评定为不足,模型仍能生成正确答案,这表明不足的上下文仍可能有用,例如它可以填补模型知识的空白或澄清查询中的歧义。

基于以上发现本文作者提出了改善RAG系统的建议,即 「1)在生成之前增加一个充分性检查;2)检索更多上下文或重新排序检索到的上下文;3)根据置信度和上下文信号调整弃权阈值」

评测基准的上下文充分性

本文作者深入研究了充分上下文背后的相关情况。分析发现,多个标准基准数据集中存在大量上下文不足的案例。本文作者考虑了三个数据集:FreshQA、HotPotQA和MuSiQue。「那些上下文充足实例占比更高的数据集」,如FreshQA,往往是上下文来源于人工整理的支持性文档

在这里插入图片描述

上下文导致幻觉

令人惊讶的是,尽管检索增强生成(RAG)通常能够提升整体性能,但它却降低了模型在合适时机选择不回答问题的能力。「引入额外上下文似乎会增加模型的自信,从而导致其更倾向于产生幻觉」

在这里插入图片描述

为了理解这一点,本文作者利用Gemini来对每个模型的回答进行评级,将其与可能的真实答案进行比较。本文作者将每个回答分类为“正确”“幻觉”(即错误答案)或“弃权”(例如说“我不知道”)。通过这种方法,本文作者发现,例如,Gemma在没有上下文的情况下对10.2%的问题给出错误答案,而在使用不足上下文时,这一比例上升到了66.1%。

选择性生成框架

基于以上分析,本文作者提出了一种“选择性生成”框架,即利用充分上下文信息来指导弃权。作者考虑了以下指标:1) 「选择性准确率」 衡量模型在其回答的问题中正确答案的比例;2) 「覆盖率」 为回答问题的比例。

本文作者的选择性生成方法 「将充分上下文信号与模型的自评置信度分数结合起来,以便就何时弃权做出明智的决策」。这比单纯在上下文不足时就弃权要更加精细,因为即使上下文有限,模型有时也能给出正确答案。本文作者利用这些信号来训练一个逻辑回归模型以预测幻觉。然后,本文作者设定一个覆盖率 - 准确率权衡阈值,确定模型何时应该放弃回答。

在这里插入图片描述

本文作者使用两种主要信号来决定是否弃权:

「自评置信度」 采用了两种策略:P(True)和P(Correct)。P(True)涉及多次采样答案,并提示模型将每个样本标记为正确或错误。P(Correct)用于那些大量查询成本高昂的模型,它涉及获取模型的回答及其对正确性的估计概率。

「充分上下文信号」 使用自评工具模型(FLAMe)的二元标签来指示上下文是否充分。至关重要的是,本文作者无需真实答案就能确定充分上下文标签,因此可以在回答问题时使用这一信号。

在这里插入图片描述

本文作者的研究结果表明,与仅使用模型置信度相比,这种方法能够实现更好的选择性准确率 - 覆盖率权衡。通过使用充分上下文标签,本文作者可以在模型回答的问题上提高准确率,有时甚至可以提高多达10%


如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

5. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

<think>好的,用户想了解LlamaIndex在RAG中的应用和实现方法。首先,我需要回忆一下LlamaIndex的基本功能和它在RAG流程中的作用。LlamaIndex主要是用来连接外部数据和大型语言模型(LLM),帮助构建高效的检索和生成流程。 根据用户提供的引用内容,特别是引用[2]提到的查询分析是检索的前提,这点很重要。LlamaIndex应该会在数据索引、检索优化以及生成整合这几个方面发挥作用。比如,数据索引部分可能涉及文档加载和向量化存储,检索阶段可能使用高级的查询引擎,而生成阶段则结合检索结果和LLM生成回答。 接下来需要详细说明每个步骤的具体实现方法。比如,在数据准备阶段,LlamaIndex可能支持多种文档格式,并提供分块处理。在检索方面,可能使用向量索引和关键词索引的结合,或者支持重排序器来提高准确性。生成阶段可能通过自定义提示模板来优化输出。 另外,用户提供的引用[1]提到FlashRAG的组件,比如检索器、重新排序器、生成器等,LlamaIndex可能也有类似模块。需要将这些组件与LlamaIndex的功能对应起来,比如它的查询引擎、节点管理、以及如何与LLM集成。 还需要考虑性能优化,比如引用[1]中的vLLM和Faiss,LlamaIndex是否整合了这些工具来加速推理和索引管理。可能提到LlamaIndex如何利用这些技术提升效率。 最后,生成相关问题时要覆盖实现步骤、优化方法、性能评估和实际应用场景,确保问题能引导用户进一步探索。需要确认问题是否全面,是否覆盖用户可能关心的其他方面,比如与其他框架的对比或者处理复杂查询的能力。</think>以下是关于LlamaIndex在检索增强生成RAG)中实现方法的详细说明: ### 一、LlamaIndex的核心功能 LlamaIndex是专为RAG系统设计的工具库,提供以下核心能力: 1. **数据连接与索引** - 支持PDF、Markdown等格式文档加载 - 自动执行文本分块与向量化存储 - 提供混合索引(向量+关键词)管理[^2] 2. **检索优化** - 内置查询重写引擎 - 支持多跳查询(multi-hop query) - 实现基于语义的上下文扩展 3. **生成整合** - 提供LLM响应模板定制 - 支持结果后处理(去重/压缩) - 内置多模型切换接口 ### 二、典型实现流程 ```python from llama_index import VectorStoreIndex, SimpleDirectoryReader # 1. 数据加载 documents = SimpleDirectoryReader("data").load_data() # 2. 索引构建 index = VectorStoreIndex.from_documents(documents) # 自动分块+向量化 # 3. 查询引擎配置 query_engine = index.as_query_engine( similarity_top_k=5, # 返回Top5相关段落 response_mode="tree_summarize" # 树状摘要生成模式 ) # 4. 执行RAG流程 response = query_engine.query("解释量子计算原理") print(response) ``` ### 三、关键技术特性 1. **分层索引结构** - 文档级 → 段落级 → 句子级粒度控制 - 支持动态更新索引 2. **检索增强策略** ```text 查询 → 重写 → 检索 → 重排序 → 生成 ``` 通过查询扩展技术提升召回率(如HyDE) 3. **性能优化** - 集成Faiss实现高效向量检索 - 使用vLLM加速LLM推理[^1] - 支持异步批量处理 ### 四、实际应用建议 1. **数据预处理** - 使用`SentenceSplitter`控制块大小(推荐512-1024 tokens) - 添加元数据标注增强检索准确性 2. **检索策略选择** - 简单查询:纯向量检索 - 复杂问题:混合检索(向量+BM25) - 多步推理:子查询分解 3. **生成控制** - 设置温度参数抑制幻觉 - 使用`Refine`模式逐步完善回答 - 添加引用溯源标记
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值