
FacTool:验证大规模语言模型生成信息可靠性的新框架。
三个要点
✔️ 提出了一个新框架 FACTOOL,用于对大规模语言模型生成的信息进行事实检查。
✔️ 利用各种工具(如谷歌搜索、谷歌学术、Python)检测大规模语言模型生成的信息中的错误。
✔️ 它适用于各种任务和场景,具有很强的可扩展性。
FacTool: Factuality Detection in Generative AI -- A Tool Augmented Framework for Multi-Task and Multi-Domain Scenarios
written by I-Chun Chern, Steffi Chern, Shiqi Chen, Weizhe Yuan, Kehua Feng, Chunting Zhou, Junxian He, Graham Neubig, Pengfei Liu
(Submitted on 25 Jul 2023 (v1), last revised 26 Jul 2023 (this version, v2))
Comments: Published on arxiv.
Subjects: Computation and Language (cs.CL); Artificial Intelligence (cs.AI)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
概述
大规模语言模型在许多任务中都表现出很高的性能,其使用量也在迅速增长。另一方面,生成的文本有可能包含不正确的信息。这对于在与人类生命和活力相关的领域(如医学、金融、法律等)实施这些模型是一个特别的挑战。需要有技术使大规模语言模型能够检测生成文本中的错误信息,并检查生成文本的有用性和可靠性。
尽管已经有研究在大规模语言模型生成的文本中检测错误信息,但所有这些工作都是针对特定任务的,不足以应用于大规模语言模型,因为大规模语言模型具有很强的通用性。
因此,本文提出了一个名为 FACTOOL 的框架,用于检查大规模语言模型生成的文本是否正确,不受任务和领域的影响。该框架使用谷歌搜索和 Python 等各种 "工具 "来检查人工智能生成的文本是否正确。
什么是 FACTOOL?
FACTOOL 是一个可扩展的框架,可与各种工具相结合,检查大规模语言模型生成的内容是否正确。如下图所示,它由五个步骤组成。
- 主张提取:从大规模语言模型生成的文本中提取要点(主张)。
- 生成查询:使用合适的工具生成查询,为其要点(主张)收集证据。
- 工具使用:将生成的查询输入合适的工具。
- 证据收集:关于从工具中获得的证据的信息。
- 匹配验证:验证收集到的证据是否与要点(主张)一致。
本文研究了 FACTOOL 在四项任务中的实用性:"基于知识的质量保证",用于回答基于现有知识的问题;"代码生成",用于生成新的程序代码;"数学问题解决",用于解决数学问题;以及 "科学文献综述写作",用于总结科学文章。
实验 1:索赔提取评估
下面我们将介绍本文中进行的一些实验。首先,本节将介绍 FACTOOL 第一步--提取权利要求--的性能评估。它评估了从生成的句子中提取权利要求的准确性。这里使用的是 "RoSE "数据集。该数据集包含一组句子和专家从这些句子中提取的一组 "主张"。我们在此测试这些专家提取的主张与 FACTOOL 提取的主张的匹配程度。
FACTOOL 使用 GPT-4、ChatGPT 和 Flan-T5 三种不同的模型来提取索赔,并使用四个指标(ROUGE-1、ROUGE-2 和 ROUGE-L)来衡量每个模型提取的索赔与专家提取的索赔之间的相似性、BERTScore)。结果如下表所示,FACETOOL 提取的索赔与专家提取的索赔相当一致。
实验 2:评估 "FACTOOL "框架
在此,我们评估了使用 2ChatGPT 的 FACTOOL 和使用 GPT-4 的 FACTOOL 在四项任务中的性能:基于知识的质量保证、代码生成、数学问题解决和科学文献综述准备。
此外,还有两个标准可用于评估大规模语言模型确定 FACTOOL 中信息准确性的能力。这两个标准分别是 "3 次 CoT 自检 "和 "零次 CoT"。这两个标准是模型自我检查其输出是否正确的方法。您告诉模型找出您的错误之处,并加以解释和纠正。两者的区别在于你向模型展示了多少个例子,也就是提供了多少 "示范"。在 "三枪 CoT 自我检查 "中,向模型展示三个示例,然后要求其解决问题。在 "零次 CoT "中,要求学生在没有任何示例的情况下解决问题。它们分别被标记为自检 (3) 和自检 (0)。这些标准衡量模型判断自身输出准确性的能力,以及需要多少实例才能做到这一点。准确性、可重复性、拟合度和 F1 分数都是在主张和响应两个层面上报告的。每项任务的性能如下表所示。
首先,使用 GPT-4 的 FACTOOL 在所有测试场景(基于知识的质量保证、代码生成、数学问题和科学文献综述)中表现最佳:在基于知识的质量保证中,主张级 F1 为 89.09,响应级 F1 为 71.79;在代码生成中,主张级和响应级在基于知识库的质量保证中,主张级 F1 为 89.09,响应级 F1 为 71.79;在代码生成中,主张级和响应级 F1 分别为 92.11;在数学问题中,主张级 F1 为 98.97,响应级 F1 为 80.36;在科学文献综述中,主张级 F1 为 95.24,响应级 F1 为 94.74。这些数字在每项任务中都是最高的。
此外,使用 GPT-4 的 FACTOOL 在所有情况下都优于 Self-Check。这表明,FACTOOL 在人工智能识别和纠正自身错误的能力之外,还能更准确地评估事实真实性。特别是在科学文献综述方面,使用 GPT-4 的 FACTOOL 明显优于 Self-Check。这表明,与大规模语言模型相比,Google Scholar 在查找引文的特定任务中非常强大。
此外,可以看出在所有场景中,使用 GPT-4 的 FACTOOL 都优于使用 ChatGPT 的 FACTOOL。尤其是基于知识的质量保证任务中的查询生成和协议验证部分,ChatGPT 的难度更大,而 GPT-4 则相对容易,因此断言级的 F1 得分为 89.09,而 GPT-4 为 81.25;响应级的 F1 得分为 71.79,而 GPT-4 为 52.63。
总之,可以看出 FACTOOL 是检查文本是否符合事实的有用工具,而 GPT-4 的整体表现更好。
实验 3:使用 FACTOOL 评估聊天机器人的事实性
在这里,FACTOOL 使用 GPT-4 来研究各种聊天机器人给出的答案内容是否符合事实。这里研究了五个聊天机器人:GPT-4、ChatGPT、Claude-v1、Bard 和 Vicuna-13B。
FACTOOL 为每个聊天机器人提供了若干提示(问题或指令),并对回复进行了评估。提示是从 "基于知识的质量保证"、"代码生成"、"数学问题解决 "和 "科学文献综述写作 "四项任务中选择的,其中 "基于知识的问题解答 "是最常见的场景,因此测试时使用了三倍的提示。
FACTOOL 用于评估聊天机器人生成的答案是否符合事实(主张准确性)以及答案整体上是否恰当(答案准确性)。该评估是加权的,"基于知识的问题回答 "回答的权重高于其他任务。该权重由每个场景中提示数量的比例决定。
结果如下表所示。可以看出,GPT-4 在索赔准确性和答复等级方面得分最高。这表明,GPT-4 生成的答复最符合事实,而且总体上也提供了最恰当的答复。
摘要
本文提出了一个新框架 FACTOOL,用于检查大规模语言模型生成的信息是否符合事实。然而,由于大规模语言模型用途广泛,涵盖各种领域和任务,而且可以生成长句,因此对其进行事实检查并非易事。因此,FACTOOL 结合了五个步骤来解决这些问题:提取主张、生成查询、利用工具、收集证据和匹配验证。和其他各种工具来进行事实调查并展示其实用性。
FACTOOL 是一个多功能框架,可应用于各种任务,如常识问题解答(QA)、代码生成、数学问题求解和科学文献审查,并可扩展到更多场景。随着大规模语言模型使用的增加,事实检查将变得越来越重要,而像 FACTOOL 这样的事实检查框架在未来可能会迅速走俏。
与本文相关的类别