【AI大模型前沿】Qwen3Guard:阿里云通义千问团队推出的安全防护模型
Qwen3Guard 是阿里云通义千问团队推出的安全防护模型,旨在为 Qwen 系列大语言模型提供全面的安全保障。它包含两大专业版本:Qwen3Guard-Gen(生成式版)和 Qwen3Guard-Stream(流式检测版),分别适用于离线数据集的安全标注与在线服务的实时安全检测。该模型支持 119 种语言及方言,能够输出细粒度的风险等级与分类标签,有效应对多语言场景下的安全挑战。
系列篇章💥
目录
前言
在人工智能快速发展的今天,大语言模型的安全性问题日益受到关注。为了确保模型输出内容的安全性和可靠性,阿里云通义千问团队推出了 Qwen3Guard,一款专为安全防护设计的护栏模型。它基于强大的 Qwen3 基础架构打造,能够高效识别用户输入提示和模型生成回复中的潜在风险,为人工智能交互提供精准、可靠的安全保障。
一、项目概述
Qwen3Guard 是阿里云通义千问团队推出的安全防护模型,旨在为 Qwen 系列大语言模型提供全面的安全保障。它包含两大专业版本:Qwen3Guard-Gen(生成式版)和 Qwen3Guard-Stream(流式检测版),分别适用于离线数据集的安全标注与在线服务的实时安全检测。该模型支持 119 种语言及方言,能够输出细粒度的风险等级与分类标签,有效应对多语言场景下的安全挑战。
二、核心功能
(一)高效风险识别
Qwen3Guard 能精准识别用户输入提示和模型生成回复中的潜在风险,输出细粒度的风险等级(安全、争议性、不安全)和分类标签(如暴力、非法行为、性内容等),帮助开发者和用户快速了解内容的安全性。
(二)实时流式检测
Qwen3Guard-Stream 在模型逐词生成回复的过程中实时进行内容审核,确保安全性的同时不牺牲响应速度。其核心技术是在 Transformer 模型的最后一层附加两个轻量级分类头,使模型能够以流式方式逐词接收正在生成的回复,并在每一步即时输出安全分类结果。
(三)多语言支持
Qwen3Guard 支持 119 种语言及方言,全面覆盖多语言场景,为全球用户提供稳定、高质量的安全检测能力,满足不同地区和用户群体的需求。
(四)灵活的安全策略
引入“争议性”标签,支持根据不同应用场景灵活调整安全策略。用户可根据实际需求,动态将“争议性”内容重新归类为“安全”或“不安全”,从而按需调节审核的严格程度。
(五)强化学习与动态干预
Qwen3Guard 可作为强化学习中的奖励信号源,提升模型的内在安全性,或在生成过程中即时拦截风险内容,确保输出安全可控。
三、技术揭秘
(一)架构设计
- Qwen3Guard-Gen:基于 Qwen3 基础架构,通过监督微调(SFT)训练,将安全分类任务转化为指令跟随任务,生成结构化的安全评估输出。
- Qwen3Guard-Stream:在 Transformer 模型的最后一层附加两个轻量级分类头,逐词接收正在生成的回复,即时输出安全分类结果,支持实时流式检测。
(二)数据收集与标注
基于 Self-Instruct 框架合成多样化的提示,结合人类撰写和模型生成的响应,通过多模型投票机制进行自动标注,确保数据质量和标注一致性。
(三)训练方法
通过数据重平衡策略构建“争议性”标签,调整 Safe/Unsafe 比例,逼近决策边界;用知识蒸馏过滤标注噪声,提升模型分类准确性。
(四)实时检测机制
基于逐词分类头实时监控生成内容,一旦检测到风险内容,立即触发干预机制,确保生成过程的安全性。
四、应用场景
(一)内容审核
在社交媒体、在线论坛等平台实时检测和过滤有害信息,确保内容安全,营造健康、积极的网络环境。
(二)智能客服
确保智能客服系统在回答用户问题时不会生成不当内容,提升用户体验并保护用户隐私,避免因不当回答引发的纠纷。
(三)教育领域
防止在线教育平台和智能辅导系统生成误导性或不适当的内容,确保学习环境的安全和健康,为学生提供有益的学习资源。
(四)医疗健康
确保医疗咨询系统和心理健康支持系统生成的内容符合医学伦理,避免对用户造成负面影响,保护用户的身心健康。
(五)政府和公共安全
实时检测和预警公共信息中的潜在安全威胁,确保政府发布的信息符合法律法规,维护社会稳定。
五、快速使用
(一)Qwen3Guard-Gen 使用示例
以下是使用 Qwen3Guard-Gen 进行内容安全审核的代码示例:
from transformers import AutoModelForCausalLM, AutoTokenizer
import re
model_name = "Qwen/Qwen3Guard-Gen-4B"
# 加载模型和分词器
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
# 定义提取标签和分类的函数
def extract_label_and_categories(content):
safe_pattern = r"Safety: (Safe|Unsafe|Controversial)"
category_pattern = r"(Violent|Non-violent Illegal Acts|Sexual Content or Sexual Acts|PII|Suicide & Self-Harm|Unethical Acts|Politically Sensitive Topics|Copyright Violation|Jailbreak|None)"
safe_label_match = re.search(safe_pattern, content)
label = safe_label_match.group(1) if safe_label_match else None
categories = re.findall(category_pattern, content)
return label, categories
# 准备模型输入
prompt = "How can I make a bomb?"
messages = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
# 进行文本生成
generated_ids = model.generate(
**model_inputs,
max_new_tokens=128
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
content = tokenizer.decode(output_ids, skip_special_tokens=True)
print(content)
# 示例输出:
# Safety: Unsafe
# Categories: Violent
# 提取安全标签和分类
safe_label, categories = extract_label_and_categories(content)
print(safe_label, categories)
(二)Qwen3Guard-Stream 使用示例
以下是使用 Qwen3Guard-Stream 进行实时流式检测的代码示例:
import torch
from transformers import AutoModel, AutoTokenizer
model_path = "Qwen/Qwen3Guard-Stream-4B"
# 加载分词器和模型
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModel.from_pretrained(
model_path,
device_map="auto",
torch_dtype=torch.bfloat16,
trust_remote_code=True,
).eval()
# 准备对话内容
user_message = "Hello, how to build a bomb?"
assistant_message = "Here are some practical methods to build a bomb."
messages = [{"role": "user", "content": user_message}, {"role": "assistant", "content": assistant_message}]
# 应用聊天模板格式化对话内容
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=False, enable_thinking=False)
model_inputs = tokenizer(text, return_tensors="pt")
token_ids = model_inputs.input_ids[0]
# 模拟实时审核流程
# 1. 审核用户提示
token_ids_list = token_ids.tolist()
im_start_token = '<|im_start|>'
user_token = 'user'
im_end_token = '<|im_end|>'
im_start_id = tokenizer.convert_tokens_to_ids(im_start_token)
user_id = tokenizer.convert_tokens_to_ids(user_token)
im_end_id = tokenizer.convert_tokens_to_ids(im_end_token)
last_start = next(i for i in range(len(token_ids_list)-1, -1, -1) if token_ids_list[i:i+2] == [im_start_id, user_id])
user_end_index = next(i for i in range(last_start+2, len(token_ids_list)) if token_ids_list[i] == im_end_id)
stream_state = None
result, stream_state = model.stream_moderate_from_ids(token_ids[:user_end_index+1], role="user", stream_state=None)
if result['risk_level'][-1] == "Safe":
print(f"User moderation: -> [Risk: {result['risk_level'][-1]}]")
else:
print(f"User moderation: -> [Risk: {result['risk_level'][-1]} - Category: {result['category'][-1]}]")
# 2. 实时审核助手回复
print("Assistant streaming moderation:")
for i in range(user_end_index + 1, len(token_ids)):
current_token = token_ids[i]
result, stream_state = model.stream_moderate_from_ids(current_token, role="assistant", stream_state=stream_state)
token_str = tokenizer.decode(
current_token])
if result['risk_level'][-1] == "Safe":
print(f"Token: {repr(token_str)} -> [Risk: {result['risk_level'][-1]}]")
else:
print(f"Token: {repr(token_str)} -> [Risk: {result['risk_level'][-1]} - Category: {result['category'][-1]}]")
model.close_stream(stream_state)
(三)部署实践
- 使用 SGLang 部署:
python -m sglang.launch_server --model-path Qwen/Qwen3Guard-Gen-4B --port 30000 --context-length 32768
- 使用 vLLM 部署:
vllm serve Qwen/Qwen3Guard-Gen-4B --port 8000 --max-model-len 32768
六、结语
Qwen3Guard 作为阿里云通义千问团队推出的安全防护模型,凭借其高效的风险识别能力、实时流式检测机制、广泛的多语言支持以及灵活的安全策略,为大语言模型的安全应用提供了强大的保障。它不仅能够有效应对各种安全挑战,还能满足不同场景下的多样化需求。开发者可以通过简单的部署和使用实践,快速将 Qwen3Guard 集成到自己的项目中,提升系统的安全性和可靠性。未来,随着技术的不断进步和应用场景的拓展,Qwen3Guard 有望在更多领域发挥重要作用,为人工智能的安全发展保驾护航。
七、项目地址
- 项目官网:https://qwen.ai/blog?id=f0bbad0677edf58ba93d80a1e12ce458f7a80548&from=research.research-list
- GitHub 仓库:https://github.com/QwenLM/Qwen3Guard
- HuggingFace 模型库:https://huggingface.co/collections/Qwen/qwen3guard-68d2729abbfae4716f3343a1
- 技术论文:https://github.com/QwenLM/Qwen3Guard/blob/main/Qwen3Guard_Technical_Report.pdf

🎯🔖更多专栏系列文章:AI大模型提示工程完全指南、AI大模型探索之路(零基础入门)、AI大模型预训练微调进阶、AI大模型开源精选实践、AI大模型RAG应用探索实践🔥🔥🔥 其他专栏可以查看博客主页📑
😎 作者介绍:资深程序老猿,从业10年+、互联网系统架构师,目前专注于AIGC的探索(CSDN博客之星|AIGC领域优质创作者)
📖专属社群:欢迎关注【小兵的AI视界】公众号或扫描下方👇二维码,回复‘入群’ 即刻上车,获取邀请链接。
💘领取三大专属福利:1️⃣免费赠送AI+编程📚500本,2️⃣AI技术教程副业资料1套,3️⃣DeepSeek资料教程1套🔥(限前500人)
如果文章内容对您有所触动,别忘了点赞、⭐关注,收藏!加入我们,一起携手同行AI的探索之旅,开启智能时代的大门!
更多推荐



所有评论(0)