什么是幻觉

一、简介

在大语言模型(LLM)的应用落地中,"幻觉"是目前面临的最大挑战之一。

简单来说,大模型的幻觉(Hallucination)是指模型生成了看似合理、通顺,但实际上与事实不符、逻辑错误或与其输入源不一致的内容。 也就是俗称的"一本正经地胡说八道"。

二、幻觉分类:"狭义"和"广义"

学术界和工业界对幻觉的定义略有不同,通常可以分为"狭义"和"广义"两个维度。

维度 定义 (Definition) 核心特征 典型示例
狭义幻觉 (Narrow Sense) 与世界知识冲突 (Factuality Issues) 模型生成的陈述与现实世界中已建立的事实相矛盾。 它主要关乎"真伪"。 问:"谁是《哈利波特》的作者? " 答:"是斯蒂芬·金。 " (事实性错误)
广义幻觉 (Broad Sense) 不忠实于输入或逻辑 (Faithfulness + Factuality) 不仅包含事实错误,还包含"不忠实"(Unfaithfulness)。 即模型生成的内容没有遵循用户的指令,或者与用户提供的上下文(Context)相矛盾。 用户给了一段新闻让模型总结。 模型总结时**凭空捏造**了新闻中没有提到的人名或数据。 (虽可能符合世界常识,但脱离了给定依据)

在广义幻觉中,我们常将其细分为两类:

  • 内在幻觉 (Intrinsic Hallucination): 生成的内容与输入源(Source Input)直接矛盾。 例如:文章说"张三是老师",模型总结说"张三是医生"。

  • 外在幻觉 (Extrinsic Hallucination): 生成的内容在输入源中找不到依据(既没说对也没说错,是模型自己"脑补"的)。 例如:文章只提到了苹果,模型总结时加了一句"香蕉也很好吃"。


三、为什么会产生幻觉?

在讨论解决方法前,简要理解其成因:

  1. 概率生成机制: LLM 本质上是基于概率预测下一个 token(词/字)。 它并不真正"理解"真理,只是在模仿训练数据中的语言模式。
  2. 数据源污染: 训练数据本身可能包含错误信息、过时信息或虚构小说。
  3. 知识边界模糊: 模型无法像人类一样清楚地知道"由于我不知道,所以我选择不回答",它倾向于强行生成一个回答。

四、缓解幻觉的方法与手段

缓解幻觉通常从数据训练阶段 (模型开发者视角)和推理应用阶段(使用者/应用开发者视角)两个方面入手。

A. 推理与应用阶段 (Prompt Engineering & Architecture)

这是目前应用开发中最常见、成本最低的手段。

  • RAG (检索增强生成, Retrieval-Augmented Generation):
    • 原理: 在提问前,先从外部知识库(向量数据库)中检索相关事实,将这些事实作为"上下文"喂给模型,强制模型"基于以下信息回答"。
      • 效果: 极大地减少了事实性错误(狭义幻觉),是目前最主流的企业级解决方案。
  • CoT (思维链, Chain of Thought):
    • 原理: 在 Prompt 中要求模型"一步步思考"(Let's think step by step)。
      • 效果: 通过展示推理过程,让模型在生成最终答案前先进行逻辑铺垫,能有效减少逻辑跳跃带来的幻觉。
  • CoVerify (自校验/多步推理):
    • 原理: 让模型先生成答案,然后让它(或另一个模型)作为"批评者"去检查这个答案是否有误,最后修正。
  • 调整采样参数 (Temperature):
    • 原理: 降低 (温度)参数(例如设为 0 或 0.1)。temperature
      • 效果: 让模型输出概率最高的词,减少创造性,从而降低"胡编乱造"的概率。

B. 模型训练阶段 (Training & Fine-tuning)

这是模型厂商(如 OpenAI, Google, 阿里等)侧重的手段:

  • 高质量数据清洗: 剔除预训练数据中的谣言、错误信息和低质量文本。

  • SFT (监督微调): 使用高质量的"指令-回复"对进行微调,教模型在不知道答案时承认"我不知道",而不是强行回答。

  • **RLHF (基于人类反馈的强化学习):**通过人类标注员对模型的回答进行打分(对幻觉进行惩罚,对真实回答进行奖励),训练奖励模型(Reward Model),引导模型对齐人类的事实标准。

  • 知识编辑 (Knowledge Editing): 直接定位并修改模型参数中存储的错误知识(目前仍是前沿研究领域)。


五、总结

  • 大模型幻觉 = 概率生成的副作用,表现为看似可信但内容错误。

  • 狭义 = 违背世界事实(瞎编知识)。

  • 广义 = 违背世界事实 + 违背上下文/指令(瞎编逻辑或不听话)。

  • 最有效的手段 = RAG(外挂知识库) + CoT(慢思考) + 低温度(低创造性)

相关推荐
uncle_ll14 小时前
RAG 系统性能跃迁:LlamaIndex 索引优化实战指南
llm·rag·检索·llamaindex
无名修道院20 小时前
AI大模型微调-LLM、Token、生成与推理详解
llm·token·ai大模型应用开发
bloglin999991 天前
Qwen3-32B报错Invalid json output:{“type“: “1“}For troubleshooting, visit
llm·json
七牛云行业应用1 天前
1M上下文腐烂?实测Opus 4.6 vs GPT-5.3及MoA降本架构源码
人工智能·python·llm·架构设计·gpt-5·claude-opus
蛇皮划水怪1 天前
深入浅出LangChain4J
java·langchain·llm
组合缺一2 天前
Solon AI (Java) v3.9 正式发布:全能 Skill 爆发,Agent 协作更专业!仍然支持 java8!
java·人工智能·ai·llm·agent·solon·mcp
ASS-ASH3 天前
AI时代之向量数据库概览
数据库·人工智能·python·llm·embedding·向量数据库·vlm
带刺的坐椅3 天前
用 10 行 Java8 代码,开发一个自己的 ClaudeCodeCLI?你信吗?
java·ai·llm·agent·solon·mcp·claudecode·skills
aopstudio3 天前
OpenClaw 实测体验:Agent 框架现在到底能不能用?
人工智能·llm·agent·openclaw
千桐科技4 天前
qKnow 知识平台核心能力解析|第 03 期:结构化抽取能力全流程介绍
大模型·llm·知识图谱·知识库·rag·qknow·知识平台