Nature:使用语义熵检测大语言模型中的幻觉

使用语义熵检测大语言模型中的幻觉

  • Detecting hallucinations in large language models using semantic entropy 论文阅读
      • 摘要
      • 研究目标
      • 论文图表概述
      • 总结
      • 关键解决方案
        • 语义熵计算:
        • 虚构内容检测:
      • 双向蕴涵
        • 在大语言模型中的应用
        • 上下文的重要性
        • 蕴涵估计器
      • 实验设计
      • 语义熵计算步骤
      • 结果分析
      • AUROC 和 AURAC
      • 总结
      • 评估指标

Detecting hallucinations in large language models using semantic entropy 论文阅读

作者: Sebastian Farquhar, Jannik Kossen, Lorenz Kuhn, Yarin Gal
发表日期: 2024年6月20日
原文

摘要

大语言模型(LLM)如ChatGPT和Gemini在推理和问答方面表现出色,但经常产生错误输出或未经证实的答案,被称为“幻觉”。这些幻觉在法律、新闻和医学等领域带来了可靠性问题,导致错误信息传播和潜在的严重后果。本文提出了一种基于熵的统计方法,用于检测大型语言模型(LLM)中的“虚构内容”(confabulations),即生成的任意且错误的信息。通过计算生成内容的语义熵,该方法能够在不同任务和数据集中检测虚构内容,不需要任务特定的数据,具有良好的泛化能力。

研究目标

开发一种通用的、有效的方法,用于检测大型语言模型(LLM)生成的虚构内容,从而确保其输出在多样化领域中的可靠性。该方法不依赖任务的先验知识,能够跨数据集和任务通用,显示出较强的鲁棒性和通用性。不同于传统的基于词序列的熵计算方法,本文方法计算生成内容的语义熵,即在语义层面对生成内容进行聚类,从而更准确地检测虚构内容。

论文图表概述

图 1 语义熵和虚构检测概述

在这里插入图片描述

  • a. 语义熵的概念示意图

    • 图中左侧展示了传统的熵计算方法,这种方法基于具体答案的变化来衡量不确定性,容易导致高熵值,因为不同的答案形式尽管意思相同,但会被视为不同的答案。
    • 图中右侧展示了语义熵的方法,通过将语义相同的答案聚类来计算不确定性。这种方法将相同语义的答案归为一类,避免了因词语变化带来的不确定性。
    • 基于朴素熵的不确定性衡量中,将“巴黎”、“法国巴黎”和“法国首都巴黎”视为不同答案。但在某些语言任务中,不同的答案可能意味着相同的事物。
  • b. 语义熵在长段落中的应用

    • 图中展示了如何将长段落分解为具体的事实性命题,每个命题再生成相关的问题,并通过模型生成多个答案。
    • 最后,通过计算这些答案的语义熵来判断每个命题是否为幻觉。
    • 在这里,语义熵将 Fact 1 分类为非虚构,因为尽管生成的答案措辞不同,但它们的意义相同,而朴素熵可能会忽略这一点。

图 2 检测句子长度中的虚构
在这里插入图片描述

  • 图表解释
    • 图表展示了在不同模型(如LLaMA 2 Chat 7B、13B、70B和Falcon 7B、40B等)上,语义熵和其他基准方法(如朴素熵、P(True)和嵌入回归)的AUROC(接收者操作特征曲线下面积)和AURAC(拒绝准确性曲线下面积)指标。
    • AUROC衡量了方法预测错误答案的可靠性,分数范围从0到1,1代表完美分类器,0.5代表无信息分类器。
    • AURAC衡量了在模型拒绝回答可能产生幻觉的问题后剩余问题的回答准确性,分数越高,表示过滤掉幻觉问题后模型的回答更准确。
    • 结果显示,语义熵在所有模型和数据集上的AUROC和AURAC均显著优于其他基准方法,表明语义熵方法在检测幻觉和提高问答准确性方面表现出色。

图 3 离散语义熵在段落长度传记生成中的效果
在这里插入图片描述

  • 图表解释
    • 图3展示了在GPT-4生成的传记文本中,离散语义熵方法相对于基准方法(如P(True)变体和自检基线)的AUROC和AURAC表现。图表的横轴表示不同模型及不同评估指标,纵轴表示性能得分。
    • 左侧(AUROC):展示了离散语义熵方法和其他基准方法在传记生成任务中的AUROC表现。
      • 语义熵方法(包括离散语义熵)表现明显优于其他基准方法(如P(True)和自检基线)。
      • 这一结果表明,离散语义熵方法在检测传记文本中的幻觉方面更为有效。
    • 右侧(AURAC):展示了在不同拒绝比例下,离散语义熵方法和其他基准方法的AURAC表现。
      • 离散语义熵方法在绝大多数拒绝比例下(80%-100%)的回答准确性最高。
      • 仅在拒绝比例达到20%的情况下,P(True)基线略有优势。
      • 这表明离散语义熵方法能够有效拒绝潜在的幻觉内容,显著提高剩余回答的准确性。

表1 语义熵和朴素熵预测
在这里插入图片描述

  • 表格结构和内容
    • 问题:问题的陈述。
    • 模型答案:由模型生成的答案。
    • 参考答案:被认为是正确答案的参考。
    • 熵的生成:由模型生成的多种答案,用于计算语义熵和朴素熵。
    • 预测:根据语义熵和朴素熵预测的结果是否是虚假信息。

第一个例子(关于工业部门):

  • 问题: Refineries process chemical power generation mills and manufacturing plants are under what sector of construction?
  • 模型答案: 与参考答案一致,属于工业部门。
  • 生成的答案: 多种答案都与工业部门有关。
  • 预测: 语义熵预测为非虚假信息,朴素熵预测为虚假信息。

第二个例子(关于stard10蛋白的功能):

  • 问题: What is the function of the stard10 protein?
  • 模型答案: 负调控mTOR通路。
  • 参考答案: 是脂质转移蛋白。
  • 生成的答案: 各种不同的功能描述。
  • 预测: 语义熵和朴素熵均预测为虚假信息。

第三个例子(关于“fado”音乐):

  • 问题: Which European country is ‘fado’ the national music of?
  • 模型答案: 葡萄牙。
  • 参考答案: 葡萄牙。
  • 生成的答案: 一致地回答“葡萄牙”。
  • 预测: 语义熵和朴素熵均预测为非虚假信息。

第四个例子(关于BSkyB的数字服务上线时间):

  • 问题: When was BSkyB’s digital service launched?
  • 模型答案: 1998年10月1日。
  • 参考答案: 1998年。
  • 生成的答案: 一致地回答具体的日期和年份。
  • 预测: 语义熵预测为虚假信息,朴素熵预测为非虚假信息。

总结

语义熵: 通过多样性和上下文理解来判断答案是否是虚假信息。
朴素熵: 通过简单的答案相似度来判断答案是否是虚假信息。
表格显示了语义熵在某些情况下能够更好地预测答案的真实性,因为它能够更好地理解语义和上下文,而朴素熵可能会因为缺乏上下文理解而做出错误的预测。

关键解决方案

语义熵计算:
  • 多次生成回答并对这些回答进行语义聚类。
  • 使用双向蕴涵关系(bidirectional entailment)进行语义聚类,即判断两个回答在语义上是否互相蕴涵。
  • 计算生成内容的语义熵,熵值越高,表示不确定性越高,虚构内容的可能性也越高。
虚构内容检测:
  • 根据计算出的语义熵,判断生成内容是否可能是虚构的。
  • 提高问答模型的准确性,避免使用高熵值的不可靠回答。

双向蕴涵

双向蕴涵是自然语言处理和逻辑推理中的一个概念,用于判断两个句子在意义上的等价性。具体来说,双向蕴涵表示如果一个句子的意义能够推出另一个句子的意义,反之亦然,那么这两个句子在语义上是等价的。

  • 单向蕴涵(Unidirectional Entailment): 如果句子A的真值可以推出句子B的真值,我们说句子A蕴涵句子B。例如,句子“A是猫”蕴涵句子“A是动物”,因为如果A是猫,那么A必然是动物。
  • 双向蕴涵(Bidirectional Entailment): 如果句子A蕴涵句子B,同时句子B也蕴涵句子A,我们说句子A和句子B是双向蕴涵的。例如,句子“A是巴黎的首都”和“巴黎是法国的首都”之间存在双向蕴涵,因为它们在意义上是等价的。
在大语言模型中的应用

在大语言模型(LLM)中,双向蕴涵用于检测生成内容的语义一致性,特别是在检测虚构内容时。具体应用步骤如下:

  1. 生成多个答案: 对于一个给定的问题,生成多个可能的答案。
  2. 语义聚类: 使用双向蕴涵判断这些答案是否在语义上等价,并将等价的答案聚为一类。
  3. 方法: 利用自然语言推理(NLI)工具或预训练语言模型(如GPT-3或DeBERTa)来判断两个句子之间是否存在蕴涵关系。如果两个句子互相蕴涵,则认为它们在语义上等价。
  4. 计算语义熵: 通过统计不同语义类的概率分布,计算生成内容的语义熵,从而评估生成内容的可靠性。
上下文的重要性

上下文在双向蕴涵中起着至关重要的作用。例如,单独的词“巴黎”并不蕴涵“法国的首都是巴黎”,因为“巴黎”不是一个完整的陈述句。然而,在问题“法国的首都是什么?”的上下文中,“巴黎”可以蕴涵“法国的首都是巴黎”。

例如:

  • 问题: “法国的首都是什么?”
  • 简短回答: “巴黎。”
  • 详细回答: “法国的首都是巴黎。”

在这个上下文中,简短回答和详细回答在意义上是等价的,简短回答蕴涵了详细回答的全部意义。

蕴涵估计器

例如 LLaMA 2、GPT-3.5 (Turbo 1106) 或 GPT-4来预测各代之间的蕴涵。我们使用以下提示:
我们正在评估对于问题 {question}的答案。这里有两个可能的答案:
可能的答案 1:{text1}
可能的答案 2:{text2}
可能的答案 1 在语义上是否蕴含可能的答案 2?用蕴含、矛盾或中性来回答。

We are evaluating answers to the question {question} 
Here are two possible answers: 
Possible Answer 1: {text1} 
Possible Answer 2: {text2} 
Does Possible Answer 1 semantically entail Possible Answer 2? Respond with entailment, contradiction, or neutral.

实验设计

数据集

  • TriviaQA:涵盖广泛的知识问答。
  • SQuAD 1.1:基于维基百科的阅读理解数据集。
  • BioASQ:生物医学领域的问题回答数据集。
  • NQ-Open:来自谷歌搜索的自然问题数据集。
  • SVAMP:数学词问题数据集。
  • FactualBio:传记生成数据集。

模型

  • 使用了LLaMA 2 Chat(7B、13B和70B参数)、Falcon Instruct(7B和40B参数)和Mistral Instruct(7B参数)等多个模型进行实验。

语义熵计算步骤

  1. 生成:从LLM的预测分布中采样生成多个答案序列。
  2. 聚类:使用双向蕴涵关系进行语义聚类,将语义相同的答案归为一类。
  3. 熵估计:计算语义聚类后的概率分布,并根据该分布计算语义熵。

结果分析

语义熵方法在多种数据集和模型上均表现优异,能够有效检测虚构内容并提高问答准确性。

AUROC 和 AURAC

AUROC:

  • 定义
    • AUROC 是指接收者操作特征曲线(ROC曲线)下的面积。ROC曲线绘制了模型的真阳性率(TPR,也称为召回率)对假阳性率(FPR)的关系。
  • 计算方法
    • 真阳性率(TPR):在所有实际为正的样本中,被正确预测为正的比例。计算公式为:TPR = TP / (TP + FN),其中TP为真阳性,FN为假阴性。
    • 假阳性率(FPR):在所有实际为负的样本中,被错误预测为正的比例。计算公式为:FPR = FP / (FP + TN),其中FP为假阳性,TN为真阴性。
    • 通过改变分类模型的阈值,可以得到一系列的TPR和FPR值,并绘制出ROC曲线。AUROC 是ROC曲线下的面积,数值范围在0到1之间。
  • 意义
    • AUROC 值越接近1,表示模型的分类性能越好。
    • AUROC 值为0.5,表示模型没有区分能力,相当于随机猜测。
    • AUROC 值小于0.5,表示模型的分类能力比随机猜测还差,可能存在某些问题。
  • 解释
    • 在本文中,AUROC 衡量了语义熵方法预测模型错误答案的可靠性,较高的AUROC值表明语义熵方法能够有效区分正确和错误的模型生成。

AURAC(拒绝准确性曲线下面积)

  • 定义
    • AURAC 是指拒绝准确性曲线(Rejection Accuracy Curve)下的面积。拒绝准确性曲线绘制了模型拒绝回答可能产生幻觉的问题后,剩余问题的回答准确性。
  • 计算方法
    • 拒绝准确性:在模型拒绝回答部分问题后,剩余问题的回答准确性。
    • 随着拒绝比例的增加,模型剩余回答的准确性通常会提高,因为被拒绝的问题往往是模型不确定或容易产生幻觉的问题。
    • 通过改变拒绝的阈值,可以得到一系列的拒绝准确性值,并绘制出拒绝准确性曲线。AURAC 是该曲线下的面积,数值范围同样在0到1之间。
  • 意义
    • AURAC 值越高,表示模型在拒绝不确定回答后,剩余回答的准确性越高。
    • AURAC 值能够综合反映模型在不同拒绝阈值下的整体表现。
    • 在本文中,AURAC 衡量了语义熵方法通过拒绝回答不确定问题后,提升剩余回答准确性的效果。较高的AURAC值表明语义熵方法能够有效识别并拒绝潜在幻觉内容,显著提高模型回答的总体准确性。

总结

AUROC 和 AURAC 是评估语义熵方法性能的重要指标,前者侧重于模型预测错误答案的能力,后者则评估模型在拒绝不确定回答后的准确性提升。本文通过这些指标展示了语义熵方法在检测和减少大语言模型幻觉内容方面的优越性能。

评估指标

语义熵(Semantic Entropy):

  • 语义熵是用于检测大语言模型(LLM)输出不确定性的一种方法。其核心思想是根据生成文本的意义而非具体的词序列来计算不确定性。具体步骤如下:
    • 对输入生成多个答案。
    • 使用双向蕴涵(entailment)方法将这些答案聚类,根据答案是否在语义上等价进行分组。
    • 计算这些语义等价群组的概率分布,从而估算生成文本的语义熵。高语义熵表示模型对生成的内容存在高不确定性,可能产生虚构内容。

离散语义熵(Discrete Semantic Entropy):

  • 离散语义熵是语义熵的一种变体,主要用于在无法获得模型输出概率的情况下使用。其基本思想是将生成的答案视为离散的类别,通过统计各类别出现的频率来估计概率分布。
    • 生成多个答案。
    • 使用同样的方法将答案进行语义聚类。
    • 计算每个语义等价群组的频率,作为其概率分布,从而估算语义熵。

朴素熵(Naive Entropy):

  • 朴素熵直接基于生成的词序列计算不确定性。其计算方式是基于词的联合概率分布:
    • 对生成的每个答案,计算其词序列的联合概率。
    • 将这些概率归一化后,计算整个生成序列的熵。由于未考虑语义等价性,这种方法可能高估了不确定性。

P(True):

  • P(True)方法是一种基于生成答案的可信度估计方法。其具体步骤如下:
    • 生成多个答案,并将这些答案列表以及最可能的答案提供给模型。
    • 让模型判断最可能的答案是否为真,并计算其回答“是”的概率作为可信度分数。
    • 使用少量训练数据(few-shot)来增强模型对问题的理解和回答的准确性。

嵌入回归(Embedding Regression):

  • 嵌入回归是一种监督学习方法,用于预测模型回答的正确性。其基本步骤如下:
    • 使用语言模型生成答案并获取其最后的隐藏状态(嵌入)。
    • 训练一个逻辑回归分类器,基于这些嵌入来预测答案是否正确。
    • 这种方法依赖于训练数据的分布,如果训练数据和实际应用中的数据分布不匹配,性能可能会下降。

嵌入回归 - 分布外(Embedding Regression - OOD):

  • 分布外(Out-of-Distribution OOD)嵌入回归方法与嵌入回归类似,但训练数据和测试数据来自不同分布。
    • 训练分类器时使用一种数据分布,评估时使用另一种不同的数据分布。
    • 这种情况下,模型的性能通常会显著下降,因为训练时学到的模式可能无法很好地泛化到新的数据分布。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/865913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文献解读-基准与方法研究-第十五期|《不同 DNA 测序平台的标准化比较》

关键词:基准与方法研究;基因测序;结构变异检测; 文献简介 标题(英文):Standardized Comparison of Different DNA Sequencing Platforms标题(中文):不同 DNA…

【规范】Git分支管理,看看我司是咋整的

前言 🍊缘由 Git分支管理好,走到哪里都是宝 🏀事情起因: 最近翻看博客中小伙伴评论时,发现文章【规范】看看人家Git提交描述,那叫一个规矩一条回复: 本狗亲测在我司中使用规范的好处&#xf…

windows电脑如何使用计划任务定时重启电脑

下面是亲测可用。 1.windows设置-搜索控制面板-系统和安全-管理工具–计划任务 这时候开始创建计划任务了 1.创建基本任务 2.填写名称(这里根据需要自己填写) 2.触发器里选择:每日,下一步 3.修改时间,然后点击下…

解密智慧校园学工管理系统的学生机构功能

智慧校园学工管理系统中的“学生机构”功能,是专为促进学生组织高效运作和校园文化繁荣而设计的一套数字化管理工具。它从多个维度出发,全面覆盖学生组织的生命周期管理,确保学生自治能力和校园活力得到显著提升。 首先,这一功能支…

构造函数深入理解

目录 构造函数构造函数体赋值初始化列表初始化列表格式初始化列表的意义以及注意点const修饰的成员变量初始化对象成员具体初始化的地方缺省值存在的意义例子1例子2 初始化与赋值引用成员变量的初始化注意点1注意点2我的疑惑 自定义类型成员初始化例子1例子2例子3例子4 初始化列…

平衡二叉查找树和多路查找树

平衡二叉查找树 普通平衡二叉查找树 平衡二叉树定义是按照有序排列成树状,左子树数据大于右子树,任意节点的左右子树高度不能大于1 优点:可以保证绝对的平衡 缺点:当进行删除节点和新增节点,树进行自平衡的时候&…

Vanchip新一代WiFi产品全新亮相

1‧ 研讨会介绍 随着 Wi-Fi7 时代的到来,高频信号衰减较高,因此需要外挂 FEM 电路以提高发射信号的增益,从而保障远距离通信的效果和范围。WiFi-FEM 逐渐成为智慧手机、路由器等终端产品中的标配芯片。Vanchip 针对客户的迫切需求&#x…

【高精度实验】PFA具塞试管 四氟塞子 实验室分析专用

PFA具塞试管,以其四氟塞子的卓越密封性能,为实验室的精确度和安全性提供了双重保障。以下是针对PFA具塞试管的营销文案,特别强调其四氟塞子的特性: 【四氟密封,科研无忧】 在追求极致精确的科研世界里,PF…

安华金和—可信数据空间助力公共数据授权运营安全有序开展的实践探索

伴随数字化、网络化和智能化的快速发展,数字经济与实体经济深度融合,数据已然成为经济发展赖以依托的基础性、战略性资源,对社会生产、分配、流通、消费和社会服务管理等各环节产生深刻影响。我国高度重视数字经济发展,将数据列入…

14-21 人工智能的历史以及简单神经网络的工作原理

初始 “我们需要走得更深”这句台词出自电影《盗梦空间》。这是在讨论深入梦境更深层次时说的,暗示需要探索梦境的更深层次。虽然这似乎是不可能的,但它传达的理念是,要创造一个新的世界,就必须冒险进入更深的层次。 电影《盗梦空…

3D问界—MAYA中冻结变化的作用以及应用的场景

问题提出:MAYA中冻结变化的作用以及应用的场景 在Maya中,“冻结变换”(Freeze Transformations)的作用是重置对象的变换属性,包括平移、旋转和缩放,将它们归零或者设定为特定的值。这通常在以下几个步骤中需…

unity强力配置插件Luban【Next最新版本】(二)本地化

文章目录 前言一、快速实现静态本地化1、表格格式2、本地化文本3、修改bat文件3、打表 二、多语言切换1、修改bat文件2、增加本地化管理脚本3、测试 总结 前言 无需多言,本地化(Localization,简称 L10N)是指将产品、内容或服务适…

软考的报名详细流程

2024年软考的考试时间已经公布,分别为5月25日至28日和11月9日至12日。准备参加2024年软考的朋友们,一定要提前关注官方发布的考试安排。 本文将详细介绍软考报考的整个流程。准备报考的朋友们,阅读本文就足够啦!软考的报考流程大致…

【CT】LeetCode手撕—1143. 最长公共子序列

目录 题目1- 思路2- 实现⭐1143. 最长公共子序列——题解思路 3- ACM 实现 题目 原题连接:1143. 最长公共子序列 1- 思路 模式识别:最长公共子序列——> 动规五部曲 2- 实现 ⭐1143. 最长公共子序列——题解思路 class Solution {public int longe…

2024上半年网络工程师考试《应用技术》试题一

阅读以下说明,回答问题。 【说明】 MPLS基于(1)进行转发,进行MPLS标签交换和报文转发的网络设备称为(2),构成MPLS域(MPSDomain)。位于MPLS域边缘、连接其他网络的LSR称为(3),区域内部的LSR称为核心LSR(CoreLSR)IP报文进入MPLS网络时&#xf…

LLM4Decompile——专门用于反编译的大规模语言模型

概述 论文地址:https://arxiv.org/abs/2403.05286 反编译是一种将已编译的机器语言或字节码转换回原始高级编程语言的技术。该技术用于分析软件的内部工作原理,尤其是在没有源代码的情况下;Ghidra 和 IDA Pro 等专用工具已经开发出来&#…

等保2.0 实施方案

一、引言 随着信息技术的广泛应用,网络安全问题日益突出,为确保信息系统安全、稳定、可靠运行,保障国家安全、公共利益和个人信息安全,根据《网络安全法》及《信息安全技术 网络安全等级保护基本要求》(等保2.0&#x…

实验七 SQL数据更新和视图

题目 (1)向商品类别表category中插入一条记录(801,‘座椅套’,‘各种品牌的汽车座套’) (2)向商品表product中插入一条记录:商品编号80101,商品名称“四季通…

【HDC.2024】探索无限可能:华为云区块链+X,创新融合新篇章

6月23日,华为开发者大会2024(HDC 2024)期间, “「区块链X」多元行业场景下的创新应用”分论坛在东莞松山湖举行,区块链技术再次成为焦点。本次论坛以"区块链X"为主题,集结了行业专家、技术领袖、…

【Linux】虚拟机安装 openEuler 24.03 X86_64

目录 一、概述 1.1 openEuler 覆盖全场景的创新平台 1.2 系统框架 1.3 平台框架 二、安装详细步骤 一、概述 1.1 openEuler 覆盖全场景的创新平台 openEuler 已支持 x86、Arm、SW64、RISC-V、LoongArch 多处理器架构,逐步扩展 PowerPC 等更多芯片架构支持&…