大模型幻觉怎么来的,如何检测,如何缓解幻觉?
内容提要
- 大脑幻觉
- 大模型幻觉
- 为什么会幻觉
- 如何检测幻觉
- 如何解决幻觉
(1)大脑幻觉
“幻觉”这个词在拉丁语中的意思是“精神上徘徊”
幻觉是指感知到环境中不存在的虚假事物。
幻觉由大脑创造,可以看到、听到、感觉到、闻到和尝到,是一种非常生动的感官体验。
五种感官:
听觉幻觉(Auditory hallucinations): 即幻听,听到没有物理源头的声音,消极、积极或中立,从脚步声、敲击声到音乐
视觉幻觉(Visual hallucinations): 看到不真实的东西,如 人、图案、灯光等
触觉幻觉(Tactile hallucinations): 身体上的感觉、运动,如虫子在皮肤下爬行、别人的手放在身体上
嗅觉幻觉(Olfactory hallucinations): 闻到来源不明的气味儿, 如 难闻的味道,或愉悦的香水味儿
味觉幻觉(Gustatory hallucinations): 尝到不明的味道,如 癫痫病人常常尝到金属味儿
最常见的是听觉。
有的幻觉让人愉悦,但有的幻觉让人可怕、震惊,具有破坏性。
幻觉发生在具有精神疾病人身上,可能是某些药物、癫痫的副作用;正常人入睡时,进入梦乡,也可能出现幻觉,即 “催眠幻觉”。
(2)大模型幻觉
对于大模型,尤其是大语言模型,什么是幻觉?
幻觉这个词在NLP领域,其实在大模型之前就存在
(2.1)幻觉定义
The generated content that is nonsensical or unfaithful to the provided source content On faithfulness and factuality in abstractive summarization
模型生成内容(如文本)不遵循原文(Faithfulness)或者不符合事实(Factualness)
注意,有两个关键词:
Faithfulness(忠实): 是否遵循输入内容。
Factualness(事实): 是否符合世界知识。
(2.2)幻觉分类
多篇论文对幻觉进行多种维度的分类。
【分类一】忠实型幻觉+事实型幻觉
① 事实型幻觉:事实类错误,根据事实内容是否可验证,进一步分为:
a. 事实不一致:大模型输出包含基于现实世界信息的事实,但存在矛盾。比如第一个登上月球的人是王小二,现实世界存在这个事情,但大模型把登上月球的人名记错了。
b.事实捏造:是指大模型的输出包含无法根据现实世界知识进行验证的事实的情况。比如独角兽的起源,现实世界根本没有独角兽。
② 忠实型幻觉:输出是否符合用户指令,又分三类:
a. 指令不一致:大模型输出偏离用户指令。
b. 上下文不一致:大模型输出与用户提供的上下文信息不相符。
c. 逻辑不一致:大模型输出表现出内部逻辑矛盾,通常在推理任务中出现。
【分类二】内在型幻觉+外在型幻觉
内在型幻觉
(Intrinsic Hallucinations)与外在型幻觉
(Extrinsic Hallucinations)
① 内在型幻觉(Intrinsic Hallucinations)
内在型幻觉指模型自身生成过程中出现的问题,通常是模型训练数据或内部处理机制引起。
这些幻觉是模型内部逻辑和知识的错误表现。
逻辑幻觉(Logical Hallucinations)
例子:时间悖论、错误推理
描述:模型在逻辑推理或计算时出现的错误。
时间幻觉(Temporal Hallucinations)
例子:过时信息、时间错乱
描述:模型处理时间信息时出现的错误。
上下文幻觉(Contextual Hallucinations)
例子:角色混淆、情境误解
描述:模型对当前对话或问题的情境理解错误,导致生成不连贯或不相关的内容。
② 外在型幻觉(Extrinsic Hallucinations)
外在型幻觉指模型在生成内容时提供了与现实世界不符的信息,通常与模型训练数据不完整或过时有关。
事实幻觉(Factual Hallucinations)
例子:虚构事实、错误引用
描述:模型生成的内容包含与现实世界事实不符的信息。
引文幻觉(Citation Hallucinations)
例子:伪造引文、错误文献
描述:模型生成的内容中包含虚假的引用或不存在的文献。
身份幻觉(Identity Hallucinations)
例子:错误身份、错误背景
描述:模型对个人或实体身份的错误描述。
功能幻觉(Functional Hallucinations)
例子:错误操作、误导步骤
描述:模型错误地描述了某个功能或过程。
来源:
- 【2023-9-24】腾讯、浙大论文 Siren’s Song in the AI Ocean: A Survey on Hallucination in Large Language Models
- 【2023-11-9】哈工大论文 A Survey on Hallucination in Large Language Models: Principles, Taxonomy, Challenges, and Open Questions
对于LLMs,常见幻觉有三种:输入冲突幻觉、上下文冲突幻觉和事实冲突幻觉。
输入冲突幻觉:生成内容与用户输入不符;
上下文冲突幻觉:生成内容较长或多轮会话时,与之前生成信息相矛盾;
事实冲突幻觉:是指生成的内容与已知的世界知识不符。
示例展示三种幻觉:忠实型幻觉(输入冲突+上文冲突)和事实型幻觉(事实冲突)
(3.3)多模态幻觉
注意,幻觉不止出现于文本,还会再多模态场景中出现,如:图文理解、图像生成。
图文理解:图片里并没有人
扩散模型(Stable Diffusion)典型案例:
使用提示词:正向提示词
Prompt:a super beautiful chinese girl showing two hands,Open palms in a welcome sign,smiling,wearing pink dress,standing in the street,front view,upper body
结果:挺漂亮的小姐姐,可惜人有6个手指、局部残缺扭曲
(3)为什么会有幻觉
(3.1)生物幻觉原因
生物体角度上,幻觉原因三大类: 精神、医学和药物使用
Psychiatric Causes 精神病: 最常见, 包括精神分裂症、双相情感障碍、重度抑郁症和痴呆。研究人员估计,60%至80%的精神分裂症患者会出现幻听
Medical Causes 医学因素: 高烧、偏头疼、癫痫、视觉听觉损失、耳鸣、脑肿瘤、肾功能衰竭、睡眠障碍等
Substance Use-Related Causes 药物因素: 酒精、药物作用下发生幻觉,尤其是可卡因、LSD、PSP等物质,治疗身心状况的药物也会引起幻觉,如 治疗帕金森病、抑郁症、精神病和癫痫的药物。
(3.2)大模型幻觉成因
2023年4月,OpenAI联合创始人兼研究科学家John Schulman在UC伯克利的演讲中,详细阐述了大模型难以攻克的难题。
LLM黑盒内部隐藏着一个「知识图谱」。如果这个架构中没有的知识,仅通过SFT教大模型(即行为克隆)知识,实则在教它输出幻觉。
OpenAI 翁丽莲总结大模型幻觉原因:
① 预训练
预训练数据信息过时、缺失或不正确
模型记忆方式是简单地最大化对数似然,可能以错误方式记忆信息
② SFT/RLHF
监督式微调 和 RLHF 等技术对预训练 LLM 进行微调。微调阶段,难免需要引入新知识。
小规模微调能否让模型学到新知识?
Gekhman et al. 的论文《Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations?》
(1) 当微调样本中包含新知识时,LLM 学习速度会更慢一些(相比于微调样本中的知识与模型已有知识一致的情况);
(2) 模型一旦学习了带有新知识的样本,那么模型会更倾向于产生幻觉。
腾讯、浙大论文提到四点:
训练时,缺乏相关知识/吸收错误知识, 导致产生幻觉。
大模型高估了自己能力,对事实知识边界的理解不精确,过度自信,误导大语言模型编造答案。
对齐过程(SFT,RLHF)可能会误导大语言模型产生幻觉,当大模型在预训练阶段没有获得前提知识而进行指令训练时,这实际上是一个错位过程,会导致大语言模型产生幻觉。
大模型生成策略可能导致幻觉,比如top-p、top-k引入的随机性也可能是幻觉的潜在来源。
综上,LLM幻觉根本原因分为三个关键方面:数据、训练和推理。
① 数据
预训练数据集不完整、过期
LLM捕捉虚假相关性,长尾、复杂推理场景推理困难,加剧幻觉
② 训练
预训练阶段:LLMs学习通用表征并捕捉广泛的知识,通常采用基于transformer架构,在庞大的语料库中进行因果语言建模。但是,固有架构设计和研究人员所采用的特定训练策略,可能会产生与幻觉相关的问题。
对齐阶段:监督微调和从人类反馈中强化学习(RLHF)。虽然对齐能显著提高 LLM 响应的质量,但也会带来产生幻觉的风险,主要分为两方面:能力不对齐(Capability Misalignment)和信念不对齐(Belief Misalignment)
③ 推理
解码策略固有的随机性(Inherent Sampling Randomness):比如采样生成策略(如top-p和top-k)引入的随机性可能导致幻觉。
不完善的解码表示(Imperfect Decoding Representation):在解码阶段,LLM 使用顶层表示法预测下一个标记。然而,顶层表示法也有其局限性,主要表现在两个方面:上下文关注不足(Insufficient Context Attention)和Softmax瓶颈(Softmax Bottleneck)。
(4)幻觉检测
(4.1)生物幻觉检测
生物体角度,Diagnosis 诊断
Blood tests 血液测试
Electroencephalogram (EEG) 脑电图(EEG)检查癫痫发作或异常脑活动
Magnetic resonance imaging (MRI) 磁共振成像 (MRI) 寻找脑部结构问题的证据,例如肿瘤或中风
(4.2)大模型幻觉检测
大模型角度,如何检测幻觉,是个难题
Chatgpt倾向于在回复中生成无法被验证的内容(幻觉),占比 约11.4%
顶级LLM,如Chatgpt,都很难精准检测出文本幻觉问题
一般通过提供外部知识和增加推理步数,能够提升LLM检测幻觉的能力
【2024-4-24】 斯坦福AI(大模型)指数2024年度报告提到:
大模型容易产生幻觉,尤其是法律、医学领域,广泛存在。
当前研究主要集中在幻觉产生原因上,如何识别幻觉易发领域、评估幻觉程度的研究却很少。
2023年出来的数据集 HaluEval,3.5w条样本,专门用于检测大模型幻觉。
ChatGPT生成的内容中,高达19.5%的回复无法验证是否幻觉,涉及语言、气候和科技领域。
许多大模型都在幻觉问题上苦苦挣扎
幻觉发生率上:ChatGPT、Claude 处于第一梯队,较少发生
(4.3)大模型幻觉检测方法
按照是否有参照系划分:
(1)Reference-based
Reference-based 指标有两类:
基于 Source Information 和 Target Reference:利用统计学指标,比如ROUGE、BLEU来评估输出结果和Source/Target信息的重叠度。
基于 Source Information:NLG任务里Target输出往往是多种多样的,因此许多工作只基于Source信息进行幻觉的评估。比如Knowledge F1。
注:
基于Reference的评价指标只能评价
Faithfulness
,而无法评价Factualness
,因此不适用于LLMs。
(2)Reference-Free方法
(1) 基于
IE
:将知识限定于可以用三元组形式表示的关系和事件,基于额外的IE模型进行抽取,接着使用额外模型进行验证。缺点:可能存在IE模型的错误传播问题。
知识被限定在三元组形式。
(2) 基于
QA
:这种方法同样存在QA/QG模型的错误传播问题。
难以评估
Factualness
,因为第二步里面,Source Information不可能包含全部的世界知识,因此对于一些问题难以生成可靠的回复。2020, ACL, FEQA: A question answering evaluation framework for faithfulness assessment in abstractive summarization
第一步先基于LM生成的回复,使用一个QG(question generation)模型生成一系列QA pairs;
第二步给定Source Information,让QA模型对上一步生成的Question进行回复;
第三步则是通过对比第一步的answers和第二步的answers,计算匹配指标,衡量模型的幻觉问题;
缺点
(3) 基于
NLI
:基于NLI的方法通过利用NLI模型评估是否Source Information可以蕴含Generated Text,从而评估是否出现了幻觉现象。例子:Putin is president. -> Putin is U.S. president (可以蕴含,但是是幻觉)
Off-the-shelf NLI模型用于核查事实效果不是很好;
无法评估需要世界知识的幻觉问题:仅能依赖于Source进行核查;
都是sentence-level的,无法支撑更细粒度的幻觉检查;
2021, Evaluating groundedness in dialogue systems: The BEGIN benchmark
2020, EMNLP, Evaluating factuality in generation with dependency-level entailment
2020, EMNLP, Evaluating factuality in generation with dependency-level entailment
缺点
幻觉问题和蕴含问题实际并不等价:
(4) 基于
Factualness Classification Metric
:标注/构造一批和幻觉/事实有关的数据,训练检测模型,利用该模型评估新生成文本的幻觉/事实问题。2018, ICLR, Wizard of Wikipedia: Knowledge-powered conversational agents
(5) 人工评估:目前为止最靠谱的
(6) 依靠LLM 打分
比如GPT4,但是GPT4也存在着严重的幻觉问题,除非retrival-augment,但是检索回来的信息也有可能是错误
自我纠错方法真的有用吗?
Deepmind发布的论文:LARGE LANGUAGE MODELS CANNOT SELF-CORRECT REASONING YET(大语言模型还不能在推理上自我纠错)
实验结果:让LLM(GPT-4和Llama-2)多次纠错后,准确率都下滑,次数越多,下滑越厉害。GPT-4比Llama-2降幅小。
GPT-4在没有外部信息指导情况下,纠错能力堪忧。通过纠错实现内在幻觉矫正的路子行不通
(5)幻觉解决
(5.1)生物幻觉解决
生物体角度,Treatment 治疗
治疗计划包括药物、治疗和自助或其他支持方式的组合。
药物:抗精神病药物可以有效地治疗各种类型的幻觉
对于帕金森病患者,Nuplazid(匹莫范色林)是美国食品和药物管理局批准的治疗幻觉的药物
疗法:心理治疗(有时称为“谈话疗法”)对出现幻觉的患者有所帮助,训练有素的心理治疗师使用一系列技术和策略来帮助应对这种情况。
自助:锻炼、哼唱、听音乐、无视声音、阅读、与人交谈
(5.2)大模型幻觉解决
大模型角度,大语言模型(LLM)可能永远无法消除“幻觉”
Sam Altman说:“幻觉和创造性是等价的”。
减轻幻觉策略,包括:
增加意识
使用更先进的模型
提供明确说明
提供示例答案
提供完整的背景
验证输出
实施检索增强生成(RAG)
(5.3)多模态幻觉修复
对于文生图里的问题样例,解决方法:
- 收集bad case,返回给基座模型训练——周期长,代价大
- 对于少量案例,后处理,即时修复——周期端,见效快
修复方法
① 图生图局部重绘:针对两只手,分别人工框选问题区域,二次绘制,输入图片及提示词:和生成图片的正向提示词保存一致。
② 条件生成:借助ControlNet,人工一次性标记两个问题区域,指定特定条件进行修复。如:
姿态修复(openpose),识别人体姿态,修复局部信息,手部操作容易,可控性很强,细节瑕疵(长度和接头处)
深度修复(HandRefiner),识别深度信息,手部突出,然后一次性修复。
直接贴上几种方案对比图:
(5.4)幻觉根治
真的无法根治吗?
【2024-5-6】原文 Exclusive: Alembic debuts hallucination-free AI for enterprise data analysis and decision support
AI初创公司 Alembic 首次宣布,一种全新AI系统,用于企业数据分析和决策支持,完全解决了LLM虚假信息生成问题, 饱受诟病的LLM幻觉,被彻底攻破
新型图神经网络充当因果推理引擎获取数据,组织成一个复杂节点和连接网络,捕捉事件和数据点随着时间推移形成的关联。
听起来挺有道理,但是方法未开源,无从验证该方法有效性。
幻觉问题的解决之路,任重而道远,我们拭目以待。
参考资料: