揭秘RAG中的幻觉检测:多种方法全面基准测试,找出最优解!

文摘   2024-09-20 07:40   新加坡  

在当前的 Retrieval-Augmented Generation (RAG) 应用中,幻觉问题依然是不可忽视的难题。模型生成的内容往往会出现与事实不符的情况,给用户带来困扰甚至误导。

因此,如何有效检测并避免这些幻觉,成了关键研究方向。今天我们将深入评估 4 个主流 RAG 数据集中的几种流行幻觉检测器。

通过 AUROC 和精度/召回率等指标,我们将分析 G-eval、Ragas 和 Trustworthy Language Model 等方法在自动标记 LLM 错误响应方面的表现,看看哪种方法更具优势,能够帮助我们更好地应对幻觉挑战。

众所周知,大型语言模型(LLM)在处理那些其训练数据中未得到充分支持的问题时,容易生成错误答案。检索增强生成(RAG)系统通过为LLM提供来自特定知识库的上下文和信息,来增强其回答的准确性。

尽管许多组织正在迅速采用RAG技术,将LLM与自身的专有数据结合使用,但幻觉和逻辑错误依然是重大挑战。

一个广为人知的案例是,加拿大航空公司因其RAG聊天机器人错误解读了退款政策的细节,而在一场法律纠纷中败诉。这一事件进一步凸显了幻觉问题的严重性。

要理解这一问题,我们首先需要回顾一下RAG系统的工作原理。当用户提出问题(如“这是否符合退款条件?”),检索组件会从知识数据库中搜索相关信息,以提供准确的响应。最相关的搜索结果将被格式化为上下文,并与用户的问题一起输入到LLM中,生成最终呈现给用户的答案。

然而,企业级RAG系统通常非常复杂,最终的回答可能因为多个原因而不准确,具体包括以下几点:

  • LLM脆弱且易产生幻觉:即便检索到的上下文中已经包含了正确的答案,LLM在生成响应时仍可能出错,尤其当需要对上下文中的不同事实进行综合推理时,容易导致不准确的输出。

  • 检索到的上下文可能不完整:由于搜索不够理想、文档分块或格式不佳,或知识数据库中缺少必要的信息,检索的内容可能无法提供准确答案。在这种情况下,LLM依然会尝试回答问题,导致幻觉般的错误响应。


尽管有些人将“幻觉”一词专门用于某些类型的LLM错误,但在本文中,我们将其与“错误响应”视为同义词。对于RAG系统的用户而言,最重要的是答案的准确性以及能否信任系统输出。与评估众多系统属性的RAG基准测试不同,我们专注于研究:当答案不正确时,不同的检测器能多有效地提醒用户。

RAG系统的答案可能因检索或生成过程中出现的问题而错误。我们的研究重点是生成过程中的问题,特别是源于LLM本身不可靠性的情况。

解决方案:幻觉检测方法

假设现有的检索系统已经获取了与用户问题最相关的上下文,我们会考虑使用算法来检测何时不应信任基于此上下文生成的 LLM 响应。这种幻觉检测算法在医学、法律或金融领域的高风险应用中至关重要。

除了标记不可信的响应以进行更仔细的人工审查之外,此类方法还可用于确定何时值得执行更昂贵的检索步骤(例如,搜索其他数据源、重写查询等)。

第一种:自我评估(“自我评估”)是一种简单的技术,要求 LLM 评估生成的答案,并以 1-5 的等级(李克特量表)对其置信度进行评分。我们利用思维链 (CoT) 提示来改进这项技术,要求 LLM 在输出最终分数之前解释其置信度。

以下是使用的特定提示模板:

Question: {question}  问题:{question}Answer: {response} 答案:{response}

评估给定答案对问题的回答是否良好且准确时,请根据以下 5 分制进行打分。

第二种:G-Eval(来自 DeepEval 包)是一种使用 CoT 自动开发多步骤标准以评估给定响应质量的方法。在 G-Eval 论文(Liu 等人)中,发现该技术与几个基准数据集上的人工判断相关。质量可以通过多种方式来衡量,指定为 LLM 提示,这里我们指定它应该根据响应的事实正确性进行评估。

Hallucination Metric 幻觉指标(来自 DeepEval 包)将幻觉的可能性估计为 LLM 反应与上下文相矛盾/不一致的程度,由另一个 LLM。

第三种:RAGAS 是一个特定于 RAG 的 LLM 驱动的评估套件,提供各种可用于检测幻觉的分数。我们考虑以下每个 RAGAS 分数,这些分数是使用 LLMs估计必要的数量得出的。

第四种:可信语言模型 (TLM) 是一种模型不确定性估计技术,用于评估 LLM。它结合使用自我反思、多个采样响应的一致性和概率测量来识别错误、矛盾和幻觉。以下是用于提示 TLM 的提示模板:

仅使用以下来源的信息回答 QUESTIONCONTEXT: {context}  上下文:{context}QUESTION: {question} 问题:{question}

对于我们基准测试中的每个用户问题,现有的检索系统会返回一些相关的上下文。然后将用户查询和上下文输入到生成器 LLM(通常与特定于应用程序的系统提示符一起输入)中,以便为用户生成响应。每种检测方法都采用 {user query, retrieved context, LLM response} 并返回一个介于 0-1 之间的分数,表示幻觉的可能性。

所有考虑的幻觉检测方法本身都由 LLM。为了公平比较,我们将这个 LLM为 gpt-4o-mini。

下面描述了每个基准测试数据集和相应的结果。这些数据集源于流行的 HaluBench 基准测试套件(我们不包括该套件中的其他两个数据集,因为我们发现它们的真值注释中存在重大错误)。

总体而言,TLM、RAGAS Faithfulness 和 Self-Evaluation 是检测 RAG 应用中幻觉的更可靠方法。对于高风险应用程序,组合这些方法可以提供最佳结果。

未来的工作可以探索混合方法和有针对性的改进,以更好地对特定用例进行幻觉检测。通过集成这些方法,RAG 系统可以实现更高的可靠性,并确保更准确和值得信赖的响应。

参考资料:

  1.  https://towardsdatascience.com/benchmarking-hallucination-detection-methods-in-rag-6a03c555f063


AI技术研习社
专注分享人工智能、大模型、算法、大数据开发、数据分析领域的技术干货和落地实践!
 最新文章