安全与偏见评测:毒性、公平性、红队测试
先说结论
安全与偏见评测旨在检测大模型是否存在有害输出(毒性内容、偏见歧视)、是否可被恶意利用(越狱攻击),以及是否在安全与有用性之间取得合理平衡,主要通过毒性检测基准、公平性测试和红队测试(Red Teaming)三大手段实现。
先把核心脉络捋清楚
安全评测三大维度对比
| 维度 | 衡量内容 | 代表工具/基准 | 核心指标 |
|---|---|---|---|
| 毒性检测(Toxicity) | 模型是否会生成有害、冒犯性内容 | RealToxicityPrompts、ToxiGen、ToxicChat | 毒性概率、平均毒性分 |
| 公平性/偏见(Fairness/Bias) | 模型输出是否存在性别、种族、宗教等系统性偏见 | WinoBias、BBQ、CrowS-Pairs | 偏见差异比、刻板印象分数 |
| 安全性/对抗性(Safety/Adversarial) | 模型是否可被恶意引导产生危险内容 | AdvBench、HarmBench、JailbreakBench | 攻击成功率(ASR)、拒绝率 |
关键基准详解
| 基准 | 发布方 | 描述 | 特色 |
|---|---|---|---|
| RealToxicityPrompts | AllenAI (2020) | 100K 句子片段用于触发毒性补全 | 基于 Perspective API 打分 |
| ToxiGen | Hartvigsen et al. (2022) | ~274K 隐性毒性语句,覆盖 13 个少数群体 | 包含"看似中性但隐含恶意"的对抗样本 |
| AdvBench | Zou et al. (2023) | 对抗性越狱提示词集合 | 评估模型的指令跟随 vs 安全边界 |
| HarmBench (2024) | Mantas et al. | 标准化的自动红队评测框架 | 覆盖多类有害行为的系统化评测 |
| OR-Bench (2024) | Cui et al. | 过度拒绝基准 | 检测模型是否过度保守 |
| AEGIS | NVIDIA | 13 类内容安全评测数据集 | 覆盖面广,分类精细 |
| Llama Guard | Meta | 开源安全分类器 | 可作为安全护栏部署 |
原理拆开看
毒性评分原理
RealToxicityPrompts 使用 Google 的 Perspective API 对模型输出进行毒性打分(0-1 分),分数越高越有毒。评测方法是:给定一个可能触发毒性回复的句子开头(如争议性话题),让模型续写,然后对续写内容进行毒性评分。
关键指标:
- 毒性概率(Probability of Toxicity):生成内容毒性分 > 0.5 的比例
- 最大毒性分(Max Toxicity):多次采样中最高的毒性分
- 毒性分分布:整体毒性分的统计分布
偏见评测的原理
偏见评测的核心思路是对照组实验:改变输入中涉及人群属性的词语(如性别代词、种族标识),观察模型输出是否发生系统性变化。
以 WinoBias 为例:
- 输入:"The nurse notified the patient that her shift was over."(女性代词)
- 输入:"The nurse notified the patient that his shift was over."(男性代词)
- 如果模型在两种情况下的理解或续写有显著差异,则表明存在性别偏见。
BBQ(Bias Benchmark for QA)更进一步,在信息不足和信息充足两种条件下测试偏见:
- 信息不足时:模型是否依赖刻板印象作答?
- 信息充足时:刻板印象是否会干扰正确答案?
红队测试方法论
| 红队方法 | 原理 | 代表工作 |
|---|---|---|
| 人工红队 | 安全专家手动设计攻击 prompt | OpenAI Red Team Network |
| 自动化红队(ART) | 用一个 LLM 攻击另一个 LLM | Anthropic 的自动化红队研究 |
| 梯度攻击 | 通过梯度优化找到对抗性后缀 | GCG(Greedy Coordinate Gradient) |
| 多轮红队 | 通过多轮对话逐步引导模型产生有害内容 | 多轮越狱攻击 |
| 多模态红队 | 结合图像和文本进行攻击 | 视觉语言模型安全评测 |
攻击成功率(Attack Success Rate, ASR)是红队测试的核心指标:
设计时真正要权衡什么
| 取舍 | 说明 |
|---|---|
| 安全 vs 有用性(Safety-Helpfulness Tradeoff) | 更严格的安全策略减少有害输出但增加过度拒绝,降低模型有用性。OR-Bench 专门量化了这一问题。 |
| 毒性检测的阈值 | Perspective API 的毒性阈值设得高会漏检,设得低会误报。阈值选择取决于应用场景的风险承受能力。 |
| 覆盖的偏见维度 | 性别和种族偏见评测较成熟,但宗教、年龄、残疾、性取向等维度的评测标准仍不完善。 |
| 攻击方法的代表性 | GCG 等梯度攻击在实际场景中不常见(普通用户不会用梯度优化 prompt),但可以暴露模型的理论脆弱性。 |
| 自动化 vs 人工红队 | 自动化红队覆盖面广但可能遗漏语义层面的攻击,人工红队更有创意但规模有限。 |
| 跨文化安全标准 | 不同文化对"安全"的定义不同,某些在一个文化中可接受的内容在另一个文化中可能有害。 |
容易踩的坑
- Goodhart's Law 在安全领域的体现:过度优化某一安全基准会导致模型在其他安全维度上退化,或导致严重的过度拒绝问题。
- 越狱攻防的猫鼠游戏:新的防御方法出现后,新的攻击方法随之而来。没有"绝对安全"的模型,只有"已知攻击下相对安全"的模型。
- 偏见评测的覆盖盲区:大多数偏见基准只覆盖英语和少数群体维度,跨语言、跨文化的偏见评测严重不足。
- 毒性分类器本身的偏见:Perspective API 等毒性分类器本身存在偏见——例如对提及少数群体身份的内容给出更高的毒性评分,导致评测结果失真。
- 安全对齐的泛化失败:模型在标准安全测试中表现良好,但在分布外(OOD)的攻击下可能完全失效。研究表明,经过 RLHF 安全对齐的模型仍然可以通过精心设计的 prompt 绕过安全防护。
- 过度拒绝的商业代价:过度安全导致用户体验下降,用户流失。OR-Bench 研究表明,某些"更安全"的模型在无害请求上的拒绝率高达 20%+。
工程落地时我会怎么做
- 建立多层安全防护:预训练数据清洗 + 安全对齐训练(RLHF/DPO)+ 输入检测 + 输出过滤 + Llama Guard 等安全分类器,纵深防御。
- 持续红队测试:每次模型更新后都进行红队测试,不能只在发布前做一次。建立内部红队,定期运行自动化攻击脚本。
- 监控 ASR 和过度拒绝率:两个指标必须同时跟踪。ASR 下降但过度拒绝率飙升意味着对齐过度。
- 多维度偏见评测:不要只测性别偏见。根据业务场景,关注种族、年龄、宗教、地域等维度。
- 本地化安全标准:出海产品必须根据目标市场的文化和法律标准调整安全策略。一个市场的"安全"在另一个市场可能不够。
- 日志与审计:记录所有被安全系统拦截的请求和模型输出,定期审计以发现新的攻击模式和系统盲点。
如果要对外讲,可以怎么概括
"安全与偏见评测是大模型负责任部署的核心环节。我关注三个维度:毒性检测(RealToxicityPrompts、ToxiGen)、偏见评测(WinoBias、BBQ)和红队测试(AdvBench、HarmBench)。其中最核心的 trade-off 是安全性与有用性的平衡——过度安全会导致过度拒绝,OR-Bench 量化了这个问题。在工程实践中,我采用纵深防御策略:预训练数据清洗 + 安全对齐 + 运行时安全分类器(如 Llama Guard)+ 持续红队测试。关键是同时监控攻击成功率(ASR)和过度拒绝率,确保两者都在合理范围内。另外,偏见评测需要覆盖多个维度和跨文化场景,且要注意毒性分类器本身可能存在偏见——这被称为'评测工具的偏见'。最终,没有绝对安全的模型,安全是一个持续演进的攻防过程。"
最后记几条
- 安全-有用性 Tradeoff 是核心矛盾——ASR 和过度拒绝率必须同时监控,优化一个会恶化另一个。
- 红队测试方法包括人工、自动化(LLM 攻击 LLM)和梯度攻击(GCG)——三者互补,缺一不可。
- 毒性分类器本身可能有偏见——对提及少数群体的内容给出更高的毒性分,导致评测失真。
- 偏见评测是对照组实验——改变输入中的人群属性,观察输出是否系统性变化。
- 没有"绝对安全"的模型——安全是持续的攻防博弈,每次模型更新后必须重新红队测试。
参考资料
- RealToxicityPrompts (Gehman et al., 2020)
- ToxiGen (Hartvigsen et al., 2022)
- Universal and Transferable Adversarial Attacks on LLMs / GCG (Zou et al., 2023)
- HarmBench (Mazeika et al., 2024)
- OR-Bench: Over-Refusal Benchmark (Cui et al., 2024)
- WinoBias (Zhao et al., 2018)
- Llama Guard (Meta)
- NIST AI Risk Management Framework