LLM hallucinations — LLM幻觉与错误回答

From Systems analysis wiki
Jump to navigation Jump to search

幻觉(英语:hallucination)在大型语言模型(LLM)的语境下,是一种现象,指模型自信地生成一个看似合理(plausible)的回答,但该回答实际上与事实不符、与所提供的上下文不一致,或者在内部存在矛盾[1][2]。模型会“编造”出源数据中不存在的事实、细节或逻辑结论。

需要强调的是,幻觉并非传统意义上的故障或程序错误(bug)。模型的运行方式符合其设计初衷:基于从训练数据中提取的模式,预测最有可能的文本延续。它没有内置的事实核查机制[3]。幻觉与普通错误的区别在于,它以一种自信的方式呈现虚假信息,常常包含不存在的事实、引用或事件[4]。这一现象变得如此重要,以至于2023年剑桥词典为“hallucination”一词增添了与人工智能相关的新释义[5]

幻觉的定义与分类

虽然存在多种术语(如“虚构症”、“捏造”),但LLM中的幻觉可大致分为两大类:与事实准确性相关的和与来源忠实度(上下文一致性)相关的[6]

事实性幻觉

指模型提供的关于现实世界的信息实际上是错误的。模型将一个虚假的“事实”当作真相来陈述[1]

  • 示例“查尔斯·林德伯格是第一个登上月球的人”——这完全是一个虚构的事实。
  • 虚假引用和链接:模型可能会编造一个不存在的科学论文或法律的引用,并模仿真实引用的格式[2]。这损害了模型的可信度,尤其是在要求高精度的应用领域(如教育、新闻、咨询)[7]

逻辑错误

模型在推理过程中出现不一致或错误。回答中的个别事实可能正确,但结论不合逻辑或与基本逻辑相悖[2]。这种情况常发生在复杂的推理或数学与因果关系任务中,因为模型是基于词语的概率关联进行操作,而非形式逻辑[2][2]

  • 示例“因为鸟会飞,所以宇航员不会经历重力”——文本看起来连贯,但逻辑上是错误的。

上下文幻觉

模型的回答与所提供的上下文或指令不符。模型“脱离”了上下文,添加了多余的信息或忽略了必要的信息[1]

  • 违反指令:当被要求“将文本翻译成西班牙语”时,模型用英语作答[1]
  • 信息并非来自来源:在摘要任务中,模型“添加”了原始文件中不存在的事实,或歪曲了事实[1]
  • 上下文混淆:模型在回答中途突然开始谈论另一个领域的话题。例如,在回答关于NBA总裁Adam Silver的问题时,模型可能会切换到他的前任David Stern,从而混淆了两个不同的上下文[6]

不一致性

这是一种幻觉的变体,指模型在单个回答或一系列回答中自相矛盾[6]。一项研究发现,ChatGPT的回答中自我矛盾的比例约为14%[6][6]

  • 示例“X公司成立于1990年……几句话后……成立于2000年的X公司……”

代码幻觉

在代码上训练的LLM可能会生成语法正确但无法工作的代码片段,使用不存在的函数、库或参数[2]。例如,模型可能会在Python中生成`import quantum`,尽管并不存在这样的标准模块。2024年,有人提出了“code hallucination”(代码幻觉)这一术语,并创建了CodeMirage基准测试来系统化地研究此问题[8]

产生原因

幻觉现象是由多种因素共同造成的,从模型架构到数据质量都有影响。

  • 架构与训练原理:大多数LLM(如GPT)是自回归Transformer模型,其训练目标是预测下一个词元(token)。它们旨在最大化文本的合理性,而非验证陈述的真实性[2]。模型无法区分训练数据中的事实与虚构,将所有内容都视为文本模式[2]
  • 训练数据质量:LLM在来自互联网的海量文本语料库上进行训练,这些数据包含大量不准确、虚假和过时的信息[1]。模型会记忆并复现这些错误。知识截止日期(knowledge cutoff)也很重要,它指的是模型所掌握信息的时间上限。
  • 文本生成方式:生成的随机性(如带温度的采样)使模型能够创造出更具“创意”但准确性较低的回答。有限的上下文长度可能导致模型“忘记”对话早期的细节,从而产生自相矛盾的内容[6]

评估与衡量方法

为了检测和衡量幻觉,业界采用了自动化指标、人工评估和专门的基准测试。

  • 自动化指标:包括使用另一个LLM作为“裁判”(LLM-as-a-judge)来评估回答的正确性[9],或分析模型生成文本时的熵(不确定性)[10]
  • 人工标注:被认为是“黄金标准”。由专家或众包评估员手动评估回答并标记错误。这种方法用于通过RLHF训练模型[11]
  • 基准测试与压力测试:已创建了专门的数据集,如TruthfulQA,其中包含一些诱导模型复述常见错误信息的问题[12]。此外还有排行榜,例如Hugging Face Hallucination Leaderboard,用于比较不同模型的幻觉水平[13]

缓解与预防方法

  • 检索增强生成 (Retrieval-Augmented Generation, RAG):这是最成功的方法之一,它将模型“锚定”在外部知识上。在生成回答前,模型会从数据库、搜索引擎或API获取相关信息。这使得模型的回答能够基于经过验证的数据,而非凭空猜测[2]
  • 思维链 (Chain-of-Thought) 与自我验证:模型首先生成一步步的推理过程,然后再给出最终答案,从而提高准确性。在更先进的方法中,如自我验证 (Self-Verification),模型会先生成一个草稿答案,然后被要求检查并修正它[14]
  • 内置规则与过滤器:模型被训练在不确定时拒绝回答。例如,Anthropic公司的Claude模型遵循“真实性”原则,常常会回答“我不太确定……”,而不是编造事实[11]
  • 与外部工具集成:像Gemini这样的模型能够自动识别何时需要外部工具(例如用于计算的计算器或用于获取最新新闻的搜索功能),并加以利用,从而显著减少幻觉的发生[11]

风险与后果

  • 法律与声誉风险:在法律领域,幻觉可能带来严重后果。一个广为人知的案例是Mata v. Avianca (2023)案,一名律师使用ChatGPT查找判例,结果模型编造了几个不存在的案件。该律师因此被罚款,这一事件也警示人们不能在不加核实的情况下信任AI[1]
  • 传播虚假信息:在社会层面,LLM可能会加剧假新闻问题。一个著名案例是Meta公司的Galactica模型,它本是为帮助科学家而创建,却开始生成包含虚构实验和引用的伪科学文本。三天后,该模型的公开访问被关闭[15]
  • 做出错误决策:用户,尤其是经验不足的用户,倾向于相信AI自信表述的回答,这可能导致在金融、医疗和其他关键领域做出错误的决策[7]

实践案例

  • 加拿大航空案例(2023年):该航空公司的聊天机器人编造了一项不存在的退票政策。当客户要求适用该政策时,公司予以拒绝。加拿大运输仲裁庭裁定,加拿大航空公司须对其聊天机器人提供的信息负责,并赔偿客户损失[9]
  • 针对OpenAI的诽谤诉讼(2023年):电台主持人Mark Walters起诉OpenAI,因为ChatGPT在回答一名记者的提问时,谎称他涉嫌欺诈。此案凸显了公司对其模型生成内容所负的法律责任[6]

链接

参考文献

  • Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
  • Caccia, M. et al. (2018). Language GANs Falling Short. arXiv:1811.02549.
  • Fan, A. et al. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
  • Su, Y.; Collier, N. (2022). Contrastive Search Is What You Need for Neural Text Generation. arXiv:2210.14140.
  • Meister, C. et al. (2023). Locally Typical Sampling. arXiv:2202.00666.
  • O’Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
  • Finlayson, M. et al. (2024). Basis-Aware Truncation Sampling for Neural Text Generation. arXiv:2412.14352.
  • Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. arXiv:2402.06925.
  • Yu, S. et al. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
  • Chen, S. J. et al. (2024). Decoding Game: On Minimax Optimality of Heuristic Text Generation Methods. arXiv:2410.03968.

注释

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 “The Beginner's Guide to Hallucinations in Large Language Models”. Lakera. [1]
  2. 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 “What Is LLM Hallucination and How To Prevent It”. Astera. [2]
  3. “Hallucination (artificial intelligence)”. In Wikipedia. [3]
  4. “OpenAI describes LLM hallucinations as 'making up facts' in moments of uncertainty'”. [文中未指明来源].
  5. “Cambridge Dictionary adds new definition for 'hallucinate'”. [文中未指明来源].
  6. 6.0 6.1 6.2 6.3 6.4 6.5 6.6 “LLM Hallucination—Types, Causes, and Solutions”. Nexla. [4]
  7. 7.0 7.1 “Effective Tips to Prevent AI Hallucinations in Generative AI”. QuickCreator. [5]
  8. [2408.08333] CodeMirage: Hallucinations in Code Generated by Large Language Models. arXiv. [6]
  9. 9.0 9.1 “LLM hallucinations and failures: lessons from 4 examples”. Evidently AI Blog. [7]
  10. “How to Perform Hallucination Detection for LLMs”. Kolena. [8]
  11. 11.0 11.1 11.2 “ChatGPT vs Google Gemini vs Anthropic Claude: Comprehensive Comparison & Report”. DataStudios. [9]
  12. “Mastering LLM Accuracy: How to Test, Detect, and Fix Hallucinations in AI Models”. Stephen Weber on Medium. [10]
  13. “LLM Benchmarks and Leaderboards: Avoiding Foundation Model Mistakes”. Arize Blog. [11]
  14. “Improving the Reliability of LLMs: Combining Chain-of-Thought Reasoning and Retrieval-Augmented Generation”. arXiv. [12]
  15. “Why Meta Took Down its 'Hallucinating' AI Model Galactica?”. Analytics India Magazine. [13]