本文调查了用于自动检测检索增强生成(RAG)中幻觉的评估模型,并对这些模型在六个RAG应用中的表现进行了全面基准测试。我们研究中包含的方法有:LLM-as-a-Judge、Prometheus、Lynx、Hughes 幻觉评估模型(HHEM)和可信语言模型(TLM)。这些方法都不需要参考标准答案/标签即可捕捉到不正确的LLM响应。我们的研究表明,在各种RAG应用中,其中一些方法能够以高精度/召回率一致地检测到不正确的RAG响应。用于重现我们基准测试的代码可在此处获取:https://github.com/cleanlab/cleanlab-tools/tree/main/benchmarking_hallucination_model
检索增强生成使AI能够在回答用户请求时依赖特定公司的知识[1]。尽管RAG减少了LLM幻觉的发生,但它们仍然是一个关键问题,限制了对基于RAG的AI的信任。与传统的搜索系统不同,RAG系统偶尔会生成误导性/不正确的答案。这种不可靠性对外部部署RAG的组织构成风险,并限制了内部RAG应用的使用。
实时评估模型提供了一个解决方案,通过为每个RAG响应提供置信分数。回想一下,对于每个用户查询:RAG系统从其知识库中检索相关上下文,然后将此上下文与查询一起输入到LLM中,后者为用户生成响应。评估模型接收响应、查询和上下文(或等效地,实际用于生成响应的LLM提示),然后输出一个介于0到1之间的分数,表示我们对该响应正确性的信心程度。评估模型的挑战在于提供无参考评估(即没有真实答案/标签可用),并且可以在实时运行[2]。
请注意,虽然“幻觉”有时指的是某些类型的LLM错误,但在本文中,我们始终将其与不正确的响应同义使用(即最终对实际RAG系统的用户而言最重要的是什么)。
图1 评估模型如何集成到RAG系统中以自动检测不正确/幻觉的响应 # II. 流行的实时评估模型
- LLM作为评判者
LLM-as-a-judge(也称为自我评估)[3]是一种简单直接的方法,其中LLM被直接要求评估响应的正确性/置信度。通常,使用相同的LLM模型来生成响应并对其进行评估。可以使用Likert量表评分提示运行LLM-as-a-judge,如下所示:
上下文: {context}
问题: {question}
答案: {response}
评估你对给定答案是否是一个好且准确的回答的信心。
请使用以下5点量表分配一个分数:
1: 你完全不认为答案涉及问题,答案可能完全离题或与问题无关。
2: 你对答案涉及问题的信心较低,对答案的准确性存在疑问和不确定性。
3: 你对答案涉及问题的信心适中,答案看起来合理准确且切题,但仍需改进。
4: 你对答案涉及问题的信心较高,答案提供了准确的信息,解决了大部分问题。
5: 你对答案涉及问题的信心极高,答案高度准确、相关,并有效地完全解决了问题。
输出应严格遵循以下模板:解释:[简要说明你得出评分的理由],然后在最后一行写'Score: <rating>'。
LLM-as-a-judge的主要问题是,幻觉源于LLM的不可靠性,因此再次直接依赖LLM可能无法如我们所愿地弥补可靠性差距。话虽如此,简单的办法可能会出人意料地有效,而LLM的能力也在不断提高。 - Hughes 幻觉评估模型 (HHEM)
Vectara的Hughes 幻觉评估模型 [4]专注于AI响应与检索到的上下文之间的一致性。这里我们具体考虑HHEM版本2.1 [5]。该模型的得分具有概率解释,其中得分为0.8表示响应与上下文事实一致的概率为。例如:
上下文 = '我在美国'
响应 = '我在加利福尼亚'
hhem_score = 0.3 # 事实不一致
这些得分由Vectara训练的Transformer模型产生,该模型能够区分各种LLM在各种上下文/响应数据上的幻觉与正确响应。更具体地说,该模型处理(前提,假设)输入并输出一个分数。对于RAG,可以将这些输入格式化如下:
前提 = 上下文 + 问题
假设 = 响应
在我们的研究中,包括问题在内的前提比仅使用上下文提高了HHEM的结果。 - Prometheus
Prometheus(特别是最近的Prometheus 2)[6]是一个微调的LLM模型,它是在各种LLM在各种上下文/响应数据上的直接评估注释上训练的。该模型有各种大小,如7B和(专家混合),这是Mistral [7]模型的微调版。在这里,我们关注Prometheus2 [8](专家混合)模型,因为作者报告说它在直接评估任务中表现更好。可以将Prometheus视为经过微调以与人类对LLM响应评级一致的LLM-as-a-judge。
以下是Prometheus用于直接评估LLM响应的具体提示模板:
###任务描述:
给出一个指令(包括段落和一个问题)、一个待评估的响应,
以及一个代表评估标准的评分准则。
1. 根据给定的评分准则编写详细的反馈,而不是一般性评估。
2. 编写完反馈后,写下一个介于1和5之间的整数分数。你应该参考评分准则。
3. 输出格式应如下所示:"(针对准则编写反馈) [RESULT] (一个介于1和5之间的整数)"
4. 请不要生成任何其他开头、结尾和解释。
###要评估的指令:
{instruction}
###待评估的响应:
{response}
###评分准则:
{rubric}
###反馈:
上述提示模板中的指令期望同时包含上下文和问题,这可以通过字符串拼接准备:
instruction = "Passage:\n" + {passage} + "\nQuestion:\n" + {question}
除了提示模板外,Prometheus还需要一个评分准则。该模型最适合使用5点Likert量表进行训练。在我们的研究中,我们使用了Prometheus开发者推荐的原始评分准则格式,并根据每个RAG用例最小修改了每个评分的描述。
这里是为PubmedQA [9]数据集使用的评分准则示例:
响应在多大程度上准确反映了段落中提供的证据,保持适当的科学精确性,避免提出未经支持的主张或推测?
评分1:响应提出的主张直接与段落相矛盾,编造了未经支持的信息,误用了技术术语,引入了投机性的机制或影响,做出了绝对的主张而没有适当的不确定性,或者与段落的详细程度严重不符。响应未能保持科学完整性,不能被视为可靠。
评分2:响应对证据的重大误解,超出了数据范围的不合理推断,技术术语使用不精确,包括投机性细节,过度概括发现,或与段落的详细程度显著偏离。尽管某些方面可能是准确的,但这些问题损害了响应的可靠性。
评分3:响应总体上与主要发现一致,但包括次要的未经支持的细节,轻微的误解,偶尔不精确的技术术语,合理的但未经支持的扩展,缺少一些
局限性,或细节水平不一致。尽管总体上可靠,但响应需要仔细审查以确保完全准确。<br>评分4:响应准确反映了证据,仅有细微问题,如微妙的推断(但合理),技术术语偶尔不精确,偶尔遗漏警告,或细节水平略有变化。响应保持良好的科学完整性,可以认为是基本可靠的。<br>评分5:响应完美反映了所提供的证据,保持了适当的科学不确定性,使用了精确的技术术语,避免了不支持的推测,适当承认了局限性,并与段落的详细程度相匹配。响应保持了完整的科学完整性,可以完全依赖作为段落的准确反映。
# D. Patronus Lynx
像Prometheus模型一样,Lynx [9]是由Patronus AI微调的LLM,用于为LLM响应生成PASS/FAIL分数,训练数据集包括标注的响应。Lynx利用链式思维,使LLM在评估响应时能够进行更好的推理。该模型有2种尺寸,8B和70B,都是从Llama 3 Instruct模型 [10]微调而来。在这里,我们关注Patronus-Lynx-70B-Instruct模型 [11],因为在我们的实验中它优于较小的8B变体。
以下是Lynx使用的具体提示模板:
给定以下问题、文档和答案,您必须分析所提供的答案,并确定它是否忠实于文档的内容。答案不得超出文档提供的上下文提供新信息。答案也不得与文档提供的信息相矛盾。严格按照以下格式输出您的最终裁定:“PASS”如果答案忠实于文档,“FAIL”如果答案不忠实于文档。展示您的推理过程。 - 问题(这不是背景信息的一部分): {question} - 文档: {context} - 答案: {answer} - 您的输出应为JSON格式,键为”REASONING”和”SCORE”: {{“REASONING”: , “SCORE”: }} ```
该模型在各种RAG数据集上进行了训练,这些数据集包含了来自各种LLM的响应正确性注释。训练数据集包括CovidQA、PubmedQA、DROP、FinanceBench(全部发布在[9]中),这些数据集也出现在我们的基准研究中。在我们的基准测试中,我们省略了Lynx在其训练过程中已经见过的数据集结果。
E. 可信赖的语言模型 (TLM)
不同于HHEM、Prometheus和Lynx:Cleanlab的可信赖语言模型 [12](TLM)不涉及自定义训练模型。TLM系统更像是LLM-as-a-judge,因为它可以利用任何LLM模型,包括最新的前沿LLM,只要它们一发布就可以立即使用。TLM是一个建立在任何基础LLM之上的框架,它使用高效的自我反思、采样响应之间的一致性以及概率度量的组合,全面量化LLM响应的可信度 [13]。与其他评估模型不同,TLM不需要特殊的提示模板。相反,您只需使用提供给您生成响应的RAG LLM的相同提示。
我们在研究中使用的TLM提示模板如下: 严格根据提供的上下文回答问题:上下文:{context}问题:{question}
III. 基准测试方法
为了研究这些评估模型/技术在现实世界中的幻觉检测性能,我们将它们应用于来自不同领域的RAG数据集。每个数据集由条目组成,包含:用户查询、LLM应依赖的检索到的上下文以回答查询、LLM生成的响应以及该响应是否实际上正确的二进制注释。
与其他研究检索质量、忠实度或上下文利用等更细粒度问题的RAG基准不同,我们重点关注RAG中最重要的一般问题:每种检测方法在标记不正确的响应方面的有效性如何?这通过接收器操作特性曲线下的面积(AUROC)来量化。具有高AUROC的检测器更一致地为不正确的RAG响应分配较低的分数,而不是正确的响应。请注意,我们的评估模型/技术并不依赖于正确性注释,这些注释仅保留用于报告每种评分方法实现的AUROC。
我们在相应库的默认推荐设置下运行所有方法。回想起来,LLM-as-a-judge和TLM都可以由任何LLM模型驱动;我们的基准测试使用OpenAI的gpt-4o-mini LLM [14],这是一个低延迟/低成本的解决方案。如果某种评分方法在任何数据集中的一两个例子上失败(由于软件故障),我们将在结果图表中用虚线表示这一点。
我们在6个数据集上报告结果,每个数据集代表RAG应用中的不同挑战。四个数据集来自HaluBench基准套件 [9](在发现该套件中普遍存在注释错误后,我们省略了其余数据集)。另外两个数据集,FinQA [15]和ELI5 [16],涵盖了更复杂的设置。
IV. 基准测试结果
- FinQA
FinQA [15] 是一个复杂问题的数据集,这些问题来自金融专家,涉及公开财务报告,其中的响应来源于我们研究中考虑的OpenAI的GPT-4o LLM [17]版本。这个数据集中的文件/问题即使对人类来说也可能很难准确回答,通常需要仔细分析上下文中多个信息片段,并将这些片段适当地组合成最终答案(有时需要基本算术)。
以下是此数据集中的一个示例: 查询: 赎回的次级优先债务每年产生的利息是多少(以千计)?
上下文: 次级优先债务证券按照次级优先债务证券的规定发行,于2004年3月29日发行,控股公司选择在2013年5月24日赎回329897千美元的6.2%(6.2%)次级优先债务证券。由于提前赎回,公司产生了7282千美元的税前支出,用于立即摊销剩余的资本化发行成本。与这些次级优先债务证券相关的利息支出如下。表格: (单位:千美元)| 截至2015年12月31日的年度 | 截至2014年12月31日的年度 | 截至2013年12月31日的年度 利息支出发生额 | - 千美元 | - 千美元 | 8181 千美元 控股公司考虑了与信托优先证券相关的机制和义务,这些机制和义务共同构成了控股公司对资本信托II支付信托优先证券义务的全额和无条件担保。再保险和信托协议 某些集团子公司已建立了信托协议,这些协议有效地将公司的投资用作抵押品,作为向某些非关联分保公司支付预期损失的安全保障。截至2015年12月31日,存入信托账户的总金额为454384千美元……
ROC曲线:FinQA-幻觉检测
图3 各评估模型在FinQA数据集上的ROC曲线(附带AUROC值)。 在这个基准测试中,几乎所有评估模型都能令人欣慰地比随机猜测更好地检测不正确的AI响应(随机猜测的AUROC值为0.5)。请注意,这远非保证,因为这些方法必须在实时运行,且无法访问任何注释、真实答案或其他额外信息。
对于FinQA,TLM和LLM-as-a-judge以最高的精度和召回率检测不正确的AI响应。这可能是由于问题/上下文的复杂性质,定制训练模型可能不如我们在本基准测试中用于TLM和LLM-as-a-judge的OpenAI LLM理解得好。
- ELI5
ELI5 [16] 是一个数据集,捕捉了将复杂概念分解为易于理解/简化的解释而不牺牲准确性的挑战。在这里,我们使用ELI5 [18] 数据集的一个子集,其中LLM响应已被注释以表明其正确性。标注为不正确的响应表现出诸如:事实错误或歪曲、简化到引入不准确性或做出未被检索到的上下文支持的声明等问题。
以下是此数据集中的一个示例:
查询:
什么是氮固定理论,它如何影响农业?
上下文:
氮固定理论解释了某些生物将大气中的氮转化为植物可利用的形式的过程。这一过程主要由根瘤菌等共生细菌完成,它们在豆科植物的根部形成结节。氮固定对农业至关重要,因为它丰富了土壤中的氮含量,减少了化学肥料的需求,并促进了可持续的耕作实践。这一自然过程有助于维持土壤肥力并支持作物生长,从而提高农业生产力。
响应:
氮固定理论就像一个魔术戏法,小小的助手——细菌将空气变成植物的食物。这些细菌生活在玉米和小麦等植物根部的小肿块里。这种魔法帮助植物在不需要大量工厂生产的肥料的情况下长得更好,让农业更加环保,并帮助农民生产更多的食物!
注释: 糟糕的响应
图4 每个评估模型在ELI5数据集上的ROC曲线(附带AUROC值)。 在这个基准测试中,没有任何方法能够非常精确/召回地检测不正确的AI响应,但Prometheus和TLM比其他检测器更有效。
- FinanceBench
FinanceBench [9] 是一个数据集,反映了金融分析师基于公开交易公司(包括10Ks、10Qs、8Ks和收益报告)的日常问答类型。检索到的上下文包含公司的财务文件,而问题则清晰明了,可以通过阅读相关上下文轻松回答(与FinQA不同,FinQA的答案往往需要非平凡的推理)。
以下是该数据集中的一个示例: 查询: CVS Health的FY2021运营现金流比率是多少?运营现金流比率定义为:经营活动产生的现金/流动负债总额。
上下文: 合并财务报表索引 合并资产负债表 截至十二月三十一日, 除每股金额外,单位为百万 2021 2020 资产: 现金及现金等价物 投资 3,117 3,000 应收账款净额 24,431 21,742 …
图5 每个评估模型在FinanceBench数据集上的ROC曲线(附带AUROC值)。 对于FinanceBench,TLM和LLM-as-a-judge以最高的精度和召回率检测不正确的AI响应。这与之前对FinQA的发现相符,尽管这两个数据集包含不同类型的信息和用户查询。
- PubmedQA
PubmedQA [9] 是一个数据集,其中上下文来自PubMed(医学研究出版物)摘要,LLM使用这些摘要来回答生物医学问题。以下是从该数据集中提取的一个示例查询,LLM必须基于相关医学出版物的上下文回答: 患有脊髓脊膜膨出的患者:在矫正脊柱侧凸之前是否有必要松解?
图6 每个评估模型在PubmedQA数据集上的ROC曲线(附带AUROC值)。
在这个基准测试中,Prometheus和TLM以最高的精度和召回率检测不正确的AI响应。对于这个应用,这些评估模型能够非常有效地捕捉到幻觉。
- CovidQA
CovidQA [9] 是一个帮助专家基于医学研究文献回答与新冠疫情相关问题的数据集。数据集包含作为检索上下文的科学文章和类似以下的问题:PEDV基因组的大小是多少?
图7 每个评估模型在CovidQA数据集上的ROC曲线(附带AUROC值)。 在这个基准测试中,TLM以最高的精度和召回率检测不正确的AI响应,其次是Prometheus和LLM-as-a-judge。对于这个应用,当今顶级评估模型提供了一种可靠的方法来捕捉幻觉。
- DROP
段落离散推理(DROP)[9] 包括从维基百科文章中检索到的段落和需要离散操作(计数、排序等)和数学推理才能回答的问题。
例如,关于Cowboys和Jaguars比赛的段落,数据集中的一个问题为: 哪个队在上半场得分最少?
图8 每个评估模型在DROP数据集上的ROC曲线(附带AUROC值)。
在这个基准测试中,TLM以最高的精度和召回率检测不正确的AI响应,其次是LLM-as-a-judge。在这一更具挑战性的应用中,其他评估模型似乎并没有太大用处。
V. 结论
我们的研究展示了RAG中实时评估模型的第一个基准之一。我们观察到,大多数评估模型在某些数据集上能够显著优于随机机会检测到不正确的RAG响应,但在其他数据集上,某些评估模型的表现并不比随机机会好多少。因此,在选择评估模型时,请仔细考虑您的领域。
本研究中的一些评估模型是专门训练的定制模型。由于这些定制模型是在某些LLM犯错的基础上训练的,因此当未来的LLM犯不同类型的错误时,它们的未来表现尚不清楚。相比之下,像LLM-as-a-Judge或TLM这样的评估技术可以由任何LLM驱动,并且应该对未来LLM保持相关性。这些技术无需数据准备/标记,也无需服务定制模型的基础设施。
除了本研究涵盖的评估模型之外,其他技术也被用于检测幻觉。一项先前的研究 [19] 对其他技术(包括DeepEval、G-Eval和RAGAS)进行了基准测试,发现像TLM这样的评估模型在检测不正确的RAG响应时具有普遍更高的精度/召回率。 # 参考文献
[1] Patrick Lewis, Ethan Perez, Aleksandra Piktus, Fabio Petroni, Vladimir Karpukhin, Naman Goyal, Heinrich Küttler, Mike Lewis, Wen-tau Yih, Tim Rocktäschel, Sebastian Riedel, Douwe Kiela. 知识密集型NLP任务的检索增强生成。神经信息处理系统,2020年。 [2] Yi Chen, Rui Wang, Haiyun Jiang, Shuming Shi, Ruifeng Xu. 探索大型语言模型在无参考文本质量评估中的应用:实证研究。计算语言学协会会议论文集:IJCNLP-AACL,2023年。 [3] Lianmin Zheng, Wei-Lin Chiang, Ying Sheng, Siyuan Zhuang, Zhanghao Wu, Yonghao Zhuang, Zi Lin, Zhuohan Li, Dacheng Li, Eric P. Xing, Hao Zhang, Joseph E. Gonzalez, Ion Stoica. 使用MT-Bench和Chatbot Arena判断LLM-as-a-Judge。神经信息处理系统数据集和基准赛道,2023年。 [4] Ofer Mendelevitch, Forrest Bao, Miaoran Li, Rogger Luo. HHEM 2.1:更好的幻觉检测模型和新的排行榜,2024年。https://www.vectara.com/blog/hhem-2-1-a-better-hallucination-detection-model [5] Forrest Bao, Miaoran Li, Rogger Luo, Ofer Mendelevitch. HHEM-2.1-Open,2024年。https://huggingface.co/vectara/hallucination_evaluation_model [6] Seungone Kim, Juyoung Suk, Shayne Longpre, Bill Yuchen Lin, Jamin Shin, Sean Welleck, Graham Neubig, Moontae Lee, Kyungjae Lee, Minjoon Seo. Prometheus 2:开源语言模型,专注于评估其他语言模型。自然语言处理经验方法,2024年。 [7] Albert Q. Jiang, Alexandre Sablayrolles, Antoine Roux, Arthur Mensch, Blanche Savary, Chris Bamford, Devendra Singh Chaplot, Diego de las Casas, Emma Bou Hanna, Florian Bressand, Gianna Lengyel, Guillaume Bour, Guillaume Lample, Lélio Renard Lavaud, Lucile Saulnier, Marie-Anne Lachaux, Pierre Stock, Sandeep Subramanian, Sophia Yang, Szymon Antoniak, Teven Le Scao, Théophile Gervet, Thibaut Lavril, Thomas Wang, Timothée Lacroix, William El Sayed. Mixtral of Experts. arXiv预印本arXiv:2401.04088,2024年。 [8] Seungone Kim, Juyoung Suk, Shayne Longpre, Bill Yuchen Lin, Jamin Shin, Sean Welleck, Graham Neubig, Moontae Lee, Kyungjae Lee, Minjoon Seo. Prometheus 2 8x7B,2024年。https://huggingface.co/prometheus-eval/prometheus-8x7b-v2.0 [9] Selvan Sunitha Ravi, Bartosz Mielczarek, Anand Kannappan, Douwe Kiela, Rebecca Qian. Lynx:开源幻觉评估模型,2024年。 [10] Llama团队,Meta AI,Llama 3模型群,2024年 [11] Selvan Sunitha Ravi, Bartosz Mielczarek, Anand Kannappan, Douwe Kiela, Rebecca Qian. Llama-3-Patronus-Lynx-70B-Instruct,2024年。https://huggingface.co/PatronusAI/Llama-3-Patronus-Lynx-70B-Instruct [12] Anish Athalye, Jonas Mueller, Curtis Northcutt, Hui Weh Goh, Ulyana Tkachenko. 克服幻觉的可信语言模型,2024年。https://cleanlab.ai/blog/trustworthy-language-model/ [13] Jiuhai Chen, Jonas Mueller. 量化任何语言模型的答案中的不确定性并增强其可信度。计算语言学协会第62届年会论文集,2024年。 [14] OpenAI, GPT-4o mini: 推动成本高效智能的发展,2024年。https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/ [15] Ashish Sardana. FinQA 幻觉检测数据集,2025年。https://huggingface.co/datasets/Cleanlab/FinQA-hallucination-detection [16] Angela Fan, Yacine Jernite, Ethan Perez, David Grangier, Jason Weston, Michael Auli. ELI5: 长篇问答。计算机研究存储库,2019年。 [17] OpenAI, GPT-4o, 2024年。https://openai.com/index/hello-gpt-4o/ [18] Exploding Gradients. ELI5子集,2024年。https://huggingface.co/datasets/explodinggradients/ELI5 [19] Hui Wen Goh. 在RAG中基准测试幻觉检测方法,数据科学趋势,2024年。https://towardsdatascience.com/benchmarking-hallucination-detection-methods-in-rag-6a03c555f063