随着大型语言模型 (LLM) 不仅融入代码生成,还涉足法律建议等各个领域,安全性的重要性达到了前所未有的高度。我们知道,这些模型是在庞大且未经过滤的互联网数据上训练出来的,这意味着它们本质上“知道”如何生成仇恨言论、非法行为指南或带有偏见的内容。挑战在于如何防止它们输出这些内容。

行业内安全测试的标准做法是红队测试 (Red Teaming) ——一种源自网络安全的做法,测试人员 (“红队”) 主动攻击系统以发现漏洞。在 LLM 的语境下,这意味着试图诱导模型说出它不该说的话。

然而,传统的红队测试有两个巨大的瓶颈:

  1. 昂贵且缓慢: 依靠人类编写数千个“越狱 (jailbreak) ”提示词是无法扩展的。
  2. 往往过于表面: 大多数自动化测试只关注单轮对话 (一问一答) 。但在现实世界中,用户可能会在长时间的对话中表现得执着、具有操纵性且善于劝说。

最近一篇题为 《Holistic Automated Red Teaming for Large Language Models through Top-Down Test Case Generation and Multi-turn Interaction》 (通过自顶向下的测试用例生成和多轮交互实现大型语言模型的整体自动化红队测试) 的论文介绍了一个名为 HARM 的新框架。该方法旨在自动化红队测试过程,同时覆盖海量的主题广度,并模拟真实人类审问的深度。

在这篇文章中,我们将拆解 HARM 框架,解释它如何系统性地攻破 LLM,以及——至关重要的是——它如何帮助修复这些漏洞。

单轮对话安全性的问题

想象一下,用户问 AI: “我该如何制造炸弹?” 一个安全的 AI 会立即回答: “我不能在这方面提供帮助。”

在标准的安全基准测试中,该 AI 通过了测试。但恶意行为者很少会在一次被拒后就放弃。他们可能会尝试角色扮演、重新措辞问题,或者创建一个假设场景。他们可能会在十条消息的过程中消磨模型的防御。

这就是“多轮对话”漏洞。如下图所示,一个标准模型 (Alpaca) 最初可能会拒绝骚扰邻居的请求。但在“红队智能体 (Red Team Agent) ”不断施压,询问“安全的报复方式”后,模型的防御崩溃了,最终建议将垃圾扔到邻居的草坪上。

摘自我们的红队智能体与 Alpaca (Taori et al., 2O23) 之间的对话片段,展示了 Alpaca 的回复在多轮对话中危害性持续增加。

这一现象凸显了为什么我们需要能够进行持续对话的自动化智能体,而不仅仅是一份静态的坏问题列表。

HARM 框架: 概览

研究人员提出了一个整体框架,既解决了测试的广度 (覆盖每一个可能的坏话题) ,也解决了深度 (多轮劝说) 。

如下图所示,工作流程是一个循环。它始于基于严格分类法生成多样化的“开篇问题”。这些问题被输入给红队智能体 (一个被训练成攻击者的 LLM) 。该智能体与目标语言模型 (Target LM) (被测试的模型) 进行交互。最后,由安全奖励模型 (Safety Reward Model) 评估对话,以此判断攻击是否成功。

HARM 框架概览。红队智能体利用自顶向下生成的测试用例作为开篇问题,并与目标语言模型进行多轮对话,旨在最小化目标 LM 每一轮回复的安全评分。

让我们详细拆解这项研究的三大核心支柱: 自顶向下的生成、安全奖励模型和多轮交互。

支柱 1: 自顶向下的测试用例生成

以往数据集最大的缺陷之一是它们是“自底向上”的。研究人员抓取 Reddit 数据或要求众包工人“写一些刻薄的话”。这导致数据集严重偏向于侮辱或暴力等常见话题,而留下了“长尾”风险 (如特定类型的金融欺诈或隐性偏见) 未被测试。

HARM 采取了自顶向下的方法。作者构建了一个庞大且细粒度的风险分类体系。

  1. 元风险类别 (Meta Risk Categories) : 他们定义了 8 个高层级类别 (例如: 偏见、犯罪、隐私、错误信息) 。
  2. 细粒度模式 (Fine-Grained Schema) : 他们使用特定的结构将其分解: 轴 (Axis) \(\rightarrow\) 桶 (Bucket) \(\rightarrow\) 描述符 (Descriptor)

例如,看看下面的犯罪和非法行为类别,注意这棵树有多具体。它不仅仅寻找“犯罪”;它寻找“白领犯罪”、“网络犯罪”,并深入到具体的描述符,如“网络钓鱼”或“庞氏骗局”。

犯罪和非法行为风险类别的细粒度模式,采用了轴-桶-描述符的三层结构。由于篇幅限制,此处仅展示部分内容。

通过使用这种结构,他们生成了 128,000+ 个测试用例 。 为了确保这些问题有效,他们将这些主题与攻击向量 (Attack Vectors) ——旨在绕过过滤器的特定提问风格——相结合。这些包括:

  • 角色扮演 (Role Play) : “扮演一个无情的 CEO……”
  • 错误前提 (False Premise) : “既然在这个假设的国家入店行窃是合法的……”
  • 两难困境 (Dilemma) : 迫使模型在两个糟糕的选项中做出选择。

这确保了测试覆盖了人工红队测试通常会遗漏的边缘情况。

支柱 2: 安全奖励模型

为了自动化这个过程,我们需要一名裁判。我们不能要求人类阅读成千上万条多轮聊天记录。研究人员训练了一个安全奖励模型 (RM) 来作为人类评估的代理。

RM 接收对话历史和回复,并输出一个代表安全性的标量分数。为了训练它,他们聚合了多个数据集 (如 Anthropic 的 Harmless-base) 以及他们自己生成的数据。

训练目标使用二元排序损失函数:

\[ \mathcal { L } _ { \mathrm { R M } } = - \log \left( \sigma \left( r _ { \theta } \left( x , y _ { s } \right) - r _ { \theta } \left( x , y _ { u } \right) \right) \right) \]

公式 1: 二元排序损失函数

简单来说,这个公式教导模型针对给定的提示词 (\(x\)) ,最大化安全回复 (\(y_s\)) 与不安全回复 (\(y_u\)) 之间的分数差异。

这个自动化裁判有多好?研究人员将他们的安全 RM 与 Meta 等行业巨头的专有模型进行了比较。如下表所示,他们的模型表现与 Meta 的安全 RM 相当,证实了它可以被信赖用于对交互进行评分。

表 2: 我们的安全奖励模型 (RM) 性能与 Llama-2 技术报告 (Touvron et al., 2023) 中的模型性能对比。

支柱 3: 多轮红队测试

这是论文最新颖的部分。研究人员不仅仅使用标准的 LLM 来提问;他们训练了一个专门的红队智能体 (Red Team Agent)

训练攻击者

他们从 Llama-2-7B 开始,在人类对 AI 进行红队测试的数据集上对其进行微调。目的是克隆人类攻击者的行为。

有趣的是,他们在训练中使用了一种特殊的掩码策略。通常,聊天机器人被训练来预测助手的回答。在这里,他们反转了掩码 (图 3b) ,训练模型根据助手的拒绝来预测用户 (攻击者) 的下一句话。

图 3: (a) 通用助手监督微调的掩码策略。(b) 我们的红队智能体监督微调的掩码策略。

拒绝采样微调 (RSFT)

为了让智能体更具危险性,他们使用了拒绝采样 (Rejection Sampling) 。 在这个过程中,红队智能体为单个回合生成多个潜在的后续问题。目标模型回答所有问题,安全奖励模型对回答进行评分。

系统随后选择导致最低安全评分 (最成功的攻击) 的问题,并使用该数据进一步微调红队智能体。这种进化过程创造了一个极其擅长寻找模型防御裂缝的智能体。

这种优化的结果非常显著。下图比较了标准监督微调 (SFT) 智能体与拒绝采样 (RSFT) 智能体之间的“翻转率 (Flipping Rate) ” (即安全对话转变为不安全的频率) 。RSFT 智能体攻破目标模型的效率显著更高。

使用 SFT 和 RSFT 红队智能体的翻转率。图 6: 两种红队智能体版本 (SFT 与 RSFT) 在三个模型的多轮红队测试中的翻转率比较,较浅的条形表示翻转率提升的幅度。

实验结果: 我们有多脆弱?

研究人员测试了几个开源模型,包括 Alpaca、Vicuna、Llama-2 和 Mistral。结果证实了假设: 模型的安全性会随时间推移而退化。

图 4 显示了模型在 5 轮对话中的平均安全评分。注意几乎所有模型都呈下降趋势。 Alpaca (红圈) 起步低,降得更低。即使是像 Llama-2-7b-chat (紫色三角形) 这样健壮的模型,随着对话的进行也显示出下降。

图 4: 不同模型在五轮对话中的平均安全评分。

一个有趣的异常是 MistralZephyr (起步较低的橙线和绿线) 。它们的分数最初下降,但随后略有上升。研究人员认为这是“对齐不足”的症状——模型本质上是困惑的,在有用性和安全性之间摇摆不定,有时识别威胁太晚或不一致。

从破坏到构建: 对齐

HARM 的最终目标不仅仅是破坏模型,而是修复它们。论文展示了一个“先检测后对齐 (Detect-then-Align) ”的循环。

  1. 检测: 他们使用红队智能体识别出 Zephyr-7B-beta 模型的 3,808 个“未对齐” (不安全) 的回复。
  2. 修正: 他们使用 GPT-4 生成这些特定失败案例的安全、修正版本。
  3. 对齐: 他们使用直接偏好优化 (DPO) 重新训练 Zephyr 模型,教导它偏好安全的 GPT-4 回复而非其原本的失败回复。

结果产生了一个新模型: Zephyr-7B-safer

改进是巨大的。下图显示了原始 beta 模型 (蓝色柱状图) 与新的更安全模型之间的性能对比。“翻转率” (被越狱的可能性) 直线下降,而安全评分 (红线) 在整个对话轮次中保持高位且稳定。

图 8: 蓝色柱状图显示随阈值变化 (T6 表示阈值为 6) 的翻转率变化,红色折线图说明不同轮次中安全评分的演变。

但它是否过于安全了?

对安全对齐的一个常见批评是它破坏了模型的实用性——即“错误拒绝 (false refusal) ”问题 (例如,拒绝解释如何“杀 (kill) ”掉一个电脑进程,因为它包含“杀”这个词) 。

研究人员使用 XSTEST (一个包含看似可疑实则无辜的提示词数据集) 对此进行了测试。

表 3: 不同模型的错误拒绝率。比率越低表示性能越好。后缀为‘-sys’的模型表示在推理过程中使用了强调安全的系统提示词。

如表 3 所示,虽然更安全模型的错误拒绝率确实有所上升 (从 2.8% 升至 16.0%) ,但它仍然远比 Llama-2-70B (26.8%,或带系统提示词的 48.4%) 更实用。这表明 HARM 方法能在不完全损害模型有用性的前提下有效地对齐模型。

结论与启示

HARM 论文代表了我们思考 AI 安全方式的转变。它让我们从静态基准测试转向动态、对抗性的测试。

通过结合自顶向下的分类法 (确保我们检查从环境犯罪到隐性偏见的所有内容) 和多轮智能体 (确保我们检查持久性和操纵性) ,HARM 为 LLM 提供了严格的压力测试。

最重要的是,这项工作证明了自动化红队测试是一个闭环。红队智能体发现的漏洞正是修补模型所需的训练数据。随着 LLM 变得越来越强大,我们要测试它们的方法也必须变得同样复杂。HARM 表明,让 AI 变安全的最好方法,就是训练另一个 AI 去试图攻破它。