Universal and Transferable Adversarial Attacks on Aligned Language Models
英文题目:《Universal and Transferable Adversarial Attacks on Aligned Language Models》
中文题目:《针对对齐语言模型的通用且可迁移的对抗攻击》
发布于:arxiv
级别:无
摘要
由于“开箱即用”的大型语言模型能够生成大量令人反感的内容,因此最近的工作集中于对齐这些模型,以试图阻止不良内容的生成。
虽然在规避这些措施方面取得了一些成功——即所谓的针对 LLM 的“越狱”——但这些攻击需要大量的人为创造力,并且在实践中是脆弱的。自动对抗提示生成方面的尝试也取得了有限的成功。在本文中,我们提出了一种简单而有效的攻击方法,该方法会导致对齐的语言模型生成令人反感的行为。具体来说,我们的方法是找到一个后缀,当将其附加到 LLM 的各种查询中以产生令人反感的内容时,旨在最大化模型产生肯定响应(而不是拒绝回答)的概率。然而,我们的方法不是依赖于手动工程,而是通过贪婪和基于梯度的搜索技术的组合来自动生成这些对抗后缀,并且还优于过去的自动提示生成方法。
令人惊讶的是,我们发现我们的方法生成的对抗提示具有高度的可迁移性,包括可迁移到黑盒、公开发布的生产 LLM。具体来说,我们在多个提示(即,询问许多不同类型的令人反感的内容的查询)以及多个模型(在我们的例子中为 Vicuna-7B 和 13B)上训练对抗攻击后缀。这样做时,生成的攻击后缀会在 ChatGPT、Bard 和 Claude 的公共接口以及 LLaMA-2-Chat、Pythia、Falcon 等开源 LLM 中诱导令人反感的内容。有趣的是,这种攻击迁移的成功率在基于 GPT 的模型上要高得多,这可能是因为 Vicuna 本身是在 ChatGPT 的输出上训练的。总而言之,这项工作显著提高了针对对齐语言模型的对抗攻击的水平,提出了关于如何防止此类系统产生令人反感的信息的重要问题。代码可在 github.com/llm-attacks/llm-attacks 上找到。
本文聚焦的问题
设计出一种自动化的、通用的、且能跨模型迁移的对抗性攻击,以揭示当前 LLM 对齐措施的脆弱性和不足。
本文提出的方法
本文介绍了一种自动化实现越狱攻击的方法,简单来说就是在用户输入的问题后面添加特定的prompt来使得模型以肯定的回答开头,进而回答用户的问题,即使问题是有害的。
以下为一个示例(蓝色为用户的输入,红色为生成的特定后缀,紫色是模型的回复):
这里的“!”为特定后缀初始化的状态。
对于后缀的生成是重点,文章使用了贪婪梯度方法来生成后缀。这里后缀需要引导模型生成Sure, here is…,所以文章对于后缀的生成是在白盒中实现的,通过已知模型的梯度,针对梯度来使模型以Sure开头。
下面是GCG对于单个用户问题以及单个模型所生成的后缀代码:
这里x(1:n)是包含了用户原始查询和初始的对抗性后缀,I是可以修改的位置,T是循环次数,L是损失(即目前将所有的prompt给LLM的反馈和目标LLM输出Sure…的差异),k是在每一步中,计算梯度后选择的前 k 个最有希望的token替换候选,B为批次大小,在每轮迭代中,算法会从“有潜力”的替换token中随机选择 B 个不同的组合进行评估,并选择其中最好的一个。
首先是循环T次。
然后对于所有的可修改位置,每个位置计算出top-k个最小化loss的token。
然后每次对于prompt即x,随机选择一个可修改位置,然后再从该位置对应的top-k个token中随机选择一个token,然后存起来,重复B次。
将目前的prompt修改为这B个prompt中loss最小的。
输出T次结束后最好的prompt。
上面生成的后缀局限过大,为了让后缀可以适应不同的用户问题以及迁移到不同的模型上,下面是文章提出的改进方式:
这个算法是先根据第一个prompt生成有效后缀,然后是把第二个prompt加入,生成对1和2都有效的通用后缀,然后是1-3,1-4…直到所有的prompt都可以成功越狱。
x是m个用户问题,p是初始后缀,L是每个用户问题的损失,T,k,B同上。
mc为需要处理的prompt的结束位置,先置为1。
循环T次。
对每个可修改位置都生成top-k个token,这些token可以让1-mc的loss之和最小化
然后每次对于p,随机选择一个可修改位置,然后再从该位置对应的top-k个token中随机选择一个token,然后存起来,重复B次。
将目前的prompt修改为这B个p中loss最小的。
检查时候第1个到第mc个prompt都可以成功越狱。
输出通用的后缀。
阅读总结
优点:
1、 自动化程度高
2、 攻击的通用性和可迁移性都很强
缺点:
1、 对攻击可解释性有限,后缀是人类难以理解的“噪声”或“乱码”
2、 对某些模型的攻击效果仍有差距
未来可以增加可解释性研究