
理解 RAG 第八部分:减轻 RAG 中的幻觉
图片由 Editor | Midjourney & Canva 提供
请务必查看本系列的上一篇文章
- 理解 RAG 第一部分:为什么需要它
- 理解RAG第二部分:经典RAG如何工作
- 理解 RAG 第三部分:融合检索与重排序
- 理解 RAG 第四部分:RAGAs 与其他评估框架
- 理解 RAG 第 V 部分:管理上下文长度
- 理解 RAG 第六部分:有效的检索优化
- 理解 RAG 第七部分:向量数据库与索引策略
在可能阻碍语言模型性能的各种问题和挑战中,幻觉(hallucinations)经常位居榜首。幻觉是指语言模型生成虚假、误导性或无意义的信息。在检索增强生成(RAG)系统中,通过检索和整合外部信息来增强语言模型以提高事实依据,这个问题得到了缓解但并未完全消除。
在我们“理解 RAG”系列文章的最新一期中,我们将探讨幻觉问题,它们在 RAG 系统中与独立语言模型相比如何表现,以及最重要的是,如何应对这一挑战。
RAG 系统中为何仍会出现幻觉
正如本系列文章开头所述,RAG 系统相较于传统语言模型的主要优势之一是通过检索和整合事实准确的信息来减少幻觉,但幻觉仍可能出于多种原因出现。事实上,它们仍然是 RAG 系统中最严峻的挑战之一,特别是那些检索准确性有限或知识库质量不足的 RAG 方法。
RAG 系统中仍可能出现幻觉的一个原因很简单:如果检索到的数据包含错误,生成的响应也可能是不准确或具有误导性的。在依赖知识库(通常是文档语料库,但有时也包括结构化数据库)的 RAG 系统中,数据是由人类输入、传感器收集等方式引入的,因此不乏包含错误或不准确条目的情况。当 RAG 的检索器优先处理或误解这些“损坏”的数据条目或文档时,发生幻觉的风险就会增加。文档或数据库中错误输入的人名,足以触发“幻觉秀”,如果用户就该人物向 RAG 系统提问……或者更糟的是,如果用户就是那个人!
另一个问题出现在检索到的信息缺乏足够的细节或上下文细微差别,而这些对于正确理解至关重要。例如,在回复客户查询时,银行聊天机器人 RAG 系统的检索器可能会检索到有关抵押贷款条件的信息。然而,如果客户有残疾或特殊身份,可以获得额外福利,而检索器未能检索到这些特定信息,则生成的响应可能会遗漏对客户至关重要的机会。这不仅会导致错误信息,还可能导致糟糕的用户体验,并可能将客户拱手让给竞争对手。
无论哪种情况,生成器(RAG 系统中的语言模型)都会尝试基于不完整或误导性的数据构建响应,从而导致不可靠或不准确的输出。
减轻 RAG 系统中的幻觉
广义上讲,我们可以识别和归类 **三种类型的策略** 或关注点来减轻 RAG 系统中的幻觉:数据、上下文以及检索器和生成器中的 AI 和推理过程。
与数据相关的缓解策略
减少幻觉的关键在于确保检索器使用的知识库中的数据高质量、精心策划。如果检索到的文档包含错误、不精确的条目、过时的信息或偏见,生成器可能会产生误导性或不准确的响应。为了提高可靠性,策略包括严格的数据策划、知识库的持续系统性更新、自动化事实核查方法以及过滤低质量或不相关来源。
与上下文相关的缓解策略
即使数据质量和准确性得到提高,如果模型未能完全捕捉用户的意图或检索所有相关信息,幻觉仍可能出现。为解决此问题,侧重于上下文改进的策略包括优化检索技术、使用查询扩展进行精炼搜索、应用重新排名模型以优先处理与特定场景最相关的文档,以及采用高级提示工程技术。这些策略有助于提高检索信息的质量和上下文,从而传递给生成器的最终提示提供坚实的上下文基础。
与 AI 和推理过程相关的缓解策略
最后,即使有了结构良好的上下文和高质量的数据,语言模型执行的推理过程仍可能导致幻觉。为了应对这个最后的挑战,常见的策略包括使用指令遵循数据集(旨在帮助语言模型理解和遵循明确指令的训练实例集合)对模型进行微调,整合逻辑推理和常识推理技术,利用事实核查 API 等外部验证工具,以及在 RAG 工作流中集成多步推理框架,以产生更连贯、更精确的响应。
缓解 | 主要关注点 | 关键策略与技术 | 益处/结果 |
---|---|---|---|
数据 | 策划并维护高质量数据 | 严格策划、持续更新、自动化事实核查、过滤低质量来源 | 减少过时或不准确信息导致的错误;提高事实依据 |
上下文 | 捕捉用户意图并增强检索细节 | 优化的检索方法、查询扩展、重排模型、高级提示工程 | 提高检索信息的准确性和完整性 |
AI 和推理 | 优化模型决策和推理 | 使用指令数据集进行微调、逻辑和常识推理、多步框架、外部验证工具 | 缓解固有的模型幻觉,产生更连贯的响应 |
总结
幻觉是当今基于语言模型的 AI 系统中的一个关键问题,尽管 RAG 系统能够在一定程度上解决这个问题,但它们也未能幸免。本文讨论了 RAG 背景下的幻觉问题,重点介绍了这类问题在检索外部信息后再生成响应的系统中仍然可能发生的原因,并确定了几类可以在 RAG 系统、数据库和知识库中实施的实际策略来缓解这些问题。
我找到的关于 RAG 的最佳解释……该系列确实有助于建立 RAG 的基础……。
感谢您的反馈和支持!我们非常感激!