AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


GraphEval:基于知识图谱的大语言模型幻觉评估框架
发布日期:2024-08-24 22:53:20 浏览次数: 1597


摘要

评估大型语言模型(LLM)响应的方法以及检测与提供知识相关的不一致性(也称为幻觉)变得越来越重要,尤其是在LLM应用中。目前的指标在提供可解释的决策、系统性检查响应中的所有信息方面存在不足,并且通常在计算上过于昂贵,无法在实践中使用。我们提出了GraphEval:一个基于知识图谱(KG)结构表示信息的幻觉评估框架。我们的方法识别出KG中容易出现幻觉的特定三元组,因此比以前的方法提供了更多关于响应中幻觉发生位置的洞察。此外,将我们的方法与最先进的自然语言推理(NLI)模型结合使用,相较于使用原始NLI模型,在各种幻觉基准测试中提高了平衡准确率。最后,我们探索了利用KG结构进行幻觉修正的GraphEval方法,我们称之为GraphCorrect,并证明大多数幻觉确实可以被纠正。

1. 引言

随着大型语言模型(LLMs)的规模和能力在近年来急剧增加,潜在应用的数量也随之增加。可以说,实施这些模型的最大障碍之一是它们的幻觉倾向——返回看似合理但不真实的响应。在这里,我们关注的是检测与LLM应使用的知识来源相关的上下文的幻觉问题;检测偏离LLM原始训练数据的幻觉超出了本工作的范围。在对响应的确定性至关重要的应用中,例如医学诊断,来自特定上下文的幻觉的存在尤其限制了应用。因此,开发成功的方法来检测这些幻觉至关重要,并且在需要处理或纠正它们时,提供关于响应中哪个方面可能是幻觉的清晰度。这个问题的重要性反映在该主题上发表的研究数量上——请参见Ji等人的最新调查。

在自然语言上进行评估是一项具有挑战性的任务,研究人员在幻觉问题成为焦点之前就对此产生了兴趣。方法已经从传统的基于N-gram的指标(如BLEU和ROUGE)发展到更复杂的基于LLM的评估指标,后者具有用户定义的评估标准,例如G-Eval。最近,提出了利用检索增强生成(RAG)和在知识图谱(KGs)上进行推理的技术,以减轻生成输出中幻觉的普遍性。前者建议将相关的上下文数据连接到提示中,以使LLM响应更具基础性,而后者通过在KG结构中提供基础信息来强制执行更稳健的推理过程。尽管这些方法取得了成功,但它们并未完全消除评估LLM输出的必要性。

受到当前研究利用知识图谱提供有根据的LLM响应的启发,我们提出了GraphEval——一个基于知识图谱结构中信息表示的幻觉检测框架。根据我们所知,我们是首个将知识图谱应用于基于LLM的幻觉评估框架的人,通过这样做,我们提供了比以往任何指标更高水平的洞察,了解输出中幻觉发生的位置。此外,我们展示了如何将我们的方法与当前最先进的幻觉检测方法结合使用,从而提高它们在各种基准上的分类准确性。最后,我们考虑幻觉纠正的问题,并引入GraphCorrect,展示了GraphEval如何有效扩展以纠正LLM输出中存在的相当大比例的幻觉。

2. 问题陈述

在本研究中,我们关注闭域幻觉检测问题:即从大型语言模型(LLM)生成的文本输出,该输出是基于提示中包含的一些基础上下文生成的。在这种情况下,目标是让LLM仅使用提供的上下文作为其唯一的知识来源。开放域问题,即与世界上所有事实知识相关的问题,在这里不作探讨,但在第8节中进行了简要讨论。

我们将幻觉检测视为一个二分类问题,其中0对应于LLM输出在提供的上下文下是事实一致的,1对应于输出包含至少一个不一致之处。我们可以使用包含真实标签(通常是人工标注)的基准数据集来评估幻觉评估方法,以确定给定的上下文-输出对是否包含事实不一致。在整篇论文中,我们交替使用事实、一致、基础和忠实等术语,表示相对于上下文不包含幻觉。

最后,我们探讨幻觉修正的问题,在此过程中我们不使用任何直接标注的数据集。相反,我们利用幻觉检测框架首先识别需要修正的幻觉,然后再将其重新用于评估修正后的输出。需要注意的是,我们对幻觉修正的探索仅作为我们评估框架的扩展,并不是本研究的主要焦点。

3. 相关工作

历史上,基于N-gram的度量标准,如BLEU和ROUGE,一直是自然语言评估中最广泛使用的指标。然而,这些指标在事实不一致性检测任务中的表现被证明较差。近年来,基于嵌入的度量标准,如BERTScore,逐渐受到青睐。这些方法通过比较来自变换器模型(如BERT)的上下文化嵌入,来测量两段文本之间的相似性。

因此,研究人员开始开发新的方法,以更敏锐地检测大型语言模型(LLM)输出与其基础上下文之间的不一致性。Maynez等人识别了NLI任务中的文本蕴含分数与一致性预测之间的交叉。这在当时是一个突破,产生了比以往任何指标都更高的与忠实度的相关性,并为进一步利用NLI数据和模型的研究铺平了道路。

最近,研究的重点转向利用LLM本身来评估LLM输出的一致性。SelfCheckGPT和ChatProtect通过考虑采样输出中的自我一致性来解决这个问题。由于它们需要从LLM生成大量响应,因此许多人认为这些方法在计算上过于昂贵。

其他基于LLM的幻觉评估方法,如G-Eval和GPTScore,使用与生成需要评估的LLM响应不同的LLM进行评估。G-Eval允许用户定义评估标准,并使用自动化的思维链提示和表单填写来分配分数。GPTScore将任务视为条件生成,利用像GPT-3这样的模型通过在LLM提示前添加评估指令来为高质量输出分配更高的概率。与基于二元分类数据训练的NLI模型不同,这些方法产生的分数更难以解释为概率,通常需要额外的步骤进行不一致性分类。

最近的幻觉检测方法,如FactScore和SAFE,利用大型语言模型将响应分解为原子或单个事实进行评估。这些方法使得能够精确识别LLM响应中幻觉出现的位置。每个事实会自动与像维基百科或科学文献这样的综合知识源进行验证,FactScore的情况是这样,SAFE则通过使用搜索引擎进行验证。

FactGraph是我们所知的唯一利用图状结构的事实评估方法。该方法专注于检测摘要问题中的不一致性,将摘要和支持文档分解为他们所称的结构化意义表示(MRs)。这些MRs描述了核心语义概念和关系,作者声称这些比原始文本更适合进行事实性评估。

基于N-gram和嵌入的度量标准都基于待评估文本与某些参考文本的相似程度来计算分数。这种相似性目标往往无法捕捉幻觉检测问题的复杂性。

4. GraphEval: 我们的评估方法

GraphEval 基于通过知识图谱以结构化方式表示信息的理念,旨在解决之前幻觉检测方法缺乏可解释性的问题,即具体哪些信息是不一致的。

知识图谱的三元组 { ⊆ℰ× ℛ× ℰ},其中 ℰ 和 ℛ 分别表示实体和关系的集合。在 GraphEval 设置中,实体和关系仅仅是文本片段。我们不使用常见的扩展,例如实体和关系类型或附加属性。

我们的 GraphEval 指标由两个阶段的程序组成:

阶段 1 - 从待评估的 LLM 输出构建知识图谱。阶段 2 - 遍历知识图谱中的每个三元组,识别它们在给定上下文中是否事实一致。

如果阶段 2 中的任何三元组被识别为不基于上下文,则输出被视为事实不一致。可能还会返回不一致的三元组,以通过突出输出中发生幻觉的地方来提供可解释性。我们在图 1 中提供了这个过程的可视化,使用了第 7.1 节中描述的基准之一的真实示例。

关于阶段 1,我们在第 5 节中简要回顾了基于 LLM 的知识图谱构建方法,并提供了我们实现的结果。对于阶段 2,我们利用现有技术,并为此任务采用现成的 NLI 模型。这种方法的一个好处是,它使我们能够直接比较原始 NLI 模型的性能与我们知识图谱方法补充后的模型性能。实质上,我们的方法是一个预处理步骤,其输出可以输入到任何幻觉检测方法中;我们选择 NLI 模型,因为与基于 LLM 的模型相比,它们在计算上更便宜,但仍能达到最先进的结果。通过将每个三元组与基础上下文一起输入 NLI 模型,我们获得每个三元组包含幻觉的概率。最后,如果至少有一个三元组产生的概率大于 0.5,我们将该示例分类为不一致。

最近的文献中也提出了与我们类似的方法。SummaC 也使用基于 NLI 的模型来检测 LLM 生成的摘要中的不一致性。然而,它通过将上下文和摘要分割成各自的句子,并将每个上下文-摘要对传递给 NLI 模型,从而使其与众不同。这种方法在跨句子维护实体引用方面存在挑战;例如,“约翰·多”在另一句中可能只被称为“他”。同样,FactScore 也面临相同的限制。我们的方法通过使用知识图谱组织实体关系来规避这个问题。

虽然 FactGraph 也在其一致性评估过程中利用图结构,但该方法在几个主要方面与 GraphEval 不同。首先,他们的方法只能应用于摘要问题;而 GraphEval 可以轻松应用于各种领域,如摘要、问答、常识推理等。其次,FactGraph 在其框架中没有使用 LLM,错过了该领域的最新进展。最后,他们的方法旨在将 LLM 输出和提供的上下文分解为基础的核心语义概念和关系,然后比较每个图结构。另一方面,GraphEval 仅将 LLM 输出表示为知识图谱,并旨在尽可能保留原始文本中包含的信息。

总结 GraphEval 相对于之前方法的优势:

  • 我们提出了一种系统的方法来检查 LLM 输出中包含的所有信息。
  • 我们的方法只需要在知识图谱构建阶段调用一次 LLM,并且不需要输入(通常)较大的上下文文档,这与所有之前基于 LLM 的指标不同。这使得 GraphEval 在计算上比其他基于 LLM 的方法更便宜。
  • 我们的方法返回不基于上下文的具体三元组,为决策提供可解释性,并识别输出中不应被信任的部分。我们利用这一特性进行幻觉修正,并提出了一种新方法,称为 GraphCorrect,在第 6 节中描述。

5. 使用大型语言模型构建知识图谱

从非结构化文本数据中构建知识图谱涉及识别文本中的实体集合及其之间的关系,从而形成对文本中信息的结构化表示。该过程可以分为三个主要阶段:

  1. 实体检测 - 识别和提取文本中的实体的过程。
  2. 共指消解 - 找出文本中所有指代同一实体的表达(也称为提及)的过程。
  3. 关系提取 - 识别实体之间语义关系的过程。

之前,研究人员分别处理每个阶段,但随着大型语言模型(LLMs)能力的增强,出现了向端到端系统的转变。Kumar等人建议使用两个LLM组件:一个用于命名实体识别,另一个用于关系分类和方向。同样,Grapher利用预训练的LLM进行实体提取和关系预测。然而,这些方法要求用户提供可能的关系。更近期的方法如PiVE和AutoKG使用LLM提示策略进行知识图谱构建,而无需额外的用户输入。

上述方法没有利用LLMs的一些新兴能力,例如上下文学习和思维链提示策略。我们决定利用这些新兴能力,并对我们的知识图谱构建步骤采取简单的提示工程方法。所使用的技术可以总结如下:

  • 思维链(CoT)提示策略。提供中间推理步骤以使LLMs能够解决更复杂的任务。
  • 上下文学习。一种提示工程方法,在提示中提供多个任务示例,避免了微调的需要。

我们实验中使用的最终提示可以在附录中找到。我们向读者强调,我们的知识图谱构建方法并不是我们工作的主要贡献,主要贡献是将知识图谱构建应用于幻觉检测问题。我们知识图谱构建方法的主要优点是其与任何LLM的实现简便性。此外,它的计算强度低于像PiVE这样的多次迭代改进生成知识图谱的方法。当然,用户可以使用他们选择的方法进行GraphEval的知识图谱构建阶段;本文中的实验展示了简单提示策略的能力。

6. GraphCorrect: 使用GraphEval纠正幻觉

虽然本工作的主要重点在于幻觉检测,但GraphEval将LLM输出分解为三元组的方式使其能够轻松扩展以纠正给定上下文中的幻觉。为此,我们首先识别知识图谱中可能包含幻觉的所有三元组(即那些概率大于0.5的三元组,如果有的话)。然后,我们对每个识别出的三元组采用以下两步程序:

步骤1 - 将给定的三元组及其上下文输入到LLM中,以纠正三元组中的潜在幻觉。这将生成一个新的修正三元组。

步骤2 - 输入识别出的三元组、其修正对应三元组和初始LLM输出。选择性地用新三元组中的信息替换初始LLM输出中原始(包含幻觉的)三元组的信息。

我们将这种LLM幻觉纠正方法命名为GraphCorrect。我们实验中步骤1和步骤2使用的最终提示可以在附录B和C中找到。这种系统化的幻觉纠正方法提供了几个好处。首先,它单独处理每个识别出的幻觉,增加了纠正所有感知幻觉的机会。此外,它的优势在于仅改变原始文本中怀疑包含幻觉的部分,保持其他元素不变,从而确保与原始文本的整体高相似性。最后,将整个过程分解为中间步骤确保原始上下文和初始LLM输出不会在LLM中同时处理。这保证了防止在LLM输出中添加额外信息和信息丢失的安全措施。

7. 实验

7.1. 基准测试

我们进行了两组实验:一组专注于幻觉检测,以突出GraphEval的性能,另一组则关注幻觉修正,以展示GraphCorrect的优势。在这两种场景中,我们利用了SummEval、QAGS-C和QAGS-X基准测试——这些是当前相关学术文献中最普遍的基准测试。这三者都关注于检测大型语言模型生成的摘要中的幻觉,并且经过人工标注以确保与基础上下文的一致性。表1包含了与这些数据集相关的一些统计信息。

SummEval SummEval数据集由对来自CNN/DailyMail数据集的100篇文章中16个摘要模型输出的人工评估组成。每个摘要在一致性、连贯性、流畅性和相关性四个类别上使用1-5的Likert量表进行标记。我们遵循TRUE基准,将一致性得分映射为5表示完全一致,任何低于5的得分则表示不一致。

QAGS QAGS-C和QAGS-X数据集分别基于CNN/DailyMail和XSum数据集构建。人工标注者逐句检查摘要,并将每个句子的事实一致性与原始文章进行比较。三位标注者评估每个句子,并记录多数决定。同样,我们遵循TRUE基准,认为摘要只有在所有句子都被认为是一致的情况下,才被视为在事实上一致。

7.2. GraphEval中的NLI模型

如第4节所述,我们采用NLI模型执行GraphEval的第二阶段——检查每个单独三元组与上下文的一致性。我们使用HuggingFace上可用的三种最流行的基于NLI的幻觉检测模型进行实验。

HHEM 基于DeBERTaV3模型,最初在NLI数据上进行训练,由Vectara创建的幻觉评估模型进一步在标注为一致性的数据集上进行微调。用于微调的数据集包括:FEVER、维生素C和PAWS。该模型的内存需求显著小于后面两个模型,仅需738 MB,因此运行时间显著更短。

TRUE TRUE模型基于T5-XXL模型,训练方式与TRUE论文中描述的模型相似。与该论文中使用的ANLI数据集不同,该模型在与HHEM相同的数据集上进行训练,此外还包括:SNLI、MNLI和Scitail。该模型需要45.5 GB的内存。

TrueTeacher Gekhman等人利用大型语言模型(LLMs)评估幻觉的能力,通过对模型生成的摘要进行标注生成合成数据。他们随后使用这些合成数据进一步微调来自TRUE论文的模型,从而在TRUE基准上实现了最先进的性能。该模型与TRUE模型的大小相同。

7.3. 实验设置

在本研究中进行的所有需要使用大型语言模型(LLM)的实验中,我们使用了来自Anthropic的Claude ,通过Amazon Bedrock API进行访问。我们使用LLM的默认设置:,top 。我们还请读者参考附录以获取本研究中使用的提示。

7.4. 结果

7.4.1. 使用GraphEval进行幻觉检测

我们在表2中展示了三种NLI模型及其GraphEval对应模型的幻觉检测结果。我们报告了平衡准确率作为我们的评估指标,这修正了SummEval基准中的类别不平衡。在直接使用NLI模型的情况下,如果NLI模型返回的概率超过0.5,我们将该示例分类为包含幻觉。当将NLI模型与GraphEval结合使用时,如果至少有一个输入到NLI模型的三元组返回的概率超过0.5,我们将该示例分类为包含幻觉。我们看到,将GraphEval预处理步骤添加到每个NLI模型几乎总是提高了平衡准确率,有时提高幅度相当可观,例如表2中SummEval和QAGS-C基准的结果。平均而言(按每个数据集中的样本数量加权),添加GraphEval预处理步骤使平衡准确率提高了6.2

我们假设,在QAGS-X数据集中,基础NLI模型与补充了GraphEval的模型之间的微小差异是由于生成文本的平均长度(仅18个单词,而QAGS-C和SummEval分别为49和63个单词,见1)。这突显了我们方法中最有价值的一个重要方面。当LLM输出非常短时,检查一致性所需的多个事实的可能性较小(这可以在不使用知识图谱的情况下轻松完成),而短句的复杂性甚至可能在知识图谱构建阶段丢失。另一方面,当LLM输出非常长时,当前方法在测试每个单独事实与上下文的匹配时面临困难,而这正是GraphEval表现出色的时刻。

需要注意的是,即使GraphEval的结果与基线方法相当,使用GraphEval的好处在于能够识别与提供的上下文不一致的特定三元组。

7.4.2.  使用GraphCorrect进行幻觉修正

识别出可能存在幻觉的特定三元组使得使用GraphCorrect进行简单的修正成为可能,如第6节所述。对于这里提出的每个评估框架(HHEM  GraphEval、TRUE  GraphEval和TrueTeacher  GraphEval),我们将GraphCorrect与一种基本的幻觉修正提示策略进行比较,作为基线。该基线方法中使用的提示,以下简称为直接提示,详见附录D。

对于每个框架,我们最初识别幻觉,仅使用GraphCorrect或直接提示修正怀疑包含幻觉的LLM输出,然后重新应用评估框架以检测修正后的LLM输出中的幻觉。请注意,该过程仅允许我们测量我们认为已修正的幻觉,因为这里使用的评估框架可能存在错误。我们报告了

使用直接提示和GraphCorrect在不同数据集和幻觉检测框架下测量原始和修正摘要之间相似性的平均ROUGE-1、ROUGE-2和ROUGE-L分数。

在表4中列出了被认为已修正幻觉的百分比。的得分表明根据给定框架没有修正幻觉,而的得分则表示根据给定框架修正了所有幻觉。GraphCorrect在所有任务中显著修正了更多幻觉,超越了这里提出的提示策略,除了与QAGS-X数据集相关的两个任务。与幻觉检测任务一样,我们假设这些结果与文本的平均长度相关,GraphCorrect在较长且结构更复杂的文本中提供了更大的价值,以便解开和修正。

此外,如前所述,GraphCorrect的优势在于仅修改LLM输出中易受幻觉影响的文本段落,而不改变其他部分,从而保持与原始文本的高整体相似性。该特性在表3中通过评估原始摘要和修正版本之间的ROUGE-1、ROUGE-2和ROUGE-L指标得以体现,适用于GraphCorrect和直接提示在本研究中考察的所有实验场景。GraphCorrect系统性地生成与原始LLM输出在相似性上更接近的文本。

使用直接提示策略和GraphCorrect在SummEval、QAGS-C和QAGS-X基准上被认为已修正幻觉的百分比。幻觉首先由HHEM  GraphEval、TRUE  GraphEval和TrueTeacher  GraphEval分别检测,然后使用相同的指标评估修正。

在所有实验场景中,GraphCorrect和直接提示的修正版本之间的摘要与原始版本的相似性进行了评估。GraphCorrect系统性地生成与原始LLM输出在相似性上更接近的文本。

8. 讨论

我们的工作集中在闭域任务中的幻觉检测上,我们只关注与提供的上下文的一致性。GraphEval框架可以通过采用代理(如AutoKG)扩展到开放域幻觉检测,首先检索相关的外部来源作为基础信息进行对比。

我们预计在不久的将来,将会有更多的研究集中在从非结构化文本构建知识图谱(KGs)上,这将改善我们程序的第一阶段,并最终提升评估性能。即使大型语言模型(LLMs)本身变得更强大,这也将继续促进GraphEval性能的提升。

我们观察到,在我们程序的知识图谱构建阶段,可能会发生一些信息损失。然而,如第7.4节的结果所示,我们的方法很少导致平衡准确率的降低。此外,当其与基线方法相当时,我们还具备了识别幻觉发生的特定三元组的可解释性。

我们相信我们的幻觉修正框架(GraphCorrect)展现了前景,并为未来的工作提供了有趣的方向。然而,本工作中描述的方法的有效性应当手动评估,而不是依赖于复杂的幻觉评估框架。

9. 结论

我们介绍了GraphEval,这是一种简单有效的预处理步骤,用于提高LLM幻觉检测指标的可解释性和性能。我们的方法利用了LLM从非结构化文本中提取信息和构建知识图谱的能力,这些图谱中的三元组可以直接输入现成的幻觉检测方法中。

我们展示了GraphEval与最先进的NLI模型结合时,在三个流行的幻觉基准测试中,平衡准确率平均提高了6.2 。此外,我们的方法指示了在LLM输出的KG表示中哪些三元组是不一致的。根据我们所知,这是KG首次应用于基于LLM的幻觉评估框架,我们相信随着KG构建方法的改进,GraphEval的成功只会不断增长。

最后,我们研究了幻觉修正的问题,并展示了GraphCorrect可以有效解决LLM输出中发现的大多数幻觉,同时与原始文本保持极高的相似性。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询