【免费下载链接】Qwen3.5-35B-A3B-singprobe
Qwen3.5-35B-A3B-singprobe(SingProbe)是一个基于 Qwen3.5-35B-A3B 构建的内置流式内容护栏(intrinsic streaming guardrail):它在推理生成时复用基础模型的隐藏状态,对每一个 token实时计算查询意图、回复不安全度与幻觉风险三类分数,解码开销不到 0.5%。对于需要上线大模型、又希望安全检测"零感知"的团队,这是一份从原理到上线的完整安全清单。
为什么传统"外挂安全模型"不够用?
多数生产环境的做法是:先用大模型生成回复,再调用一个独立的安全模型做一次"安检"。这套方案有三个天然缺陷:
- 延迟叠加:安全模型需要单独推理一次,首字延迟和整体耗时被拉长;
- 无法流式拦截:只能等整段生成完再判定,流式输出场景下"坏内容"已经发出去了;
- 成本翻倍:多一个模型就多一份显存与算力开销。
SingProbe 的思路完全不同:它不单独跑安全模型,而是一个仅4.2M 参数的轻量探针,直接"寄生"在基础模型的内部表示上——每生成一个 token,顺手就打一次分。因此它的解码开销< 0.5%,对用户体验几乎零感知。
SingProbe 工作原理:3 层探针 + 10 个标签
从哪里"取信号"
探针并不看模型输出什么字,而是看模型内部在想什么。它从基础模型的 3 个指定层([12, 25, 38])抽取隐藏状态作为输入,配置见 config.json:
| 配置项 | 取值 | 含义 |
|---|---|---|
base_model_layer_ids | [12, 25, 38] | 从这 3 层取隐藏状态 |
num_labels | 10 | 输出 10 类分数 |
sliding_window | 2048 | 滑窗注意力窗口 |
torch_dtype | bfloat16 | 推理精度 |
输出什么信号
每个生成 token 会返回 10 个分数(label_0–label_9),覆盖三类判断:
- 8 种查询意图分类——识别用户问题的意图类型;
- 不安全度(unsafe)——当前回复内容是否越线;
- 幻觉风险(hallucination)——当前 token 是否存在"编造"倾向。
探针本体是一个小型注意力模块(SingProbeAttnModel),采用滑动窗口注意力以控制长序列下的计算量,实现可参考 modeling_sing_probe.py,配置类定义在 configuration_sing_probe.py。
一条命令完成接入:最快配置方法
SingProbe 已通过 SGLang 与 vLLM 的集成分支支持,启动服务器时只需多传一个--probe-ckpt参数:
python -m sglang.launch_server \ --model-path Qwen/Qwen3.5-35B-A3B \ --probe-ckpt inclusionAI/Qwen3.5-35B-A3B-singprobe \ --port 30000⚠️ 注意:基础模型与探针必须严格配对,即Qwen/Qwen3.5-35B-A3B配本探针权重,不要混搭其他版本。接入后,服务端会在每个生成 token 的响应中附带一组label_0–label_9分数,供你的业务层做阈值判定与拦截策略。
官方评测数据:安全效果如何?
以下是 README.md 中给出的基准成绩(数值越高越好):
| 任务 | 指标 | SingProbe | 参考基线 |
|---|---|---|---|
| 查询意图分类(6 个基准) | F1 | 0.8751 | YuFeng-XGuard-Reason-8B:0.8714 |
| 回复安全分类(8 个基准) | F1 | 0.8672 | Qwen3Guard-Gen-8B-strict:0.8604 |
| 流式安全(3 个基准) | R-AUC / T-AUC | 0.9902 / 0.9374 | Qwen3Guard-Stream-8B-strict:0.9640 / 0.8893 |
| 幻觉检测(6 个基准) | AUC | 0.8117 | DRIFT:0.8000 |
更关键的是两项"部署友好型"指标:
- 良性回复误报率:在 5 个数据集上平均仅0.03%——几乎不会误伤正常对话;
- 解码开销:< 0.5%——这就是"零额外延迟"的底气。
一个 4.2M 参数的小探针,在意图分类、回复安全、流式安全、幻觉检测四项任务上全部追平甚至超过了 8B 级的独立安全模型,性价比非常突出。
大模型上线安全检查清单
基于以上特性,建议在上线前逐项确认:
- 模型配对检查:确认
Qwen/Qwen3.5-35B-A3B与探针权重版本严格匹配,混用会导致分数失真; - 阈值灰度:先用线上真实流量离线回放,为 unsafe 与幻觉分数分别设定拦截阈值,再小流量灰度;
- 流式拦截策略:利用逐 token 分数设计"先缓冲、超阈值即中止"的流式输出策略,而不是等生成完毕再判断;
- 误报兜底:0.03% 的误报率虽低,仍建议对被拦截请求提供申诉/重试通道;
- 性能回归:上线前后对比 TTFT(首字延迟)与 TPS,验证 <0.5% 开销承诺在你硬件上的表现;
- 意图分流:利用 8 类意图分数做业务路由(如高风险意图自动切换审核话术)。
关键文件导航
| 文件 | 说明 |
|---|---|
| config.json | 探针架构配置:取层、窗口、标签数 |
| configuration_sing_probe.py | SingProbeAttnConfig/SingProbeMlpConfig配置类 |
| modeling_sing_probe.py | 探针模型实现(含滑窗注意力与分类头) |
| README.md | 模型说明、评测数据与快速上手 |
总结
Qwen3.5-35B-A3B-singprobe 用 4.2M 参数的内置探针,把"大模型内容安全"从一次额外的模型调用变成了每 token 顺手的一次打分:逐 token 流式感知、<0.5% 解码开销、0.03% 良性误报率。如果你的大模型产品正在为安全护栏的延迟与成本头疼,这条"零额外延迟"的路线值得放进你的上线清单。
【免费下载链接】Qwen3.5-35B-A3B-singprobe
相关推荐
一文读懂Qwen3.5-2B-singprobe:内嵌流式安全探针,给大模型装上的隐形护栏
一文读懂Qwen3.5 2B singprobe:内嵌流式安全探针,给大模型装上的隐形护栏 Qwen3.5 2B singprobe 是一个基于 Qwen3.5
流式安全护栏是如何工作的?面向新手Qwen3.6-35B-A3B-singprobe完整教程
流式安全护栏是如何工作的?面向新手Qwen3.6 35B A3B singprobe完整教程 Qwen3.6 35B A3B singprobe 是一个基于 Q
Qwen3.5-122B-A10B-singprobe完全解读:6M参数流式安全护栏如何让大模型近乎零开销自保?
Qwen3.5 122B A10B singprobe完全解读:6M参数流式安全护栏如何让大模型近乎零开销自保? Qwen3.5 122B A10B singp
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考