【免费下载链接】Qwen3.5-4B-singprobe
Qwen3.5-4B-singprobe 是一个构建在Qwen/Qwen3.5-4B之上的流式安全护栏(streaming guardrail)探针模型:它不额外运行独立的安全模型,而是在生成过程中逐 token 读取基座模型的隐藏状态,实时评估查询意图、回答不安全程度和幻觉风险。本文用通俗的语言讲清它的两大核心指标R-AUC与T-AUC,并拆解其幻觉检测原理,帮你一文读懂这套流式安全方案。
🛡️ 先认识主角:Qwen3.5-4B-singprobe 是什么?
传统做法是给大模型"外挂"一个独立的安全审查模型,先生成完再整体检查——既慢又费算力。Qwen3.5-4B-singprobe 换了一种思路:把安全检测做进生成过程本身。
- 流式探测:每生成一个 token,探针就同步打分一次,危险内容"边生成边发现",而非事后补票
- 三合一输出:一次探测同时给出 8 类查询意图、回答不安全度、幻觉风险分
- 轻量到极致:探针参数仅5.18M(约为基座模型的 0.13%),解码开销< 0.5%
- 低误报:良性回答的误报率平均仅0.04%
这些关键信息可以在 README.md 的 Model Description 部分找到,配置层面则定义在 config.json 中。
📊 一分钟搞懂 AUC:安全检测的"综合成绩单"
在讨论 R-AUC 和 T-AUC 之前,先用 30 秒理解AUC(Area Under the ROC Curve,接收者操作特征曲线下面积)。
可以这样直观理解:
随机抽一个"不安全"样本和一个"安全"样本,模型给"不安全"样本打出更高分数的概率,就是 AUC。
| AUC 取值 | 含义 |
|---|---|
| 1.0 | 完美区分,永不混淆 |
| 0.9 以上 | 非常优秀的安全检测水平 |
| 0.5 | 等于抛硬币蒙 |
为什么安全领域偏爱 AUC 而不是准确率?因为 AUC 不依赖人工划定的分数阈值,对"安全样本多、危险样本少"这种不平衡场景更稳健,便于在不同模型之间横向对比。
🎯 R-AUC:回答"最终判定准不准"
R-AUC(Response 维度 AUC)衡量的是:当回答生成到结尾时,模型把整条回答判对"安全 / 不安全"的能力。
打个比方:一位安检员在乘客(回答)走完整个安检门之后做出的最终判定是否准确,考验的就是 R-AUC。
在流式安全任务的 3 个基准测试上,Qwen3.5-4B-singprobe 取得:
| 模型 | 规模 | R-AUC |
|---|---|---|
| Qwen3.5-4B-singprobe | 4B + 5.18M 探针 | 0.9870 |
| Qwen3Guard-Stream-8B-strict(专用护栏) | 8B | 0.9640 |
一个带 5.18M 小探针的 4B 模型,反而比 8B 专用护栏模型高出了约 2.3 个点——因为探针直接"住"在基座模型内部,读的是第一手的隐藏状态,而不是事后重新理解文本。
⏱️ T-AUC:回答"危险发现得早不早"
T-AUC(Time 维度 AUC)衡量的则是"速度":不安全信号在 token 流中多快就能被区分出来。
流式场景下的意义非常实际:
- 如果第 20 个 token 就检测到风险,可以立即截断,用户根本看不到完整危险内容
- 检测越早,浪费的生成算力和用户暴露时间越少
- 检测太晚(比如接近结尾才报警),护栏就形同虚设
继续用安检的比喻:T-AUC 考察的是安检员在乘客刚踏上安检门时,能否立刻识别出可疑物品。
| 模型 | 规模 | T-AUC |
|---|---|---|
| Qwen3.5-4B-singprobe | 4B + 5.18M 探针 | 0.9286 |
| Qwen3Guard-Stream-8B-strict(专用护栏) | 8B | 0.8893 |
💡一句话记住两者的分工:R-AUC 管"准",T-AUC 管"快"。流式安全护栏必须同时满足这两点,单看任何一项都会产生错觉。
🧠 幻觉检测原理:第三个被实时探测的维度
除了安全问题,探针还对每个 token 输出一个幻觉风险分,用于识别模型"一本正经说错话"的片段。
它是怎么"看见"幻觉信号的?
关键在层间隐藏状态的拼接。基座模型共 36 层左右,Qwen3.5-4B-singprobe 抽取第9、19、30层(浅、中、深三个位置)的隐藏状态并拼接成输入特征:
- 浅层(第 9 层)更多携带局部、表层语义信息
- 深层(第 30 层)更多承载抽象语义与事实推理状态
- 三层拼接让探针同时拥有"细节视角"和"全局视角",幻觉往往恰恰体现在两种视角的不一致中
这一设计在 config.json 的base_model_layer_ids字段中清晰可见,输入特征维度的计算逻辑则定义在 configuration_sing_probe.py 的input_size属性中(hidden_size × 抽取层数 = 2560 × 3)。
幻觉检测效果如何?
在 6 个幻觉检测基准上,Qwen3.5-4B-singprobe 取得AUC 0.7855,与专用幻觉检测方法 DRIFT(0.8000)基本处于同一梯队——而且它是"顺手"在流式探测中输出的,不需要额外的推理流程。
| 任务 | 指标 | 结果 |
|---|---|---|
| 查询意图分类(6 基准) | F1 | 0.8650 |
| 回答安全分类(8 基准) | F1 | 0.8646 |
| 流式安全(3 基准) | R-AUC / T-AUC | 0.9870 / 0.9286 |
| 幻觉检测(6 基准) | AUC | 0.7855 |
完整评测表格见 README.md 的 Evaluation 部分。
🔍 工作全流程:探针内部发生了什么?
整个探测流程可以概括为四步:
- 抽取:生成每个 token 时,收集基座模型第 9、19、30 层的隐藏状态并拼接
- 注意力聚合:探针是一个带滑动窗口(2048)的轻量注意力模型(8 个头),核心实现在 modeling_sing_probe.py 的
SingProbeAttnModel中;窗口机制让它兼顾长程上下文,而注意力计算量可控(见 modeling_sing_probe.py) - 分类输出:经 RMSNorm 后输出10 维 logits,对应
label_0–label_9,即 8 类查询意图 + 不安全 + 幻觉风险 - 实时决策:推理引擎(SGLang / vLLM)每个 token 返回一个分数字典,宿主程序据此决定继续、截断或告警
此外项目还提供了一个纯 MLP 的轻量版探针SingProbeMlpModel(modeling_sing_probe.py),结构更简单,适合对时延极端敏感的场景;其配置类定义在 configuration_sing_probe.py。当前发布的权重采用的是注意力版(见 config.json 的architectures字段)。
🚀 如何部署:一行参数接入 SGLang
部署时只需在启动服务端时通过--probe-ckpt挂载探针(命令取自 README.md 的 Quick Start):
python -m sglang.launch_server \ --model-path Qwen/Qwen3.5-4B \ --probe-ckpt inclusionAI/Qwen3.5-4B-singprobe \ --port 30000⚠️ 两个注意点:
- 必须成对使用:探针与基座模型严格绑定,本权重只适配
Qwen/Qwen3.5-4B - vLLM 用户:同样有对应的集成分支,用法一致,按集成文档挂载即可
✅ 总结:为什么这套方案值得关注
- 流式:逐 token 探测,危险内容可被提前截断,R-AUC 0.9870 / T-AUC 0.9286 双双超越 8B 专用护栏基线
- 轻:5.18M 参数、< 0.5% 解码开销,几乎不改变原有推理成本
- 多:一次探测覆盖意图分类、安全分类、幻觉检测三大任务,误报率仅 0.04%
- 懂原理:层间隐藏状态拼接 + 滑动窗口注意力,让"安全判断"与"幻觉识别"共享同一次前向计算
如果你正在为 4B 级别的大模型寻找一套"准且快"的流式安全护栏,Qwen3.5-4B-singprobe 的 R-AUC / T-AUC 双高成绩说明:小探针也能守住大模型的安全底线。
【免费下载链接】Qwen3.5-4B-singprobe
相关推荐
基于Qwen3.5-27B-singprobe的流式安全拦截实战:R-AUC 0.9879与T-AUC 0.9289指标解读
基于Qwen3.5 27B singprobe的流式安全拦截实战:R AUC 0.9879与T AUC 0.9289指标解读 Qwen3.5 27B singp
如何读懂SingProbe评估指标?F1、R-AUC、T-AUC与AUC基准测试逐项解析
如何读懂SingProbe评估指标?F1、R AUC、T AUC与AUC基准测试逐项解析 Llama 3.2 1B Instruct singprobe(Sin
Ripple 事件绑定与事件委托机制详解:从 Props 语法到源码级委托实现
Ripple 事件绑定与事件委托机制详解:从 Props 语法到源码级委托实现 本文基于 Ripple 官方文档《Event Binding in Ripple
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考