Q936评测与可观测真题解析评测AgentAlpha 社区真题库约 8 分钟更新 2026-09-29

什么是大模型幻觉

什么是大模型幻觉

1️⃣ 考察意图

面试官想看你是否真正理解“幻觉”的本质,而非只会背定义。考察类型是概念+工程取舍。刁钻点在于:很多人只把幻觉当成“模型说错话”,但面试官要你区分事实性幻觉(Factuality Hallucination,如编造日期)和忠实性幻觉(Faithfulness Hallucination,如偏离用户指令),并解释为什么后者在RAG系统中更致命。答好了能展示你对LLM底层机制(训练数据噪声、解码策略、知识边界)的深刻理解,以及从检测到缓解的工程完整流程能力。

2️⃣ 标准答

定义与分类大模型幻觉指模型生成与事实不符(Factuality)或与输入/指令矛盾(Faithfulness)的内容。

  • 事实性幻觉:模型自信地输出错误事实,如“爱因斯坦在1920年获得诺贝尔奖”(实际是1921年)。
  • 忠实性幻觉:模型偏离用户指令或上下文,如用户问“总结这篇论文”,模型却开始写诗。

成因(三个核心)

  1. 训练数据噪声:预训练语料包含错误信息(如维基百科的过时条目),模型学到后直接复现。
  2. 知识截止日期:模型参数固化后无法更新,对2024年之后的事件只能“猜测”。
  3. 解码策略缺陷:高温度采样(如temperature=1.0)鼓励多样性,但牺牲准确性;Top-p采样(p=0.9)可能截断低概率正确词。

检测方法

  • 外部知识验证:用检索增强(如BM25+Wikipedia)对比生成内容,计算FactScore(逐句事实性评分)。
  • 自我一致性检查:对同一问题多次采样(如n=5),计算答案间的语义一致性(如ROUGE-L),低分则标记为幻觉。
  • 概率校准:模型输出logits的置信度与正确性不匹配时(如softmax概率0.9但答案错误),需用Temperature Scaling校准。

缓解策略(工程取舍)

  • RAG(检索增强生成):最主流方案。将用户查询检索外部知识库(如Elasticsearch+BM25),拼入Prompt。
  • 坑:检索结果噪声会引入新幻觉。解法:用重排序(Rerank,如Cohere Rerank 3)过滤低相关文档,或设置阈值(如相关性分数>0.7才使用)。
  • 取舍:检索延迟增加(如100ms→300ms),但事实性提升显著(TruthfulQA准确率从40%→75%)。
  • 提示工程:要求模型“引用来源”或“如果不知道就说不知道”。
  • 坑:模型可能编造引用(如伪造URL)。解法:用约束解码(如Guidance库)强制输出格式,或后处理校验引用是否存在。
  • 微调:用RLHF(如InstructGPT)或DPO(Direct Preference Optimization)对齐人类偏好,减少幻觉。
  • 取舍:微调成本高(如1000+条高质量数据),且可能过拟合特定领域。
  • 解码约束:对比解码(Contrastive Decoding,如DoLa)通过对比原始模型与“退化模型”的logits,抑制高频幻觉词。

评估指标

  • FactScore:逐句与知识库对比,计算事实性比例。
  • TruthfulQA:基准测试,衡量模型对“常见误解”问题的回答正确率。
  • 人工评估:用Likert量表(1-5分)打分,但成本高、一致性差。

实际落地的坑

  • 坑1:RAG中检索结果与模型知识冲突时,模型倾向信任自身参数(如“我知道爱因斯坦是1921年获奖”)。解法:在Prompt中明确“优先使用检索结果”,并用logit调整(如降低模型自身logits权重)。
  • 坑2:幻觉检测的假阳性高(如模型说“太阳从东边升起”被误判为幻觉)。解法:用多轮验证(如交叉检索不同来源),或设置置信度阈值(如FactScore<0.6才标记)。

3️⃣ 答题模板(30 秒电梯版)

“这个问题我从定义、成因、缓解三个层面回答。定义上,幻觉分事实性和忠实性两类,前者是编造事实,后者是偏离指令。成因包括训练数据噪声、知识截止日期和解码策略缺陷。缓解最有效的是RAG+重排序,但要注意检索噪声;提示工程和对比解码作为补充。总结一句:幻觉是LLM的固有缺陷,核心解法是外部知识注入+解码约束,而非单纯依赖模型参数。”

4️⃣ 高频追问 & 应对

追问 1:RAG中检索结果与模型知识冲突时,你怎么处理?

这是常见坑。我会用“知识冲突检测”策略:先计算检索结果与模型生成内容的语义相似度(如Sentence-BERT),若低于阈值(如0.6),则标记为冲突。然后动态调整Prompt权重,比如在Prompt中写“请优先使用以下检索内容,如果与你的知识矛盾,以检索内容为准”。更激进的做法是用logit调整:将检索结果的embedding作为前缀,降低模型自身logits的softmax温度(如从1.0降到0.7),迫使模型更依赖外部知识。

追问 2:如何评估一个幻觉检测系统的效果?

用Precision和Recall。假阳性(误判正确内容为幻觉)和假阴性(漏判幻觉)都很致命。我会用TruthfulQA数据集做基准,计算F1分数。实际落地时,还需要人工抽检(如每100条抽10条),因为自动评估可能被模型“糊弄”(如模型用模糊表述“可能”来规避检测)。另外,用校准曲线(Calibration Curve)看置信度与正确性的匹配度,如果曲线偏离对角线,说明检测系统需要调参。

追问 3:对比解码(Contrastive Decoding)的原理是什么?有什么局限?

原理是同时运行原始模型和一个“退化模型”(如小模型或低温度版本),对比两者的logits,选择原始模型logits高但退化模型logits低的词,从而抑制高频但错误的词。局限是计算成本翻倍(需要两个模型前向传播),且对长文本生成效果差(退化模型可能丢失上下文)。实际中,我会用DoLa(Dynamic Contrastive Decoding)优化,只对比最后几层logits,减少计算量。

5️⃣ 避坑 · 常见错误答法

  • ❌ 说“幻觉就是模型胡说八道,用RAG就能解决” → ✅ 正确切入:先区分事实性和忠实性幻觉,再指出RAG只能缓解事实性幻觉,对忠实性幻觉(如偏离指令)无效,需要结合提示工程或微调。
  • ❌ 说“幻觉检测用人工评估最准” → ✅ 正确切入:人工评估成本高且一致性差,实际用FactScore+自我一致性检查做自动化,人工只做抽样验证。
  • ❌ 说“解码温度越低幻觉越少” → ✅ 正确切入:低温度(如0.1)确实减少幻觉,但牺牲多样性,导致回答重复或死板。取舍是:对事实性任务用低温度(0.1-0.3),对创意任务用高温度(0.7-1.0)。

6️⃣ 简历呼应

  • 如果你有RAG项目:从“检索噪声导致幻觉”切入,展示你如何用重排序(Rerank)和阈值过滤优化,并给出FactScore提升数据(如从60%到85%)。
  • 如果你只做过传统NLP:用“文本生成中的事实错误”类比,比如机器翻译中的“幻觉翻译”(如把“苹果”译成“banana”),迁移到LLM幻觉的检测方法(如基于知识库的验证)。
  • 如果你是校招无项目:聚焦论文复现,比如用TruthfulQA数据集对比RAG和提示工程的效果,写一篇技术博客,展示你对FactScore和对比解码的理解。
  • 《TruthfulQA: Measuring How Models Mimic Human Falsehoods》
  • 《RAG vs. Fine-tuning: Pipelines, Tradeoffs, and a Case Study on Agriculture》
  • 《DoLa: Decoding by Contrasting Layers Improves Factuality in Large Language Models》
  • 《FactScore: Fine-grained Atomic Evaluation of Factual Precision in Long-form Text Generation》
  • 《A Survey on Hallucination in Large Language Models: Principles, Taxonomy, Challenges, and Open Questions》

—— 本场面试完 ——

我们不做玩具级 Demo 教学。训练营的作业是开源项目和论文——我们想陪伴你,做出能改变生活、最后改变世界的项目。