2025年9月11日星期四

一个小众赛道正在悄然崛起,幻觉检测开源!

经常用大模型的小伙伴应该都见过它一本正经地胡说八道,比如这样:

图片

这样:

图片

还有很典的编造资料:

图片
图片

以及典中典的《赛博地府》:

图片

当你指出它的胡编乱造把它逼急了,它将用"职业生涯"来担保,甚至提出转账承诺。

图片

真没想到,有一天我连 AI 的饼都吃上了。

不过大模型的幻觉早已不是什么新鲜事,但值得注意的是:随着 AI 变得越来越"聪明",它的幻觉也越来越明显了。

图片

OpenAI、Google 和 DeepSeek 等都已经推出了旨在提高逻辑思维的推理模型,但与以前的版本相比,这些模型也表现出了更高的幻觉率。

图片

根据 IEEE ComSoc 的数据,o3 和 o4-mini 的幻觉率约在 33% 到 79% 之间,着实是有点夸张了。

幻觉意味着需要你花费大量的时间精力去核实它的回答。

最怕的就是它一句话前半段为真,后半段为假。真真假假混在一起,极度考验人的耐心。

图片

很多用户都深受其害。

图片
图片

但幻觉问题目前并无法根除。

谷歌前高管 Amr Awadallah 指出:

"尽管我们尽了最大努力,但他们总是会出现幻觉,这永远不会消失。"

图片

ChatGPT 负责人 Nick Turley 在接受 The Verge 的播客采访时,建议用户仔细核对答案,将 ChatGPT 作为第二种参考意见,而不一定将其作为主要事实来源。

图片

但是如果要把 ChatGPT 的回答中的每个细节都去逐一核实,效率就太低了。

碰巧这两天逛 X 的时候就发现了一个刚刚推出的流式幻觉检测器

图片

它可以实时标记幻觉。高亮显示 ChatGPT 的回答中每个不确定的单词,进而大大减少用户需要核实的信息,简直就是妥妥的生产力工具。

视频1.mp4

推出之后也是在 X 上引发了热烈的讨论,无论是项目用到的数据、算法、指标,大家都非常好奇。

图片
图片
图片
图片
图片
图片

接下来,就让我们一起更深入地了解一下这个项目。

项目指路:

GitHub :

https://github.com/obalcells/hallucination_probes

论文:

https://arxiv.org/abs/2509.03531

项目网站:

https://www.hallucination-probes.com/

一、项目介绍

背景

大语言模型如今已广泛应用于高风险应用领域,在这些领域中,幻觉可能带来严重后果,例如医疗咨询或法律咨询。

现有的幻觉检测方法要么限制查询的篇幅,要么需要昂贵的外部验证。

在这些背景之下,苏黎世联邦理工学院提出了一种 token 级的幻觉检测方法,能够在生成长篇回答的过程中实现低成本的实时流式监控。

实验过程

构建标记好幻觉的数据集。

图片

基于 LongFact 数据集,团队构建了 LongFact++ ,这是一个包含数千个提示的集合,旨在引出包含姓名、日期和地点等特定实体的详细响应。

使用这些提示,团队从目标模型生成包含丰富实体的长格式补全,这些补全自然地包含幻觉和非幻觉内容。

然后,团队借助可以联网的大模型(例如 Claude)对这些补全内容进行注释。

即提取出文本中的每个实体,在线搜索佐证,并确定该实体是否具有事实依据,从而给这些实体标记上训练标签。

图片

最终得到的是一个包含 5 种不同开源模型的 40k+ 带注释长格式样本的大规模数据集。

训练 token 级探测

使用上面得到的 token 级训练标签,团队训练探针来预测每个 token 是否属于幻觉实体。

使用线性探针从模型的中间层读取隐藏状态,并输出每个 token 的幻觉概率。

为了提升性能,团队还尝试了使用与探针模型联合训练的 LoRA 适配器,并且使用了正则化。

这样的操作让模型在认知上变得更加谨慎,有时会在这样做之后立即承认它们产生了幻觉。

图片

结果

图片

在 LongFact 和 HealthBench 中,基于词元级的探针性能显著优于基线系统

简单线性探针的 AUC 始终保持在 0.85 以上,LoRA 探针的 AUC 则进一步提升,超过 0.89

相比之下,基于不确定性的基线性能均表现不佳,AUC 均未能超过 0.76。

在短篇问答 TriviaQA 中,基线比长篇情况下更强,但团队提出的探针方法仍然领先。LoRA 探针始终保持着 0.96 以上的 AUC ,线性探针也表现良好。

其他

值得注意的是,该方法专注于实体级幻觉 (例如,虚构的姓名、日期、引文等),因为这些实体具有清晰的 token 边界,并且可以在出现时进行验证。

但即使探针仅使用实体级标签进行训练,实验发现它仍能有效地在数学推理任务中检测到错误答案,这表明它具有超越实体的泛化能力。

视频2.mp4

二、运行指南

接着,让我们一起快手上手一下这个项目。

设置

要设置环境变量,请将 env.example 复制到 .env 并填写值。

运行以下命令以使用 uv 进行设置:

# Install Python 3.10 and create env
uv python install 3.10
uv venv --python 3.10

# Sync dependencies
uv sync

训练探针

根据需要编辑 configs/train_config.yaml (模型、数据集、LoRA 层、学习率)。然后运行:

CUDA_VISIBLE_DEVICES=0 uv run python -m probe.train --config configs/train_config.yaml

输出(默认)保存在 value_head_probes/{probe_id} 下。要上传到 Hugging Face,请在配置中设置 upload_to_hf: true ,并确保在.env文件中设置HF_WRITE_TOKEN

运行注释管道

此流程使用 Frontier LLM 和 Web 搜索来标记实体并对齐 token 级跨度。所需环境变量:

export ANTHROPIC_API_KEY=...   # for annotation
export HF_WRITE_TOKEN=...      # to push to HF datasets

运行(有关完整参数,请参阅 annotation_pipeline/README.md 和 run.py ):

uv run python -m annotation_pipeline.run \
  --model_id "ANTHROPIC_MODEL_ID" \
  --hf_dataset_name "ORG/DATASET" \
  --hf_dataset_subset "SUBSET" \
  --hf_dataset_split "SPLIT" \
  --output_hf_dataset_name "ORG/OUTPUT_DATASET" \
  --output_hf_dataset_subset "SUBSET" \
  --parallel true \
  --max_concurrent_tasks N_CONNCURRENT

作为示例命令,您可以运行:

uv run python -m annotation_pipeline.run \
  --model_id "claude-sonnet-4-20250514" \
  --hf_dataset_name "obalcells/labeled-entity-facts" \
  --hf_dataset_subset "annotated_Meta-Llama-3.1-8B-Instruct" \
  --hf_dataset_split "test" \
  --output_hf_dataset_name "andyrdt/labeled-entity-facts-test" \
  --output_hf_dataset_subset "annotated_Meta-Llama-3.1-8B-Instruct" \
  --parallel true \
  --max_concurrent_tasks 10

演示用户界面

该演示提供了文本生成过程中幻觉检测的实时可视化。它包括:

  • 后端 : demo/modal_backend.py - 带有 vLLM 的 Modal 应用程序,可加载目标模型并应用探头(和可选的 LoRA)在生成过程中计算标记级概率。
  • 前端 : demo/probe_interface.py - 连接到 Modal 后端并可视化标记级置信度分数的 Streamlit 接口。

先决条件

设置模态框 :

在 https://modal.com/signup 创建一个 Modal 帐户。

安装模式: pip install modal

运行 modal setup 进行身份验证 环境变量 (添加到 .env ):

 HF_TOKEN=your_huggingface_token_id

运行演示

Modal 后端和 Streamlit 前端都必须从 demo/ 目录内部运行:

# Navigate to the demo directory
cd demo

# Deploy the Modal backend
modal deploy modal_backend.py

# Run the Streamlit frontend (also from demo/)
streamlit run probe_interface.py

打开浏览器即可使用该界面。该界面将连接到您已部署的 Modal 后端,并允许您输入提示、生成文本,并根据探测器的置信度分数使用颜色编码的标记来查看实时幻觉检测结果。

三、最后

有了这样的实时幻觉监测工具,我们就不用再在一大堆真假混杂的回答里逐字逐句去查证了。

还有一个好消息是 GPT-5 已经学会承认自己不知道。

图片

说不定哪天,大模型会像人一样,不仅能在对话的时候承认自己不知道答案,还能学会停顿,甚至直接沉默。

图片

>/ 本期作者:Tashi  & JackCui

>/ JackCui:AI领域从业者,毕业于东北大学,大厂算法工程师,热爱技术分享。

没有评论:

发表评论

鸿蒙的全面进击:“天工计划”十亿重磅加码,打造AI全场景新生态

鸿蒙正在消融设备壁垒、让AI成为无处不在的生态级能力。 克雷西 梦瑶 发自 凹非寺 量子位 | 公众号 QbitAI 在AI重塑操作系统的关键赛道上,鸿蒙再次亮出颠覆性进展。 在华为全联接大会2025上,鸿蒙操作系统5展示了其更强大的AI全场景能力, 包括"小艺任务...