1. 什么是大模型幻觉(Hallucination)?
大语言模型的模型幻觉问题是指其可能生成看似合理但实际上不准确或不符合事实的内容。这种现象类似于人类的'虚构',是生成式人工智能面临的核心挑战之一。处理大语言模型的模型幻觉问题需要采取一些方法和策略,通过挂载文档(知识库)可以有效地缓解幻觉问题。
2. 为什么 LLM 会产生幻觉?
有一些研究也在致力于分析幻觉出现的不同原因,已知的一些原因包括:
源与目标的差异:当我们在存在源与目标差异的数据上训练模型时,模型产生的文本可能与原始源内容产生偏差。这种差异,有时可能是在数据收集过程中不经意间产生的,有时则是故意为之。
无意识的源 - 目标差异:这种差异的产生有多种原因。例如,数据可能是基于某种经验法则编制的,使得目标信息并不总是完全依赖源信息。举例来说,如果从两家不同的新闻网站获得相同事件的报道作为源与目标,目标报道中可能包含源报道没有的信息,从而导致二者不同。
有意识的源 - 目标差异:某些任务在本质上并不追求源与目标的严格一致,尤其是在需要多样性输出的情境下。
训练数据的重复性:训练过程中使用的数据,如果存在大量重复,可能导致模型在生成时过于偏好某些高频短语,这也可能引发'幻觉'。
数据噪声的影响:使用充斥噪声的数据进行训练,往往是导致'幻觉'出现的关键因素之一。
解码过程中的随机性:某些旨在增加输出多样性的解码策略,如 top-k 采样、top-p 方法以及温度调节,有时会增加'幻觉'的产生。这往往是因为模型在选择输出词汇时引入了随机性,而没有始终选择最可能的词汇。
模型的参数知识偏向:有研究表明,模型在处理信息时,可能更依赖其在预训练阶段所积累的知识,而忽略了实时提供的上下文信息,从而偏离了正确的输出路径。注意力机制的衰减也可能导致关键信息丢失。
训练与实际应用中的解码差异:在常见的训练方法中,我们鼓励模型基于真实数据预测下一个词汇。但在实际应用中,模型则是根据自己先前生成的内容进行预测。这种方法上的差异,尤其在处理长文本时,可能会导致模型的输出出现'幻觉'。
最后,如 GPT 之类的生成模型,其实只是学会了文本中词汇间的统计规律,所以它们生成内容的准确性仍然是有限的。
3. 为什么需要解决 LLM 的幻觉问题?
LLMs 的幻觉可能会产生如传播错误信息或侵犯隐私等严重后果。比如在医疗应用中,对患者生成的报告如果存在幻觉可能导致错误诊断甚至影响生命安全。幻觉影响了模型的可靠性和可信度,因此需要解决 LLM 的幻觉问题。在企业级应用中,幻觉还可能导致法律风险、品牌声誉受损以及错误的商业决策。
4. 幻觉一定是有害的吗?
幻觉不一定是有害的,特别是在一些需要创造力或灵感的场合,比如写电影剧情,幻觉的存在可能带来一些奇思妙想,使得生成的文本充满想象力。因此,对幻觉的容忍度取决于具体的应用场景。在创意写作、头脑风暴等场景中,一定的幻觉甚至是有益的;但在事实查询、代码生成、法律咨询等场景中,必须严格控制幻觉。
5. 幻觉有哪些不同类型?
幻觉主要可以分为两类:即内在幻觉和外在幻觉。
- 内在幻觉:生成的内容与源内容相矛盾。例如,源文本说'苹果是红色的',模型生成'苹果是蓝色的'。
- 外部幻觉:生成的内容不能从源内容中得到验证,既不受源内容支持也不受其反驳。例如,源文本未提及某人的出生年份,模型却生成了具体的年份。
此外,还有基于事实的幻觉(Factuality Hallucination)和基于逻辑的幻觉(Logical Hallucination)。前者涉及具体事实的错误,后者涉及推理链条的断裂。
6. 如何度量幻觉?
最有效可靠的方式当然是靠人来评估,但是人工评估的成本太高了。因此有了一些自动化评估的指标:
- 命名实体误差:命名实体(NEs)是'事实'描述的关键组成部分,我们可以利用 NE 匹配来计算生成文本与参考资料之间的一致性。直观上,如果一个模型生成了不在原始知识源中的 NE,那么它可以被视为产生了幻觉(或者说,有事实上的错误)。
- 蕴含率:该指标定义为被参考文本所蕴含的句子数量与生成输出中的总句子数量的比例。为了实现这一点,可以采用成熟的蕴含/NLI 模型。
- 基于模型的评估:应对复杂的句法和语义变化。使用另一个强大的模型来判别生成内容是否真实。
- 利用问答系统:此方法的思路是,如果生成的文本在事实上与参考材料一致,那么对同一个问题,其答案应该与参考材料相似。具体而言,对于给定的生成文本,问题生成模型会创建一组问题 - 答案对。接下来,问答模型将使用原始的参考文本来回答这些问题,并计算所得答案的相似性。
- 利用信息提取系统:此方法使用信息提取模型将知识简化为关系元组,例如<主体,关系,对象>。这些模型从生成的文本中提取此类元组,并与从原始材料中提取的元组进行比较。


