首页 > 其他分享 >Why Does ChatGPT Fall Short in Providing Truthful Answers?

Why Does ChatGPT Fall Short in Providing Truthful Answers?

时间:2024-08-16 18:24:50浏览次数:16  
标签:Short 错误 模型 知识 Answers Does 事实性 ChatGPT 我们

文章目录

题目

为什么 ChatGPT 无法提供真实的答案?

在这里插入图片描述

论文地址:https://arxiv.org/abs/2304.10513

摘要

    ChatGPT 等大型语言模型的最新进展已显示出影响人类生活各个方面的巨大潜力。然而,ChatGPT 在为用户问题提供可靠和准确的答案方面仍然面临挑战。为了更好地了解该模型在提供真实答案方面的具体弱点,我们开始深入探索开放域问答。具体来说,我们详细检查了 ChatGPT 的失败之处,将其分为:理解力、事实性、特异性和推理。我们进一步指出事实性是导致失败的主要原因,并确定了与事实性相关的两种关键能力:知识记忆和知识回忆。通过专注于事实性的实验,我们提出了几种潜在的增强策略。我们的研究结果表明,用细粒度的外部知识和知识回忆的线索来增强模型可以增强模型在回答问题时的真实性。

简介

    ChatGPT/GPT-4 因其实际应用而获得了广泛认可,为广泛的查询提供了有用且信息丰富的响应。最近的研究对 ChatGPT 在众多 NLP 任务上进行了全面的技术评估,表明 ChatGPT 在各种任务中的表现优于其他模型。然而,尽管 ChatGPT 展现出了令人印象深刻的能力,但研究人员也强调了 ChatGPT 的一些挑战,例如它无法执行可靠的推理 、有效地翻译低资源语言、解决复杂的数学问题并提供准确的信息。虽然这些缺点都有记录,但现有文献中尚不完全清楚。ChatGPT 导致这些挑战的具体局限性。以问答系统为例:模型失败是因为无法推理还是缺乏回答问题的知识?这个问题是由于知识不足造成的,还是模型难以回忆起问题的内部知识?回忆知识的困难是根本原因,还是模型难以理解问题的上下文或意图?在本研究中,我们深入探讨了 ChatGPT 在复杂开放域问答系统中的弱点,因为这项任务与用户的日常搜索需求密切相关,需要广泛的知识以及强大的理解和推理能力。

    我们的目标是确定 ChatGPT 在提供真实答案方面的常见失败模式,找出导致这些失败的 ChatGPT 缺乏的具体能力,并考虑潜在的改进策略为此,我们首先采用主题分析法来分析 ChatGPT 失败的实例,并将其分为四种主要错误类型:理解错误、事实性错误、特异性错误和推理错误。然后,我们将事实性缺陷确定为主要失败,并将知识记忆和知识回忆确定为回答事实性问题的关键能力。此外,我们提出了几种潜在的策略来帮助缓解这些缺陷。我们的结果表明,通过提供细粒度的外部知识和知识回忆线索,可以增强 ChatGPT 的事实性。我们的研究结果为开发更可靠的问答系统提供了实用的见解。

相关工作

    大量研究已对 ChatGPT 的各个方面进行了检查,包括其总体评价、理解能力、数学能力、错误修复性能、分布外 (OOD) 行为、翻译行为和问答性能。尽管 ChatGPT 表现出色,但研究界已发现一些问题,包括其推理、事实准确性、解决复杂数学问题和伦理影响。然而,这些研究主要集中在常见问题的分类和识别上,对导致失败的潜在缺陷的深入研究有限。在这项工作中,我们识别了问答场景中的常见故障,深入研究了导致这些错误的基本能力缺陷,并根据我们的实验见解提出了缓解这些故障的潜在策略。

模型和数据集

    我们专注于复杂的开放域问答,使用两个广泛使用的基准数据集:HotpotQA和 BoolQ,它们都使用维基百科作为知识来源。 我们从 HotpotQA 中选择了 200 个问题来分析 ChatGPT 所犯的错误。 为了评估事实性,我们从 HotpotQA 中另外抽样了 500 个问题,从 BoolQ 中抽样了 1000 个问题。 我们使用这些数据集评估了 GPT-3.5 和 GPT-4 的性能。 为了从 GPT-3.5 和 GPT-4 生成响应,我们使用了公共 OpenAI API。1 4 ChatGPT 的失败 4.1 主题分析 我们使用主题分析 [Braun and Clarke, 2012] 检查了模型对 200 个 HotpotQA 样本的响应,这是一种识别数据中的模式或“主题”的方法。该过程首先从数据中提取初步的“代码”,然后将其组合成更广泛的主题。

    为了确保主题分析严谨而全面,我们采用了双注释者方法。我们要求两位独立的注释者(两人都精通该主题并有定性分析经验)独立审查数据集。最初,他们分别工作以识别代码、分析和报告数据中的模式(主题)。在完成独立分析后,注释者召开协作会议,比较、讨论和协调他们确定的主题中的任何差异。在注释者之间讨论之后,我们将他们分为几个主题,并用额外的 40 个问题验证了这些主题。我们确认可以通过这些主题实现错误的完整表示。

    为了量化注释者之间的一致性程度,我们使用了 Cohen 的 Kappa κ。此统计指标用于评估两位评分者之间超出偶然预期的一致性的可靠性。Cohen’s Kappa 的公式如下:在这里插入图片描述
    在这个公式中,po 代表观察到的一致比例,pe 代表预期的一致比例。在我们的研究中,计算出的编码员间一致性为 0.8394,这表明注释者之间的一致性程度很高。我们最终确定了四个确定的主题:问题理解和意图、事实正确性、特异性水平和推理,称为理解错误、事实性错误、特异性错误和推理错误。理解错误是指未能理解问题的上下文和意图。在我们的实验中,该模型在理解问题方面表现出色,但在面对包含语法错误或歧义的问题时会表现出不足。例如,表 1 理解行中显示的问题对模型提出了挑战,因为疑问代词“what”不正确,应该是“which”。因此,模型无法认识到问题是在用蓝色标记的两个项目中寻求选择,而是将其误解为在最后三个项目中的选择。

    当模型缺乏产生准确答案所需的支持事实时,就会发生事实性错误。这可能是由于模型缺乏对特定实体、属性或事件的了解。表 1 事实性行中的示例显示了当模型对两个管道的长度有不正确的了解时发生的错误。虽然这种类型的错误很简单,但它占了模型中的大多数错误。当模型无法在适当的特异性水平上回答问题时,就会发生特异性错误。这可能表现为模型提供的答案过于笼统或过于具体。例如,在表 1 的特异性行中,对于第一个问题,正确答案是剧作家,但如果模型回答作者,则不够具体。同样,在第二个问题中,基本事实是摇滚,但模型预测 Superheaven 是另类摇滚,Oceansize 是前卫摇滚,并声称它们不属于同一流派。这也被归类为特异性错误。

    当模型拥有回答问题的必要知识,但未能有效地推理事实以得出正确答案时,就会发生推理错误。例如,对于表 1 推理行中的第一个问题,模型可能知道 Muse 有三名成员,The Raconteurs 有四名成员,但仍然错误地声称 Muse 拥有更多成员。此外,该模型可能无法根据常识做出预测。在第二个问题中,尽管知道 Meadowbank 金矿仍在生产黄金,而 Temagami-Lorrain 矿已经停产多年,但该模型仍然无法推断出前者目前由于持续生产而更有价值。

在这里插入图片描述

结果

    我们统计了四个类别的错误频率。我们使用 GPT-3.5 作为基线模型,向其输入了简单的问题。为了研究提供外部证据的效果并研究 GPT-4 的改进,我们还探索了向 GPT-3.5 模型(GPT3.5+evi)提供具有黄金证据(提供问题明确答案的准确信息)的问题,向 GPT-4 模型提供简单的问题。结果总结在表 2 中。根据我们的实验,我们做出了以下观察:

  1. 近一半的失败是由于事实性错误,其次是推理错误、理解错误和特异性错误。
  2. 提供证据不仅解决了事实性问题,而且还显着减轻了理解和特异性错误。
  3. 与 GPT-3.5 相比,GPT-4 模型有所改进,特别是在解决理解和特异性错误方面。然而,事实性只是略有改善。

我们的发现强调了事实性是开放领域 QA 中主要关注点,因为它在错误中占据主导地位,对其他错误类型有影响,而 GPT-4 在这方面的改进不足。
在这里插入图片描述

事实性背后的能力

    正如我们在第 4.2 节中指出的那样,事实性是开放域问答中最关键的问题,因此我们专注于研究事实性。借鉴认知科学对问答中人类记忆组织的研究,我们将事实性错误视为从 LLM 记忆中检索问题相关知识的认知失败。 我们将问题 q 的基本知识 p 定义为回答问题 q 所必需的知识,并确定知识检索过程的两个关键能力:

  • 定义 1(知识记忆) 存在一个适当的提示 s,当输入模型时,将产生基本知识 p。
  • 定义 2(知识回忆) 给定问题 q 作为提示,模型能够输出记忆的基本知识 p。

    针对这两种能力,我们对模型由于缺乏知识而无法回答的问题进行了实验。为了测试知识记忆,我们将基本知识改写为一个问题。例如,在表 3 中,我们通过询问管道长度来评估模型的记忆能力。为了进一步评估知识回忆,我们在同一次对话中重新询问了原始问题。如果模型在这种情况下回答准确,但只问原始问题时回答不准确,则表明存在回忆问题。在表 3 的回忆行中,该模型在前面的相关问题之后正确回答了关于 Chang 出生事件的查询,但没有这个上下文则失败。
我们发现 46 个错误中有 6 个源于回忆问题,其余来自记忆。我们区分知识记忆和回忆的新见解为解决与知识相关的问题提供了新的视角。

提高 QA 的事实性

    在我们之前的实验中,我们证明了事实性错误可能源于知识记忆或回忆。为了研究如何缓解它,我们使用 HotpotQA 和 BoolQ 数据集进行了实验。我们使用简单问题配置和 GPT-3.5 模型作为基线。由于 GPT-3.5 和 GPT-4 具有相似的底层架构和训练过程,我们仅对前者进行了实验以得出观察结果。我们的实验提示如附录 A 所示。为了进行评估,我们使用了部分匹配,它检查基本事实是否是预测的子串。

    知识记忆模型在记忆事实方面的局限性已将研究引向检索增强语言模型,例如使用外部语料库或搜索引擎增强的语言模型。但是,噪音和非必要信息可能会影响检索,例如,值得注意的方法从 Bing 搜索中检索整个网页作为知识。因此,我们将检索到的知识称为上下文信息,并将粒度定义为上下文信息与基本知识的长度比。我们研究了粒度在四种不同粒度设置中对性能的影响。

  • 句子级别。直接在句子级别提供外部知识。
  • 段落级别。我们提供黄金证据句子以及与实体相关的其他句子。
  • 部分级别。我们提供包含黄金证据句子的维基百科部分。

    知识回忆为了缓解知识回忆问题,我们将知识回忆过程视为使用给定的键(默认情况下为简单问题)检索 LLM 内存中的值(基本知识),并测试提供实体相关键是否有助于知识回忆过程。根据提供的键,我们提出了以下设置:

  • 完整的实体名称。我们为模型提供问题中核心实体的完整维基百科名称,例如,对于电影“Samson and Deliah”,我们提供“Samson and Deliah (1984 film)”。
  • 定义句。除了实体名称外,我们还提供实体的初始维基百科句子作为定义或背景,确保不存在基本知识。
  • 随机相关句子。我们还提供实体维基百科页面中的其他随机句子以及实体名称,再次避免基本知识。

    发现I.外部知识的粒度越细,结果越好。表4(顶部)显示,外部知识的整合可提高性能,并且有效性受知识粒度的影响。将基本知识与其他句子一起包含会影响(尽管影响很小)结果,而使用带有证据的整个维基百科部分会大大降低性能提升。这表明,输入知识粒度越粗,性能越低。

在这里插入图片描述

    发现 II. 提供相关键有助于回忆基本知识。表 4(底部)表明,为模型提供键可以提高准确性。提供完整的实体名称可以提高性能,而提供实体背景或定义句子可以进一步帮助回忆知识,即使没有基本知识也是如此。但是,来自实体维基百科页面的随机句子并不能提高性能,反而会降低性能。

基于这些发现,我们从 LLM 研究的角度探索了提高问答真实性的策略。

  • 提供具有细粒度的外部上下文作为证据,帮助记忆基本知识。虽然 LLM 拥有大量的隐性知识,但显然仍有大量知识在训练期间难以覆盖或在推理期间难以回忆。因此,根据我们的研究结果,构建一个基于问题的 IR 系统以更细粒度地检索知识将很有帮助。在 New Bing2、Bard3 和 ChatGPT 插件4 等系统中,已经观察到一些朝这个方向的尝试。
  • 提供实体描述作为键来帮助回忆基本知识。在我们的分析中,我们观察到有时 ChatGPT 确实记住了解决问题的基本知识,但无法回忆起问题相关的知识。Huang 等人的研究中强调了一个相关发现,他们观察到虽然语言模型可以记住大量的电子邮件地址,但它们很难将特定的电子邮件地址与相应的个人姓名关联起来。提高回忆能力可能是开发更强大的语言模型的一个有趣方向。

结论

    我们的研究探讨了 ChatGPT 在真实开放域问答环境中的常见错误,确定了四种错误类型,并指出事实性错误是最关键的错误。我们进一步定义了基本知识,并研究了与事实性相关的两种关键能力:知识记忆和知识回忆。我们研究了证据粒度对知识记忆的影响,并为知识回忆提供了相关关键点。我们最后提出了一些方法来提高 ChatGPT 在问答中的事实性,有助于理解事实性,并为增强问答系统和语言模型提供见解,促进更可靠的 LLM。

标签:Short,错误,模型,知识,Answers,Does,事实性,ChatGPT,我们
From: https://blog.csdn.net/weixin_43961909/article/details/141266508

相关文章

  • SOMEIP_ETS_042: echoUTF16DYNAMIC_length_too_short_for_String
    测试目的:验证设备(DUT)能否正确拒绝一个长度小于实际字符串长度的echoUTF16DYNAMIC字符串。描述本测试用例旨在检查当发送的SOME/IP消息中的echoUTF16DYNAMIC字符串长度小于实际字符串长度时,DUT是否能够返回格式错误(MALFORMED_MESSAGE)的错误消息。测试拓扑:具体步骤:TEST......
  • 时间数据格式出现time data does not match format valueError
    合并文件夹中多个文件数据后,出现ValueError:timedata'19970004'doesnotmatchformat'%Y%m%d'(match)首先,应该查看数据,是数据是否格式正确,我的错误来源于将多个文件合并后,多行标题也在不同的位置进行合并,导致本应该是数据的一行成为了标题行解决方法1:查看数据是否存在......
  • activiti初始化报:java.sql.SQLSyntaxErrorException: Table ‘activiti.act_ge_proper
    在学习activiti过成中,由于使用的MySQL是8版本的,所以报了:org.apache.ibatis.exceptions.PersistenceException: ###Errorqueryingdatabase. Cause:java.sql.SQLSyntaxErrorException:Table'activiti.act_ge_property'doesn'texist###Theerrormayexistinorg/......
  • WPFUI报错 - page does not have a parameterless constructor
    WPFUI报错pagedoesnothaveaparameterlessconstructor.IfyouareusingWpf.Ui.IPageServicedonotnavigateinitiallyanddon'tuseCacheorPrecache问题原因WPFUI中的NavigationView只支持导航页面的无参构造函数或含一个dataContext的有参构造函数。因为在View......
  • 解决Maven Deploy时提示module java.base does not "opens java.util" to unnamed mod
    使用Maven向中央仓库推送项目时,遇到Unabletomakefieldprivatefinaljava.util.Comparatorjava.util.TreeMap.comparatoraccessible:modulejava.basedoesnot"opensjava.util"tounnamedmodule的错误提示。网上搜了下,大概是因为自Java9起,引入了模块系统(ProjectJig......
  • Leetcode 3244. Shortest Distance After Road Addition Queries II
    Leetcode3244.ShortestDistanceAfterRoadAdditionQueriesII1.解题思路2.代码实现题目链接:3244.ShortestDistanceAfterRoadAdditionQueriesII1.解题思路这一题的话由于题目限制了road不会交叉,因此我们只需要在每次增加road之后将中间节点删除,剩余的路......
  • 创建xtrbackup备份用户 ERROR 1819 (HY000): Your password does not satisfy the cur
    查看密码策略mysql>SHOWVARIABLESLIKE'validate_password%';+--------------------------------------+--------+|Variable_name|Value|+--------------------------------------+--------+|validate_password_check_user_name......
  • 【完美解决】 TypeError: ‘str’ object does not support item assignment
    【完美解决】TypeError:‘str’objectdoesnotsupportitemassignment在Python编程中,遇到TypeError:'str'objectdoesnotsupportitemassignment这样的错误通常意味着你试图修改字符串中的某个字符,但字符串是不可变类型,不支持这种操作。本文将深入探讨这一错误......
  • CodeForces 1873A Short Sort
    题目链接:CodeForces1873A【ShortSort】思路    签到题,因为能交换两个元素的位置,所以只需要判断是否有一个元素在他原来该在的位置上就行。代码#include<iostream>#include<cstring>usingnamespacestd;#definelllonglongconstintN=1e5+10;void......
  • 【C++】unsigned char与short的区别?
    unsignedchar与short的区别unsignedchar和short(通常为signedshort或简称为short)是C/C++中两种不同的整数数据类型。它们的主要区别在于存储大小、表示范围和是否带符号。存储大小:unsignedchar 通常占用1字节(8位)的存储空间。short 的大小依平台而定,但通常是2字节......