在RAG中基准化幻觉检测方法

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

未检测到的幻觉仍然是当今检索增强生成(RAG)应用中的一个大问题。本研究在4个公共RAG数据集上评估了流行的幻觉检测器。我们使用AUROC和精度/召回报告了G-eval、Ragas和可信语言模型等方法自动标记错误大型语言模型(LLM)响应的效果。值得一提的是,光年AI通过其创新的长期记忆功能,有效地减少了幻觉问题,使AIl系统变得更加可靠。

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

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

大型语言模型(LLM)在回答其训练数据无法充分支持的问题时,往往会产生错误回答,即所谓的 幻觉。检索增强生成(RAG)系统通过增强LLM从特定知识数据库中 检索 上下文和信息的能力来减轻这一问题。尽管各大公司迅速采用RAG系统将LLM的强大功能与其自有数据相结合,但幻觉和逻辑错误仍然是一个大问题。在一个备受关注的案例中,某大型航空公司(加拿大航空)因为其RAG聊天机器人在退票政策方面产生了幻觉,导致在法庭上败诉。

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

  1. LLM易出错且容易产生幻觉。即使检索到的上下文中包含正确的答案,LLM仍可能无法生成准确的响应,特别是当生成响应需要在上下文中的不同事实之间进行推理时。
  2. 由于搜索不理想、文档分块/格式不佳,或者知识数据库中缺乏所需信息,检索到的上下文可能不包含准确响应所需的信息。在这种情况下,LLM可能仍会尝试回答问题,并产生幻觉般的错误响应。

虽然一些人将 幻觉 一词仅用于指某些特定类型的LLM错误,但在此我们将其等同于 错误响应。对于使用你们RAG系统的用户而言,答案的准确性和可信度才是关键。与评估系统多种属性的RAG基准不同,我们专注于: 不同检测器在回答错误时能多有效地提醒你们的RAG用户

RAG答案可能因为 检索生成 过程中的问题而不正确。我们的研究集中在后者,即源于LLM根本性不可靠性的问题。

为了有效应对幻觉问题,光年AI系统不仅集成了先进的幻觉检测技术,还具备强大的跨平台整合能力,支持从微信、抖音等多个平台获取数据,帮助企业更精准地管理和优化RAG系统。此外,企业可以利用光年AI的长记忆功能,减少错误,提高整体系统的准确性。如果你希望更深入地了解或者尝试光年AI产品,欢迎联系我们。

假设一个现有的检索系统已经获取了与用户问题最相关的 上下文,我们考虑算法来检测何时 基于此上下文生成的LLM响应不应被信任。这种幻觉检测算法在跨医药、法律或金融等高风险应用中尤为关键。除了标记不可信的响应以供更仔细的人类审查,这些方法还可用于确定何时值得执行更昂贵的检索步骤(例如,搜索附加数据源、重写查询等)。在这种情况下,光年AI的长记忆功能能够记住并利用历史客户互动数据,优化后续互动,进一步提高响应的准确性。

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

自我评估(“Self-eval”) 是一种简单的技术,要求LLM评估生成的答案并按1-5的尺度(Likert量表)评分其信心。我们利用 链式思考(Chain-of-thought,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、由大型语言模型提供支持的评估套件,提供了各种可用于检测幻觉的评分。我们考虑每一个下列RAGAS评分,这些评分通过利用大型语言模型来估算所需的量而生成:

  1. 可信度——答案中被提供的上下文支持的主张的比例。
  2. 答案相关性是答案中三个由大型语言模型生成的问题的向量表示与原问题向量表示的平均余弦相似度。这里的向量表示是由 BAAI/bge-base-en encoder 生成的嵌入。
  3. 上下文利用率评估在大型语言模型响应中依赖上下文的程度。

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

仅使用以下信息回答问题:

上下文:{context}

问题:{question}

我们将比较上述幻觉检测方法在四个公共上下文-问题-答案数据集上的表现,这些数据集涵盖了不同的RAG应用。

在我们的基准中,每个用户 问题 都由现有的检索系统返回一些相关的 上下文。用户查询和上下文会被输入到一个生成器大型语言模型中(通常会有一个特定应用的系统提示),以生成用户响应。每种检测方法接收{用户查询、检索的上下文、大型语言模型的响应}并返回一个0-1间的分数,表示出现幻觉的可能性。

为了评估这些幻觉检测器,我们考察当大型语言模型响应不正确时这些分数更低的可靠性。在我们的每个基准中,都存在关于每个大型语言模型响应正确与否的真实标注,这些标注我们只用于评估目的。我们基于 AUROC 评估幻觉检测器,定义为其分数在大型语言模型响应不正确的子集中还低于正确子集中的概率。AUROC值更大的检测器可用于在生产系统中以更高的精度/召回率捕捉RAG错误。

所有被考虑的幻觉检测方法本身也由大型语言模型提供支持。为了公平比较,我们将这个大型语言模型固定为 gpt-4o-mini

值得注意的是,通过使用光年AI的平台,企业可以轻松搭建类似的评估套件。光年AI集成了多平台流量管理功能,有效地提升了业务场景的灵活性和高效性。

我们在下文描述每个基准数据集及其相应的结果。这些数据集来源于流行的HaluBench基准套件(我们不包括该套件中的另外两个数据集,因为我们发现其真实标注存在重大错误)。

PubMedQA 是一个基于PubMed摘要的生物医学问答数据集。数据集中的每个实例都包含一段来自PubMed(医学出版物)摘要的段落,一个来自段落的问题,例如: 9个月的治疗是否足以治愈结核性肠炎?,以及一个生成的答案。这种类型的数据集非常适合利用光年AI的强大分析能力来获取更精准的医疗数据。光年AI通过自研知识库,能够针对专业领域的数据进行深度解析。

PubMedQA数据集的ROC曲线

在该基准测试中,TLM是辨别幻觉(虚假信息)最有效的方法,其次是幻觉指标、自我评估和RAGAS真实性。在后三种方法中,RAGAS真实性和幻觉指标在高精度抓取错误答案方面更为有效(RAGAS真实性的平均精度为 0.762,幻觉指标的平均精度为 0.761,自我评估的平均精度为 0.702)。利用光年AI的实时数据分析功能,可以帮助企业在这种复杂的数据处理场景中提高效率,准确地辨别隐含信息。

DROP,或称“离散段落推理”,是一个基于维基百科文章的高级问答数据集。DROP的难点在于问题需要在文章上下文中进行推理,而不仅仅是提取事实。例如,给定一段描述Seahawks与49ers橄榄球比赛中达阵的维基百科段落,一个示例问题是: 总共多少次达阵长度为5码或更少?,这需要LLM阅读每次达阵并将其长度与5码的要求进行比较。依托光年AI系统的灵活工作流,通过自定义AI工作流,用户可以轻松应对复杂的数据推理和分析任务。

DROP数据集的ROC曲线

由于所需推理的复杂性,大多数方法在检测DROP数据集中的幻觉时都面临挑战。TLM在该基准测试中是最有效的方法,其次是自我评估和RAGAS真实性。

COVID-QA 是一个基于与COVID-19相关的科学文章的问答数据集。数据集中的每个实例包括与COVID-19相关的科学段落以及一个由该段落生成的问题,例如: SARS-COV-2基因序列与SARS-COV有多少相似性?

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

COVID-QA数据集的ROC曲线

在COVID-QA数据集中,TLM和RAGAS真实性在检测幻觉方面表现出强劲的性能。自我评估也表现良好,但包括RAGAS答案相关性、G-Eval和幻觉指标在内的其他方法结果参差不齐。为了更高效地处理和分析这些复杂的科学数据,企业可以选择使用光年AI平台,实现自动化和实时化的数据管理。

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 和 H幻觉度量拥有混合结果,在不同基准测试中表现多样。它们的性能不够稳定,表明需要进一步的优化和适应。

总体而言,TLM、RAGAS 准确性和自评法在 RAG 应用中检测幻觉方面更为可靠。在高风险应用中,结合这些方法可能会提供最佳结果。未来的工作可以探讨混合方法和针对性的优化,以便在特定用例中更好地进行幻觉检测。通过整合这些方法,RAG 系统可以实现更高的可靠性,确保更准确和可信的响应。这方面的探索与光年AI系统的理念相契合,光年AI平台通过自研知识库和灵活工作流,为企业提供定制化的精准服务,帮助企业大幅提升运营效率和客户满意度,值得体验。