ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Qwen3.5-122B-A10B-singprobe幻觉检测实战:AUC 0.7806,如何实时揪出大模型一本正经的胡话?

Qwen3.5-122B-A10B-singprobe幻觉检测实战:AUC 0.7806,如何实时揪出大模型一本正经的胡话?

【免费下载链接】Qwen3.5-122B-A10B-singprobe

项目地址:https://ai.gitcode.com/hf_mirrors/inclusionAI/Qwen3.5-122B-A10B-singprobe
点击查看免费下载

大模型"一本正经胡说八道"(幻觉)是落地应用中最头疼的问题之一。Qwen3.5-122B-A10B-singprobe是一款基于Qwen/Qwen3.5-122B-A10B构建的内嵌式流式护栏探针(Intrinsic Streaming Guardrail),无需额外部署独立安全模型,直接在生成过程中逐 token 评估查询意图、回复不安全度与幻觉风险,在 6 个幻觉检测基准上取得AUC 0.7806,解码开销不到 0.5%。

下面带你快速理解它的原理、实测表现和部署方法。

一、它是什么:只占 6.17M 参数的"随行安检员"

传统做法是在大模型输出后再跑一个独立的安全/检测模型做审查——既要多部署一套模型,又只能事后拦截,用户已经看到了错误内容。

Qwen3.5-122B-A10B-singprobe 的思路完全不同:

  • 寄生在基座模型里:探针(仅6.17M 参数)直接复用基座模型生成过程中的隐藏状态(hidden states),不重复跑一次完整推理
  • 逐 token 实时打分:每生成一个 token,就输出 10 个维度(label_0–label_9)的分数,覆盖8 类查询意图 + 不安全 + 幻觉风险
  • 流式拦截:不用等整段回答生成完,回答"说到一半"就能发现风险,实现实时护栏

一句话总结:边生成边安检,几乎零额外成本。

二、原理拆解:3 个关键层 + 滑动窗口注意力 💡

探针的"听诊器"位置由 config.json 定义:

{ "hidden_size": 3072, "base_model_layer_ids": [14, 30, 46], "num_labels": 10, "sliding_window": 2048, "num_attention_heads": 8, "head_dim": 64 }

可以看到三个关键设计:

  1. 抽层监听:探针只读取基座模型第 14、30、46 层的隐藏状态(base_model_layer_ids: [14, 30, 46]),把不同深度"看到"的信息拼接成输入,比只取最后一层能捕捉更完整的语义信号
  2. 注意力探针结构:模型主体是SingProbeAttnModel(见 modeling_sing_probe.py),内置 Q/K/V 投影、RMSNorm 和分类头,参数极少但表达能力强
  3. 2048 滑动窗口:长文本推理时,注意力按 2048 的滑动窗口分块计算(_sliding_window_attention),保证长上下文下计算开销依然可控——这也是它能做到 <0.5% 解码开销的关键

配置类的定义在 configuration_sing_probe.py,权重文件为 model.safetensors。

三、实测表现:AUC 0.7806 放在同行里什么水平?📊

官方评测结果(数值越高越好):

任务指标Qwen3.5-122B-A10B-singprobe参考基线
幻觉检测(6 个基准)AUC0.7806DRIFT: 0.8000
查询意图分类(6 个基准)F10.8697YuFeng-XGuard-Reason-8B: 0.8714
回复安全分类(8 个基准)F10.8680Qwen3Guard-Gen-8B-strict: 0.8604
流式安全检测(3 个基准)R-AUC / T-AUC0.9895 / 0.9304Qwen3Guard-Stream-8B-strict: 0.9640 / 0.8893

几个值得注意的点:

  • 幻觉检测 AUC 0.7806,与专用方法 DRIFT(0.8000)基本处于同一梯队,但它是附带能力——你主要为了安全护栏部署它,幻觉检测几乎"免费"获得
  • 流式安全指标(R-AUC 0.9895 / T-AUC 0.9304)全面超过8B 级别的 Qwen3Guard-Stream 专用模型
  • 良性回复误报率仅 0.03%(5 个数据集平均),意味着正常回答几乎不会被误拦
  • 解码开销< 0.5%,对线上服务的吞吐影响可以忽略

四、最快部署方法:SGLang / vLLM 加一个参数 ⚡

项目通过 SGLang 或 vLLM 的集成分支支持,只需在启动服务时用--probe-ckpt指定探针即可:

python -m sglang.launch_server \ --model-path Qwen/Qwen3.5-122B-A10B \ --probe-ckpt inclusionAI/Qwen3.5-122B-A10B-singprobe \ --port 30000

需要注意两点:

  1. 基座模型与探针必须严格配对:本探针只适配Qwen/Qwen3.5-122B-A10B,不能混搭
  2. 集成后每次生成会随 token 返回一个分数字典(label_0–label_9),业务侧拿到幻觉风险分数后即可自行设定阈值:例如分数超过阈值时提示用户、改写回答或降级处理

五、文件导读:核心资料都在仓库里

文件作用
README.md模型说明、完整评测结果与快速开始
config.json探针结构配置(抽层、标签数、窗口大小)
modeling_sing_probe.py探针模型实现(MLP 版与注意力版)
configuration_sing_probe.py配置类定义
model.safetensors探针权重文件

六、FAQ:它适合谁?

Q:我是普通开发者,没有安全模型经验,能用吗?A:可以。部署上就是多传一个--probe-ckpt参数,拿到 token 级分数后自己定阈值即可,不需要训练或微调。

Q:它和独立部署一个安全检测模型比,优势是什么?A:三点——省显存(只有 6.17M 参数 vs 独立的 8B 模型)、能流式拦截(不必等回答生成完)、误报率极低(0.03%)。

Q:幻觉检测的 AUC 0.7806 够用吗?A:它和专用方法 DRIFT(0.8000)基本持平,而且你是"顺路"获得的这份能力,性价比很高;对生产环境而言,再叠加意图分类和安全分类,能构建完整的三层护栏。


总结:如果你正在用 Qwen3.5-122B-A10B 做线上服务,Qwen3.5-122B-A10B-singprobe 是目前成本最低的"幻觉 + 安全"实时检测方案——一行参数接入,逐 token 打分,<0.5% 开销,0.03% 误报率。

【免费下载链接】Qwen3.5-122B-A10B-singprobe

项目地址:https://ai.gitcode.com/hf_mirrors/inclusionAI/Qwen3.5-122B-A10B-singprobe
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进