2025年4月5日

安全与偏见评测:毒性、公平性、红队测试

安全与偏见评测旨在检测大模型是否存在有害输出(毒性内容、偏见歧视)、是否可被恶意利用(越狱攻击),以及是否在安全与有用性之间取得合理平衡,主要通过毒性检测基准、公平性测试和红队测试(Red Teaming)三大手段实现。

知识库大模型安全与护栏security

安全与偏见评测:毒性、公平性、红队测试

先说结论

安全与偏见评测旨在检测大模型是否存在有害输出(毒性内容、偏见歧视)、是否可被恶意利用(越狱攻击),以及是否在安全与有用性之间取得合理平衡,主要通过毒性检测基准、公平性测试和红队测试(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)是红队测试的核心指标:

ASR=成功绕过安全防护的次数总攻击次数\text{ASR} = \frac{\text{成功绕过安全防护的次数}}{\text{总攻击次数}}

设计时真正要权衡什么

取舍 说明
安全 vs 有用性(Safety-Helpfulness Tradeoff) 更严格的安全策略减少有害输出但增加过度拒绝,降低模型有用性。OR-Bench 专门量化了这一问题。
毒性检测的阈值 Perspective API 的毒性阈值设得高会漏检,设得低会误报。阈值选择取决于应用场景的风险承受能力。
覆盖的偏见维度 性别和种族偏见评测较成熟,但宗教、年龄、残疾、性取向等维度的评测标准仍不完善。
攻击方法的代表性 GCG 等梯度攻击在实际场景中不常见(普通用户不会用梯度优化 prompt),但可以暴露模型的理论脆弱性。
自动化 vs 人工红队 自动化红队覆盖面广但可能遗漏语义层面的攻击,人工红队更有创意但规模有限。
跨文化安全标准 不同文化对"安全"的定义不同,某些在一个文化中可接受的内容在另一个文化中可能有害。

容易踩的坑

  1. Goodhart's Law 在安全领域的体现:过度优化某一安全基准会导致模型在其他安全维度上退化,或导致严重的过度拒绝问题。
  2. 越狱攻防的猫鼠游戏:新的防御方法出现后,新的攻击方法随之而来。没有"绝对安全"的模型,只有"已知攻击下相对安全"的模型。
  3. 偏见评测的覆盖盲区:大多数偏见基准只覆盖英语和少数群体维度,跨语言、跨文化的偏见评测严重不足。
  4. 毒性分类器本身的偏见:Perspective API 等毒性分类器本身存在偏见——例如对提及少数群体身份的内容给出更高的毒性评分,导致评测结果失真。
  5. 安全对齐的泛化失败:模型在标准安全测试中表现良好,但在分布外(OOD)的攻击下可能完全失效。研究表明,经过 RLHF 安全对齐的模型仍然可以通过精心设计的 prompt 绕过安全防护。
  6. 过度拒绝的商业代价:过度安全导致用户体验下降,用户流失。OR-Bench 研究表明,某些"更安全"的模型在无害请求上的拒绝率高达 20%+。

工程落地时我会怎么做

  • 建立多层安全防护:预训练数据清洗 + 安全对齐训练(RLHF/DPO)+ 输入检测 + 输出过滤 + Llama Guard 等安全分类器,纵深防御。
  • 持续红队测试:每次模型更新后都进行红队测试,不能只在发布前做一次。建立内部红队,定期运行自动化攻击脚本。
  • 监控 ASR 和过度拒绝率:两个指标必须同时跟踪。ASR 下降但过度拒绝率飙升意味着对齐过度。
  • 多维度偏见评测:不要只测性别偏见。根据业务场景,关注种族、年龄、宗教、地域等维度。
  • 本地化安全标准:出海产品必须根据目标市场的文化和法律标准调整安全策略。一个市场的"安全"在另一个市场可能不够。
  • 日志与审计:记录所有被安全系统拦截的请求和模型输出,定期审计以发现新的攻击模式和系统盲点。

如果要对外讲,可以怎么概括

"安全与偏见评测是大模型负责任部署的核心环节。我关注三个维度:毒性检测(RealToxicityPrompts、ToxiGen)、偏见评测(WinoBias、BBQ)和红队测试(AdvBench、HarmBench)。其中最核心的 trade-off 是安全性与有用性的平衡——过度安全会导致过度拒绝,OR-Bench 量化了这个问题。在工程实践中,我采用纵深防御策略:预训练数据清洗 + 安全对齐 + 运行时安全分类器(如 Llama Guard)+ 持续红队测试。关键是同时监控攻击成功率(ASR)和过度拒绝率,确保两者都在合理范围内。另外,偏见评测需要覆盖多个维度和跨文化场景,且要注意毒性分类器本身可能存在偏见——这被称为'评测工具的偏见'。最终,没有绝对安全的模型,安全是一个持续演进的攻防过程。"

最后记几条

  1. 安全-有用性 Tradeoff 是核心矛盾——ASR 和过度拒绝率必须同时监控,优化一个会恶化另一个。
  2. 红队测试方法包括人工、自动化(LLM 攻击 LLM)和梯度攻击(GCG)——三者互补,缺一不可。
  3. 毒性分类器本身可能有偏见——对提及少数群体的内容给出更高的毒性分,导致评测失真。
  4. 偏见评测是对照组实验——改变输入中的人群属性,观察输出是否系统性变化。
  5. 没有"绝对安全"的模型——安全是持续的攻防博弈,每次模型更新后必须重新红队测试。

参考资料

延伸阅读