【免费下载链接】Llama-3.2-1B-Instruct-singprobe
项目简介:什么是 SingProbe?
Llama-3.2-1B-Instruct-singprobe是一个内置的流式安全护栏(streaming guardrail),构建在meta-llama/Llama-3.2-1B-Instruct之上。它无需额外运行独立的安全模型,而是直接复用基座模型在生成过程中的隐藏状态(hidden states),对每个 token实时评估三类指标:
- 🎯查询意图(query intent)
- 🛡️响应安全性(response unsafety)
- 🕵️幻觉风险(hallucination risk)
整个探针仅新增4.2M 参数,解码开销< 0.5%,几乎不影响推理速度。
核心参数速查表
在部署前,建议先核对项目自带的关键配置。查看 config.json 可获取探针核心参数:
| 参数 | 值 | 说明 |
|---|---|---|
| 基座模型 | meta-llama/Llama-3.2-1B-Instruct | 必须严格配对 |
| 探针参数 | 4.2M | 极轻量 |
| 取样的隐藏层 | [4, 9, 14] | 即base_model_layer_ids |
| 输出标签 | 8 意图 + unsafe + 幻觉 | label_0–label_9 |
| 隐藏维度 | hidden_size: 2048 | 见config.json |
| 注意力头数 | num_attention_heads: 8 | 见config.json |
| 滑动窗口 | sliding_window: 2048 | 见config.json |
| 精度 | bfloat16 | 训练/推理数据类型 |
⚠️关键约束:探针与基座模型必须精确匹配,即
meta-llama/Llama-3.2-1B-Instruct搭配本 checkpoint,切勿混用其他版本。
架构说明:两种探针结构
本仓库提供了两种探针实现,源码位于 modeling_sing_probe.py,配置定义在 configuration_sing_probe.py:
| 模型类 | model_type | 结构 |
|---|---|---|
SingProbeMlpModel | sing_probe_mlp | 两层线性层 + 激活函数 |
SingProbeAttnModel | sing_probe_attn | 注意力机制 + RMSNorm + 分类头 |
当前 config.json 中architectures指定为SingProbeAttnModel,即采用注意力结构。其输入维度由hidden_size × 取样层数决定(2048 × 3 = 6144),代码中会严格校验,不匹配会抛出:
input feature size ... does not match hidden_size * number of tapped layers集成方式一:SGLang 部署
推荐使用 SGLang 集成分支,在服务器启动时通过--probe-ckpt参数加载探针:
python -m sglang.launch_server \ --model-path meta-llama/Llama-3.2-1B-Instruct \ --probe-ckpt inclusionAI/Llama-3.2-1B-Instruct-singprobe \ --port 30000参数说明:
--model-path:基座模型路径,必须为meta-llama/Llama-3.2-1B-Instruct--probe-ckpt:探针 checkpoint,即本仓库--port:服务监听端口
集成方式二:vLLM 部署
vLLM 集成分支的用法类似,同样是启动服务时挂载探针。只需把启动命令中的推理引擎换成 vLLM,并确保--model-path与探针配对一致即可。
💡 两种集成方式的核心逻辑相同:在生成每 token 时,返回一个包含
label_0–label_9的评分字典。
输出如何解读?
集成后,每个生成的 token 都会附带一个评分字典,键为label_0到label_9,分别对应 8 种意图、1 个 unsafe 标志和 1 个幻觉风险分数。你可以在业务层按分数阈值做拦截或告警:
- 分数越高 → 风险越需关注(具体阈值按业务场景设定)
- 对良性响应,该探针的平均误报率仅 0.08%
效果数据一览
来自 README.md 的评测结果(越高越好):
| 任务 | 指标 | 本探针 | 参考基线 |
|---|---|---|---|
| 查询意图分类(6 个基准) | F1 | 0.8566 | YuFeng-XGuard-Reason-8B:0.8714 |
| 响应安全分类(8 个基准) | F1 | 0.8468 | Qwen3Guard-Gen-8B-strict:0.8604 |
| 流式安全(3 个基准) | R-AUC / T-AUC | 0.9817 / 0.9242 | Qwen3Guard-Stream-8B-strict:0.9640 / 0.8893 |
| 幻觉检测(6 个基准) | AUC | 0.7546 | DRIFT:0.8000 |
可以看出:在流式安全场景下,本探针表现显著优于 8B 级安全模型,而参数量仅为后者的几十分之一。
常见问题清单(FAQ)
Q1:报错input feature size ... does not match怎么办?输入维度 =hidden_size × 取样层数。请确认你传入的隐藏状态维度与 config.json 中hidden_size: 2048和base_model_layer_ids: [4, 9, 14](共 3 层)相乘的结果一致(6144)。该逻辑在 modeling_sing_probe.py 的_validate_input中校验。
Q2:能否用其他基座模型?不能。README 明确要求exact base-model/probe pair(精确配对)。探针依赖meta-llama/Llama-3.2-1B-Instruct特定层的隐藏状态,换模型会失效。
Q3:探针会增加多少延迟?解码开销< 0.5%,基本可忽略。
Q4:--probe-ckpt路径应该填什么?填本仓库的 Hugging Face ID:inclusionAI/Llama-3.2-1B-Instruct-singprobe。
Q5:精度要用 fp16 还是 bf16?按 config.json 的torch_dtype: bfloat16,建议使用bfloat16以保证数值稳定。
Q6:如何获取权重?模型权重文件为 model.safetensors,配合 configuration_sing_probe.py 与 modeling_sing_probe.py 即可通过AutoModel自动加载(auto_map已配置)。
快速上手清单 📋
- 确认基座模型为
meta-llama/Llama-3.2-1B-Instruct - 选择 SGLang 或 vLLM 集成分支
- 启动命令加上
--probe-ckpt inclusionAI/Llama-3.2-1B-Instruct-singprobe - 在业务层读取每个 token 的
label_0–label_9评分做拦截 - 按场景设定分数阈值,完成流式安全护栏
更多细节(含技术报告链接与训练代码)请查看项目 README.md。
【免费下载链接】Llama-3.2-1B-Instruct-singprobe
相关推荐
gemma-4-31B-it-singprobe部署指南:SGLang/vLLM集成参数清单与避坑要点
gemma 4 31B it singprobe部署指南:SGLang/vLLM集成参数清单与避坑要点 gemma 4 31B it singprobe 是一个
Llama-3.2-1B-Instruct-singprobe完整概览:4.2M参数探针如何实现<0.5%开销的Token级安全检测
Llama 3.2 1B Instruct singprobe完整概览:4.2M参数探针如何实现<0.5%开销的Token级安全检测 Llama 3.2 1B
从零理解LLM安全护栏:Llama-3.2-1B-Instruct-singprobe的流式安全防护到底在保护什么?
从零理解LLM安全护栏:Llama 3.2 1B Instruct singprobe的流式安全防护到底在保护什么? LLM 安全护栏(Safety Guard
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考