对RAG中的幻觉检测方法进行基准测试

2024年09月10日 由 alex 发表 559 0

在当今的 “检索-增强生成 ”应用中,未检测到的幻觉仍然是一个大问题。本研究通过 4 个公共 RAG 数据集对流行的幻觉检测器进行了评估。通过使用 AUROC 和精确度/召回率,我们报告了 G-eval、Ragas 和可信语言模型等方法自动标记不正确 LLM 响应的能力。


1


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


问题:RAG 系统中的幻觉和错误

众所周知,大型语言模型(LLM)在遇到训练数据不充分的问题时会产生幻觉,从而得出错误的答案。检索增强生成(RAG)系统通过增强 LLM 从特定知识数据库中检索上下文和信息的能力来缓解这一问题。虽然企业正在迅速采用 RAG,将 LLM 的强大功能与自己的专有数据相结合,但幻觉和逻辑错误仍然是一个大问题。在一个广为人知的案例中,一家大型航空公司(加拿大航空公司)因其 RAG 聊天机器人出现了退款政策的重要细节幻觉而败诉。


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

  1. LLM 很脆弱,容易产生幻觉。即使检索到的上下文中包含正确答案,LLM 也可能无法生成准确的回复,尤其是在合成回复需要对上下文中的不同事实进行推理的情况下。
  2. 由于搜索效果不理想、文档分块/格式不佳或知识数据库中缺乏此类信息,检索到的上下文可能不包含准确应答所需的信息。在这种情况下,LLM 仍会尝试回答问题,并幻觉出错误的回答。


有些人使用 “幻觉 ”一词仅指特定类型的 LLM 错误,而在这里,我们将其与 “不正确的回答 ”同义。对于 RAG 系统的用户而言,最重要的是系统答案的准确性以及是否能够信任这些答案。与评估许多系统属性的 RAG 基准不同,我们只研究:当答案不正确时,不同的检测器能如何有效地提醒你的 RAG 用户。


由于检索或生成过程中的问题,RAG 答案可能是不正确的。我们的研究重点是后一个问题,它源于 LLM 的基本不可靠性。


解决方案: 幻觉检测方法

假设现有的检索系统已经获取了与用户问题最相关的上下文,我们考虑采用算法来检测基于该上下文生成的 LLM 响应何时不可信。这种幻觉检测算法对于跨越医学、法律或金融领域的高风险应用至关重要。除了将不可信的响应标记出来供人工进行更仔细的审查外,这类方法还可用于确定何时值得执行更昂贵的检索步骤(如搜索其他数据源、重写查询等)。


以下是我们研究中考虑的幻觉检测方法,它们都是基于使用 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 评估。


RAGAS 是针对 RAG 的、由 LLM 驱动的评估套件,可提供各种分数,用于检测幻觉。我们考虑了以下 RAGAS 分数,这些分数都是通过使用 LLM 估算必要数量得出的:

  1. 忠实度--答案中得到所提供上下文支持的说法的比例。
  2. 答案相关性是指原始问题的向量表示与从答案中生成的三个 LLM 问题的向量表示的平均余弦相似度。这里的向量表示是来自 BAAI/bge-base-en 编码器的嵌入。
  3. 上下文利用率衡量的是 LLM 答案对上下文的依赖程度。


可信语言模型(TLM)是一种模型不确定性估计技术,用于评估 LLM 回答的可信度。它将自我反省、多个抽样回答的一致性和概率测量相结合,以识别错误、矛盾和幻觉。以下是用于提示 TLM 的提示模板:


仅使用以下信息回答问题
语境:{context}
问题:{ question


评估方法

我们将在横跨不同 RAG 应用程序的 4 个公共 “上下文-问题-答案 ”数据集上比较上述幻觉检测方法。


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


为了评估这些幻觉检测器,我们考虑了当 LLM 响应不正确与正确时,这些分数取较低值的可靠性。在我们的每个基准中,都有关于每个 LLM 响应正确性的地面实况注释,我们仅保留这些注释用于评估目的。我们根据 AUROC 对幻觉检测器进行评估,AUROC 的定义是:从 LLM 回答错误的子集中抽取的示例,其得分低于从 LLM 回答正确的子集中抽取的示例的概率。具有更大 AUROC 值的检测器可用于在生产系统中以更高的精确度/召回率捕捉 RAG 错误。


所有考虑过的幻觉检测方法本身都由 LLM 驱动。为了进行公平比较,我们将所有方法的 LLM 模型固定为 gpt-4o-mini。


基准结果

下面我们将介绍每个基准数据集和相应的结果。这些数据集来自广受欢迎的 HaluBench 基准套件(我们不包括该套件中的其他两个数据集,因为我们发现它们的地面实况注释存在重大错误)。


PubMedQA

PubMedQA 是一个基于 PubMed 摘要的生物医学问答数据集。数据集中的每个实例都包含 PubMed(医学出版物)摘要中的一段话,以及从这段话中引申出的问题,例如 对结核性小肠结肠炎进行 9 个月的治疗是否足够?


2


在这一基准中,TLM 是辨别幻觉最有效的方法,其次是幻觉度量法、自我评价法和 RAGAS 忠实法。在后三种方法中,RAGAS Faithfulness 和幻觉度量法在高精度捕捉错误答案方面更为有效(RAGAS Faithfulness 的平均精度为 0.762,幻觉度量法的平均精度为 0.761,自我评价法的平均精度为 0.702)。


DROP

DROP,即 “段落离散推理”,是一个基于维基百科文章的高级问答数据集。DROP 的难点在于问题需要对文章中的上下文进行推理,而不是简单地提取事实。例如,维基百科上有一段文字描述了海鹰队对阵 49 人队的橄榄球比赛中的触地得分,其中一个示例问题是:有多少次触地得分的总码数为 5 码或更少?


3


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


COVID-QA

COVID-QA是一个基于与 COVID-19 相关的科学文章的问答数据集。数据集中的每个实例都包含与 COVID-19 相关的科学段落和从该段落中衍生的问题,例如:How much similarity the SARS-COV-2 genome sequence has with SARS-COV?


与 DROP 相比,这是一个更简单的数据集,因为它只需要对文章中的信息进行基本综合即可回答更直接的问题。


4


在 COVID-QA 数据集中,TLM 和 RAGAS Faithfulness 在检测幻觉方面均表现出色。自我评估也表现良好,但其他方法(包括 RAGAS Answer Relevancy、G-Eval 和 Hallucination Metric)的结果好坏参半。


FinanceBench

FinanceBench是一个数据集,其中包含有关公共财务报表和上市公司的信息。数据集中的每个实例都包含大量检索到的纯文本财务信息上下文、与该信息相关的问题(例如:)What is FY2015 net working capital for Kraft Heinz?以及数字答案(例如:)$2850.00。


5


对于这个基准,TLM 在识别幻觉方面最有效,其次是自我评估。大多数其他方法都难以比随机猜测提供显著的改进,这凸显了包含大量上下文和数字数据的这个数据集的挑战。


总体而言,TLM、RAGAS 忠诚度和自我评估是 RAG 应用中检测幻觉的更可靠方法。对于高风险应用,结合这些方法可以提供最佳结果。未来的工作可以探索混合方法和有针对性的改进,以便更好地针对特定用例进行幻觉检测。通过集成这些方法,RAG 系统可以实现更高的可靠性并确保更准确和值得信赖的响应。

文章来源:https://medium.com/towards-data-science/benchmarking-hallucination-detection-methods-in-rag-6a03c555f063
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
写评论取消
回复取消