免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


大模型幻觉检测在 NL2SQL 任务的应用实践

发布日期:2025-09-29 18:40:16 浏览次数: 1510
作者:DataFunSummit

微信搜一搜,关注“DataFunSummit”

推荐语

大模型在NL2SQL任务中表现惊艳,但幻觉问题如何破解?理想汽车高级算法工程师带来实战解决方案。

核心内容:
1. 大模型幻觉的定义与分类解析
2. 基于Token置信度的主动采样检测技术
3. 在汽车销售数据查询中的实际应用案例

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

导读 随着大语言模型(Large Language Models, LLMs)在自然语言到结构化查询语言(Natural Language to SQL, NL2SQL)任务中得到广泛应用,其在复杂语义理解和自动化数据分析方面展现出显著优势。然而,模型幻觉(hallucination)问题也愈发突出,表现为生成与输入语义不对应、对数据库架构或业务规则不敏感、以及输出不符合实际数据情况等错误信息,大大影响了系统的可靠性与用户体验。本文从幻觉现象的本质入手,系统梳理其定义、分类及成因;在此基础上,回顾当前无监督与有监督检测技术的研究进展;重点介绍基于 Token 置信度的主动采样检测(ASD)方法在 NL2SQL 场景中的设计思路与工程实现,并通过真实业务场景案例分析其在理想汽车销售数据查询中的应用效果。最后,对未来可解释性强化、轻量级实时检测和跨场景通用框架建设等方向进行前瞻探讨。

主要内容包括以下几个部分:

1. 什么是大模型幻觉

2. 为什么会出现幻觉

3. 幻觉检测的研究进展

4. 幻觉检测应用实践

5. 未来展望

分享嘉宾|卓孔圣 理想汽车 高级算法工程师

编辑整理|陈思永

内容校对|郭慧敏

出品社区|DataFun




扫码入群参与讨论



✅ 对分享有疑问?群里问!

✅ 老师在线解除疑惑!

✅ 有心得体会想分享?群里聊!

扫码入群参与讨论

图片

01

什么是大模型幻觉

随着人工智能迈入大模型时代,预训练语言模型在文本生成、机器翻译、对话系统和结构化查询等多种场景中大显身手。尤其在 NL2SQL 领域,通过自然语言直接生成可执行的 SQL 查询语句,为智能BI分析和自助报表提供了便捷通道。然而,幻觉现象逐渐成为制约系统工业化部署的瓶颈:部分语句在逻辑上与数据库表结构不匹配、对时间窗口或业务维度理解错误,甚至完全虚构字段或函数,导致下游执行失败。

1. 通用大模型的幻觉

大模型幻觉指大模型在生成内容时,输出与输入无关、不符合事实或逻辑上不合理的虚假信息。其主要形式包括:

  • 事实性幻觉(Factual Hallucination):事实不一致与捏造幻觉,即输出内容违背客观事实或业务规则,例如伪造名人名言、编造历史细节、虚构参考文献等;

  • 忠实性幻觉(Faithfulness Hallucination):不遵循指令与不遵循上下文,即模型未能严格遵循输入指令或上下文约束,如忽视用户指定的过滤条件或分组维度。

根据模型的内在表现角度,可细分为:

  • 自信幻觉(Confident Hallucination):模型在生成幻觉内容时 token 置信度高,即模型以高概率输出错误信息,令人更难发现潜在风险;

  • 非自信幻觉(Uncertain Hallucination):模型在生成幻觉内容时 token 置信度低,即模型在低置信度阶段生成不确定内容,通过置信度分布可进行检测与过滤。

2. 微调后幻觉定义

微调的过程本质是通过训练数据与模型对话,对齐任务标准的过程。对于给定输入,模型输出不符合任务定义即为幻觉。具体任务如下:

  • 在分类任务中,模型输出分类结果(预测类别)与预期类别不一致;

  • 在信息提取任务中,模型提取的信息与输入中包含的信息不一致,即抽取实体或属性与原始文本信息不相符;

  • 在 NL2SQL 任务中,模型生成的 SQL 无法得到输入问题要查的数据,即生成的 SQL 语句可能因语法、字段名或逻辑错误而无法执行,或执行结果与用户预期不符。

02

为什么会出现幻觉

1. NL2SQL 任务介绍

NL2SQL 任务的核心要素:指标、条件、分组维度。系统需将用户输入的自然语言表达精准转换为结构化查询语句,其核心流程包括意图识别、拒识判断、Prompt 拼接、SQL 生成。典型难点如下:

  • 用户查询超出模型能力范围的指标:如查询模型尚未支持的指标;

  • 用户查询能力范围内的指标,但问题中包含的条件和维度与指标存在冲突:查询语句中包含指标不支持按照对应维度条件查询,;

  • 用户问题不合理或表达不清用户问题也可能是不合理的,或者表达不清存在歧义,无法生成正确的 SQL

归纳出如下的流程简图:

  • 意图识别:识别用户查询的指标

  • 拒识判断:看指标是否支持,如果支持提示用户超出范围

  • Prompt 拼接:如果指标支持查询,拼接合理的 prompt

  • SQL 生成

2. NL2SQL 微调幻觉成因

微调后的模型不应该存在自信的幻觉,所以我们只关注微调后模型的非自信幻觉,即由不确定性导致的幻觉可能导致不自信幻觉原因

  • 训练数据存在不一致或不均衡导致对某些知识训练不充分,模型推理过程中关于该知识的表达会导致幻觉,即微调训练集对业务场景覆盖不全,某些字段或操作未充分训练;

  • 模型推理超出训练数据范围的问题时会导致幻觉;

  • 模型推理错误或不合理问题时会导致幻觉

具体而言表现为:

  • 分类任务幻觉:输入为理想 L9 的 NP;输出却为 TP。我们并没有 NP 的类别因为大模型的泛化能力,所以大模型输出了最相似的 TP 类别。

  • 信息提取任务幻觉:24 年,理想 L9 销量,按上海分组;输出却为:条件{年,车系},分组{城市}。模型根据自己的理解进行了衍生,但是这个衍生并不正确。

  • NL2SQL 任务:输入:24 年 7 月至今,理想 L9 的展定单,按季度分组;问题展定单表达歧义导致模型把展定单理解成外展,最终导致 SQL 错误

因此,工程实现中需针对以上机理制定多层次的检测与拦截策略。


扫码入群参与讨论



✅ 对分享有疑问?群里问!

✅ 老师在线解除疑惑!

✅ 有心得体会想分享?群里聊!

扫码入群参与讨论

图片

03

幻觉检测的研究进展

1. 常见幻觉检测思路

  • 基于外部知识的验证(自信幻觉):通过验证 SQL 查询数据是否正确(基于工程方法)

  • 基于自洽性(Self-Consistency)的检测(非自信幻觉):通过多次生成验证一致性(基于采样方法

  • 基于概率或不确定性的方法(非自信幻觉):分析生成 token 的低概率或高不确定性(如熵值过高)(基于不确定性量化方法)

  • 监督微调与对比学习(非自信幻觉):构建幻觉-非幻觉对比数据,训练分类器识别幻觉(基于模型方法)

2. 导致不确定的原因

模型对某个输入感到越不确定,其生成的输出在形式或内容上越可能是任意的或不一致的,这种不确定性可以帮助识别出可能导致幻觉现象的问题或情境。非自信幻觉导致的不确定性存在以下三种:

  • 顺序的不确定性:LLM 可能在先生成时间条件还是先生成地域条件不确定。

  • 形式上的不确定性LLM 可能不同表达方式但是不同的形式不会改变文本的基本含义。

  • 内容的不确定性:LLM 生成不确定要生成什么内容。

3. 无监督检测方法—语义熵

语义熵是利用模型对于其产生的任意输出的不确定性来检测 LLM 中的幻觉现象。通过语义聚类解决顺序不确定性和形式不确定性问题,从而检测内容不确定性导致的幻觉

语义实现流程1采样多个答案2多个答案根据语义相似度进行聚类3根据聚类类别分布计算语义

核心优势在于无需访问模型内部参数,或改造模型推理流程,适用于闭源与开源模型,但需要提高的采样次数来保证统计稳定性,增加推理成本。

适用场景是主要对响应时间要求不高的应用或基于闭源模型开发的应用。

4. 无监督方法-CCP(断言条件概率,Claim Conditioned Probability, CCP

CCP 可以检测 LLM 输出中的幻觉,该方法适用于事实检查任务。通过将生成文本拆分为多个断言(Claim),通过拆分,解决顺序不确定性的干扰然后判断每一个 claim 是否存在幻觉,看 claim 中每个 token 的置信度是否低于阈值,如果低于阈值,将这个位置的 token 替换为分布中置信度第二的 token,得到一个新的 claim,对比新的 claim 与替换前 clain 是否语义等价,如果等价则将两个 token 的置信度合并,再去判断是否低于阈值,如果不等价则认为该 token 存在幻觉

5. 无监督幻觉检测方法总结

无监督幻觉检测方法不依赖额外的训练模型,更适合轻量级的应用。因此具有以下优点:

  • 无需额外训练:适用于已有模型部署环境,尤其适合边缘端或资源受限设备;

  • 轻量高效:不引入额外参数,易于在现有系统中集成与上线;

  • 即插即用:可作为后处理模块快速部署至已有 NL 任务流程中。

当前主流无监督方法围绕语义不确定性识别展开,核心思路如下:

  • 随机采样与语义熵计算:通过对模型输出结果进行多次随机采样,观测生成内容在语义空间的波动性,并以此计算语义熵,用于度量幻觉风险。适用于解决因生成顺序或语言形式变化带来的不确定性。

  • 文本拆分与主张验证(CCP):将较长文本划分为若干简洁的主张(Claim),逐条检测每一条 Claim 的语义合理性。这种方式能有效缓解长文本中因顺序变化引起的识别误差。

  • 词语替换与语义稳定性评估:将目标词替换为多个备选词(如同义词或上下文相关词),再通过模型重新生成内容,观测生成结果是否发生明显变化。这种方法用于检验输出是否对词汇层面过于敏感,从而判断是否存在形式驱动的幻觉风险。

  • 语义等价对比(如语义熵 + CCP 联合):将不同形式或拆分结果的文本进行语义对齐与对比,若存在显著语义偏移,则可视为潜在幻觉信号。此类方法融合了多个无监督策略,有助于提升检测鲁棒性。

尽管无监督方法具有灵活轻便的优势,但在实际应用中仍存在以下问题:

  • 采样成本较高:需要多轮推理或生成过程,计算资源消耗大,尤其是在生成任务复杂或文本较长时;

  • 结果不稳定:随机性强,不同轮采样可能得出不同结论,影响一致性与可靠性;

  • 文本拆分效果依赖性强:若 claim 划分不合理,可能造成语义理解偏差,降低整体检测准确率。

6. 有监督检测方法

(1)PINOSE

PINOSE 结合探针训练与离线一致性检查,针对非事实内容构造对照数据集,以二分类方式检测幻觉,即通过提取 LLM 中间层(16 层)中最后一个 token 的隐藏表示,作为分类模型的输入。该方法在同分布场景下具有高准确率,但依赖昂贵的标注与持续更新。

(2)Factoscope

Factoscope 提出了一种更为系统性的检测框架,模拟“测谎仪”原理,从静态与动态两个视角观测 LLM 内部状态,用以判断其输出的真实性。

静态视角:激活图中的“生理信号”

Factoscope 首先关注 LLM 某一生成时刻的激活状态(激活图),特别是与事实相关的神经元激活模式:

  • 观察现象:当 LLM 生成真实信息时,事实相关神经元激活更强;反之则较弱;

  • 子模型设计:采用 ResNet18 CNN 对激活图进行编码,形成静态 embedding。

动态视角:生成过程中状态的演变

动态视角通过跟踪模型生成文本过程中内部指标的变化,捕捉潜在幻觉信号:

  • 关注指标

    最终输出排名的变化;

    Top-k 输出词的索引;

    Top-k 输出的概率值;

  • 建模方式

    输出排名 → GRU 编码;

    Top-k 索引 → ResNet18 CNN 编码;

    Top-k 概率 → ResNet18 CNN 编码。

以上三个子模型与静态激活图子模型共同输出 embedding,最后通过线性层融合为统一表示 Emixed,代表 LLM 对事实的综合理解。

表征优化与推理流程

  • 训练阶段:采用对比学习优化 Emixed 表征,使其区分真实与虚假内容;

  • 推理阶段:构建召回库,通过相似度检索实现内容分类与幻觉判别。

7. 有监督幻觉检测方法总结

有监督幻觉检测方法在工程实践中展现出明显优势,尤其在同分布数据上具有较高的检测准确率和快速的推理速度。具体而言,其优势包括:

  • 检测速度快:训练好的分类模型在推理阶段效率高,适合实时或低延迟场景;

  • 同分布内精度高:在训练数据分布与实际应用一致的情况下,模型通常能实现较高的准确性。

然而,该类方法也存在一些显著的局限性:

  • 依赖高质量标注数据:模型训练需要大量标注明确的幻觉与非幻觉样本,数据收集和标注成本较高;

  • 泛化能力有限:在面对分布外数据或模型迁移场景时,检测效果可能显著下降;

  • 维护成本高:每当被检测的大语言模型发生更新或替换时,原有的检测模型往往需要重新训练以适配新的模型行为,增加了长期维护的复杂度。

8. 我们的方法——ASD

ASD(Active Sampling based on token-level confidence)是一种无需大量随机采样的幻觉检测策略,核心思路是根据模型在生成过程中的 token 置信度分布,主动识别存在语义不确定性的片段,并进一步判断其成因。具体流程如下:

(1)贪婪解码生成初始回答

给定输入问题 q,模型采用贪婪解码生成首个样本 a,并记录每一步生成过程中 top-N 的 token 及其置信度。

(2)筛选低置信度 token

分析每一步 token 的置信度,识别出存在不确定性的 token 作为潜在风险点。

(3)判断置信度低的成因

使用主动采样策略进一步确认 token 置信度降低是否由顺序不确定引起的还是由内容不确定性引起,从而识别幻觉风险。

9. 如何筛选不确定的 token

考虑到单个 token 粒度过细,ASD 将其聚合为语义片段,并通过以下方式筛选不确定内容:

  • 语义片段构建:将若干相邻 token 组成有语义完整性的片段,减少粒度过细带来的误判。

  • 统计语义片段置信度:在评测数据集中,统计每个语义片段的置信度的均值与方差。

  • 设定筛选阈值:通过“均值 - 3×方差”设定动态阈值,筛选出置信度显著偏低的语义片段。

  • 定位关键 token:在低置信度片段中反向定位影响该片段置信度的具体 token,用于后续分析或重采样。

10. 如何实现 ASD

在实际应用中,ASD 通过“模型输出回馈”机制构造扩展输入,从而提升采样策略的可控性。

此外,在对话型 LLM 中,ASD 兼容标准对话模板格式(SFT 模型训练时,会针对特定的 system prompt、进行适配,添加一些特殊token提示模型开始生成的位置、多轮对话中每个角色的位置以及最重要的终止符等等。这些特殊 token 与原始会话拼接方式也可以被称作对话模板如果想固定一部分模型的输出,实现主动采样需要怎么办呢?需要模型的输出拼接在对话模版的后面,让模型知道这是模型输出的部分,不是用户的输入

11. ASD 相比随机采样的优点

相比传统的随机采样策略,ASD 方法具有以下显著优势:

  • 采样效率更高:ASD 避免无效的重复采样,能够显著减少样本数量。例如,当所有 token 的置信度均高(如 >0.99)时,ASD 判定无需额外采样,节省高达 95% 的采样次数。

  • 采样结果更稳定:随机采样依赖随机种子,结果具有波动性。而 ASD 基于模型置信度分布,具有更高的一致性,便于后续分析和部署。


扫码入群参与讨论



✅ 对分享有疑问?群里问!

✅ 老师在线解除疑惑!

✅ 有心得体会想分享?群里聊!

扫码入群参与讨论

图片

04

幻觉检测应用实践

1. 分类任务如何做幻觉检测

分类任务通常用于识别用户问题中提及的指标名称,并据此判断是否合理。

(1)检测难点

  • 如何精准识别超出范围的指标?:指标是否存在于模型知识中?模型是否“自创”指标?(内容不确定性)

(2)检测方法

  • 判别式分类器:如微调后的 BERT 模型,可设置置信度阈值判断模型是否“自信”;

  • 生成式方法:基于 LLM 微调的生成模型可直接生成识别出的指标名称,适用于开放领域问题。

(3)检测指标

  • Token 置信度:输出 token 的概率值;

  • 困惑度(Perplexity):衡量模型对输出序列的整体不确定程度。

2. ASD 应用于信息提取

ASD(Active Sampling based on token-level confidence)可通过训练数据微调LLM有效辅助识别用户输入中涉及的条件或分组维度,提升信息提取质量。

(1)应用场景

  • 用户问题:“24 年,订单量,按上海分组”

  • 模型输出结构化内容

(2)不确定性类型

  • 顺序不确定性:描述顺序不同影响模型理解;

  • 内容不确定性:词汇不在训练分布内或含糊不清。

(3)ASD 优势

  • 通过 Token 置信度筛选低置信度片段,定位潜在幻觉位置;

  • 避免不必要的随机采样,提升检测效率与稳定性。

3. NL2SQL 幻觉检测

(1)实现方式

  • 使用 LLM 微调模型,端到端将自然语言问题转换为 SQL;

  • 在推理过程中应用 ASD 检测策略,评估输出中是否存在幻觉。

(2)效果指标

  • 检测准确率:80%

  • 召回率:75%

4. 实例分析

(1)问题:2023 年 MODEY 3 上险量

模型误输出:'Model Y' 替换成 'Model'(0.4855 置信度)、'MODE'(0.4608 置信度)

(2)问题:24 年 7 月至今,理想 L9 的展定单,按季度分组

输出问题:生成 SQL 语句中出现语法残缺和错误字段,如 channel 置信度仅为 0.4594,expand 置信度仅为 0.1955,模型不确定性明显。

5. ASD 在实践中的应用方式

(1)实时检测

在在线推理阶段实时监控 token 置信度,判断生成内容是否存在潜在幻觉,提升线上稳定性。

(2)模型评估

  • 当前模型评测多依赖有限评测集,覆盖面受限;

  • ASD 支持对模型“幻觉率”进行系统评估,有助于发现评测集中未覆盖的问题类型,并通过幻觉率评估,提前发现潜在幻觉风险。


扫码入群参与讨论



✅ 对分享有疑问?群里问!

✅ 老师在线解除疑惑!

✅ 有心得体会想分享?群里聊!

扫码入群参与讨论

图片

05

未来展望:可解释性与结构性控制

未来幻觉检测的重要方向之一是模型可解释性的增强。

之前介绍的都是从外部来检测大模型幻觉的办法,如今大模型的能力增强,大模型是否可以从内部意识到自己产生了幻觉?

Anthropic 通过研究机制可解释性,尝试了解大模型内部的计算机制,通过分析模型的神经元是否可以有效表达一些清晰的特征,但是研究中发现只有极少部分神经元可以清晰表达单一特征,大部分神经元在同时表达多个特征,导致无法把神经元与特征关联,进一步进行分析。为了更好的分析,Anthropic 提出了稀疏自编码器(SAE),把大模型的特征映射到稀疏可解释的空间,并基于可解释的特征绘制了归因图,用于展示在给定的输入条件下,各种特征是如何作用,最终产生输出。基于归因图去分析幻觉,发现大模型具备“幻觉控制回路”,这是一种结构化地参与特征决策路径的机制,并非简单的后处理手段。

未来,一方面我们可能会有更多优秀的大模型可供选择,同时这些大模型的厂商也会为用户提供幻觉检测的方法。对于垂类任务,可能需要我们搭建自己的大模型及幻觉检测的机制。通过深入解析模型内部结构和决策流程,有望构建更加稳定、可控的幻觉抑制系统。

以上就是本次分享的内容,谢谢大家。

图片


分享嘉宾

INTRODUCTION


图片

卓孔圣

图片

理想汽车

图片

高级算法工程师

图片

理想汽车高级算法工程师,主要负责大模型应用的开发,包括 NL2SQL 算法研究与应用等,并且在大模型幻觉检测方向有深入研究与实践经验。

往期推荐


抖音集团如何巧用“数仓”降本

Agent" data-recommend-article-content-url="https://mp.weixin.qq.com/s/CUs-qoxPjpaFp7ODKyiIIQ">

从“漂移”到“可靠”,我们如何用“代码锁+注意力锚点”构建工业级 AI Agent

主流Moe模型专家规模与性能对比洞察

Moe混合专家模型推理优化策略

Alluxio亮相DACon北京,详解如何将GPU利用率提升至99%,破局大模型训练瓶颈

告别“T+1”延迟,基于SQL自动改写的20倍查询提速实践!

ChatBI 的跃迁:AI 问数、智能归因、智能报告与场景助手的深度融合

360视角:大模型幻觉问题及其解决方案的深度探索与实践

你们催更的模型,云栖大会一口气全发了!

蚂蚁集团缓存加速系统支撑大模型训练实践

点个在看你最好看

SPRING HAS ARRIVED

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询