论文链接:https://arxiv.org/pdf/2309.00614.pdf
Baseline Defenses for Adversarial Attacks Against Aligned Language Models
Abstract
随着大型语言模型迅速变得无处不在,了解它们的安全漏洞变得至关重要。最近的工作表明,文本优化器可以产生能绕过审核和对齐的越狱的提示。从对抗性机器学习的丰富工作中汲取灵感,我们用三个问题来处理这些攻击:在这个领域中哪些威胁模型是很有用?基线的防御技术是如何在这个新领域执行的?LLM 的安全性如何不同于计算机视觉?
我们评估了几种针对 LLMs 领先的对抗性攻击的基线防御策略,讨论了不同的可行和有效的设置。特别的,我们研究了三种类型的防御:检测(基于困惑度)、输入预处理(释义和重新标记)和对抗训练。我们讨论了白盒和灰盒设置,并讨论了所考虑的每种防御的鲁棒性-性能的权衡。我们发现现有的文本离散优化器的弱点,加上相对较高的优化成本,使得标准自适应攻击对 LLMs 更具挑战性。未来的研究将需要揭示是否可以开发更强大的优化器,或者 LLMs 领域的过滤和预处理防御的强度是否比计算机视觉中的强度更大。
1 Introduction
随着 LLMs 在专业和社会应用中得到了广泛的部署,这些模型的安全性变得至关重要。今天,LLMs 的安全活动主要集中在平台审核上,还有努力阻止 LLMs 对问题给出有害的响应。由于 LLMs 部署在一系列商业应用程序中,更广范围的漏洞会出现。例如,一个设计不佳的客户服务聊天机器人可能被操纵来执行一个交易,给出一个退款,揭露关于用户的受保护信息,或者无法正确验证身份。随着 LLMs 的作用在范围和复杂性上不断扩展,它们的攻击面也是如此(Hendrycks 等人,2022;Greshake 等人、2023)。
在这项工作中,我们研究了防御方法,用来针对 LLMs 的一个新兴的对抗性攻击。虽然所有故意对 LLMs 的攻击在某种意义上都是对抗性的,但我们尤其关注用优化器在算法上制作的攻击。对抗性攻击尤其成问题,因为它们的发现可以是自动化的,并且它们可以很容易地绕过基于手工微调数据和 RLHF 的保护措施。
对语言模型的对抗性攻击可以被阻止吗?过去五年在对抗性机器学习领域的研究已经开发了广泛的防御策略,但也告诉我们这个问题在单个研究中太大而无法回答。我们在这里的目标不是开发新的防御方法,而是测试一系列防御方法,这些方法代表了对抗性鲁棒性社区开发的标准的安全保障类别。出于这个原因,这里介绍的防御只是想要成为基线,当直接使用文献中现在的方法时,这些基线代表了我们的防御能力。
使用 Zou et al. (2023) 提出的通用和可转移的攻击,我们考虑了在对抗性机器学习文献中发现的三类防御的基线。这些基线是通过困惑度过滤、基于释义和重新标记的攻击去除、以及对抗训练,来检测到攻击的。
对于这些防御中的每一个,我们探索了一个白盒攻击的变体并讨论了鲁棒性/性能权衡。我们发现困惑度过滤和释义是有前景的,尽管它们很简单,因为我们发现规避基于困惑度检测的系统可以被证明是具有挑战性的,即使是在白盒的场景中,在白盒场景中基于困惑度的检测会损害攻击的有效性。自适应攻击的困难源于离散文本优化的复杂性,这比连续优化的成本要高得多。此外,我们讨论了来自视觉的对抗性训练方法如何不能直接迁移,我们尝试了我们的变体并表明这仍然是一个悬而未决的问题。我们的研究结果表明,LLM 领域中标准防御的强度可能与计算机视觉对抗性机器学习研究获得的既定理解不一致。最后,我们评论未来研究的局限性和潜在方向。
2 Background
2.1 Adversarial Attacks on Language Models
虽然对图像等连续模态的对抗性攻击很简单,但攻击语言模型的早期尝试受到优化离散文本复杂性的限制。这导致了早期攻击被发现是通过手动试错或半自动测试(Greshake et al., 2023; Perez & Ribeiro, 2022; Casper et al., 2023; Mehrabi et al., 2023; Kang et al., 2023; Shen et al., 2023; Li et al., 2023)。这种故意创建恶意提示来理解模型的攻击面的过程被描述为“红队” Ganguli et al. (2022)。图像-文本的多模态模型的引入首先为 LLMs 的基于优化的攻击打开了大门,因为梯度下降法可以用来优化其连续值的像素输入(Qi et al., 2023; Carlini et al., 2023)。
文本的离散性只是 LLMs 攻击的临时障碍。Wen et al. (2023)提出了一种基于梯度的离散优化器,可以攻击CLIP的文本管道,并演示了一个能绕过商业平台 Midjourney 中的安全保障的攻击。最近,Zou et al. (2023)建立在Shin et al. (2020)的基础上,描述了一个优化器,它将梯度引导与随机搜索相结合,来制作对抗性字符串,从而诱导模型对原本被禁止的问题进行回答响应。重要的是,此类越狱攻击可以在开源模型上制作,然后轻松迁移到 API 访问的模型,例如 ChatGPT。
这些对抗性攻击打破了商业语言模型的对齐,这些模型经过训练可以防止生成不良和令人反感的内容(Ouyang et al., 2022; Bai et al., 2022b;a; Korbak et al., 2023; Glaese et al., 2022)。当提示提供令人反感的文本时,此类模型通常会产生一个拒绝的消息(例如,“I’m sorry, but as a large language model I can’t do that”)。在这种情况下的对齐是指采取的实际步骤来调节 LLM 的行为。
对商业模型的攻击的成功提出了一个更广泛的研究问题:LLMs 能否被完全保护,或者一个有着自由形式的聊天界面的系统是否意味着它可以被要求做任何它技术上能做到的事?在这项工作中,我们描述和评估了针对越狱攻击的简单的基线防御。
最后,请注意在(非生成的)文本分类器上的攻击已经存在一段时间(Gao et al., 2018; Li et al., 2018; Ebrahimi et al., 2018; Li et al., 2020; Morris et al., 2020; Guo et al., 2021),并且与对图像分类器的攻击一同被开发。Wallace et al. (2019) 在 Ebrahimi et al. (2018) 的基础上表明可以生成一个通用的触发器——输入文本的一个前缀或后缀——以生成不想要的行为。 Zhu et al. (2023) 在基准中对最近的发展做了总结和测试。此外, Zhu et al. (2019) 提出了一种用于语言模型的对抗性训练算法,其中扰动是在连续词嵌入空间中做出的。他们的目标是提高模型性能而不是稳健性。
2.2 Classical Adversarial Attacks and Defenses
从历史上看,大多数对抗性攻击是欺骗图像分类器、对象检测器、股票价格预测器和其他类型的连续值数据(比如 Szegedy et al., 2013; Goodfellow et al., 2014; Athalye et al., 2018; Wu et al., 2020; Goldblum et al., 2021)。
计算机视觉社区看到了攻击和防御的军备竞赛,因为在白盒威胁模型下完美的对抗性的鲁棒性仍然难以达到。大多数提出的防御方法都属于检测、预处理和鲁棒优化的三个主要类别之一。稍后,我们将研究跨越这些类别的基线,并评估它们的能力来强化 LLMs 对抗攻击。在这里,我们列出了这些类别以及每个类别的少数示例和关键的发展,并参考 (Yuan et al., 2019) 进行详细审查。
Detection. 许多早期论文试图检对抗性图像,正如 Meng & Chen (2017b); Metzen et al. (2017); Grosse et al. (2017); Rebuffi et al. (2021) 和许多其他研究所建议的。对于图像分类器,到目前为止这些防御都已经在白盒设置(攻击者可以访问检测模型)和灰盒设置(检测模型的权重是秘密的(Carlini & Wagner, 2017))中被打破。理论结果表明,在一开始找到一个强检测器应该和找到一个鲁棒模型一样困难(Tramer,2022)。
Preprocessing Defenses. 一些方法声称在分类之前将去除恶意图像的扰动来作为一个预处理步骤(Gu & Rigazio, 2014; Meng & Chen, 2017b; Bhagoji et al., 2018)。当受到攻击时,这样的过滤器通常会停住用于创建对抗样本的优化器,从而导致“梯度混淆”(Athalye et al., 2018)。在白盒攻击场景中,可以通过修改优化过程来攻克这些防御 (Carlini等人,2019;Tramer等人,2020)。有趣的是,这些防御可能会大大增加攻击者的计算负担。例如,Nie et al. (2022) 的预处理防御方法到目前为止还没有被破坏,尽管 Zimmermann et al. (2022)和 Gao et al. (2022) 的分析提示说防御是不安全的,”只是“计算开销太大而无法攻击。
Adversarial Training. 对抗训练在训练期间将对抗样本注入到小批量中,教导模型忽略它们的影响。这种稳健的优化过程目前被认为是对许多领域对抗性攻击的最强防御 (Madry et al., 2017; Carlini et al., 2019)。然而,在对抗鲁棒性和模型性能之间通常会有一个很强的权衡。对抗性训练尤其可行,当对抗攻击可以在有限的努力中被找到时,比如在视觉领域,其中 1-5 个梯度的计算就足以对抗一个攻击(Shafahi等人,2019年)。尽管如此,该过程通常还是比标准的训练慢,并且它仅对狭窄的攻击类别提供抵抗力。
下面,我们从每个类别中选择一个候选的防御方法,研究它在防御 LLMs 方面的有效性,并讨论 LLM 的设置与计算机视觉领域的是如何不同的。
3 Threat Models for LLMs
对抗性机器学习中的威胁模型通常由允许的对抗性扰动的大小以及攻击者对 ML 系统的知识来定义。在计算机视觉中,经典的威胁模型假设攻击者对图像进行加性扰动。这是一个攻击约束,限制了扰动的大小,通常是一个 l p l_{p} lp 范数的界限。这种限制的动机是一个令人惊讶的观察结果,即攻击图像可能会“在人类看起来很好”,但会欺骗机器。同样,LLMs 也考虑了约束的威胁模型(Zhang et al., 2023; Moon et al., 2023),但 LLM 的输入没有被人类检查,使得攻击不可见几乎是没有价值的。攻击者仅受模型的上下文长度的限制,而这通常非常大,以至于实际上与攻击无关。为了为 LLMs 定义一个合理的威胁模型,我们需要重新考虑攻击约束和模型访问。
在 LLMs 的背景下,我们建议通过根据模型评估的数量限制其计算的预算来限制攻击者的强度。现有的攻击,例如 GCG (Zou et al., 2023),已经比计算机视觉中的攻击更昂贵 5-6 个数量级。出于这个原因,计算预算是一个对真实的攻击者的主要影响因素,并且对一个防御方法来说增加此预算是非常有价值的。此外,如果要以任何实际的方式模拟和研究一个攻击者,则限制此攻击者的预算是必要的。
威胁模型的第二个组成部分是系统访问。以前关于对抗性攻击的工作主要集中在白盒威胁模型上,其中防御的所有部分和所有的子部件和模型都被攻击者完全了解。抵抗白盒攻击的所需的鲁棒性太高,很多情况下都无法实现。对于 LLMs 的威胁,我们应该只将白盒的鲁棒性作为一个理想目标,并专注于灰盒的鲁棒性,其中一个防御的关键部分,例如检测和审核模型以及语言模型参数,是攻击者无法访问的。这种选择是受到 ChatGPT 的参数保密的启发。对于已知参数的开源模型,许多开源模型是未对齐的,这使得白盒的防御场景没有意义。此外,一个具有白盒访问权限的攻击者在访问一个开源或泄露的专有模型时可以通过微调来改变/删除它的对齐,这使得对抗性攻击成了不必要的。
下面的实验考虑了一些攻击,这些攻击和 Zou et al. (2023) (513,000 个模型评估分布在两个模型上) 使用了相同计算预算的攻击,以及没有限制攻击字符串的长度。在每个章节中,我们将评论我们调查的基线防御的白盒版本与灰盒版本。
4 Baseline Defenses
我们考虑一系列针对 LLMs 的对抗性攻击的基线防御方法。防御方法被选择为代表第 2 节中描述的三种策略。
作为防御测试平台,我们考虑抵御 Zou et al. (2023) 的越狱攻击,它依赖于贪心的坐标梯度优化器来生成对抗性后缀(触发器),以防止拒绝消息被显示。后缀包含 20 个标记,用 Vicuna V1.1 (7B) 和 Guanaco (7B) (Chiang et al., 2023; Dettmers et al., 2023) 的的一个集成优化了 500 步以上。此外,我们使用 AlpacaEval (Dubois et al., 2023) 来评估基线防御对生成质量的影响(更多细节可以在附录 A.3 中找到)。
4.1 A Detection Defense: Self-Perplexity Filter
对 LLMs 的无约束攻击通常会导致难以解释的乱码字符串。这个属性,当它存在时,会导致攻击的字符串具有高困惑度。文本困惑度是每个标记出现的平均负对数似然,形式上地, log ( ppl ) = − ∑ i log p ( x i ∣ x 0 : i − 1 ) \log(\text{ppl})=-\sum_{i}\log p(x_{i}|x_{0:i-1}) log(ppl)=−∑ilogp(xi∣x0:i−1)。如果一个给定的序列不流畅——包含语法错误或逻辑上没有跟随前面的输入——模型的困惑度会立刻上升。
在这种方法中,我们考虑了困惑度过滤器的两种变体。第一个是一个朴素的过滤器,它检查提示的困惑度是否大于一个阈值。更正式地说,给定一个阈值 T T T ,如果提示 X X X 的 log 困惑度小于 T T T,我们说这个提示已经通过了困惑度过滤器。再更正式地说,如果 − 1 ∣ X ∣ ∑ x ∈ X log p ( x i ∣ x 0 : i − 1 ) < T -\frac{1}{|X|}\sum_{x\in X}\log p(x_{i}|x_{0:i-1})<T −∣X∣1∑x∈Xlogp(xi∣x0:i−1)<T,那么我们说这个提示 X X X 通过了过滤器。我们还可以检查窗口中的困惑度,也就是将文本分解为连续的块,如果其中任何一个块具有高困惑度,则声明文本是可疑的。
我们通过测量它在 7B 参数的模型 (Falcon-Instruct、Vicuna-v1.1、Guanaco、Chat-GLM 和 MPT-Chat, (Penedo et al., 2023; Chiang et al., 2023; Dettmers et al., 2023; Team, 2023). ) 上阻止黑盒和白盒攻击的能力来评估防御方法。我们将阈值 T 设置为有害行为提示的 AdvBench 数据集中所有提示上的最大困惑度。出于这个原因,这些提示都没有触发困惑度过滤器。对于窗口困惑度过滤器,我们将窗口大小设置为 10,并将有害提示数据集中所有窗口上的最大困惑度作为阈值。
当然,具有白盒知识的攻击者试图通过在其目标中添加困惑度项来绕过这种防御。我们在攻击的损失函数中包含了困惑度约束。更具体地说, L trigger = ( 1 − α p p l ) L target + α p p l L ppl \mathcal{L}_{\text{trigger}}=(1-\alpha_{ppl})\mathcal{L}_{\text{target}}+\alpha_{ppl}\mathcal{L}_{\text{ppl}} Ltrigger=(1−αppl)Ltarget+αpplLppl 。我们设置 α p p l = { 0 , 0.05 , 0.1 , 0.2 , 0.6 , 1.0 } \alpha_{ppl}=\{0,0.05,0.1,0.2,0.6,1.0\} αppl={0,0.05,0.1,0.2,0.6,1.0} 来选择实验。我们在 AdvBench 的 100 个测试示例上评估 ASR。
表 1: Zou et al. (2023) 的攻击既没有通过基本的困惑过滤器,也没有通过窗口困惑过滤器。攻击成功率 (ASR) 是完成 越狱攻击的比例。ASR 越高攻击越好。“PPL Passed”和“PPL Window Passed”是带有对抗性后缀的有害提示通过过滤器而没有被检测出来的通过率。通过率越低,过滤器越好。
Results 从表 1 中,我们看到困惑度和窗口困惑度都很容易检测到优化器生成的所有对抗性提示,同时让 AdvBench 数据集中的所有提示通过。
图 2:给实现低困惑度的目标越来越高的权重的攻击成功率。现有的 GCG 攻击在满足对抗性目标和低困惑度的方面存在问题,成功率会下降。
在白盒场景中,攻击者可以针对困惑度较低的对抗性提示进行优化。图 2 显示,随着 α p p l \alpha_{ppl} αppl 的增加,攻击的强度迅速下降到和没有越狱攻击的有害提示的一样的强度。优化器无法与损失函数中的两项竞争,无法实现低困惑度和越狱攻击。这与视觉文献形成鲜明对比,后者有更多的自由度以及连续的变量,并且期望优化器通过组合的目标函数快速收敛。
图 1:左图显示了当我们增加 α p p l \alpha_{ppl} αppl 的权重时,攻击能够通过困惑度过滤器的次数百分比。右图显示了当我们增加 α p p l \alpha_{ppl} αppl 的权重时,攻击能通过窗口困惑度过滤器的次数百分比。
我们进一步调查了针对图 1 中低困惑度优化的提示。在这里,我们看到,虽然权重为 α p p l = 0.1 \alpha_{ppl}=0.1 αppl=0.1 的攻击几乎总是能通过困惑度过滤器,但通过窗口过滤器不太可靠。当 α p p l = 0.1 \alpha_{ppl}=0.1 αppl=0.1 时,只有 20% 的攻击能通过这个过滤器,这是在攻击变得无效之前最大的 α \alpha α。请注意,这几乎与图 2 中的有效性一样,此时攻击已经不存在了。
我们考虑另一种自适应攻击,攻击者降低攻击字符串的长度以保持低困惑度。图3显示了 α = 0.1 \alpha = 0.1 α=0.1 的三个潜在的长度 20(左)、10(中)和 5(右)。该图显示了作为一个不同窗口长度的函数,过滤器能捕获攻击的频率。从图 3 可以看出,将令牌长度从 20 个标记减少到 10 或 5 会降低攻击被捕获的频率。
此外,我们看到在不同令牌长度上平均选择的最佳窗口长度为 10。类似地, α p p l = 0.1 \alpha_{ppl}=0.1 αppl=0.1 的 10 个标记攻击不仅更好,而且其他更长/短的攻击更难被检测。10 个标记攻击的平均 ASR 为 52%,而 20 和 5 个标记的平均 ASR 分别为 32% 和 34%。此外,10 个标记的攻击以一个更高的通过率 (32%)通过了 10 个标记的窗口 PPL,比 20个标记 (17%) 和 5 个标记 (27%) 标记的窗口PPL通过率更高。
表 2:来自 AlpacaEval 的没有被攻击的提示能够通过每个困惑度过滤器的百分比。
我们还分析了这种防御的鲁棒性/性能的权衡。如果良性行为所产生的花费是可接受的,那么任何过滤器都只能用作防御。在这里,过滤器可能会错误地将良性提示标记为对抗性的。为了观察假阳性,我们在 AlpacaEval 的许多正常指令上运行检测器。不同模型的结果见表2。我们看到,在所有模型上平均有十分之一的提示被这个过滤器标记了。
总体而言,这表明单独使用困惑度过滤器是一剂猛药。即使在白盒设置(用当前可获得的优化器)中,防御也能成功,不过在 10 个良性的用户查询中删除 1 个将是不可忍受的。然而,困惑度过滤是有潜在价值的,当在一个没有丢弃而是用其他防御方式处理高困惑度的提示的系统中时,或者当作为识别恶意用户的更大审核活动的一部分时。
4.2 Preprocessing Defenses: Paraphrasing
图像的典型预处理防御使用生成模型对图像进行编码和解码,形成一个新的表示 Meng & Chen (2017a); Samangouei et al. (2018).。在 LLM 设置中对这种防御的一个自然想法是使用一个生成模型来释义一个对抗性指令。理想情况下,生成模型将准确地保留自然指令,但不能重现一个对抗性序列,这种对抗性序列有足够的准确性来保持对抗性行为。
根据经验,释义指令在大多数情况下运行良好,但也可能导致模型退化。出于这个原因,最现实的预处理防御方法的使用是与检测防御相结合,因为它们提供了一种处理可疑对抗提示的方法,同时在检测器标记假阳性方面提供了良好的模型性能。
我们评估了这种攻击的防御方法,在两个对抗性攻击被训练的模型 Vicuna-7B-v1.1 和 Guanaco-7B ,以及模型 Alpaca-7B上。对于释义,我们遵循 Kirchenbauer et al. (2023) 描述的协议,并使用 ChatGPT (gpt-3.5-turbo) 来释义提示,我们的元提示的设置包括 “paraphrase the following sentences:”, 0.7的温度,以及释义的最大长度为 100 个标记。
Results. 在表 3 中,我们展示了实施释义防御时的攻击成功率。在其基本形式中,这种简单的方法显着减少了 ASR,使其更接近引入对抗性触发器之前观察到的级别。在表 3 中,我们看到 Vicuna 和 Guanaco 恢复到接近基线的成功率。此外,我们看到 Alpaca 的 ASR 低于其基线成功率。这是因为 ChatGPT 有时不会解释有害的提示,因为它检测到了提示的恶意,而不是返回“I am sorry …” 的规范弃权响应。这种现象描绘了释义防御的潜在的第二个好处。攻击还必须绕过释义模型的对齐。
图 4:左是成功攻击有和没有释义输入的 Vicuna-7B 的混淆矩阵。右图显示了具有原始提示和三个模型释义提示的 AlpacaEval 的性能。
如图 4(右)所示,在 Vicuna-7B 上,成功攻击的数量从初始的 74 减少到只有 5。值得注意的是,释义防御不会将任何先前失败的攻击转换为成功。我们在表 4 中展示了一些定性结果。我们看到 ChatGPT 可以有效地重写提示并在大多数情况下忽略对抗性后缀。
当使用这种防御时,我们权衡了什么?为了评估模型质量的损失,我们释义了良性的 AlpacaEval 指令,输出最大长度为 100 个标记,并使用温度为 0.7 的 ChatGPT。值得一提的是,极少情况下,ChatGPT 会不解释良性指令,而是将其答案输出到提示中,然后将其作为指令用到被评估的模型(即 Vicuna)中。我们怀疑性能下降可能部分归因于这一点,因为在 Vicuna 的情况下模型通过向用户询问信息来进行回复。不出所料,图 4 显示了使用释义器时性能的下降。从这个表中,我们看到由于 Vicuna 和 Alpaca 的防御,性能下降了10%,这比 Guanaco 略好一些,它的性能下降了 15%。这表明一个释义防御确实会影响模型的质量。我们怀疑当使用上下文学习时,这可能会变得更糟。
White-Box Attack: 对手如何处理这种防御?一个自适应攻击可以分两个阶段进行。攻击者首先优化一个能破坏目标模型的对抗性提示。然后,攻击者为释义器找到一个优化的提示,能导致它返回对抗性提示。在真实的灰盒设置中攻击者无法访问释义器的参数,这可能会是非常具有挑战性的。然而,这在白盒设置中是肯定可行的。我们选择第三个模型 LLAMA-2-7B-chat 作为释义器,并使用 Zou et al. (2023) 的优化器验证这是可能的。如果这个提示,
ritside meteor graMediaTotalublic SocialalbumutzSEmean acesdorfselves CNN websiteinstalled zug pseudo embed fis [...], \text{ritside meteor graMediaTotalublic SocialalbumutzSEmean}\\ \text{acesdorfselves CNN websiteinstalled zug pseudo embed fis [...],} ritside meteor graMediaTotalublic SocialalbumutzSEmeanacesdorfselves CNN websiteinstalled zug pseudo embed fis [...],
和指令 “Please paraphrase the following prompt” 被提供给释义器,然后释义器正确地返回对抗性提示的所有 10 个标记(有关更多详细信息,我们在附录中包含了完整的释义提示和目标对抗性提示)。与困惑度过滤器不同,现有的优化器似乎最多能够自适应地攻击这种防御的任务,至少在白盒设置中是这样。在灰盒设置中,也就是释义器和提示是未知的,这种攻击似乎会更加困难。未来的工作需要了解在灰盒设置中可迁移攻击的困难。
4.3 Preprocessing Defenses: Retokenization
上述防御的缺点是干预会导致模型行为发生显着变化——例如,释义可能会导致具有意外属性的提示,并且一个未能通过困惑度过滤器的提示可能会导致没有来自 LLM 的响应。
在提示是良性的情况下,较温和的方法将在不显著降低或改变模型行为的情况下破坏可疑的对抗性提示。这可以通过重新标记提示来完成。在最简单的情况下,我们将标记分开并使用多个较小的标记来表示它们。例如,令牌“studying”有一个分开的令牌表示“study”+“ing”,以及其他可能的组合。我们假设对抗性提示可能利用令牌的特定对抗性组合,而分开的令牌可能会破坏对抗性行为。同时,Jain et al. (2023) 表明,分开的标记可能对 LLaMA 的模型生成影响非常小,这可能是因为拼写错误和分块导致大型训练数据中的标记也有很多是分开的,使得这些模型对良性文本的重新标记具有鲁棒性。
为了打破文本,我们使用由 Kudo (2018) 构建的 BPE-dropout (Provilkov et al., 2019)。BPE-dropout 在文本tokenization期间随机丢弃 BPE 合并的 p % p\% p%,从而产生比标准的表示具有更多token的随机tokenization。
Experimental Set-up 我们从 BPE tokenizer中丢弃了 p % p\% p% 的合并, p = { 0 , 0.2 , 0.4 , 0.6 , 0.8 } p=\{0,0.2,0.4,0.6,0.8\} p={0,0.2,0.4,0.6,0.8},其中 p = 0 p = 0 p=0 是正常的tokenization, p = 1 p = 1 p=1 是字符和字节级的拆分。这种增强的一种花费是它增加了一个给定文本的上下文窗口中所需的标记数量。我们同样分析了两个模型 Vicuna-7B-v1.1 和 Guanaco-7B (触发器是在这两个模型上训练的) 以及 Falcon-7B-Instruct ,因为它的不同的词汇表,这可能对于这种类型的增强很重要。请注意,我们报告了在我们的测试示例上运行四次的平均值,因为合并是随机删除的。
Results 从图 5(左)可以看出,对于 Vicuna 和 Guanaco,BPE-dropout 数据增强确实降低了攻击成功率,最佳丢失率为 0.4。Falcon 的通丢失率保持不变。此外,从图 5(右)中,我们看到这种类型的增强导致了更高的基线 ASR,因为 Guanaco 在攻击和未攻击的情况下收敛到相同的 ASR。进行了人工检查以确认生成是连贯的。这表明,尽管 RLHF/Instruction Finetuning 可能在抑制正确tokenized的有害提示方面表现得比较好,但当正常的tokenization被破坏时,模型就不好抑制这些有害提示了。我们推测可以在微调期间应用 BPE-dropout 以获得也可以鲁棒地拒绝有害提示重新标记的模型。此外,表 6 显示了对 Vicuna 和 Guanaco 应用 0.4 BPE-dropout 增强后的 AlpacaEval 性能的变化,表明性能会下降但不会完全被破坏。
White-Box Attack: 我们考虑一个自适应攻击,其中对抗性字符串仅包含单个字符和空格。表 7 显示这种自适应攻击降低了两种模型的性能——Vicuna 和 Guanaco。请注意,攻击是在没有使用 BPE dropout 的情况下制作的。然而,Falcon 的自适应攻击的 ASR 确实增加了。这可能是因为原始的攻击在 Falcon 上不能很好地迁移构建。此外,我们看到这种自适应攻击并不比带有 dropout 的原始攻击表现更好。
4.4 Robust Optimization: Adversarial Training
对抗训练是对对抗性攻击的一个规范防御,特别是对于图像分类器。在这个过程中,对抗性攻击是在每个训练迭代中精心设计的,并插入到训练批次中,以便模型可以学会适当地处理它们。
虽然对抗性训练已被用于语言模型的其他目的(Zhu et al., 2019),但在使用它来防止对 LLM 的攻击时会出现一些复杂的难题。首先,对抗性预训练在许多情况下可能是不可行的,因为它增加了计算成本。当针对强LLM攻击进行训练时,这个问题特别突出,因为制作一个单个的攻击字符串可能需要几个小时,即使使用多个gpu (Zou et al., 2023)。在连续数据上,一个单个的梯度更新足以生成一个对抗性的方向,即使是强对抗训练方案每个训练步骤使用不到 10 步对抗梯度下降。另一方面,我们迄今为止讨论的 LLM 攻击在变得有效之前需要数千个的模型评估。在本节中,我们的基线代表了我们回避这些困难的最佳努力,通过在指令微调期间专注于近似对抗训练。我们不是使用优化器来制作攻击,而是注入从红队Ganguli et al. (2022) 创建的大型数据集中采样的人工制作的对抗性提示。
在研究“越狱”攻击时,如何攻击一个典型的良性训练样本并不清晰,因为无论是否应用了越狱攻击它都不应该引发一个拒绝的消息。一种可能的方法是用一个全是应引发拒绝的有害提示的数据集进行微调。然而,即使是在无害的提示上它也会很快收敛到只输出拒绝消息。因此,我们将 Ganguli et al. (2022) 的有害提示混合到原始的(几乎是无害的)指令数据中。我们从这些有害的提示 中按时间采样百分之 β \beta β ,每次考虑以下更新策略之一。(1) 一个正常的下降步骤,带有响应“I am sorry, as an AI model…” (2) 一个正常下降步骤,同时也是数据集中提供的一个(不合适的)响应上的上升步骤。
Experimental Set-up 我们在Alpaca数据集上微调LLaMA-1-7B,该数据集使用了SelfInstruct方法 Touvron et al. (2023); Wang et al. (2022); Taori et al. (2023)。超参数的详细信息可以在附录中找到。我们考虑通过以 0.2 的采样率对有害提示进行采样来进一步微调 LLAMA-7B 并微调 Alpaca-7B。对于具有有害提示的每一步,我们考虑 (1) 一个下降步骤,具有目标响应“I am sorry. As a …” (2) 一个下降步骤(在一个拒绝的响应上)和一个上升步骤(在一个 Anthropic Ganguli et al. (2022) 提供的红队测试的响应上)。查看 β \beta β = 0.2 的 (2) 生成的响应,我们发现对于提供给模型的大多数指令,指令模型重复“cannot”或“harm”。因此,我们尝试将混合降低到 0.1 和 0.05。然而,这甚至会导致模型退化,在几乎所有提示上一再重复相同的令牌。因此,我们不报告鲁棒性数字,因为模型实际上不可用。
Results 从表 8 中,我们可以看到,在数据混合中包含有害提示会导致未受攻击的有害提示的成功率略低,尤其是当你从现有的指令模型继续训练时。然而,这并不停止有害提示的攻击版本,因为 ASR 的差异小于 1%。此外,继续使用指令模型进行训练只会产生大约 2% 的性能下降。这并不奇怪,因为我们没有在优化器制作的有害提示上显式地训练,因为这在计算上是不可行的。
此任务需要强而有效的优化器。虽然存在有效的文本优化器 Wen et al. (2023),但它们不足以攻击生成模型,如Zou et al. (2023) 所述。
5 Discussion
我们在过滤、预处理和鲁棒优化的类别中探索了许多基线防御方法,着眼于困惑度过滤、释义、重新标记和对抗训练。有趣的是,在这个初始分析中,我们发现过滤和预处理策略比视觉领域的取得了更多的成功,而针对此类防御的自适应攻击是很难实现的。这令人惊讶,并且我们认为值得在未来研究。LLMs 的领域与对抗性机器学习中的“经典”问题明显不同。
5.1 Adversarial Examples for LLMs Are Different
如前所述,较大的差异在于攻击的计算复杂度。在计算机视觉中,攻击可以通过一个梯度估计来攻击成功,但对于 LLMs,使用现在的优化器需要数千次的估计。这使我们关注规模这个因素,降低了直接进行对抗训练的可行性,并使进一步提高攻击者计算复杂度的防御方法可行。我们认为计算成本封装了攻击应该如何在该领域受到限制的问题,而不是(在视觉领域中)通过 ℓ p \ell_{p} ℓp 界限进行约束。
有趣的是,当使用组合优化器时,计算预算的约束隐式地限制了攻击者使用的令牌数量。对于连续的问题,在 ℓ p \ell_{p} ℓp 界限中的一个 n n n 维攻击的计算成本与在更大的 ℓ p ′ \ell_{p'} ℓp′ 上优化相同的攻击的计算成本一样, p ′ > p p'>p p′>p 球,从而更好地优化更大的球。然而,对于离散的输入,增加令牌预算会增加问题的维度。对于部分基于随机搜索的攻击,例如 (Shin et al., 2020; Zou et al., 2023),搜索空间大小的增加并不能保证是一个改进,因为只有有限数量的序列可以用一个固定的计算预算进行评估。
5.2 … And Require Different Threat Models
我们研究了白盒威胁模型下的防御方法,其中攻击者知道过滤模型或释义模型的参数。这通常不是工业环境中发生的场景,可能无法代表这些方法的真正实际效用 (Carlini & Wagner, 2017; Athalye et al., 2018; Tramer et al., 2020)。
在目前社区的感知中,一个最有吸引力的防御应该能抵御一个自适应攻击,其中攻击者有对防御的白盒权限,但仅限于使用与防御者相同的扰动度量。当对抗鲁棒性领域十年前出现时,对白盒威胁模型的兴趣是一个合理的期望,对小扰动的威胁模型的限制是一个可行的设置,因为它允许在不同的攻击和防御之间进行比较和竞争。
不幸的是,这个标准的威胁模型导致了一个问题,它让学术界关注的这个方面,现在已经发现是夸大了其有用性。即使是在小的扰动下,神经网络的完美的白盒对抗的鲁棒性现在也被认为是难以捉摸的。相反,并没有太多关注被放在在灰盒防御方面。即使在视觉中,灰盒系统实际上无处不在,许多工业系统,如苹果的人脸ID和YouTube的内容ID,从模型参数的保密性中可以在很大程度上推导出它们的安全性。
对严格定义的扰动约束的关注也是不现实的。当攻击预期被限制在某个 ℓ p \ell_{p} ℓp 界限时,对抗性训练表现得很好,但真正自适应的攻击者可能会通过选择不同的扰动类型来绕过这样的防御,例如用一个语义攻击来绕过能抵御 ℓ p \ell_{p} ℓp 界限对抗样本的防御方法(Hosseini & Poovendran, 2018; Ghiasi et al., 2019)。在 LLM 设置中,这可以通过简单地选择不同的优化器来完成。
一个对 LLMs 的对抗性攻击的现实的处理方法将需要社区对“究竟什么是一个有用的防御”采取更现实的视角。虽然对抗性训练是图像分类器的首选防御方法,但模型预训练的极高成本,再加上制作对抗性攻击的高成本,使得大规模对抗训练不适用于 LLMs。同时,在灰盒场景中使优化变得困难的启发式防御方法可能在语言设置中具有价值,由于离散优化的计算难度,或者自由度的缺乏(一个自适应攻击使用的最小化一个复杂的对抗性损失中需要的自由度)。
在主流的对抗性ML社区中,无法承受白盒 ℓ p \ell_{p} ℓp 界限的攻击的防御被认为是没有价值的。一些人声称这是因为他们不能立足于 Athalye et al. (2018) 的威胁模型(尽管它存在缺陷)。我们认为更正确的说法是,此类防御的价值很少是因为我们不必从视觉领域研究它们来学习。但是在语言领域,我们仍然需要学习。在视觉设置中,简单的优化器通过复杂的自适应攻击目标可以快速地收敛。在语言领域,我们今天拥有的基于梯度的优化器在将抵抗破解方面并不和困惑度过滤一样简单有效。文本优化器的这种弱点可能会在未来迅速被改变。或许不会。但是,直到对 LLMs 的优化器和自适应攻击被更好地理解之前,在语言环境中研究这类防御是有价值的。
5.3 Future Directions & Conclusion
这项研究只是研究语言模型防御的跳跃起点。批判性地看待我们最初的发现,未来的一个关键问题是,对 LLMs 的对抗性攻击是否比其他领域的对抗性攻击要昂贵几个数量级。当前最先进的技术给我们留下了许多大型开放性问题。(i) 哪些防御方法可以被克可靠地部署,而对良性的性能的影响很小?(ii) 在灰盒设置中能绕过这些防御的自适应攻击是否能从代理模型转移到目标模型?(iii) 我们能否找到鲁棒的优化目标(目标是成功的对抗性训练)的一个良好近似?(iv) 我们能否从理论上限制或证明,一个攻击对一个给定的(灰盒)防御所需的最小计算预算,从而可以基于计算复杂度来确定一个安全级别?
最重要的是,(v) 能不能开发离散的文本优化器,来使其可以显着提高对抗性攻击的有效性?如果可以,这会将 LLM 的安全性回到一个更像是计算机视觉领域的状态。