引言
这种事实性错误的存在对产品的广泛落地不可谓不致命,假设应用于医学,金融等非闲聊式场景,这些潜在风险就可能会造成经济损失或威胁生命安全,因此消除大模型中的事实错误成为了工业界和学术界的共同需求。
首先明确一则术语,在 NLP 论文中,这种事实性错误一般统称为“幻觉” (Hallucination),顾名思义,该术语最早用于图像合成等领域,直到后来描述诸如图像检测时检测到虚假或错误目标等现象,才沿用至自然语言生成 (NLG) 任务,指模型生成自然流畅,语法正确但实际上毫无意义且包含虚假信息即事实错误的文本,以假乱真,就像人产生的幻觉一样。
自然语言生成的“幻觉”成因
此前已有相关工作将自然文本生成中的幻觉问题分为内部幻觉 (intrinsic hallucination) 和外部幻觉 (extrinsic hallucination) 两大类。所谓内部幻觉,是指生成的文本与给定源文本出现不忠实 (unfaithfulness) 或不一致 (inconsistency) 的现象,这种问题常见于文本摘要任务中,生成的摘要与原文不一致。
另一种外部幻觉,则是指生成内容在源文本中并未提及,我们虽然不能找出相关证据,但也不能断言这就是错误的,这就涉及到语言模型本身的事实性知识 (factual knowledge) 或世界知识 (real-world knowledge)。下面对这些幻觉的成因进行分析。
虽然两类幻觉表现上有着明显区别,但成因却较为类似,根据以下因果图即可简单分析:
▲ Figure 2: 文本生成的幻觉来源因果分析
生成的文本 𝑌 由源文本 𝑋 和语言模型里的先验知识 𝐾 共同决定,由于一般认为给定的源文本都是事实正确的 ground-truth,所以出现的幻觉一般都会归结于语言模型本身包含了错误事实。
语言模型中的先验知识都来自于训练语料,用于训练语言模型的大数据语料库在收集时难免会包含一些错误的信息,这些错误知识都会被学习,存储在模型参数中,相关研究表明模型生成文本时会优先考虑自身参数化的知识,所以更倾向生成幻觉内容,这也是自然语言生成任务中大部分幻觉的来源,本文后续讨论的幻觉默认基于这个原因。
另一方面,模型训练和推理时的差异,也是导致推理时更容易生成幻觉的原因之一。训练中通常用最大似然估计的做法训练解码器,并且是以 ground-truth 作为后续预测 token 的前缀输入,而解码时则根据历史序列生成来预测下一个 token。通过改变解码策略,也能一定程度上增强生成文本的事实性。
▲ Figure 3: 人设对话不一致(选自 AI 乌托邦) ▲ Figure 4: 知识对话的事实不一致(图片来自 [3])
由于世界知识数量庞大且不断更新,知识对话的很难保持事实正确性 (factual correctness),也就是前文所说的外在幻觉,它可能是真实的但难以验证。知识对话涉及两个步骤,首先需要用一个检索模型根据上下文对话来检索所需要的相关知识,然后将检索的知识作为输入文本生成回复,对这两个阶段进行优化都可以显著提高对话的事实正确性。
文章构造了一个专门用于知识对话事实一致性检测的数据集 Conv-FEVER [4],通过改编 Wizard-of-Wikipedia 创建,由事实一致和不一致的回复组成,该工作将回复与外部知识的关系分为三类:
第一种是非验证性回复,即生成的回复只是做了简短闲聊,并未涉及任何外部知识,也就不需要来验证与知识的一致性;
第二种是事实一致性回复,即回复与外部知识高度相关一致,利用外部知识完成对话任务,这是最理想的状态;
第三种则是外部幻觉性回复,即回复中的知识与提供的外部知识信息不一致,由于外部知识也是检索而来,我们无法断言回复就一定发生了事实错误,这就需要借助“世界知识”来判断。
这三种分类基本涵盖了大部分知识对话可能产生的幻觉现象,利用该数据集,可训练分类器以检测与所提供的知识相关的事实不一致的回复。
对话系统“幻觉”的评估方法
对话系统,尤其是开放域对话,模型幻觉的评估仍是一个悬而未决的难题,截至目前也没有标准指标。对话回复往往根据事实一致性或事实正确性进行评估,整体有三条思路,分别是基于统计,模型和人工的评估方法。
4.1 基于统计方法的评估
最简单的幻觉评估方法是直接计算生成文本和参考目标文本之间的词汇匹配度,例如 ROUGE,BLEU 等,F1 分数结合了生成文本和目标文本的精确率和召回率,能更好地反应其匹配关系。额外使用源文本是因为不能保证输出目标文本包含输入源文本中可用的完整信息集。
然而开放域对话任务的回复往往不唯一,输入与输出是一对多的映射,而实际应用中,覆盖所有可能的输出几乎不可能,这也给目标参考的选择造成很大困难。在知识对话中,假设给定的外部知识是事实正确的,那么我们则更关注生成回复与依赖的外部知识间的一致性,相关工作提出 Knowledge F1 [5] 指标用于测量生成回复数据集收集期间参考的真实知识之间的重叠,非常适用于知识对话场景。
4.2 基于模型方法的评估
模型评估方法主要基于自然语言推理 (Natural Language Inference, NLI),即判断一项假设(即生成文本)是否蕴含于前提(即参考文本),基于 NLI 的指标将幻觉分数定义为源文本与生成文本之间的蕴含概率,也称为生成文本蕴含、中立和矛盾的次数百分比。
当然,这也意味着需要先收集相关蕴含关系的数据集来训练这样一个判别模型,当前已有不少工作工作发布额外的一致性数据集在基于 NLI 的方法上训练可学习的评估指标,如前文提到的 Conv-FEVER 数据集 [4];在知识对话中,还有工作提出借助问答系统的 𝑄2 方法来判断回复与外部知识的一致性 [3]。
基于模型的评估方法整体上比词级别的统计方法要适用得多,然而文本蕴含模型只能返回一个分数,无法定位具体生成文本的哪些部分是错误的,从消除事实错误的角度讲,还是应该更关注细粒度,可以定位到词级别的评估方法。
4.3 基于人工的评估
由于当前模型幻觉问题自动评估方法仍不完善,无论是通用的文本生成任务还是对话系统,人工评估仍然是最常用的方法之一,通常有对幻觉文本进行评分或与 groundtruth 直接比较两种方法,但都不可避免的会增加研究成本,一种比较折中的方法是,先让人工评估者在某个范围内对回复中的幻觉现象进行评分,然后提出改进一些现有的自动评估方法,只要该自动评估指标与人类评估打分趋势保持一致,就可以认为是个可行的评估方法 [6]。
5.1 数据方法
前文已分析过,造成模型生成幻觉文本的首要因素是训练数据,那么构造干净的数据集,进行数据去噪显然是一条可行的方法。由于预训练数据多为网上收集的句子,一般都需要进行去噪操作,修改语法,指代不明或事实错误,确保语言模型能学习到事实准确的知识,另外也可以用 Wikipedia 这样的知识库或其他三元组表示的知识来对语言模型的进行知识增强,这些数据都是公认的包含世界知识的准确数据,对于降低模型幻觉的干扰有很大帮助。
在对话微调阶段,可以先用前文的测量指标对回复进行评估打分,然后过滤掉那些低质量不可信的回复,人工标注的样本也需要严格的筛选,确保模型生成与外部知识一致,并且保留对话特性,能完成应用场景对话任务的可靠回复。
5.2 模型方法
数据方法涉及到人工构造,也就意味着成本较高,所以学术上更加关注使用其他方法,这里统称为模型方法,是因为区别于数据方法,其他方法都是对模型的架构、训练或推断来进行优化的。
对开放域对话任务而言,我们往往希望能控制生成回复的偏好,使其具备某种特性,以手动提供的可控 token 或自动预测的方式加到输入上,来提高生成回复的可信度,例如训练一个 token 来控制生成回复偏向第一人称的主观表达还是第三人称的客观陈述,然后在测试阶段通过手动赋值就可以控制回复的偏好了 [7],这对于人设对话是很有参考价值的,如果将人设特征如性格、年龄、性别、职业、爱好等都设置成可控 token,那么只需要手动设置,就可以构建出各式各样的虚拟角色了。
另外在知识对话中,模型幻觉很大程度来源之一是外部知识选择不正确,因此用更强的检索模型搜索知识,返回更加有用的知识,也是消除对话回复幻觉的有效途径之一 [5]。当前 ChatGPT 并不具备检索能力,其模型内部的隐式知识已然非常强大,一旦可以进行检索,结合网络上海量数据,就可以做到实时学习,并更新模型内部过期的知识,这对模型效果的进一步提升也是相当可观的。
▲ Figure 5: 最后来调戏一把 ChatGPT
▲ Figure 6: 最后来调戏一把 ChatGPT
总结
本文受启发于 ChatGPT 的事实错误问题,从文本生成的幻觉问题入手,对当前对话大模型的幻觉现象,评估以及解决方法进行了简单综述,模型幻觉仍是对话大模型的发展瓶颈,本文也不难看出,无论是幻觉评估还是解决,受限于对话任务本身的难度,都还是任重而道远,不过我们有理由相信,一旦解决了模型幻觉这一重大难题,那通用大模型也就离真正的人工智能不过咫尺之遥了。
[1] Z. Ji, N. Lee, R. Frieske, T. Yu, D. Su, Y. Xu, E. Ishii, Y. Bang, A. Madotto, and P. Fung, “Survey of hallucination in natural language generation,” ACM Computing Surveys, 2022. 1
[2] E. Dinan, V. Logacheva, V. Malykh, A. Miller, K. Shuster, J. Urbanek, D. Kiela, A. Szlam, I. Serban, R. Lowe et al., “The second conversational intelligence challenge (convai2),” in The NeurIPS’18 Competition: From Machine Learning to Intelligent Conversations. Springer, 2020, pp. 187–208. 3
[3] O. a. Honovich, “𝑞2: Evaluating factual consistency in knowledge-grounded dialogues via question generation and question answering,” in Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, Nov. 2021, pp. 7856–7870. 4, 5
[4] S. Santhanam, B. Hedayatnia, S. Gella, A. Padmakumar, S. Kim, Y. Liu, and D. HakkaniTur, “Rome was built in 1776: A case study on factual correctness in knowledge-grounded response generation,” arXiv preprint arXiv:2110.05456, 2021. 4, 5
[5] K. Shuster, S. Poff, M. Chen, D. Kiela, and J. Weston, “Retrieval augmentation reduces hallucination in conversation,” in Findings of the Association for Computational Linguistics: EMNLP 2021, 2021, pp. 3784–3803. 5, 6
[6] N. Lee, W. Ping, P. Xu, M. Patwary, P. Fung, M. Shoeybi, and B. Catanzaro, “Factuality enhanced language models for open-ended text generation,” in Advances in Neural Information Processing Systems, 2022. 6
[7] H. Rashkin, D. Reitter, G. S. Tomar, and D. Das, “Increasing faithfulness in knowledgegrounded dialogue with controllable features,” in Proceedings of the 59th Annual Meeting of 8the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), 2021, pp. 704–718. 6