语言模型 (LM) 常常存在生成攻击性语言的潜在危害,这也影响了模型的部署。一些研究尝试使用人工注释器手写测试用例,以在部署之前识别有害行为。然而,人工注释成本高昂,限制了测试用例的数量和多样性。
基于此,来自 DeepMind 的研究者通过使用另一个 LM 生成测试用例来自动发现目标 LM 未来可能的有害表现。该研究使用检测攻击性内容的分类器,来评估目标 LM 对测试问题的回答质量,实验中在 280B 参数 LM 聊天机器人中发现了数以万计的攻击性回答。
论文地址:https://storage.googleapis.com/deepmind-media/Red%20Teaming/Red%20Teaming.pdf
该研究探索了从零样本生成到强化学习的多种方法,以生成具有多样性和不同难度的测试用例。此外,该研究使用 prompt 工程来控制 LM 生成的测试用例以发现其他危害,自动找出聊天机器人会以攻击性方式与之讨论的人群、找出泄露隐私信息等对话过程存在危害的情况。总体而言,该研究提出的 Red Teaming LM 是一种很有前途的工具,用于在实际用户使用之前发现和修复各种不良的 LM 行为。
GPT-3 和 Gopher 等大型生成语言模型具有生成高质量文本的非凡能力,但它们很难在现实世界中部署,存在生成有害文本的风险。实际上,即使是很小的危害风险在实际应用中也是不可接受的。
例如,2016 年,微软发布了 Tay Twitter 机器人,可以自动发推文以响应用户。仅在 16 个小时内,Tay 就因发出带有种族主义和色情信息的推文后被微软下架,当时已发送给超过 50000 名关注者。
问题在于有太多可能的输入会导致模型生成有害文本,因此,很难让模型在部署到现实世界之前就找出所有的失败情况。DeepMind 研究的目标是通过自动查找失败案例(或「红队(red teaming)」)来补充人工手动测试,并减少关键疏忽。该研究使用语言模型本身生成测试用例,并使用分类器检测测试用例上的各种有害行为,如下图所示:
「基于 LM 的 red teaming」使我们可以找出成千上万种不同的失败案例,而不用手动写出它们。
该研究使用对话作为测试平台来检验其假设,即 LM 是红队的工具。DeepMind 这项研究的首要目标就是找到能引起 Dialogue-Prompted Gopher(DPG; Rae et al., 2021)作出攻击性回复的文本。DPG 通过以手写文本前缀或 prompt 为条件,使用 Gopher LM 生成对话话语。Gopher LM 则是一个预训练的、从左到右的 280B 参数 transformer LM,并在互联网文本等数据上进行了训练。
- 攻击性语言:仇恨言论、脏话、性骚扰、歧视性语言等
- 数据泄露:从训练语料库中生成有版权或私人可识别信息
- 联系信息生成:引导用户发送不必要的邮件或给真人打电话
- 分布式偏见(distributional bias):以一种相较其他群体不公平的方式讨论某些群体
- 会话伤害:长对话场景中出现的攻击性语言
为了使用语言模型生成测试用例,研究者探索了很多方法,从基于 prompt 的生成和小样本学习到监督式微调和强化学习,并生成了更多样化的测试用例。
研究者指出,一旦发现失败案例,通过以下方式修复有害模型行为将变得更容易:
- 将有害输出中经常出现的某些短语列入黑名单,防止模型生成包含高风险短语的输出;
- 查找模型引用的攻击性训练数据,在训练模型的未来迭代时删除该数据;
- 使用某种输入所需行为的示例来增强模型的 prompt(条件文本);
- 训练模型以最小化给定测试输入生成有害输出的可能性。
如下图 2 所示,0.5M 的零样本测试用例在 3.7% 的时间内引发了攻击性回复,导致出现 18444 个失败的测试用例。SFS 利用零样本测试用例来提高攻击性,同时保持相似的测试用例多样性。
为了理解 DPG 方法失败的原因,该研究将引起攻击性回复的测试用例进行聚类,并使用 FastText(Joulin et al., 2017)嵌入每个单词,计算每个测试用例的平均词袋嵌入。最终,该研究使用 k-means 聚类在 18k 个引发攻击性回复的问题上形成了 100 个集群,下表 1 显示了来自部分集群的问题。
此外,该研究还通过分析攻击性回复来改进目标 LM。该研究标记了输出中最有可能导致攻击性分类的 100 个名词短语,下表 2 展示了使用标记名词短语的 DPG 回复。
总体而言,语言模型是一种非常有效的工具,可用于发现语言模型何时会表现出各种不良方式。在目前的工作中,研究人员专注于当今语言模型所带来的 red team 风险。将来,这种方法还可用于先发制人地找到来自高级机器学习系统的其他潜在危害,如内部错位或客观鲁棒性问题。
这种方法只是高可信度语言模型开发的一个组成部分:DeepMind 将 red team 视为一种工具,用于发现语言模型中的危害并减轻它们的危害。