引言
大语言模型(LLMs)在自然语言处理领域展现了巨大的潜力,但同时也带来了"幻觉"问题。幻觉指的是模型生成不真实、虚构或不一致的内容。Lilian Weng,OpenAI安全系统团队负责人,最近在她的博客中详细梳理了在理解、检测和克服大语言模型幻觉方面的研究成果。本文将详细介绍这些研究成果,探讨幻觉的定义、类型、产生原因、检测方法及克服策略。
幻觉的定义和类型
传统上,幻觉是指模型生成的内容与实际不符。Lilian Weng将幻觉限定为模型输出与提供的上下文或世界知识不一致,具体分为两种类型:
- 上下文幻觉:输出与上下文内容不一致。
- 外在幻觉:输出应该基于预训练数据集,但由于预训练数据集规模庞大,检索和识别冲突的成本非常高,导致无法每次生成时都执行。
幻觉的产生原因
大语言模型的训练分为预训练和微调两个阶段,每个阶段都有可能导致幻觉。
预训练阶段
预训练数据通常来源于公共互联网,存在信息过时、缺失或不正确的问题。模型在最大化对数似然的过程中可能以不正确的方式记忆信息,导致错误。
微调阶段
微调阶段引入新知识以提升模型的某些具体能力,如指令遵从。然而,微调能否可靠地让模型学到新知识存在风险。当微调样本中包含新知识时,模型的学习速度会减慢,并且更倾向于产生幻觉。
幻觉的检测方法
检索增强式评估
通过检索和验证生成结果中的每个原子事实,如FActScore和SAFE方法。FActScore基于知识库验证事实,而SAFE通过多步骤的迭代过程向搜索引擎发送查询并推理结果是否支持事实。
基于采样的检测
如SelfCheckGPT方法,根据多个样本进行一致性检查,度量模型响应和随机样本之间的一致性。
对未知知识进行校准
如TruthfulQA和SelfAware基准,度量模型在无法回答或不知道答案时的诚实表现。TruthfulQA强调人类谬误,SelfAware则包含不可解答的问题。
间接查询
如Agrawal等人的研究,通过间接查询方法,如询问参考文献的作者,来检测生成内容的真实性。
幻觉的减少方法
检索增强生成(RAG)
通过先检索相关文档,再将其作为额外上下文进行生成。RARR框架通过编辑归因,校正生成结果中没有证据支持的内容。
基于复述的方法(RECITE)
将复述作为中间步骤,提高生成内容的事实正确性,并减少幻觉。
采样方法
如基于假设的事实核采样算法,假设采样随机性对句子后半部分事实性的影响大于开头部分。推理时间干预(ITI)方法通过拟合线性探针来区分真实和虚假输出。
事实增强训练
通过引入TopicPrefix和更新训练损失等方法,提高模型的事实性。FLAME方法通过SFT+RLHF对齐训练,生成更具事实性的训练数据。
归因微调
如WebGPT和GopherCite,通过检索相关文档和监督式微调,帮助模型生成有参考资料支持的答案。
结论与未来展望
大语言模型在生成自然语言时的幻觉问题是一个重要且复杂的挑战。通过理解幻觉的产生原因,采用多种检测和减少幻觉的方法,可以显著提升模型的输出质量。未来,随着技术的发展和研究的深入,针对幻觉的解决方案将更加完善,推动大语言模型在各个领域的应用。