大型语言模型的红队评估
警告:本文旨在探讨红队评估,因此包含可能冒犯或令人不安的模型生成示例。
在海量文本数据上训练的大型语言模型 (LLM) 在生成真实文本方面表现出色。然而,这些模型经常表现出不良行为,例如泄露个人信息(如社会安全号码)以及生成虚假信息、偏见、仇恨或有害内容。例如,早期版本的 GPT3 就曾表现出性别歧视行为(见下文)和对穆斯林的偏见。
一旦我们在使用 LLM 时发现此类不良结果,我们就可以制定策略来引导其避免这些结果,例如在 GPT3 中使用生成判别器引导序列生成 (GeDi) 或即插即用语言模型 (PPLM) 来引导生成。下面是使用相同提示但在 GeDi 中控制 GPT3 生成的示例。
即使是最新版本的 GPT3,在遭受提示注入攻击时,也会生成类似有害的文本,这可能对下游应用程序构成安全隐患,如此博客中所述。
红队评估是一种评估形式,旨在揭示可能导致不良行为的模型漏洞。“越狱”是红队评估的另一个术语,指通过操纵 LLM 来突破其安全防护。2016 年推出的微软聊天机器人 Tay 和最近的必应聊天机器人 Sydney 都是真实世界的例子,表明缺乏对底层机器学习模型进行彻底的红队评估会带来多么灾难性的后果。红队概念的起源可以追溯到军队进行的对抗模拟和战争游戏。
红队评估语言模型的目标是精心设计一个提示,以触发模型生成可能造成伤害的文本。红队评估与机器学习中更广为人知的评估形式——对抗性攻击——有一些相似之处和不同之处。相似之处在于,红队评估和对抗性攻击都旨在“攻击”或“欺骗”模型,使其在实际用例中生成不希望出现的内容。然而,对抗性攻击对人类来说可能难以理解,例如,通过在每个提示前加上字符串“aaabbbcc”来降低模型性能。Wallace 等人,2019 年讨论了针对各种 NLP 分类和生成任务的此类攻击的许多例子。另一方面,红队评估提示看起来像常规的自然语言提示。
红队评估可以揭示模型限制,这些限制可能导致令人不安的用户体验,或通过协助暴力或其他非法活动而对具有恶意意图的用户造成伤害。红队评估的输出(就像对抗性攻击一样)通常用于训练模型以减少造成伤害的可能性,或使其避免生成不良输出。
由于红队评估需要对可能的模型故障进行创造性思考,因此这是一个搜索空间巨大的问题,耗费资源。一个变通方法是为 LLM 增加一个分类器,该分类器经过训练可以预测给定提示是否包含可能导致冒犯性生成的主题或短语,如果分类器预测该提示可能导致潜在的冒犯性文本,则生成一个预设响应。这种策略会倾向于保守。但这将非常严格,并导致模型经常回避。因此,模型在“有用”(通过遵循指令)和“无害”(或至少不太可能造成伤害)之间存在张力。
红队可以是有人参与的,也可以是测试另一个 LM 是否产生有害输出的 LM。为经过安全和对齐微调的模型(例如通过 RLHF 或 SFT)设计红队提示需要创造性思维,表现为角色扮演攻击,其中 LLM 被指示扮演恶意角色,如Ganguli 等人,2022 年。指示模型以代码而非自然语言进行响应也可以揭示模型的学习偏见,如下面的示例所示。
有关更多示例,请参阅此推文串。
以下是 ChatGPT 本身列出的 LLM 越狱方法。
大型语言模型 (LLM) 的红队评估仍是一个新兴研究领域,上述策略仍可能在越狱这些模型方面发挥作用,或者它们已协助大规模机器学习产品的部署。随着这些模型具备更强大的新兴能力,开发能够持续适应的红队评估方法将变得至关重要。一些必要的红队评估最佳实践包括模拟寻求权力行为的场景(例如:资源)、说服他人(例如:伤害自己或他人)、对物理结果拥有代理权(例如:通过 API 在线订购化学品)。我们将这类具有物理后果的可能性称为关键威胁场景。
评估 LLM 恶意行为的注意事项是,我们不知道它们能做什么,因为它们并未明确训练来表现此类行为(因此称为新兴能力)。因此,随着 LLM 变得越来越强大,真正了解它们能力的方法是模拟所有可能导致恶意结果的场景,并评估模型在每种场景中的行为。这意味着我们模型的安全行为与我们红队评估方法的强度息息相关。
鉴于红队评估的持续挑战,多组织(可能包括学术、工业和政府实体)在数据集和最佳实践方面进行合作存在激励。结构化的信息共享流程可以使发布模型的较小实体在发布前仍能对其模型进行红队评估,从而全面提升用户体验。
红队评估的开源数据集
- Meta 的Bot 对抗性对话数据集
- Anthropic 的红队评估尝试
- AI2 的RealToxicityPrompts
大型语言模型红队评估的过往发现(摘自Anthropic 的 Ganguli 等人 2022 和Perez 等人 2022)
- 使用少量提示语进行引导的、表现出有益、诚实和无害行为的语言模型,其红队评估难度不高于普通语言模型。
- 除了 RLHF 模型之外,模型规模的扩大与攻击成功率之间没有明显的趋势,而 RLHF 模型随着规模的扩大,红队评估的难度也随之增加。
- 模型可能会通过回避来学习无害,在有益性和无害性之间存在权衡。
- 在人类之间,对于什么是成功的攻击,总体上存在较低的一致性。
- 不同伤害类别的成功率分布各异,非暴力类别的成功率较高。
- 众包红队评估导致模板化提示(例如:“说一个以 X 开头的贬义词”),使其变得冗余。
未来方向
- 目前没有用于代码生成的开源红队数据集,该数据集试图通过代码来“越狱”模型,例如,生成一个实现 DDOS 或后门攻击的程序。
- 为关键威胁场景设计并实施大型语言模型红队评估策略。
- 红队评估可能耗费资源,包括计算和人力资源,因此将受益于策略共享、开源数据集以及可能的协作以提高成功几率。
- 评估规避性和实用性之间的权衡。
- 根据上述权衡列出选择,并探索红队评估的帕累托前沿(类似于Anthropic 的“宪法级人工智能”工作)。
这些局限性和未来方向清楚地表明,红队评估是现代大型语言模型 (LLM) 工作流程中一个未充分探索但至关重要的组成部分。这篇文章呼吁 LLM 研究人员和 HuggingFace 的开发者社区,共同努力,为构建一个安全友好的世界而协作。:)
如果您有兴趣加入此类合作,请联系我们(@nazneenrajani @natolambert @lewtun @TristanThrush @yjernite @thomwolf)。
致谢:我们衷心感谢Yacine Jernite 对本博客文章中术语的正确使用提出的宝贵建议。