Mistral 发了个 3B 的「合规守门员」,支持自然语言写策略、推理一次出分
Mistral AI 最近在 Hugging Face 上线了 Shieldstral-1.0-3B,一个 3B 参数的内容审核模型。单张 GPU 就能跑,支持文本、图片、图文混合三种输入模式。它不输出"有害/无害"这种固定标签,而是给出一个 0 到 1 的连续安全分数——阈值由用户来定。
策略自适应
审核规则变了,不用重新训练模型,改 prompt 里的自然语言描述就能切换口径。
模型把内容审核包装成 yes/no 问答任务。输入由 system prompt 和 user message 组成,system 端固定写着一句判断要求,user 端拆成三块:
<Instruct>:评估背景、严格程度(strict / moderate / lenient)、可选类别<Query>:一句 yes/no 问题,如"这段内容是否鼓励暴力?"<Document>:待审核内容
模型做一次前向传播,吐一个 yes 或 no token,对两个 token 的 logit 做 softmax 归一化,得到 0 到 1 之间的分数。默认阈值 0.5,可按需调整。
一份权重、一套服务,靠改 <Query> 和 <Instruct> 就能应对不同产品线、不同地区的合规口径切换,换策略不用重训。
技术规格
模型基于 Ministral-3-3B-Base-2512 后缀微调,内置 Pixtral 视觉编码器,图、文、图文混排都能处理。支持 12 种语言:英语、法语、西班牙语、德语、意大利语、葡萄牙语、荷兰语、中文、日语、韩语、阿拉伯语和俄语。上下文窗口官方训练到 32K token,理论上支持到 256K,但建议保持在 32K 以内。
模型 3B 参数,BF16 精度,大约 16GB 显存就能跑。推理框架支持 vLLM、llama.cpp、SGLang 和 Transformers 四种,也提供了 Axolotl 微调示例。协议 Apache 2.0,商用自用基本没限制。
性能数据
官方 benchmark 里,Shieldstral-3B 有几个亮点:
- HarmBench 提示词分类 F1 达到 99.4,对比模型中最高
- VLGuard 多模态 F1 为 97.7,比第二名 OmniGuard-7B 高出近 9 个百分点
- ToxicChat 提示词分类 84.1,WildGuardTest 多语言提示词分类 84.6,同样是榜首
refusal 检测方面也比较稳:WildGuardTest 上 F1 90.3,XSTest 上 94.6。
不过有些榜单它不是第一。WildGuardTest 提示词分类、HarmBench 响应分类、RTP-LX 的多项指标上,GPT-OSS-Safeguard-20B 和 Qwen3Guard-8B 略占上风。前者用 reasoning_effort=high 跑,后者是 8B 模型,这个对比其实不太公平,但官方数据确实如此。部分榜单里 Nemotron-3.5 也有一定竞争力。
使用方式和边界
官方推荐用 vLLM(≥0.26.0)部署,一行命令即可:
vllm serve mistralai/Shieldstral-1.0-3B --max-model-len 32768
通过 OpenAI 兼容的 chat endpoint 调用,带上 max_tokens=1 和 logprobs=True, top_logprobs=20,拿到 yes/no 两个 token 的 logprob,手动 softmax 归一化就能得到连续分数。vLLM、Transformers、llama.cpp 三种实现的代码示例都在 Hugging Face 模型页面。
模型卡里也写得比较直白,有几个明显的局限:
训练数据在语言和领域上分布不均,某些语言下表现可能不稳定。合成数据和公开安全数据里还存在标签噪声。对抗性输入(编码、转写、混写)和超长文档会降低可靠性。
它不是一个设好就不管的黑盒。尤其在非英语场景、特殊输入格式,以及涉及新兴风险类别(新型诈骗话术、新形态仇恨言论)时,需要人工验证和持续观察。
适用场景
需要同时审核用户输入和模型输出,且希望用同一套权重覆盖;合规口径经常变,每次都不想重新训练或部署新模型;有图片审核需求,但不想维护多套独立的审核服务;预算有限,只能买一块消费级显卡。
Shieldstral-3B 是一个值得试的选择。它不能替你决定什么算"有害",但它能把"按你定的规则判断"这件事做得比较快、比较便宜。