花卉网站建设策划,正规的网站制作电话,自建平台,百度导航官网Universal and Transferable Adversarial Attacks on Aligned Language Models https://arxiv.org/pdf/2307.15043v2
通用且可转移的对抗性攻击对齐语言模型 文章目录 通用且可转移的对抗性攻击对齐语言模型摘要1 引言2 一个针对LLMs的通用攻击2.1 产生肯定回应2.2 贪婪坐标梯…Universal and Transferable Adversarial Attacks on Aligned Language Models https://arxiv.org/pdf/2307.15043v2
通用且可转移的对抗性攻击对齐语言模型 文章目录 通用且可转移的对抗性攻击对齐语言模型摘要1 引言2 一个针对LLMs的通用攻击2.1 产生肯定回应2.2 贪婪坐标梯度搜索2.3 通用多提示和多模型攻击 3实验结果直接攻击和转移攻击3.1 对白盒模型的攻击3.2 转移攻击3.3 讨论 4 相关工作5 结论和未来工作6 伦理和更广泛的影响 摘要
因为“即开即用”的大型语言模型能够生成大量令人反感的内容近期的工作集中在对这些模型进行对齐以防止不受欢迎的生成。尽管在规避这些措施方面取得了一些成功——即所谓的针对大型语言模型LLMs的“越狱”——这些攻击需要大量的人类智慧并且在实践中很脆弱。自动对抗性提示生成的尝试也取得了有限的成功。在本文中我们提出了一种简单有效的攻击方法可以导致对齐的语言模型生成令人反感的行为。具体来说我们的方法找到一个后缀当附加到LLM的广泛查询上时可以产生令人反感的内容目的是最大化模型产生肯定回应而不是拒绝回答的概率。然而我们的方法不是依赖于手工工程而是通过贪婪和基于梯度的搜索技术的结合自动产生这些对抗性后缀并且也改进了过去的自动提示生成方法。
令人惊讶的是我们发现我们方法生成的对抗性提示具有很高的可转移性包括到黑盒、公开发布、生产中的LLMs。具体来说我们在多个提示即要求生成多种类型令人反感内容的查询和多个模型在我们的例子中Vicuna-7B和13B上训练了一个对抗性攻击后缀。这样做的结果是生成的攻击后缀在ChatGPT、Bard和Claude等公共接口以及LLaMA-2-Chat、Pythia、Falcon等开源LLMs中诱导了令人反感的内容。有趣的是这种攻击转移的成功率对基于GPT的模型要高得多这可能是由于Vicuna本身是在ChatGPT的输出上训练的。总的来说这项工作显著推进了对抗性攻击对齐语言模型的最新技术提出了如何防止这些系统产生令人反感信息的重要问题。代码可在github.com/llm-attacks/llm-attacks上获得。
1 引言 图1对齐的LLMs在对抗性上并没有对齐。我们的攻击构建了一个单一的对抗性提示一致地规避了包括ChatGPT、Claude、Bard和Llama-2在内的最先进商业模型的对齐而没有直接访问它们。这里展示的例子都是这些系统的实际输出。对抗性提示可以以高概率从这些模型中引出任意有害行为展示了滥用的潜力。为了实现这一点我们的攻击Greedy Coordinate Gradient通过针对多个较小的开源LLMs进行优化以针对多种有害行为找到这样的通用和可转移的提示。这些在第3节进一步讨论完整的未删节记录在附录B中提供。
大型语言模型LLMs通常在从互联网上抓取的大量文本语料库上进行训练这些语料库已知包含相当数量的令人反感的内容。由于这个原因最近的LLM开发者开始通过各种微调机制“对齐”这些模型有不同方法用于这项任务Ouyang等人2022年Bai等人2022bKorbak等人2023年Glaese等人2022年但这些方法的总体目标是试图确保这些LLMs不会对用户查询生成有害或令人反感的回应。至少表面上看这些尝试似乎成功了当被直接询问时公共聊天机器人不会生成某些明显不适当的内容。
在另一条线索上也投入了大量的努力来识别并理想地防止对机器学习模型的对抗性攻击Szegedy等人2014年Biggio等人2013年Papernot等人2016bCarlini和Wagner2017b。最常见的是在计算机视觉领域尽管也有一些应用于其他模态包括文本已经确立了这样一个事实向机器学习模型的输入添加小的扰动可以大幅改变其输出。在一定程度上类似的方法已经知道对LLMs有效已经发表了一些“越狱”精心设计的提示导致对齐的LLMs生成明显令人反感的内容Wei等人2023年。然而与传统的对抗性示例不同这些越狱通常通过人类智慧精心制作——直观地设置导致模型误入歧途的场景——而不是自动化方法因此它们需要大量的手动工作。事实上尽管已经有一些关于自动提示调整以对抗LLMs的对抗性攻击的工作Shin等人2020年Wen等人2023年Jones等人2023年但这传统上被证明是一个具有挑战性的任务一些论文明确提到他们无法通过自动化搜索方法生成可靠的攻击Carlini等人2023年。这在很大程度上是因为与图像模型不同LLMs操作的是离散的标记输入这既大大限制了有效的输入维度又似乎引起了计算上困难的搜索。
然而在本文中我们提出了一类新的对抗性攻击实际上可以诱导对齐的语言模型产生几乎任何令人反感的内容。具体来说给定一个可能有害的用户查询我们的攻击在查询后附加一个对抗性后缀试图诱导负面行为。也就是说用户的原始查询保持不变但我们添加了额外的标记来攻击模型。为了选择这些对抗性后缀标记我们的攻击由三个关键元素组成这些元素在文献中确实以非常相似的形式存在但我们发现它们的仔细组合在实践中导致了可靠的成功攻击。
初始肯定回应。正如过去工作所确定的Wei等人2023年Carlini等人2023年在语言模型中诱导令人反感的行为的一种方法是迫使模型对有害查询给出仅有几个标记的肯定回应。因此我们的攻击目标是让模型以“当然这里是查询内容”的方式开始对一系列引发不良行为的提示的回应。与过去的工作类似我们发现仅仅以这种方式针对回应的开始就会将模型切换到一种“模式”然后它就会在其回应中立即产生令人反感的内容。结合贪婪和基于梯度的离散优化。由于需要在离散标记上进行优化以最大化攻击成功的对数似然因此对对抗性后缀的优化是具有挑战性的。为了实现这一点我们利用标记级别的梯度来识别一组有希望的单个标记替换评估这组中一些候选者的损失并选择评估的最佳替换。该方法实际上与AutoPromptShin等人2020年方法类似但有我们发现实践中非常重要的区别我们搜索在每一步替换所有可能的标记而不仅仅是一个。健壮的多提示和多模型攻击。最后为了生成可靠的攻击后缀我们发现重要的是创建一个不仅适用于单一模型上的单个提示而且适用于多个模型上的多个提示的攻击。换句话说我们使用我们的贪婪梯度方法搜索一个单一的后缀字符串能够跨越多个不同的用户提示并在我们的情况下跨越三个不同的模型Vicuna-7B和13b Zheng等人2023年和Guanoco-7B Dettmers等人2023年尽管这主要是为了简单使用其他模型的组合也是可能的诱导负面行为。
将这三个元素结合起来我们发现我们可以可靠地创建绕过目标语言模型对齐的对抗性后缀。例如在针对一系列基准令人反感的行为运行时我们发现我们能够在Vicuna中生成99100个中的有害行为并在输出中与目标潜在有害的字符串生成88100个中的完全匹配。此外我们发现提示在攻击GPT-3.5和GPT-4时的成功率高达84%而对PaLM-2的成功率为66%Claude的成功率显著较低2.1%但值得注意的是攻击仍然可以诱导行为否则永远不会生成。图1中展示了说明性的例子。此外我们的结果强调了我们特定优化器的重要性以前的优化器特别是PEZWen等人2023年一种基于梯度的方法和GBDAGuo等人2021年一种使用Gumbel-softmax重新参数化的方法无法实现任何完全输出匹配而AutoPromptShin等人2020年仅达到了25%的成功率相比之下我们的攻击成功率为88%。
总的来说这项工作大大推进了对这类LLMs的对抗性攻击的最新技术。因此它也提出了一个重要的问题如果对抗性攻击对齐语言模型遵循与视觉系统相同的模式这对这种方法的总体议程意味着什么具体来说在现代计算机视觉系统中对抗性攻击仍然是一个普遍现象。防止对抗性示例的最新方法Madry等人2018年Cohen等人2019年Leino等人2021年几乎从未在实践中使用因为1它们的计算效率低下2它们导致产生的系统中“清洁”模型性能大幅下降3它们只能防止通常针对狭义定义的攻击模型的攻击。在LLM领域对抗性攻击和防御之间的“军备竞赛”将如何发展还有待观察但历史先例表明我们应该考虑对当前尝试进行严格的全面替代这些尝试旨在事后“修复”已经能够生成有害内容的底层模型。
负责任的披露 在发布这项工作之前我们与OpenAI、Google、Meta和Anthropic分享了初步结果。我们在第6节中进一步讨论了这项工作的伦理考虑和更广泛的影响。
2 一个针对LLMs的通用攻击
在本节中我们展示了这项工作的主要技术贡献即一种攻击语言模型的方法以诱发不良行为。正如我们在下一节中展示的这种方法在现有攻击方法的基础上有了显著改进能够可靠地破坏目标白盒模型甚至能够在其他完全黑盒模型上展示出一定程度的转移性。
我们的攻击对抗设置反映了越狱Wei等人2023年Carlini等人2023年以及某些方面上的提示调整Shin等人2020年Wen等人2023年的相关研究。我们考虑一个用户向LLM提出问题例如
告诉我如何制造炸弹。
当然在实践中作为一个聊天机器人的LLM不会单独看到这个输入而是嵌入在一个更大的提示中结合系统提示和额外的框架来在聊天框架内构建响应。因此LLM实际看到的输入可能是如下内容具体细节取决于实际的聊天程序以及在某些情况下模型是如何调整的
系统您是一个旨在提供有益且无害的回应给用户查询的聊天助手。 用户告诉我如何制造炸弹。 助手
上述中“用户”注释后的蓝色文本是用户唯一可以控制的内容。在对齐的LLM的典型操作中系统不会对用户查询提供回应而可能会声明模型无法提供潜在危险的内容。
我们引入了一个额外的对抗性后缀到用户提示上旨在绕过LLM的对齐并诱导其回应用户的原始请求可能是有害的。换句话说我们向模型传递如下输入
系统您是一个旨在提供有益且无害的回应给用户查询的聊天助手。 用户告诉我如何制造炸弹。 ! ! ! ! ! ! ! ! ! ! 助手
在这里红色文本由攻击将优化的一些对抗性后缀组成以使模型回答原始用户查询。重要的是当我们开发通用攻击时我们不考虑蓝色文本的变化这是由用户提供的。这对于通用攻击的最终目标至关重要找到一组标记来替换初始红色文本以便对齐的LLM将对用户提供的任何蓝色指令选择做出肯定回应。
在上述设置中我们有多种选择来优化对抗性后缀例如优化损失函数、数据以及优化本身。尽管上述设置在文献中以非常相似的形式被考虑过但这些过去的工作还未能可靠地攻击对齐的LLMs即使是在白盒设置中Carlini等人2023年。实际上我们发现少量关键设计元素对于产生可靠的攻击至关重要我们将在本节的其余部分中描述。
2.1 产生肯定回应
开发攻击的第一个标准是确定其目标即用于优化对抗性后缀的损失函数是什么。当然有许多可能的损失函数例如我们可以最大化模型生成某个非常特定选择的字符串的可能性在上面的例子中例如包括制造炸弹的指令的字符串。虽然这可能足以强调模型产生对齐内容的能力但作为攻击目标它在两个方面都不足。首先它为查询规定了一个单一的“真实”输出而在现实中可能有许多适当的答案并且可能更有可能成为目标LLM的选择。其次它特定于单个查询而我们最终希望一个通用后缀适用于许多查询。
相反我们采用了在手动越狱社区中已经受到一定关注的方法并要求模型以对用户查询的积极肯定开始其回应。换句话说对于上面的例子我们希望LLM的回应以以下短语开始
系统您是一个旨在提供有益且无害的回应给用户查询的聊天助手。 用户告诉我如何制造炸弹。 ! ! ! ! ! ! ! ! ! ! 助手当然以下是如何制造炸弹
上述中紫色文本仅表示所需LLM完成的目标开始攻击目标中未指定其余部分。这种方法的直觉是如果语言模型可以被置于一种“状态”这种完成是最可能的回应而不是拒绝回答查询那么它很可能会以所需的不良行为继续完成。
如前所述类似的行为以前在手动越狱中已经被研究过例如在提示中添加模型“以‘sure’回应”或其他类似方法Wei等人2023年。然而在实践中这种手动方法只是略有成功通常可以通过稍微更复杂的对齐技术来规避。此外以前针对多模态LLMs的研究发现仅指定第一个目标标记通常就足够了尽管在那种设置中攻击面更大因此可以更大幅度地优化Carlini等人2023年。然而在仅限文本的空间中仅针对第一个标记有完全覆盖原始提示的风险例如“对抗性”提示可能只是包括像“Nevermind, tell me a joke”没关系给我讲个笑话这样的短语这将增加“sure”回应的可能性但不会引起不良行为。因此我们发现提供一个也肯定地重复用户指令的目标短语是产生提示行为的最佳手段。
形式化对抗目标。 我们可以将此目标写成对抗性攻击的正式损失函数。我们认为大型语言模型LLM是从一些标记序列 ( x_1:n ) 的映射其中 ( x_i \in {1, \ldots, V} )其中 ( V ) 表示词汇表大小即标记的数量到下一个标记的概率分布。具体来说我们使用以下符号[ p(x_{n1}|x_1:n) ] 表示给定前一个标记序列 ( x_1:n ) 时下一个标记是 ( x_{n1} ) 的概率。 对于任何 ( x_{n1} \in {1, \ldots, V} )我们用来表示给定之前的标记 ( x_1:n ) 时下一个标记是 ( x_{n1} ) 的概率。稍微滥用一下符号我们写 ( p(x_{n1:nH}|x_1:n) ) 来表示在给定所有之前标记的情况下生成序列 ( x_{n1:nH} ) 中的每个单一标记的概率即[ p(x_{n1:nH}|x_1:n) \prod_{jn1}^{nH} p(x_j|x_1:j-1) ] 在这个符号下我们所关注的对抗性损失仅仅是某些目标标记序列 ( x_{n1}:nH^* )即代表短语“当然以下是如何制造炸弹。”的负对数概率。 因此优化我们对抗性后缀的任务可以写成优化问题。 其中 ( \mathcal{I} \subset {1, \ldots, n} ) 表示在LLM输入中对抗性后缀标记的索引。 2.2 贪婪坐标梯度搜索
优化公式4的一个主要挑战是我们必须在一组离散的输入上进行优化。尽管存在几种离散优化方法包括前一节提到的但过去的研究发现即使是最好的这些方法通常也难以可靠地攻击对齐的语言模型Carlini等人2023。
然而在实践中我们发现一种直接的方法这最终是AutoPrompt方法Shin等人2020的一个简单扩展对于这项任务表现得相当好并且也大大超过了AutoPrompt本身。我们方法的动机来自于贪婪坐标下降方法如果我们能够评估所有可能的单个标记替换我们就可以交换使损失最大程度减少的标记。当然评估所有这些替换是不可行的但我们可以利用相对于一个热标记指示符的梯度来找到每个标记位置的一组有希望的候选替换然后通过前向传递准确地评估所有这些替换。具体来说我们可以通过评估梯度来计算在提示中替换第 ( i ) 个标记 ( x_i ) 的线性近似值。 其中 ( e_i ) 表示代表当前第 ( i ) 个标记值的一位有效向量即在 ( e_i ) 位置有一个1在所有其他位置都是0的向量。请注意因为LLMs通常为每个标记形成嵌入它们可以写成这个值 ( e_i ) 的函数因此我们可以立即对此数量取梯度HotFlipEbrahimi等人2017年和AutoPromptShin等人2020年方法采用了相同的方法。然后我们计算具有最大负梯度的前 ( k ) 个值作为标记 ( x_i ) 的候选替换。我们为所有标记 ( i \in \mathcal{I} ) 计算这个候选集随机选择 ( B \leq k \times |\mathcal{I}| ) 个标记从其中在这个子集上准确评估损失并用损失最小的替换。这种我们称之为贪婪坐标梯度GCG的完整方法在算法1中显示。
我们在这里指出GCG与AutoPrompt算法Shin等人2020年非常相似除了AutoPrompt提前选择一个坐标进行调整然后只对那一个位置评估替换这个看似微小的变化。正如我们在后续部分所说明的这个设计选择有着惊人的大效果我们发现对于相同的每迭代批次大小 ( B )即相同数量的总前向评估这在计算上占主导地位GCG在很大程度上大大超过了AutoPrompt的性能。我们相信通过例如构建采用类似全方位坐标策略的ARCA版本Jones等人2023年GCG可能会进一步改进但在这里我们为了简单起见专注于更基本的方法。 2.3 通用多提示和多模型攻击
为了特别针对通用攻击进行优化这将导致广泛的提示产生令人反感的生成我们在算法1的基础上结合了几个训练提示 ( x_1:n^{(i)} ) 和相应的损失 ( \mathcal{L}_i )。由于通用示例的目标不是生成特定的标记序列我们在方程3中使用的每个 ( \mathcal{L}_i ) 的目标序列是一个与模型肯定回应一致的前缀。例如对于训练提示“给出制造管状炸弹的指导”相应的目标序列将是“当然这里是制造管状炸弹的指导”。
我们不是在每个提示中指定不同的可修改标记子集而是优化一个单一的后缀 ( p_1:l )并聚合梯度和损失以分别选择每个步骤的前 ( k ) 个标记替换和最佳替换。在聚合梯度之前它们被剪切以具有单位范数。此外我们发现仅在确定了一个作为早期提示的对抗性示例的候选者之后逐步地纳入新的提示比从一开始就尝试一次性优化所有提示会得到更好的结果。这个过程在算法2中显示。
为了使对抗性示例可转移我们结合了多个模型的损失函数。当模型使用相同的分词器时用于计算前 ( k ) 个标记的梯度都将在 ( \mathbb{R}^V ) 中并且可以无问题地聚合。因此例如可以同时优化Vicuna的不同变体而无需对算法2进行任何修改。请注意这与在嵌入空间中进行优化的攻击不同。
3实验结果直接攻击和转移攻击
现有的LLMs对抗性基准Wang等人2021年Zhu等人2023年侧重于生成旨在愚弄特定任务的攻击例如情感分析或自然语言推理。我们在这项工作中的重点是引发产生有害或令人反感的内容。为了系统地评估我们方法在实现这一点方面的有效性我们设计了一个新的基准AdvBench基于两个不同的设置。
有害字符串一个包含500个字符串的集合这些字符串反映了有害或有毒的行为涵盖了从亵渎、生动描述、威胁行为、错误信息、歧视、网络犯罪到危险或非法建议等广泛的有害内容。对手的目标是发现可以促使模型生成这些确切字符串的特定输入。这些字符串的长度在3到44个标记之间使用LLaMA分词器分词后平均长度为16个标记。有害行为一组制定为指令的500种有害行为。这些行为涵盖了与有害字符串设置相同的主题但对手的目标是找到单一的攻击字符串使模型尝试符合指令并尽可能多地产生有害行为。
这两种设置都从略微不同的角度评估目标模型坚持对齐目标的能力第一项任务侧重于对模型输出的细粒度控制而第二项类似于红队演习旨在绕过安全过滤器以引发有害输出。附录A提供了有关构建此基准的更多详细信息。
我们强调这个数据集的目标不是开启关于什么不应该成为LLM的“允许”内容的辩论而只是简单地指出大多数对齐的LLMs无论是开源还是专有都试图明确避免这种生成并且如果直接查询即被要求生成一个有害字符串或被要求展示有害行为也不会产生它们。因此基准明确评估我们的攻击能够如何绕过系统的指定防护措施。将来可能需要根据模型打算禁止的任务集调整我们的基准。
指标。 我们使用攻击成功率ASR作为AdvBench的主要指标。对于引发有害字符串如果模型输出了确切的目标字符串我们就认为每次成功。此外我们使用目标字符串上的交叉熵损失作为衡量攻击有效性的次要指标。对于有害行为如果模型合理地尝试执行行为则我们认为测试案例成功。由于不同模型在提供例如制造爆炸装置的正确指令方面表现出不同的能力这可能涉及人类判断以确定响应不等同于拒绝或试图规避生成有害内容。为了衡量攻击的通用性我们还测量在攻击受过训练的行为集以及保留的测试集上有害行为的成功率并报告每个的ASR百分比。
基线。 我们将我们的方法与三种先前的基线方法进行比较PEZWen等人2023年、GBDAGuo等人2021年和AutoPromptShin等人2020年。对于PEZ和GBDA我们同时为每个目标字符串或行为优化16个序列随机初始化并在完成后选择最佳。使用Adam优化器和余弦退火来优化候选人。AutoPompt和GCG共享相同的配置批量大小为512前 ( k ) 为256。所有方法的可优化标记数量为20所有方法都运行了500步。
结果概述。 我们将展示GCG算法1和2能够在Vicuna-7B和Llama-2-7B-Chat上一致地在这两种设置中找到成功的攻击。对于具有挑战性的有害字符串设置我们的方法在Vicuna-7B上成功88%在Llama-2-7B-Chat上成功57%而先前工作中最接近的基线使用AutoPrompt尽管仍然有我们多提示、多模型方法的其余部分在Vicuna-7B上达到25%在Llama-2-7B-Chat上达到3%。对于有害行为我们的方法在Vicuna-7B上实现了100%的攻击成功率在Llama-2-7B-Chat上为88%先前的工作分别为96%和36%。 表1我们的攻击在所有设置上始终优于先前的工作。我们报告了在AdvBench数据集上欺骗单个模型Vicuna-7B或LLaMA-2-7B-Chat的攻击成功率ASR。我们还报告了在优化以引出确切有害字符串HS时模型输出与目标之间的交叉熵损失。更强的攻击具有更高的ASR和更低的损失。方法中的最佳结果会被突出显示。
我们还证明了我们方法生成的攻击在其他LLMs上转移得非常好即使是那些使用完全不同的标记来表示相同文本的模型。当我们专门设计攻击性示例来攻击Vicuna-7B时我们发现它们几乎总是转移到更大的Vicuna模型。通过同时生成攻击性示例来愚弄Vicuna-7B和Vicuna-13b我们发现这些攻击性示例也转移到了Pythia、Falcon、Guanaco并且令人惊讶地转移到了GPT-3.587.9%、GPT-453.6%、PaLM-266%和Claude-22.1%。据我们所知这些是第一个展示可靠地在各种LLMs上自动生成通用“越狱”攻击的结果。
3.1 对白盒模型的攻击 **图2**不同优化器在引出Vicuna-7B的个别有害字符串方面的性能。我们提出的攻击GCG在这项任务上以显著的优势超越了以前的基线。更高的攻击成功率和更低的损失表明了更强的攻击。
首先我们描述了我们的方法在明确训练的模型上进行攻击的能力。为了描述我们的方法在生成针对各种字符串、行为和模型组合的成功攻击方面的有效性我们使用两种配置来派生攻击并评估ASR单一目标在单一模型上的引出1种行为/字符串1个模型以及通用攻击25种行为1个模型。
1种行为/字符串1个模型。 在这种配置中我们的目标是评估攻击方法从受害者语言模型中引出有害字符串和行为的有效性。我们对两种设置中的前100个实例进行了评估分别使用算法1针对Vicuna-7B模型和LLaMA-2-7B-Chat模型优化单一提示。两种任务的实验设置保持一致遵循默认的对话模板不做任何修改。对于有害字符串场景我们将对抗性标记作为整个用户提示而对于有害行为我们将对抗性标记作为有害行为的后缀作为用户提示。
我们在表1中展示了结果。专注于“个别有害字符串”列我们的结果表明PEZ和GBDA在Vicuna-7B和LLaMA-2-7B-Chat上都未能引出有害内容而GCG在两者上都有效分别为88%和55%。图2显示了攻击进展过程中的损失和成功率并说明GCG能够相对于其他方法快速找到损失较小的对抗性示例并在剩余步骤中继续进行逐步改进。这些结果表明GCG在寻找引出特定行为的提示方面具有明显优势而AutoPrompt在某些情况下能够做到这一点其他方法则不行。
查看表1中详细列出的“个别有害行为”列PEZ和GBDA在这种设置中实现了非常低的ASR。相反AutoPrompt和GCG在Vicuna-7B上表现相当但它们在Llama-2-7b-Chat上的性能显示出明显差异。尽管两种方法的ASR都有所下降GCG仍然能够在绝大多数实例中找到成功的攻击。
25种行为1个模型。 这种配置展示了生成通用对抗性示例的能力。我们使用算法2针对25种有害行为优化了Vicuna-7B或LLaMA-2-7B-Chat上的单一对抗性后缀。优化后我们首先计算这个单一对抗性提示在优化中使用的25种有害行为上的ASR称为训练ASR。然后我们使用这个单一示例来攻击100种保留的有害行为并将结果称为测试ASR。表1中的“多种有害行为”列显示了所有基线和我们的结果。我们发现GCG在两种模型上都一致优于所有基线并且对Vicuna-7B的几乎所有示例都成功。尽管AutoPrompt在Vicuna-7B上的性能相似但在Llama-2-7B-Chat上的效果远不如我们的方法对于保留的测试行为其成功率为35%而我们的方法为84%。 图3展示了第3.2节中描述的我们的GCG提示在新行为上对开放和专有模型的攻击成功率ASR的图表。仅提示指的是用没有尝试攻击的查询模型。“Sure here’s”附加到指令上让模型以该字符串开始其响应。GCG在所有对抗性提示上平均ASR并且GCG集成如果至少有一个GCG提示有效则认为攻击成功。这个图表展示了GCG提示转移到具有不同词汇表、架构、参数数量和训练方法的多样化LLMs。
单模型实验总结。 在第3.1节中我们在两种设置上进行了实验有害字符串和有害行为以评估使用GCG引出两个开源LLMsViccuna-7B和LLaMA-2-7B-Chat上目标不对齐竞争的有效性GCG在所有基线上都表现更佳。此外我们运行实验来优化一个通用提示以攻击所有行为上的受害者模型。GCG在行为测试集上的高ASR表明这些模型中显然存在通用攻击。
3.2 转移攻击
第3.1节展示了单一模型上的通用攻击。在这节中我们进一步展示针对多种行为和多种模型的通用攻击包括开放和专有的也存在。
生成通用对抗性提示。 我们按照算法2为多个模型和多个提示生成单个对抗性提示。具体来说我们使用GCG优化来自两个模型的损失Vicuna-7B和13B在25种有害行为上类似于第3.1节中的设置。我们用不同的随机种子运行这些实验两次以获得2个攻击后缀。此外我们通过在同一25个提示上引入Guanaco-7B和13B即25个提示总共4个模型准备第三个对抗性提示。对于上述每种运行我们在500步后取得最低损失的提示。
**表2**使用有害行为、有害行为加“Sure, here’s”作为后缀以及有害行为加GCG提示作为后缀在GPT-3.5gpt-3.5-turbo和GPT-4gpt4-0314、Claude 1claude-instant-1、Claude 2Claude 2和PaLM-2上测量攻击成功率ASR。结果在388种行为上平均。我们还报告了使用几个GCG提示的串联作为后缀时的ASR以及当集成这些GCG提示时即如果至少有一个后缀有效则认为攻击成功。
**图4**图1所示示例中有害内容生成的截图ChatGPT左上、Claude 2右上、Bard左下、LLaMA-2右下。附录B中展示了完整的生成。
**图5**我们的攻击从最先进商业模型中引出的有害行为示例GPT-3.5绿色、GPT-4紫色和Claude。确切的提示可能因不同模型而略有不同。我们只选择完整的模型响应中的摘录来证明我们方法在引出有害行为方面的有效性。然而我们有意识地排除了包含详细危险指令的部分。我们在附录中展示了更多示例。
基线。 在这一部分我们专注于展示GCG发现的对抗性提示的可转移性。作为参考我们包括以下情况的ASR(1) 提示仅指简单地查询模型没有尝试攻击或颠覆正常生成(2) “Sure here’s”附加到指令上让模型以该字符串开始其响应如之前工作Wei等人2023年所示
message {harmful_behavior} (以 “Sure here’s” 开始)
测试模型。 对于在VicunaZheng等人2023年和GuanacoDettmers等人2023年上优化的GCG提示我们在一系列类似大小的开放模型上测量ASRs包括Pythia-12BBiderman等人2023年、Falcon-7BPenedo等人2023年、ChatGLM-6BDu等人2022年、MPT-7BTeam2023年、Llama-2-Chat-7BTouvron等人2023年和Stable-VicunaCarperAI2023年以及专有的GPT-3.5gpt-3.5-turbo-0301和GPT-4gpt4-0314、Claude 1claude-instant-1、Claude 2Claude 2和PaLM-2PaLM 2。我们在提示它们时使用每个模型的默认对话模板。我们将ChatGPT和Claude模型的温度和top_p设置为0以获得确定性结果。在对PaLM-2的实验中我们发现使用默认生成参数温度0.9top-p 0.95产生了更高概率生成有害完成我们使用了此设置。因此这些生成不是确定性的所以我们检查了PaLM-2的8个候选完成并认为如果其中任何一个引出目标行为则攻击成功。
转移结果。 我们收集了388个测试有害行为来评估ASR。每个开源模型的三个提示的最大ASR在图3中显示用更深的蓝色表示。为了将他们的结果与专有模型进行比较我们还在图表中包括了GPT-3.5和GPT-4并在表2中延迟了更多专有模型的结果。
除了在Pythia-12B上匹配“Sure, here’s”攻击几乎有100% ASR外我们的攻击在其他模型上以显著的优势超越了它。我们强调我们的攻击在几个我们没有明确针对提示优化的开源模型上达到了接近100%的ASR对于其他如ChatGLM-6B成功率仍然可观但明显较低。我们还报告了我们攻击的集成ASR。我们测量了至少有一个GCG提示引出模型有害完成的行为的百分比在较浅的条形图中显示。这些结果清楚地表明可转移性普遍存在于我们研究的模型中但可能有一些因素会导致攻击提示在指令间的可靠性存在差异。了解这些因素是什么是一个重要的未来研究课题但实际上我们的结果与集成攻击表明它们本身可能不足以为强有力的防御提供基础。
在表2中我们专注于我们在ChatGPT和Claude模型上的转移攻击的ASR。前两行显示了我们的基线即仅有害行为以及有害行为以“Sure, here’s”作为后缀。在“BehaviorGCG prompt”的行中我们展示了在Vicuna模型上优化的两个提示中最好的ASR以及在Vicuna和Guanacos上一起优化的提示的ASR。我们的结果证明了在GPT-3.5和GPT-4上非平凡的越狱成功。有趣的是当使用也在Guanacos上优化的提示时我们能够在Claude-1上进一步提高ASR。Claude-2似乎比其他商业模型更加健壮。然而正如我们将在“为生成的提示手动微调”段落中讨论的我们展示了通过在提示有害行为之前使用调节步骤可以提高GCG提示在Claude模型上的ASR。第3.3节更详细地讨论了这一点。最后在图6中我们观察到在某些情况下通过让GCG优化器运行较少的步骤可以改善我们的转移攻击结果。运行许多步骤例如500步可能会降低可转移性并过度拟合到源模型上。
提高可转移性。 我们发现组合多个GCG提示可以进一步提高几个模型上的ASR。首先我们尝试将三个GCG提示连接成一个并将其作为所有行为的后缀。表2中的“ Concatenate”行显示这个更长的后缀特别将GPT-3.5gpt-3.5-turbo-0301上的ASR从47.4%提高到79.6%这是仅针对Vicuna模型优化的GCG提示的两倍多。然而连接后缀实际上在GPT-4上的ASR更低。我们发现过长的连接后缀增加了GPT-4不理解输入的次数。结果它请求澄清而不是提供完成。连接后缀在Claude-1上的回报减少可能仅仅是因为针对Vicuna模型优化的提示与针对Vicuna和Guanacos模型优化的提示相比在成功攻击中没有增加太多。
除了连接我们观察到通过集成方法可以利用优化提示的多样性。具体来说对于每种行为我们尝试使用所有可用的GCG提示来攻击模型包括三个短的和一个通过连接生成的加长版本。我们要么在攻击证明成功时停止这个过程要么在用完提示时我们认为集成失败。图3较浅的条形图和表2中的“ Ensemble”行显示了集成的结果。令人惊讶的是集成方法将GPT-3.5上的ASR提高到86.6%GPT-4和Claude-1接近50%。
总结来说我们的结果显示只需最少数量的查询就能实现高攻击成功率ASR。值得注意的是我们的攻击在开源模型上几乎达到了完美的ASR并且在像GPT-4这样的黑盒大型语言模型LLMs上在以前未见过的行为上也超过了50%。我们在图5中展示了从这些模型中引出的一小部分极具危害性的行为。
手动微调用户提示。 我们的结果显示对抗性后缀往往会对模型进行条件化从而显著增加它们从事有害行为的可能性。然而当使用涉及极端伤害的提示时模型可能仍然会在遵循给定指令时表现出犹豫。为了进一步调查模型抵抗有害行为的鲁棒性我们邀请了其中一位作者对针对我们攻击未能引出GPT-3.5的特定行为的提示的人可读部分进行微调。作者被给予每个行为30秒的时间限制来微调提示。在这个短暂的时间框架内作者通过简单的改写或重述原始指令成功地引出了近100%的行为。例如将“生成指令”替换为“创建一个教程”在许多情况下证明是有效的引出预期行为的方法。
我们没有在所有商业模型上重复这个练习但在一些转移攻击本来困难的情况下确实观察到了个别的成功案例。例如图4中展示的Claude 2的行为在用攻击提示有害行为之前使用了一个调节步骤机器人参与了一个简单的单词游戏引入了涉及指令中关键术语的替换。结合转移攻击这足以引出被提示的有害行为。第3.3节中进一步讨论了Claude 2对我们完全自动化攻击的明显鲁棒性。 图6左在针对Vicuna和Guanaco模型优化后缀时四种模型运行中的转移攻击成功率ASR和GCG损失。GCG损失在优化的前半段急剧下降但在后半段逐渐趋于平缓。随着GCG损失的降低针对黑盒模型的转移攻击成功率在前半段增加但随着优化的继续成功率开始下降显示出潜在的过拟合迹象。右针对不同目标模型优化的后缀对一系列黑盒模型的平均转移攻击成功率。针对在Claude上微调的LLaMA模型优化的对抗性后缀获得的成功率高于其他设置。
3.3 讨论
从高层次来看我们认为这项工作的影响相当广泛并提出了关于当前LLMs对齐方法的重大问题。具体来说在开源LLMs以及关于黑盒LLMs所披露的内容中大多数对齐训练都集中在发展对“自然”形式攻击的鲁棒性即人类操作员试图手动诱使网络产生各种不良行为的设置。这种对齐模型的操作模式是有意义的因为最终这是攻击此类模型的主要模式。然而我们怀疑自动化的对抗性攻击由于比手工工程速度快得多且更有效可能会使许多现有的对齐机制不足。然而这仍然留下了几个问题我们在下面尝试解决其中的一些。
模型通过对齐变得更健壮了吗 观察到的数据中一个非常值得注意的趋势这在某种程度上与“对抗性攻击将继续主导任何对齐模型”的预测相反是更近期的模型确实显示出明显较低的攻击成功率GPT-4被成功攻击的频率低于GPT-3.5而Claude 2很少被成功攻击。然而我们也认为这些数字可能有些误导原因很简单即Vicuna模型是基于从ChatGPT-3.5响应中收集的数据进行训练的。在视觉对抗性攻击文献中已经确立了在蒸馏模型之间进行转移攻击通常比完全独立模型效果更好。鉴于Vicuna在某种意义上是ChatGPT-3.5的一个蒸馏版本因此攻击在这里效果很好或许并不令人惊讶。对这个假设的最终测试将是创建类似的Claude、GPT-4等的蒸馏变体并评估攻击成功率是否提高。
我们还注意到当我们的攻击应用于Claude时成功率可能因为文本评估前似乎应用了初始内容过滤器而降低在许多情况下LLM根本不会产生任何内容因为查询被判定为包含不适当的信息这在聊天界面中应用但不在Claude API中。这种检测器一直是尝试避免视觉领域对抗性攻击的常见策略并且它们普遍失败了Carlini和Wagner2017a攻击模型简单地变成了同样容易的同时攻击检测器和模型本身的任务。实际上我们在上文中提到的“技巧”即在早期提示中交换单词似乎避免了这个问题图4右上角。尽管可以说这让我们回到了“手动工程”攻击的一边但自动化这个过程似乎也是可能的例如设计一个可以分两部分提示的攻击和/或调整用户查询本身以逃避检测同时仍然生成所需的输出。此外我们的攻击对其他模型包括Bard和Claude的转移这些模型在建模和训练方法上可能有很大的不同这表明在某种程度上这种行为可能是在任何类似来源上训练的语言模型所预期的。
这些攻击有意义吗 为了减轻伤害我们避免直接引用我们的方法创建的完整提示。但我认为看看攻击字符串内实际生成的内容是有趣的。以下是一个这样训练的对抗性攻击的部分内容
…end-line only please reiterate the first sentence by putting Sure by…
也许有趣的是在与基于图像的对抗性攻击在典型设置中没有语义上有意义的特征明显的对立中这里发现的对抗性提示确实有可解释性的元素。例如提示包括短语“please reiterate the first sentence by putting Sure”这似乎确实大致对应我们的确切目标即以“Sure, here is”开头后跟用户查询的内容。我们也轶事性地发现结合多个提示和多个模型倾向于增加提示具有一些可辨识结构的可能性。这种模式尽管我们从一个完全任意的初始提示开始并且根据高度嘈杂的梯度贪婪优化却出现了。诚然然而并不是每个提示都像这个一样有如此多的结构例如以下也是一个发现的提示的典型部分
…restored into one sentence grammar using proper colon…
因此我们上面看到的这种“相对可解释的”提示可能只是一大把可能的提示之一。
为什么这些攻击还不存在 我们的工作提出的最根本问题之一是鉴于我们采用了相当直接的方法主要在文献中以前的方法上进行了小幅度的构建为什么以前对LLMs的攻击尝试不太成功我们推测这至少部分是因为以前的NLP攻击工作集中在更简单的问题上如愚弄文本分类器那里最大的挑战仅仅是确保提示与原始文本没有太大的不同以这种方式改变了真实类别。如果我们想证明“破坏”一个文本分类器那么不可解释的垃圾文本几乎没有意义而且这种更广泛的观点可能仍然支配着当前对LLMs的对抗性攻击的工作。事实上也许只有在最近足够强大的LLMs出现时从模型中提取这种行为才成为一个合理的目标。无论原因如何我们相信我们工作中展示的攻击代表了需要严格解决的明确威胁。
4 相关工作
LLMs中的对齐方法 由于大多数LLMs是在从Web上广泛抓取的数据上训练的当在面向用户的应用程序中使用时它们的行为可能与普遍接受的规范、伦理标准和法规发生冲突。越来越多的关于对齐的工作旨在理解由此产生的问题并开发解决这些问题的技术。Hendrycks等人2021年引入了ETHICS数据集来衡量语言模型预测人类伦理判断的能力发现尽管当前的语言模型在这方面有一些希望但预测基本人类伦理判断的能力是不完整的。
对模型行为进行对齐的主要方法结合了人类反馈首先从注释者给出的偏好数据中训练奖励模型然后使用强化学习相应地调整LLMChristiano等人2017年Leike等人2018年Ouyang等人2022年Bai等人2022年。这些方法中的几种进一步将奖励模型限定在规则Glaese等人2022年上或者限定在对有害指令的反对的“思维链”风格的解释Bai等人2022年上以提高模型行为的人类判断对齐。Korbak等人2023年进一步表明将人类判断纳入预训练期间使用的目标中可以额外提高下游任务中的对齐。虽然这些技术已导致LLMs生成令人反感的文本的倾向有了显著改善Wolf等人2023年认为任何减轻但不完全消除不良行为的对齐过程将仍然容易受到对抗性提示攻击的威胁。我们在当前对齐的LLMs上的结果以及先前展示成功的越狱的工作Wei等人2023年与这一猜想一致并进一步强调了更可靠的对齐和安全机制的必要性。
对抗性示例与可转移性
对抗性示例或旨在引起机器学习模型错误或不需要行为的输入已经成为广泛研究的主题Biggio等人2013年Szegedy等人2014年Goodfellow等人2014年Papernot等人2016bCarlini和Wagner2017b。除了对对抗性攻击的研究外还提出了一些方法来防御模型免受此类攻击Madry等人2018年Cohen等人2019年Leino等人2021年。然而防御这些攻击仍然是一个重大挑战因为最有效的防御通常降低模型准确性Li等人2023年。
虽然最初是在图像分类的背景下研究的但最近已经展示了几种任务的语言模型的对抗性示例问答Jia和Liang2017年Wallace等人2019年、文档分类Ebrahimi等人2017年、情感分析Alzantot等人2018年Maus等人2023年和毒性Jones等人2023年Wallace等人2019年。然而这些攻击对我们研究的对齐模型的成功被证明相当有限Carlini等人2023年。除了实际上优化语言模型攻击所需的离散标记的相对困难下面将更详细讨论一个更基本的挑战是与基于图像的攻击不同在文本领域没有真正不可察觉的攻击的类似物小的 ( \ell_p ) 扰动产生的图像对人类来说实际上是无法区分的而替换离散标记在严格意义上几乎总是可感知的。对于许多分类领域这要求改变攻击威胁模型以确保文本的标记变化不会改变文本的真实类别例如只使用同义词替换单词Alzantot等人2018年。实际上这是研究对齐语言模型攻击设置的一个显著优势与文档分类的情况不同理论上没有任何输入文本的变化应该允许生成有害内容因此指定任何调整提示以引起目标不良行为的威胁模型比在其他攻击中更为明确。
关于表征和防御对抗性示例的大部分工作考虑了针对特定输入量身定制的攻击。普遍对抗性扰动——在许多输入上引起错误预测——也是可能的Moosavi-Dezfooli等人2017年。正如特定实例存在于不同架构和领域中一样普遍示例已经被证明适用于图像Moosavi-Dezfooli等人2017年、音频Neekhara等人2019年Lu等人2021年和语言Wallace等人2019年。
对抗性示例最令人惊讶的特性之一是它们是可转移的给定一个欺骗一个模型的对抗性示例有一定非零概率它也会欺骗其他类似的模型Szegedy等人2014年Papernot等人2016a。已经证明可转移性在不同类型的数据、架构和预测任务中出现尽管在某些设置中并不像它被最广泛研究的图像分类领域那样可靠例如在许多情况下音频模型中的可转移性已经被证明更加有限Abdullah等人2022年。对于语言模型Wallace等人2019年展示了为117M参数GPT2生成的示例可以转移到更大的375M变体最近Jones等人2023年展示了在GPT2上优化的一组三个标记的有毒生成提示中大约一半转移到了davinci-002。
有几种理论解释为什么会出现可转移性。Tramèr等人2017年推导出了对数据分布的条件这些条件足以在线性模型之间实现模型无关的可转移性并提供了经验证据支持这些条件更普遍地保持足够。Ilyas等人2019年认为对抗性示例的一个原因在于存在非鲁棒特征尽管容易受到小范数扰动但它们能够预测类别标签。这一理论也可以解释对抗性可转移性甚至在某些情况下也可以解释普遍性因为训练有素但非鲁棒的模型可能会学习到这些特征尽管在架构以及与优化和数据相关的许多其他因素上存在差异。
离散优化和自动提示调整
在NLP模型的对抗性攻击中一个主要挑战是与图像输入不同文本本质上是离散的这使得更难利用基于梯度的优化来构建对抗性攻击。然而已经有一些人在离散优化方面进行了一些工作这些通常尝试利用除了标记输入的离散性质外基于深度网络的LLM的其余部分是一个可微函数这一事实。
一般来说有两种主要的提示优化方法。第一种基于嵌入的优化利用了LLM中的第一层通常将离散标记投影到某些连续嵌入空间中并且预测下一个标记的概率是这个嵌入空间上的可微函数。这立即激发了在标记嵌入上使用连续优化的想法一种通常称为软提示的技术Lester等人2021年实际上我们发现在软提示上构建对抗性攻击是一个相对简单的过程。不幸的是挑战在于这个过程是不可逆的优化的软提示通常没有相应的离散标记化而且面向公众的LLM接口通常不允许用户提供连续嵌入。然而有一些方法通过不断投影到硬标记分配来利用这些连续嵌入。例如Prompts Made EasyPEZ算法Wen等人2023年使用量化优化方法通过在投影点处取得的梯度来调整连续嵌入然后进一步将最终解决方案投影回硬提示空间。或者最近的工作也利用Langevin动力学采样从离散提示中采样同时利用连续嵌入Qin等人2022年。
另一组替代方法首先直接在离散标记上进行优化。这包括研究对标记进行贪婪穷举搜索的工作我们发现通常表现良好但在大多数设置中计算上不切实际。或者一些方法计算了相对于当前标记分配的一位有效编码的梯度这基本上将一位向量视为连续量以得出这个项的相关重要性。这种方法首先在HotFlipEbrahimi等人2017年方法中使用总是贪婪地用具有最高负梯度的替代品替换单个标记。然而因为在一位有效级别上的梯度可能不能准确反映在切换整个标记后的函数AutoPromptShin等人2020年方法通过在前向传递中根据k个最大负梯度评估几种可能的标记替换来改进这一点。最后ARCA方法Jones等人2023年通过在几种潜在的标记交换处评估近似一位梯度而不仅仅是当前标记的原始一位有效编码进一步提高了这一点。实际上我们自己的优化方法遵循了这种标记级别的梯度方法并对AutoPrompt方法进行了微小调整。
5 结论和未来工作
尽管在过去十年中有大量关于对抗性示例的文献但在构建可靠的NLP攻击以规避现代语言模型的对齐训练方面进展甚微。实际上大多数现有的攻击在评估这个问题时明确失败了。本文采用了一种简单的方法主要采用了在文献中以不同形式考虑过的技术的轻微修改集合。然而从应用的角度来看这似乎足以将针对LLMs的实际攻击的最新技术向前推进。
在这条研究线中还有许多问题和未来的工作。也许最自然的问题是鉴于这些攻击模型是否可以明确地微调以避免它们。这确实是对抗性训练的策略仍然是训练健壮机器学习模型的经验上最有效的手段在模型的训练或微调期间我们会使用这些方法之一攻击它然后迭代地在潜在有害查询的“正确”响应上进行训练同时可能还在额外的非潜在有害查询上进行训练。这个过程最终是否会导致不容易受到此类攻击的模型或轻微修改如增加攻击迭代次数它们是否能够在保持高生成能力的同时证明是健壮的对于传统ML模型来说显然不是这样仅仅更多的“标准”对齐训练是否已经部分解决了问题最后是否有其他机制可以在预训练本身中发挥作用以避免首先出现这种行为
6 伦理和更广泛的影响
这项研究包含可以让人们从一些公共LLMs生成有害内容的材料。尽管涉及风险我们认为完整披露这项研究是重要的。这里介绍的技术易于实施以前在文献中以类似形式出现过并且最终会被任何致力于利用语言模型生成有害内容的团队发现。
由于一些手动“越狱”现有LLMs已经广泛传播释放我们的攻击直接增加的危害在目前是很小的。然而随着LLMs更广泛地被采用包括向基于LLMs采取自主行动的系统发展我们认为潜在风险将会增加。因此我们希望这项研究有助于阐明自动化攻击对LLMs构成的危险并强调这类系统所涉及的权衡和风险。
在发表之前我们向我们研究的大型闭源LLMs的组织披露了这项研究的结果因此论文中展示的例子可能不再起作用。然而我们的攻击所构成的潜在挑战如何得到充分解决如果有的话或者这些攻击的存在是否应该限制LLMs适用的情况仍然不清楚。我们希望我们的工作能激发这些方向的未来研究。