大模型幻觉是什么?怎么缓解?
大模型幻觉是什么?怎么缓解?
从文字接龙的本质讲透幻觉成因与三板斧
原题:大模型的“幻觉”指的是什么?它为什么会产生?在实际应用中你会用哪些手段来缓解幻觉?
RAG基础
30 秒回答
- 幻觉 = 模型一本正经地输出看似合理、实际却与事实不符或凭空捏造的内容
- 根源在于大模型的本质是“预测下一个词”:它优化的是“像不像人话”,不是“是不是事实”
- 训练数据有错漏、知识有截止日期、模型不知道自己不知道,三者共同加剧幻觉
- 缓解三板斧:RAG 提供事实依据、提示词约束引用来源、允许模型说“不知道”
回答与解析
答案要点
幻觉 = 模型一本正经地输出看似合理、实际却与事实不符或凭空捏造的内容
根源在于大模型的本质是“预测下一个词”:它优化的是“像不像人话”,不是“是不是事实”
训练数据有错漏、知识有截止日期、模型不知道自己不知道,三者共同加剧幻觉
缓解三板斧:RAG 提供事实依据、提示词约束引用来源、允许模型说“不知道”
幻觉只能缓解、无法根除,高风险场景必须保留人工审核兜底
核心概念
大模型幻觉(Hallucination)是指模型生成了看似流畅合理、实际却与事实不符或凭空捏造的内容,比如编造不存在的论文、虚构法律条文。它最危险的地方在于“说得特别像真的”,普通用户很难分辨。
幻觉为什么会发生
本质是文字接龙:大模型的训练目标是根据上文预测下一个最可能的词,整个过程没有“事实校验”环节。只要读起来通顺自然,任务就算完成,真假并不在它的目标函数里。
训练数据有错也有限:互联网语料本身就混着错误信息,而且数据有截止日期,之后的新知识一概不知,被问到只能“硬编”。
不知道自己不知道:模型没有可靠的“知识边界”意识,面对超纲问题,默认行为是继续流畅地生成,而不是承认不会。
常用缓解手段
| 手段 | 思路 |
|---|---|
| RAG 检索增强 | 回答前先检索外部资料,让答案有原文支撑,从源头补充事实 |
| 引用约束 | 提示词要求“只根据给定资料回答,并标注出处”,超出资料就不许发挥 |
| 不确定性声明 | 明确允许并鼓励模型回答“资料中没有提到”,给它说“不知道”的出口 |
| 降低随机性 | 事实型任务调低 temperature(控制输出随机程度的参数),减少自由发挥 |
| 人工兜底 | 医疗、法律、金融等高风险场景保留人工审核,不让模型单独拍板 |
需要强调:这些手段都是缓解而非根除,幻觉根植于生成机制本身,工程上追求的是把幻觉率压到业务可接受的范围,并让错误可追溯。
入门之后,可以往幻觉评测(如何量化幻觉率)和 RAG 链路优化两个方向继续深入。
口语版讲法(约2分钟)
- 一句话定位:幻觉本质是预测下一个词,不是事实校验
- 为什么产生:训练目标、数据限制、不知道边界
- 缓解手段:RAG+提示词+说不知道
- 边界与风险:只能缓解不能根除,高风险要人工兜底
这道题问的是大模型幻觉,其实本质在于模型是个文字接龙器,它的训练目标是预测下一个最可能的词,不是判断这句话是不是事实。所以它经常一本正经地编出听起来合理的东西,比如虚构论文、编法律条文,这是幻觉最危险的地方,用户很难分辨。
为什么会这样?首先,模型优化的是像不像人话,不是对不对,目标函数里就没有事实校验这一步。其次,训练数据本身就有错漏,而且有截止时间,你问它最新政策,它不知道就只能硬编。最关键的是,模型不知道自己不知道,它没有知识边界的概念,碰到超纲问题,默认行为是继续流畅地生成,而不是承认不会。
实际应用里,我会把手段分成三层。先用 RAG,回答前先检索外部资料,让答案有原文支撑。比如客服场景,用户问退款什么时候到账,RAG 会先查订单状态、支付渠道规则,再基于具体数据生成回答,这样知识更新改文档就行,不用重新训练模型。生成侧再加提示词约束,要求模型只根据给定资料回答,并标注出处,超出资料就不许发挥。同时要允许它说不知道,在提示词里明确鼓励它回答'资料中没有提到',给它一个出口。
不过这里有个坑:这些手段都是缓解,不是根除。幻觉根植于生成机制本身,我们能做的是把幻觉率压到业务可接受的范围。所以高风险场景,比如医疗、法律、金融,一定要保留人工审核兜底,不能让模型单独拍板。另外,RAG 也有前提,知识库质量要靠谱,检索结果要准,否则只是把脏数据更快喂给模型。真正落地时,我会同时管知识库质量、检索质量和生成约束。
如果面试官追问,我会说:幻觉评测也是个关键方向,比如怎么量化幻觉率。我倾向用 RAGAS 框架里的 Faithfulness 和 Answer Relevance 指标,结合人工抽检来评估。不过评测本身也有成本,需要根据业务场景平衡。
关键一句:幻觉评测的具体方法和工程取舍
面试官还可能这样问
- 问法 1 · 概念辨析幻觉和“模型知识过时答错了”是一回事吗?如果模型是因为训练数据里本来就有错误信息而答错,这算不算幻觉?
- 问法 2 · 追问边界你说 RAG 能缓解幻觉,那接了 RAG 之后模型就不会瞎编了吗?有没有见过接了 RAG 反而答错的情况,问题出在哪?