【免费下载链接】Qwen3.5-4B-singprobe
Qwen3.5-4B-singprobe 是一个基于 Qwen3.5-4B 的内嵌式流式安全护栏(streaming guardrail)探针模型,它在生成过程中逐 token 输出意图分类、不安全内容与幻觉风险三类评分。本文为新手整理的Qwen3.5-4B-singprobe API 参考,覆盖 config.json 全部配置参数、配置类与模型接口、服务端启动参数,以及常见报错说明,方便你快速查阅和对接。
项目概览:SingProbe 是什么
SingProbe 不是独立的安全模型,而是一个仅约5.18M 参数的轻量探针:它复用基座模型的隐藏状态,在解码时同步打分,额外开销< 0.5%。
| 项目 | 说明 |
|---|---|
| 基座模型 | Qwen/Qwen3.5-4B |
| 探针参数量 | 5.18M |
| 接入层(tapped layers) | [9, 19, 30] |
| 输出维度 | 8 类意图 + 不安全 + 幻觉,共 10 个分数(label_0–label_9) |
💡 重要提示:探针必须与精确匹配的基座模型(
Qwen/Qwen3.5-4B+ 本检查点)成对使用,混用其他版本会导致打分失效。
仓库文件结构一览 📁
仓库非常精简,全部资料如下:
- README.md:模型说明、评测结果与快速上手
- config.json:模型配置(架构、维度、层号等核心参数)
- configuration_sing_probe.py:配置类定义(Attn / MLP 两种)
- modeling_sing_probe.py:模型实现与
forward接口 - model.safetensors:探针权重文件(约 10MB,bfloat16)
服务端启动参数速查
推荐通过 SGLang 或 vLLM 的集成分支加载探针,在服务启动时指定探针路径即可:
python -m sglang.launch_server \ --model-path Qwen/Qwen3.5-4B \ --probe-ckpt inclusionAI/Qwen3.5-4B-singprobe \ --port 30000| 启动参数 | 示例值 | 说明 |
|---|---|---|
--model-path | Qwen/Qwen3.5-4B | 基座模型路径或模型 ID,必须与本探针配对 |
--probe-ckpt | inclusionAI/Qwen3.5-4B-singprobe | 探针检查点路径或模型 ID |
--port | 30000 | 服务监听端口 |
启动后,服务会为每个生成的 token返回一个label_0–label_9的评分字典,可直接用于流式安全拦截与幻觉检测。
config.json 全部配置参数详解
打开 config.json,每个字段的含义如下:
| 参数 | 本仓库取值 | 类型 | 说明 |
|---|---|---|---|
architectures | ["SingProbeAttnModel"] | 数组 | 加载时使用的模型类,见 modeling_sing_probe.py |
model_type | sing_probe_attn | 字符串 | 模型类型标识,与配置类一一对应 |
auto_map.AutoConfig | configuration_sing_probe.SingProbeAttnConfig | 字符串 | AutoConfig自动映射到的配置类 |
auto_map.AutoModel | modeling_sing_probe.SingProbeAttnModel | 字符串 | AutoModel自动映射到的模型类 |
hidden_size | 2560 | 整数 | 基座模型单层隐藏维度,探针输入 = 该值 × 层数 |
base_model_layer_ids | [9, 19, 30] | 整数数组 | 从基座模型哪些层抽取隐藏状态(探针输入共 3×2560=7680 维) |
num_attention_heads | 8 | 整数 | 探针注意力头数 |
head_dim | 64 | 整数 | 每个注意力头的维度,投影维度 = 8×64=512 |
sliding_window | 2048 | 整数 | 注意力滑动窗口长度,序列超过该长度时启用窗口化注意力 |
num_labels | 10 | 整数 | 输出标签数(8 意图 + 不安全 + 幻觉) |
base_model_name | Qwen/Qwen3.5-4B | 字符串 | 绑定的基座模型名称 |
torch_dtype | bfloat16 | 字符串 | 权重精度,推理建议保持 bfloat16 |
配置类参数:SingProbeAttnConfig 与 SingProbeMlpConfig
configuration_sing_probe.py 中定义了两个可继承PretrainedConfig的配置类,除上表参数外还有默认值与扩展字段:
| 参数 | Attn 配置默认值 | MLP 配置默认值 | 说明 |
|---|---|---|---|
hidden_size | 2560 | 2560 | 基座隐藏维度 |
base_model_layer_ids | [] | [] | 接入层列表,留空则input_size为 0 |
num_attention_heads | 4 | — | 仅 Attn 模型使用 |
head_dim | 64 | — | 仅 Attn 模型使用 |
sliding_window | None(不限制) | — | 窗口长度,None表示全因果注意力 |
intermediate_size | — | 1024 | 仅 MLP 模型使用 |
hidden_act | — | gelu | 仅 MLP 模型使用的激活函数 |
num_labels | 10 | 10 | 输出标签数 |
base_model_name | None | None | 基座模型名称 |
两个配置类都提供input_size属性,自动计算为hidden_size × len(base_model_layer_ids),即探针的输入特征维度(input_size 定义)。
模型接口说明:forward 输入与输出
探针对外只有一个核心接口forward(SingProbeAttnModel),调用方式极简:
- 输入:
hidden_states,形状[batch, seq_len, input_size],即拼接了 3 个接入层(9/19/30 层)隐藏状态的张量 - 输出:
TokenClassifierOutput,其中logits形状为[batch, seq_len, 10],每个 token 对应 10 个标签分数 - 可选参数:
return_dict=True/False,False时直接返回(logits,)元组
内部处理流程:proj_q / proj_k / proj_v投影 → 注意力(超长序列自动切换sliding_window窗口注意力)→o_proj残差 →RMSNorm→classifier线性分类层。其中 Q 头数为 8、K/V 头数为 1,属于GQA(分组查询注意力)结构,因此计算量很小。
MLP 版本(SingProbeMlpModel)接口一致,只是内部为两层全连接(fc1 → 激活 → fc2),适合作为更省资源的替代方案。
常见报错信息排查
| 错误信息 | 原因 | 解决方法 |
|---|---|---|
input feature size X does not match hidden_size * number of tapped layers (Y) | 传入的隐藏状态维度与hidden_size × 层数不符 | 检查是否按base_model_layer_ids完整拼接了 3 层特征(应为 7680 维) |
num_attention_heads and head_dim must be positive | 配置了非正数的头数/头维度 | 将num_attention_heads、head_dim设为 ≥1 |
sliding_window must be positive | sliding_window配置了 0 或负数 | 改为正整数(如 2048)或置为null |
性能参考:探针评测表现 📊
以下为 README.md 中给出的平均评测结果(越高越好):
| 任务 | 指标 | SingProbe | 对比基线 |
|---|---|---|---|
| 查询意图分类(6 个基准) | F1 | 0.8650 | YuFeng-XGuard-Reason-8B:0.8714 |
| 响应安全分类(8 个基准) | F1 | 0.8646 | Qwen3Guard-Gen-8B-strict:0.8604 |
| 流式安全检测(3 个基准) | R-AUC / T-AUC | 0.9870 / 0.9286 | Qwen3Guard-Stream-8B-strict:0.9640 / 0.8893 |
| 幻觉检测(6 个基准) | AUC | 0.7855 | DRIFT:0.8000 |
良性回复的平均误报率仅0.04%,解码开销< 0.5%,适合作为生产环境的常驻护栏。
使用小贴士 ✅
- 成对使用:
Qwen/Qwen3.5-4B+ 本探针,不要替换基座版本; - 读取分数:流式场景下每个 token 会返回一个
label_0–label_9字典,可对高风险标签设置阈值实时拦截; - 精度保持:权重为 bfloat16,加载时注意保持相同 dtype 以避免打分漂移;
- 长文本:序列超过 2048 时探针自动启用滑动窗口注意力,无需手动分片。
以上就是 Qwen3.5-4B-singprobe 的全部配置参数与模型接口清单。参数有变以 config.json 为准,接口细节可对照 modeling_sing_probe.py 源码进一步阅读。
【免费下载链接】Qwen3.5-4B-singprobe
相关推荐
SingProbe配置完全参考:config.json与configuration_sing_probe.py全参数详解
SingProbe配置完全参考:config.json与configuration_sing_probe.py全参数详解 Llama 3.2 1B Instru
newbie-guide-cj API参考:Controller、HighLightGuideBuilder与GuidePage接口完整清单
newbie guide cj API参考:Controller、HighLightGuideBuilder与GuidePage接口完整清单 newbie gu
UI组件OpenHarmonyGLM-5.2-singprobe配置全解:config.json参数API参考与最佳实践
GLM 5.2 singprobe配置全解:config.json参数API参考与最佳实践 GLM 5.2 singprobe 是一个构建在 GLM 5.2 之
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考