Qwen3Guard-Gen 生成式安全分类 — 离线数据标注与奖励信号
Gen 版的定位
Qwen3Guard-Gen 是生成式安全分类模型,对完整的用户输入和模型输出做一次性安全判断。
输出内容
Gen 版的输出包括:
- 风险等级:安全、低风险、中风险、高风险
- 分类标签:如暴力、色情、仇恨言论、自我伤害、仇恨、欺诈等
- 原因分析:为什么判定为有风险
典型用途
训练数据标注
构建安全的 SFT 数据:
# 批量审核数据集中的回复
for prompt, response in dataset:
messages = [
{"role": "user", "content": prompt},
{"role": "assistant", "content": response}
]
# 用 Guard-Gen 判断是否安全
risk = classify_safety(messages)
if risk.level != "safe":
# 过滤掉或标注
filtered_dataset.append((prompt, response, risk))
RLHF 奖励信号
作为安全奖励模型:
# 在 RLHF 训练中,奖励 = 有用性奖励 + 安全性奖励
utility_reward = utility_model(prompt, response)
safety_reward = guard_gen.score(prompt, response)
total_reward = utility_reward + safety_reward
批量内容审核
审核历史对话记录:
for conversation in conversations:
# 对完整对话做安全审核
safety_report = guard_gen.audit(conversation)
if safety_report.risk_level != "safe":
flag_for_review(conversation, safety_report)
与 Stream 版的分工
| 方面 | Gen | Stream |
|---|---|---|
| 输入时机 | 完整输入输出后 | 生成过程中逐 token |
| 速度 | 一次性,较快 | 逐 token,有开销 |
| 场景 | 离线标注、审核 | 在线实时拦截 |
| 精度 | 高(看全量) | 稍低(只看部分) |