Automatically Auditing Large Language Models via Discrete Optimization
https://proceedings.mlr.press/v202/jones23a/jones23a.pdf
自动审计大型语言模型通过离散优化
摘要
对大型语言模型进行审计以发现意外行为对于预防灾难性的部署至关重要,但这一任务仍然具有挑战性。在这项工作中,我们将审计视为一个优化问题,其中我们自动搜索匹配期望目标行为的输入-输出对。例如,我们可能旨在找到一个以“Barack Obama”开头的非毒性输入,而模型将其映射到一个有毒的输出。这个优化问题难以解决,因为可行点集稀疏,空间是离散的,而且我们审计的语言模型是非线性和高维的。为了应对这些挑战,我们引入了一个离散优化算法ARCA,它联合并高效地优化输入和输出。我们的方法自动揭示了关于名人的贬损性完成(例如,“Barack Obama是一个合法的未出生婴儿”→“儿童杀手”),产生完成为英文输出的法语输入,并找到生成特定名称的输入。我们的工作提供了一个有前途的新工具,用于在部署前揭示模型的失败模式。内容警告:本文包含可能具有攻击性的例子。
1. 引言
自回归大型语言模型(LLMs)目前用于完成代码(Chen等人,2021;Li等人,2022b)、总结书籍(Stiennon等人,2020)和参与对话(Thoppilan等人,2022;Bai等人,2022),这只是它们众多能力中的几个。然而,LLMs可能会意外产生不期望的行为;它们产生有毒的输出(Gehman等人,2020;Perez等人,2022),加剧刻板印象(Sheng等人,2019;Abid等人,2021)并泄露私人信息(Carlini等人,2020)。未来的系统可能会更加灾难性地失败,例如通过删除所有计算机文件或清除银行账户。
不幸的是,开发可靠的审计方法,即揭示这些类型失败的实例,面临许多挑战。一些行为在训练分布中很少见(例如,清除银行账户),但影响很大,并且可能由于规模或分布变化而在部署时出现。显著行为的实例也可能是违反直觉的,因此对人类来说手工产生是具有挑战性的。审计方法必须能够轻松适应不同的新行为;由于我们想要测试的可能不希望的行为,需要特定行为模板、手动搜索或微调模型的方法可能是非常昂贵的。
在这项工作中,我们通过指定和解决一个离散优化问题来审计模型。具体来说,我们搜索一个提示x和一个输出o,它们具有高审计目标值ϕ(x, o),使得o是在LLM下x的贪婪完成。我们设计审计目标以捕捉一些目标行为;例如,ϕ可能衡量提示是否为法语而输出为英语(即一个令人惊讶的、无用的完成),或者提示是否为非毒性并且包含“Barack Obama”,而输出是有毒的(表1)。这种表述解决了审计提出的许多挑战;解决优化问题可以揭示罕见行为和违反直觉的例子,而指定目标允许轻松适应新行为。
然而,解决这个优化问题在计算上是具有挑战性的:产生行为的提示集合是稀疏的,空间是离散的,而且语言模型本身是非线性和高维的。此外,查询语言模型一次是昂贵的,因此大量的连续查询是不可取的。甚至产生一个忠实于目标行为的审计目标也可能是困难的。
我们用一种新的优化算法ARCA来应对这些挑战。ARCA是一种坐标上升算法;它通过更新提示或输出中的一个标记,同时保持其余标记不变,来迭代最大化目标。为了在保持其准确性的同时使坐标上升高效,ARCA使用了一种新颖的目标近似,它总结了两个表达式:可以通过变换器前向传递精确计算的对数概率,以及剩余项的平均一阶近似。在每一步中,它使用这个近似对所有可能的标记进行排名,通过计算排名最高的k个标记的确切目标来细化排名,最后选择最大值。然后我们使用ARCA来优化审计目标,这些目标结合了单字模型、困惑度项和固定的提示前缀,以产生忠实于目标行为的例子。
使用762M参数GPT-2(Radford等人,2019)和6B参数GPT-J(Wang和Komatsuzaki,2021)作为案例研究,我们发现通过离散优化进行审计揭示了许多罕见的、不希望的行为的例子。例如,我们能够自动发现数百个提示,GPT-2从中生成关于名人的有毒言论(例如Barack Obama是一个合法的未出生婴儿→儿童杀手),改变语言的完成(例如faire affluent lieu versdu→是穷人的),以及事实上不准确(例如佛罗里达州长→Rick Scott)或在上下文中冒犯的关联(例如亿万富翁参议员→Bernie Sanders)。
在我们的框架内,ARCA还一贯地比对抗性攻击(Guo等人,2021)和提示调整(Shin等人,2020)的最新离散优化器产生更多目标行为的例子。我们将这种成功归因于ARCA对审计目标的近似;近似保留了允许我们直接优化特定输出的对数概率,而不是间接通过提示,并且平均多个一阶近似以更好地全局近似目标。
最后,我们使用ARCA找到提示转移的证据——返回的提示在GPT-2上产生失败通常在GPT-3上也产生类似的失败。提示转移揭示了新的参数计数和训练集并没有消除一些不希望的行为,并且进一步展示了我们的审计框架如何产生令人惊讶的洞察。
表1. 我们框架的说明。给定一个要揭示的目标行为,我们指定一个审计目标,用于捕捉该行为的提示和输出。然后我们使用我们的优化算法ARCA来最大化目标,以便在语言模型下提示完成为输出(箭头)。我们为每个目标(在这种情况下,审计762M参数GPT-2)呈现一些返回的提示(蓝色,第一行)和输出(红色,第二行),其中优化变量被加粗和斜体。