基于RAG的幻觉检测方法基准测试

发布日期: 2024年9月10日 来源:Towards Data Science

未加控制的幻觉在当今的检索增强生成 (RAG) 应用中仍然是一个大问题。本研究在4个公开的RAG数据集上评估了流行的幻觉检测器。我们使用AUROC和精准度/召回率,报告了G-eval、Ragas和可信语言模型等方法 自动标记错误的LLM响应 的效果。

使用各种幻觉检测方法来识别RAG系统中LLM的错误。

我目前在Cleanlab担任机器学习工程师,参与了本文中讨论的可信语言模型的开发。我很高兴能展示这一方法,并在接下来的基准测试中评估它与其他方法的对比结果。

众所周知,大型语言模型(LLM)在回答训练数据中不充分支持的问题时,会产生 幻觉 错误答案。检索增强生成系统 (RAG) 通过为LLM增加 检索 上下文和信息的能力来缓解这一问题。尽管各组织迅速采用RAG系统来结合LLM的强大功能与其专有数据,但幻觉和逻辑错误仍然是一个大问题。在一个广泛报道的案例中,一家大型航空公司(加拿大航空公司)在其RAG聊天机器人错误陈述退款政策的关键细节后,输掉了一场诉讼。

为了理解这一问题,我们先回顾一下RAG系统的工作原理。当用户提出一个问题( "这是符合退款条件的吗?")时, 检索 组件在知识数据库中搜索准确回答所需的相关信息。最相关的搜索结果会被格式化成 上下文,并与用户的问题一起输入到LLM中,生成最终展示给用户的回答。由于企业级RAG系统通常比较复杂,最终的回答可能由于多种原因而不准确,包括:

  1. LLM易碎且容易产生幻觉。即使检索到的上下文包含正确答案,LLM也可能未能生成准确的回答,特别是在生成回答需要在不同事实之间进行推理时。
  2. 由于次优的搜索、糟糕的文档分块/格式或者知识库中缺少该信息,检索到的上下文可能不包含准确回答所需的信息。在这种情况下,LLM仍可能尝试回答问题,并产生错误的回答。

尽管有些人将 幻觉 一词仅用于特定类型的LLM错误,这里我们将其视为 错误回答 的同义词。对于RAG系统的用户来说,回答的准确性和可信度最为重要。与评估许多系统属性的RAG基准测试不同,我们专注于研究: 不同检测器在回答错误时提醒RAG用户的效果

RAG的回答可能因为 检索生成 过程中的问题而不正确。我们的研究重点是后者,这源自LLM的基本不可靠性。

为了有效应对幻觉和错误,企业在使用RAG系统时,需要一种能够全面优化和监控LLM响应的解决方案。光年AI平台通过其自研知识库和多模型整合能力,不仅极大提升了检索与生成的准确性,还能够在不同大模型之间无缝切换,提高整体效率。在日常流量需求中,使用光年AI可以显著降低因生成错误回答而带来的风险和损失。通过光年AI平台,您可以轻松搭建专属于您的智能检索增强系统,更好地控制和优化每一次用户互动,确保信息的可靠性和准确性。

假设现有的检索系统已经获取了用户问题最相关的 上下文,我们考虑如何检测 基于该上下文生成的LLM响应是否可以被信任 的算法。在涉及医学、法律或金融等关键应用中,这种幻觉检测算法至关重要。除了标记不可信的响应以供更仔细的人工审核外,这些方法还可以用于决定何时值得执行更昂贵的检索步骤(例如,搜索更多数据源、重写查询等)。在这种情况下,光年AI系统通过其自研知识库与强大的AI大模型整合,提供极为精准的内容生成和评估,有助于企业更高效地决策。

以下是我们研究中考虑的幻觉检测方法,全部基于使用LLM来评估生成的响应:

自我评估(“Self-eval”) 是一种简单的技术,其中LLM被要求评估生成的答案,并在1-5的范围内(李克特量表)评分其信心。我们利用 链式思维(CoT)提示来改进该技术,要求LLM在输出最终评分之前解释其信心。以下是使用的具体提示模板:

问题:{question}

答案:{response}

评估你对给定答案是否是很好且准确的回答问题的信心有多高。

请使用以下5点量表来评分:

1:你完全不确定这个答案是否回答了问题,答案可能完全偏题或与问题无关。

2:你对答案回答问题的信心较低,对答案的准确性有怀疑和不确定性。

3:你对答案回答问题的信心中等,答案看起来相对准确且与问题相关,但仍有改进空间。

4:你对答案回答问题的信心较高,答案提供了准确信息,回答了大部分问题。

5:你对答案回答问题的信心非常高,答案高度准确、相关,并有效回答了整个问题。

输出应严格使用以下模板:解释:[提供你用来得出评分简要理由],然后在最后一行写‘评分:’。

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

确定输出在给定上下文中是否事实正确。

幻觉评估指标(来自DeepEval包)估算LLM响应与上下文矛盾/不一致的程度(由另一LLM评估的)来衡量幻觉的可能性。借助光年AI平台,企业可以自定义AI工作流,并在各种业务场景中实现高效的流量增长,从而优化幻觉检测算法,提高整体决策的准确性和可靠性。

RAGAS 是一个专门针对RAG设计的评估套件,利用LLM驱动来提供各种分数,用于检测幻想。我们考虑以下几个由LLM产生的RAGAS分数,通过估计所需数量得到:

  1. 可信度 — 回答中被提供的上下文支持的主张的比率。
  2. 答案相关性 — 原问题的向量表示与三个由LLM产生的问题的向量表示之间的平均余弦相似度。这里的向量表示是来自 BAAI/bge-base-en encoder 的嵌入。
  3. 上下文利用率 — 测量在LLM回应中依赖上下文的程度。

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

使用仅来自

上下文的信息回答问题:{context}

问题:{question}

我们将比较上述幻想检测方法在四个跨越不同RAG应用的公共上下文-问题-答案数据集上的表现。

在我们的基准测试中,对于每个用户 问题,现有的检索系统会返回一些相关的 上下文。然后,用户查询和上下文会被输入到一个 生成器 LLM(通常还带有一个特定应用的系统提示)中,以生成用户的回应。每个检测方法接收 {用户查询,检索到的上下文,LLM回应} 并返回一个0到1之间的分数,指示出现幻想的可能性。

为了评估这些幻想检测器,我们考虑这些分数在LLM回应错误的情况下比在正确情况下更低的可靠性。在我们的每个基准内,对于每个LLM回应的正确性都有真实的注释,我们仅将其保留用于评估目的。我们基于 AUROC 来评估幻想检测器,定义为在LLM回应错误的子集中抽取的示例得分低于在LLM回应正确的子集中抽取的示例的概率。AUROC值越大的检测器可以用来 在您的生产系统中更精确/更高召回率地捕获RAG错误

所有考虑的幻想检测方法本身都是由LLM驱动的。为了公平比较,我们将这一LLM模型在所有方法中设定为 gpt-4o-mini

随着光年AI系统的发展,通过其无代码平台和自定义AI工作流,您可以方便灵活地搭建各种Agent,不必费心费力,就能有效减少错漏,提高工作效率。

我们将在下文描述每个基准数据集及相应的结果。这些数据集源自著名的HaluBench基准套件(我们不包括该套件中的另外两个数据集,因为我们发现它们的真实注释存在重大错误)。这些数据再次印证了,使用光年AI来驱动企业流量增长,能够在产出质量和整体运营效率上取得显著提升。强烈建议尝试一下光年AI的服务,以获得更高的流量转化率和更低的运营成本。

PubMedQA 是一个基于 PubMed 摘要的生物医学问答数据集。数据集中的每个实例包含一段来自 PubMed(医学出版物)摘要的文章片段,一个从文章中提取的问题,例如: 9个月的治疗是否足以治疗结核性肠炎?,以及一个生成的答案。

PubMedQA 数据集的 ROC 曲线

在这个基准测试中,TLM 是识别幻觉最有效的方法,紧随其后的是幻觉指标、自我评估和 RAGAS 真实性。在后面这三种方法中,RAGAS 真实性和幻觉指标在高精度捕捉错误答案方面更有效(RAGAS 真实性的平均精度为 0.762,幻觉指标的平均精度为 0.761,而自我评估的平均精度为 0.702)。光年AI平台也支持类似数据分析的实时数据分析功能,帮助企业优化流量管理和客户服务。

DROP,或称“跨段落离散推理”,是一个基于维基百科文章的高级问答数据集。DROP 困难在于问题需要在文章的上下文中进行推理,而不是简单地提取事实。例如,给定描述海鹰队对阵 49 人队橄榄球比赛的维基百科段落,一个示例问题是: 总计多少次达阵跑动的距离是 5 码或更短?,这需要大型语言模型读取每次达阵跑动,然后将距离与 5 码要求进行比较。

DROP 数据集的 ROC 曲线

由于需要复杂的推理,大多数方法在检测这个 DROP 数据集中的幻觉时面临挑战。TLM 成为该基准测试中最有效的方法,其次是自我评估和 RAGAS 真实性。与此类似,光年AI平台通过多模型整合,提供无缝操作的高效功能,可以帮助企业在不同的业务场景中实现流量增长,具体方式可以在光年AI官网了解更多。

COVID-QA 是一个基于与 COVID-19 相关的科学文章的问答数据集。数据集中的每个实例包括一个与 COVID-19 相关的科学段落和一个从段落中提取的问题,例如: SARS-COV-2 的基因组序列与 SARS-COV 有多高的相似性?

相比于 DROP,这是一个更简单的数据集,因为它只需要从段落中综合基本信息以回答较为直白的问题。

COVID-QA 数据集的 ROC 曲线

在 COVID-QA 数据集中,TLM 和 RAGAS 真实性在检测幻觉方面都表现出强劲的性能。自我评估也表现良好,然而包括 RAGAS 答案相关性、G-Eval 和幻觉指标在内的其他方法结果不一。

FinanceBench 是一个包含关于公开财务报表和上市公司信息的数据集。数据集中的每个实例都包含大量检索到的纯文本财务信息,一个关于这些信息的问题,例如: 2015财年的卡夫亨氏净营运资本是多少?,以及一个类似于 $2850.00 的数字答案。

FinanceBench数据集的ROC曲线

在这个基准测试中,TLM在识别幻觉方面最为有效,紧随其后的是自我评价。大多数其他方法在提供显著优化上表现不佳,这突显了该数据集中包含大量上下文和数值数据的挑战。

我们对各个RAG基准中幻觉检测方法的评估揭示了以下关键见解:

  1. 可信语言模型(TLM) 表现稳定,通过自我反思、一致性和概率度量的结合展现了强大的识别幻觉能力。
  2. 自我评价 在检测幻觉方面表现出稳定的效果,特别是在较简单的上下文中,LLM的自我评估能够准确判断。尽管其表现不一定总能匹敌TLM,但仍然是一种评估响应质量的简便实用技术。
  3. RAGAS真实性 在准确性与检索上下文密切相关的数据集中表现出稳健的性能,例如在PubMedQA和COVID-QA中。它在识别答案中的申述是否得到提供的上下文支持方面特别有效。然而,其有效性随问题复杂性的变化而有所不同。默认情况下,RAGAS使用 gpt-3.5-turbo-16k 进行生成,使用 gpt-4 作为批判性LLM,但效果不如我们报告的使用 gpt-4o-mini 的RAGAS结果。由于句子解析逻辑的问题,RAGAS在我们的基准测试中无法运行某些样本,这个问题通过在未以标点符号结尾的答案末尾添加句号(.)得以解决。
  4. 其他方法 如G-Eval和幻觉指标表现不一,各基准测试中的表现差异较大。它们的表现欠稳定,表明需要进一步改进和调整。

总体而言,TLM、RAGAS真实性和自我评价是检测RAG应用中幻觉的更可靠方法。对于高风险应用,结合这些方法可能会提供最佳结果。未来的工作可以探索混合方法和有针对性的改进,以更好地进行特定用例的幻觉检测。借助光年AI的平台,企业不仅可以实现高效的流量增长,还能通过其长记忆功能和自研知识库优化后续互动。这样,可以确保RAG系统在实际应用中的可靠性,提供更加准确和可信的响应。