一 背景意义
ChatGPT是一款强大的大型语言模型(LLM),它通过学习大量文本数据,包括维基百科等知识资源,使其具备广泛的自然语言理解能力。ChatGPT通过利用自己的知识展示的强大的问答能力使人们对于探索ChatGPT是否能够替代传统的基于知识的问答(KBQA)模型越发产生兴趣。虽然已经有一些研究关注ChatGPT的问答性能,但仍然缺乏对各种类型的复杂问题进行大规模全面的测试来分析模型的局限性。
本文基于此背景下,提出了一个基于CheckList的黑盒测试规范的框架。文中在八个基于知识库的真实世界的复杂问答数据集上评估了ChatGPT及其LLM家族,其中包括六个英语数据集和两个多语言数据集。测试用例的总数约为190000个。除了LLM的GPT家族外,还评估了众所周知的FLAN-T5,以确定GPT家族与其他LLM之间的共性。
二 国内外研究现状
目前,有大量的国内外研究学者对ChatGPT进行了许多评估,其中一些评估包括对问答任务的测试,并得出了以下结论:例如,有研究发现在200个问题的测试集上,ChatGPT的稳定性低于传统的KBQA模型,还有其他学者在分析了30个样本后,发现ChatGPT是一个“懒惰推理者”,更容易受到诱导。然而,由于测试用例的数量有限,很难根据这些发现对ChatGPT在KBQA任务上的性能进行全面评估。
此外,以上发现的可靠性还需要进一步的验证测试。本文提出,答案评估的困难是现有作品没有在ChatGPT上进行大规模KBQA测试的主要原因,ChatGPT输出包含答案而不是确切答案的句子或段落。此外,由于生成的文本上下文的影响,ChatGPT的答案序列可能不一定严格对应于知识库中的实体名称。因此,传统的精确匹配(EM)度量不能直接评估用于问答的ChatGPT的输出。因此,上述大多数工作都依赖于人工评估。
三 整体架构
整体评价框架
本文中选择了基于知识库的复杂问题回答(KB-based CQA)任务来综合评估LLM基于自身知识回答复杂问题的能力。该任务要求模型使用组合推理来获得问题的答案,包括多跳推理、属性比较、集合运算和其他复杂推理。本文通过评估ChatGPT在复杂知识问答中的表现来帮助了解现有的LLM是否有潜力超越传统的KBQA模型,或者ChatGPT是否已经能够取代当前最好的KBQA模型。其中提出的评估框架由两部分组成:
(1)针对测试中涉及的KBQA数据集,建立了特征驱动的统一标注方法;
(2)对LLM生成的答案的评估。受HELM框架中使用多个场景标签评估语言模型的方法的启发,本文用统一的答案类型、推理类型和语言类型标签标记每个测试问题。
在答案评估部分,文中首先改进了精确匹配(EM)方法,使其可以用于评估LLM输出的准确性。主要过程是通过组成树从LLM输出中提取潜在的答案短语作为候选答案库,然后将其与维基数据提供的注释答案和别名形成的参考答案库进行匹配。
此外,本文遵循CheckList测试规范并设置三个测试:最小功能测试(MFT)不变性检验(INV)和方向期望检验(DIR)。MFT检查模型的基本功能,INV检查在输入中添加不影响回答的信息时模型是否能够保持功能正确性,DIR检查在修改输入时模型是否能输出预期结果。此外,文中遵循CheckList的思想,并使用CoT提示为DIR生成测试用例。
四 具体工作
4.1特征驱动的统一问题标注
本文收集了多个现有的基于知识库的CQA数据集进行评估。然而,由于每个数据集中用于答案和推理类型等特征的注释规则不同,因此建立了一组标准化、统一的问题特征标签来评估和分析问题类型。参考现有KBQA数据集提供的问题标签,文中将复杂问题特征的标签分为三种类型,包括答案类型、推理类型和语言类型。
对于输入问题,文中采用了如下的标记过程如下:当数据集提供问题类型标签时,我们只需将它们与我们的特征标签列表进行匹配。当没有提供标签时,我们使用现有的基于bert的NER模型来识别答案的类型,并使用SPARQL中的关键字来识别推理的类型。
4.2答案评估
传统KBQA模型的输出通常采用两种形式:SPARQL查询或确切答案。其评估策略基于精确匹配(EM),然而,LLM如果没有添加额外的提示将会生成包含答案的文本段落而非精确答案。因此本文提出了拓展答案匹配。
4.2.1 拓展答案匹配
为获取类似精确匹配的LLMs的KBQA输出的评估结果,文中提出扩展答案匹配方法。该方法由三个主要部分组成:
- 使用构成树分析LLM的输出,提取NP或VP根节点短语作为候选答案池。
- 使用从Wikidata获取的多语言别名来扩展每个参考答案。
- 使用m-bert计算参考答案和候选答案之间的最大余弦相似度,进行精确匹配评估,并仅将模糊匹配策略应用于非“NUM,DATE,Boolean”答案类型。
4.2.2阈值选择和敏感性分析
此外,仅使用EM评估答案(阀值 = 1)可能导致平均3.89%的假负例。文中采用一种基于余弦相似度的模糊匹配过程,通过3000个模糊匹配问题的测试,确定阈值为0.78,将六个大型语言模型的平均错误率最小化。在此阈值下,准确性趋于稳定,将平均错误率从3.89%减至2.71%。
4.3 CheckList测试框架
基本功能测试(MFT):选择通过仅包含涉及单一推理操作的问题来检查LLMs执行基本推理任务的性能。通过与执行多个推理操作的问题的性能差异进行比较。
不变性测试(INV):文中设计了两种方法为INV生成测试用例:第一种方法是在原始句子中随机引入拼写错误;第二种方法是生成一个与原始句子语义等价(改述)的问题。通过输出答案进行评估。
定向预期测试(DIR):文中为DIR测试用例设计了三种模式:(1) 替换与问题中的推理操作相关的短语,观察LLMs的输出。 (2) 在原始问题文本后添加带有答案类型的提示,检查LLMs输出的答案类型。 (3) 使用受CoT启发的多轮提问,观察CoT提示对不同问题类型的性能。
五 实验
5.1数据集
本文选择了六个具有代表性的英语单语KBQA数据集和两个多语言KBQA数据集中进行评估。这些数据集包括WebQuestionSP、ComplexWebQuestions、GraphQ和QALD-9等经典数据集,以及KQApro、GrailQA和MKQA等新提出的数据集。
5.2模型比较
在本文中,我们从KBQA排行榜中引入了当前SOTA模型的报告分数,作为传统KBQA模型进行比较。
5.3大语言模型
在这篇文章中比较了GPT家族模型,包括GPT-3, GPT-3.5 v2, GPT-3.5 v3, ChatGPT (它们在OpenAI的模型索引文档上的名称是:text-davinci-001, text-davinci-002, text-davinci-003, gpt3.5-turbo-0301) 和GPT-4。此外,还选择了不属于GPT家族的大型语言模型:FLAN-T5。
5.4结果
首先,ChatGPT在八个测试集中的三个上超越了当前的SOTA传统模型,而随后发布的GPT-4在四个测试集上超越了当前的SOTA传统模型。
通过比较GPT-4和SOTA模型的性能,我们可以看到,作为GPT家族代表的LLMs,它们的零样本能力正在不断接近甚至超越传统的深度学习和知识表示模型。
其次,比较GPT家族中的模型,新模型的性能如预期般优于前一代。FLAN-T5性能较弱但与GPT家族线性相近,表明基于transformer的架构导致了当前LLMs能力的共性。
基于MKQA和QALD-9的结果,文中指出尽管随着GPT家族持续迭代,模型回答不同语言问题的能力也在上升,但GPT-4在四种语言上均未超过ChatGPT。这表明GPT的多语言能力的演变可能开始放缓。并且这种变化的很有可能是因为GPT-4引入了多模-态数据。
MFT 结果:在 MFT 测试中发现:(1) 除了多跳和星形问题外,ChatGPT 在执行其他类型的推理操作时,多重推理的执行能力优于单一推理。(2) 尽管通过多重推理生成了改进,但 ChatGPT 在回答计数问题上并不擅长。
INV 结果:从 GPT-3 到 GPT-4,GPT 模型的整体稳定性有所提高,GPT-4 的稳定性率达到了 91.70,与传统 KBQA 模型非常接近。ChatGPT 的稳定性略低于 GPT-3.5。
DIR 结果:在第一种模式中,我们采用手动观察的方法观察模型输出,结果发现即使是最新的 GPT 模型在执行推理操作时仍然具有很高的随机性,这将影响其适用的场景。在第二种模式中,我们为模型的输入提供提示,指示答案类型,并观察 EM 分数的变化。结果表明对于大多数模型,提示对布尔和 NUM 类型问题具有相对稳定的正面效果,而对 MISC 类型问题的答案大多受到负面影响。在第三种模式中,我们通过一个初级的 CoT引导过程逐步引导模型首先提供回答问题所需的关键信息,然后回答原始问题。推理类型方面,CoT 提高了所有模型在集合操作、条件过滤和计数方面的能力,但对多跳和星形问题的帮助不大。
六 优缺点分析
优点:文章中所提出的扩展的答案匹配机制,为后期的探索关于大语言模型能否替代传统KBQA提供了新的评估工具,替代了之前研究中所使用的耗时耗力的人工评估方法。其次,在阀值选择和敏感性分析方面,也为我们未来探索提高LLM的问题回答的能力提供了一个新的思路和方向。
缺点:我们观察大语言模型的答案发现,部分题目,大语言模型并没给出答案,而不是因为答案是错误的。我们分析出现这类情况的相关题目发现,大语言模型在回答可能会随着时间改变的答案时,往往就会告知这个题目无法给出具体答案。此外,由于大语言模型不同于传统KBQA的可解释性,大语言模型的结果还不能应用于一些特定领域。
七 阅读体会
本文一改传统KBQA的方式,也没有像近期的研究一样,将大模型和传统模型进行融合,作为一个语义解析的工具,而是直接利用大语言模型内部学习得到的知识作为知识库,不再依赖传统的知识图谱,直接向大语言模型进行提问来获取答案,对于知识图谱研究领域给予了不小的冲击。随着这篇论文的面世,基于大语言模型的知识问答也正式向传统的KBQA发起冲锋。
在基于CoT思维链的提示下,大语言模型的性能有了进一步的提升,此外,大语言模型在一些经典数据集上达到的成绩超过当前SOTA模型的性能,说明了大语言模型的推理能力已经超过了传统的深度学习网络模型,由于大语言模型学习的知识并不是实时的,这也印证了之前提到的大语言模型在处理一些随着时间而发生改变的答案的问题时,无法给出答案的情况,并且为未来的研究提供了方向。
本文在多语言KBQA的问答上发现,所有性能最好的结果都出现在了ChatGPT和GPT-4中,并且随着GPT的迭代,性能也在逐渐提升。同时也表明GPT的多语言能力的演变可能开始放缓,开始侧重于其他方向。
在基于特征标签的结果中,我们可以看出GPT家族的模型更擅长回答布尔值答案、关于组织和位置的问题、以及涉及集合操作和数值比较的问题。然而,它们在回答需要精确日期或涉及数值计算的问题时表现不佳,这表明生成式的大语言模型在精确度方面和计算能力上还远远达不到我们预期的标准。此外,我们还发现GPT-3.5 v3在回答需要通过上下文区分实体提及的多跳和星型问题时表现更好,而ChatGPT为了模拟对话历史而牺牲了这些能力,但ChatGPT的对话学习使其更好地回答单挑类型的问题。在CoT的引导下,我们发现对于数字答案类型的问题上,效果是显著的,表明在思维链在大语言模型和与数字相关的问题上的重要性。
不难发现,我们想要迭代一个模型,使其在各个方面的性能达到极致是不现实的。随着openAI发布GPT-4 turbo 以及GPT store,专注于特定领域的GPT将会在自己的领域内实现更强劲的性能,而GPT-4也将成为所有GPT衍生的母模型。