在巨量文本数据下训练的大语言模型十分善于生成事实文本。然而,这些模型通常会显现出一些不良行为像泄露个人信息 (比方社会保险号) 和生成错误信息,偏置,怨恨或有毒内容。举个例子,家喻户晓,GPT3 的晚期版本就体现出性别歧视 (如下图) 与 怨恨穆斯林舆论 的状况。
一旦咱们在应用大语言模型时发现了这种不良后果,咱们就能够制订一些策略来远离它们,像 生成歧视者领导序列生成 (GEDI) 或 插入和播放语言模型 (PPLM) 都是用来领导 GPT3 生成的。以下是应用雷同提醒 (Prompt) 的示例,但应用 GEDI 管制 GPT3 生成。
即便是最近的 GPT3 版本,也会在提醒 (prompt) 注入攻打时产生相似的令人恶感的内容,这变成了 这篇博客 中探讨的上游应用程序的平安问题。
红队 是一种用于引出模型不良行为破绽的评估模式。 越狱是另一个红队术语,用来示意操控冲破大语言模型限度。在 2016 年公布的 微软聊天机器人 Tay 和最近的 必应聊天机器人 Sydney 是真实世界中反馈不足用红队攻打对根底 ML 模型进行评估而产生的劫难。红队攻打的最后想法起源于军队中反抗模仿和和平游戏。
红队语言模型的指标是制作一个提醒 (prompt),该提醒会触发模型生成无害内容。红队和同样出名的评估语言模型 反抗攻打 有同也有异。相似之处在于红队和反抗攻打指标雷同,即“攻打”或“坑骗”模型,以生成在事实世界中不想要的内容。然而反抗攻打很难让人了解,举例来说,通过将字符串“aaabbbcc”前缀到每个提醒中,它会好转模型性能。Wallace 等人 2019 年的论文 探讨了对各种 NLP 分类和生成工作的许多攻打的例子。在另一方面,红队的提醒看起来更失常,像自然语言的提醒。
红队攻打能够揭发模型的局限性,包含引起用户不适或者暴力、不非法的歹意内容。红队 (就像反抗攻打) 的输入通常会被用来训练模型去缩小无害内容或远离不想要的内容。
因为红队须要创造性地思考可能的模型失败,微小的搜寻空间会导致资源缓和。这里的一个长期办法是对大语言模型减少一个分类器去预测输出的提醒 (prompt) 中是否含导致生成歹意内容的话题或短语,如果含有则生成相干回应。这种策略过于审慎,极大的限度了模型并且时常导致模型产生回避。所以在模型有帮忙 (遵循指令) 与有害 (尽可能少的产生无害内容) 之间存在一个缓和关系。红队在这时就显得十分有用了。
红队攻打能够是人力循环或者正在测试另一个语言模型无害输入的语言模型。提出针对平安和对齐形式进行微调的模型 (例如通过 RLHF 或 SFT) 的模型提醒,须要以 角色扮演攻打 的模式进行创造性的思考,其中大语言模型被批示体现为歹意角色在 Ganguli 等 2022 年的论文 中。用代码而不是自然语言批示模型同样也能够揭发模型的学习的一些偏置。就像如下例子。
查看 此 推文获取更多示例。
这里列出了在 ChatGPT 刺激大语言模型进行越狱的列表。
红队大语言模型仍旧是一个新的钻研畛域,然而上述提到的策略仍旧能够在胜利让这些模型“越狱”,并且有助于部署机器学习的产品。随着这些模型新陈代谢、能力变强,开发能够一直适应的红队办法将变得至关重要。一些须要进行红队攻打的最佳实际包含模仿寻求势力行为的计划 (例如: 资源),压服人们 (例如: 挫伤本人或别人),具备医学输入的代理 (例如: 通过 API 在线订购化学药品)。咱们将这种可能性和物理结果的可能性称为 _要害威逼场景_。
在评估大语言模型中歹意行为的警示中,咱们不晓得它们的能力,毕竟它们不是故意训练去展现这种能力的 (涌现能力)。所以理论理解大语言模型的能力的惟一办法是,当它们变得更弱小,能够模仿所有可能导致有歹意的后果,并在每种状况下评估模型的行为的所有可能场景。这意味着咱们的模型的平安行为与咱们的红队办法的强度相关联。
针对这一继续的红队的挑战,这里在数据集和最佳实际 (包含学术、工业和政府实体) 上进行了多组织单干的激励措施。共享信息的结构化过程能够使较小的实体在模型公布前进行红队攻打,从而使整个用户体验更平安。
红队的凋谢数据集:
- Meta 的 机器人反抗对话数据集
- Anthropic 的 红队尝试
- AI2 的 RealToxicityPrompts
从过来的工作中寻找红队大语言模型相干的致力 (在 Anthropic’s Ganguli et al. 2022 和 Perez et al. 2022 两篇文章中)
- 用有帮忙的,忠诚的,有害的行为在红队攻打中进行大量提醒学习并 不 比单纯的语言模型艰难。
- 攻打成功率与缩放模型大小没有明确的关系,除了 RLHF 模型在缩放时更难进行红队攻打。
- 模型可能会通过回避体现的有害,在有帮忙和有害之间存在衡量。
- 人类在判断是否达成一次胜利攻打的观点难以达成统一。
- 成功率的散布在不同危害类别中有所差别,其中非暴力提醒的成功率更高。
- 众包 (crowdsourcing) 红队会产生 y- 模板 提醒 (例如:“给出一个以 X 结尾的歹毒词语”),使其变得多余。
将来方向:
- 没有用于代码生成的开源红队数据集,它试图通过代码越狱模型,例如生成实现 DDOS 或后门攻打的程序。
- 为要害威逼场景设计和施行大语言模型红队计划的策略。
- 红队可能是资源密集的,无论是计算还是人力资源,因而将从共享策略,开源数据集以及可能的单干中取得更大的胜利机会,从而受害。
- 评估回避和有帮忙之间的衡量。
- 综合比拟根据上述计划的利弊,找到红队计划的最优解集 (相似于 Anthropic 的 Constitutional AI)。
这些局限性和将来的方向分明地表明,红队是古代大语言模型工作流程中亟待摸索又至关重要的组成部分。这篇文章旨在号召大语言模型钻研人员和 Hugging Face 开发者社区,心愿大家在这些方面放弃合作,共建平安、敌对的世界:)
致谢: 感激 Yacine Jernite 对于在这篇博文中正确应用术语的实用倡议。
英文原文: https://hf.co/blog/red-teaming
作者: Nazneen Rajani, Nathan Lambert, Lewis Tunstall
译者: innovation64
排版 / 审校: zhongdongy (阿东)