为了继续我们讨论人工智能安全的话题,我想谈谈一个现在很多人都在讨论的话题——大型语言模型(LLM)的红队演练(让LLM产生不符合其目标的输出)。红队演练主要有两个主要目的-
红队过程的一部分通常会自动化,以提高漏洞测试的可扩展性。在这篇文章中,我们将介绍一些用于自动化 o1 模型红队测试的技术,该模型由非常酷的 [Leonard Tang](Haize Labs 的 CEO,一家被 Anthropic 和 OpenAI 等公司聘请来进行漏洞测试的人工智能实验室)提供给我。Leo 还告诉我一些 Haize Labs 工具包中他们用来测试 o1 的技术,我将与大家分享这些。我会尽量让这篇文章自包含,但如果你想深入了解自动化红队测试的基础知识和 Haize Labs 的方法,建议你
如果你觉得他们的工作很有趣,可以给他们发封邮件到 contact@haizelabs.com 或者打声招呼。
PS:出于显而易见的原因,莱奥只告诉我一些技巧,而没有具体解释如何使用它们。至于如何和为什么,这些都是我的猜测。
Haize Labs 使用了以下方法来挑战大型语言模型:以下仅列举了一些示例,并非详尽无遗。具体分享内容请参阅原文。
尽管Leo没有详细说明每个技术的具体使用方法,我摔断了脚踝,积攒了许多能量,而且几乎没有适合久坐或室内进行的爱好,所以我花了很多时间思考这个问题,并且结合我的脚伤情况。我认为我对如何在我们自己建立的红队工具包中使用这些技术有了相当不错的猜测,特别是在面对脚伤的情况下。让我们一起脑洞大开,进行一些有趣的理论探讨吧。
在多轮对话中,LLM 对齐仍然会失败,主要原因是对齐数据主要集中在识别单条消息的攻击(这条提示或消息是否有害)。这是因为在整个对话中嵌入攻击可能更有效。
" rel="external nofollow" target="_blank">论文——“很好,现在写一篇关于它的文章:关于多轮LLM破解攻击方法的渐进式研究”
如何生成对话呢?这里就轮到蒙特卡洛树搜索(MCTS)登场了。MCTS 是一种决策算法,它通过模拟可能的对话路径来构建搜索树。它反复选择有希望的路径,延长路径,模拟结果,并根据这些结果更新树。
原文
下面来看看用LLM越狱是怎么操作的。
虽然这些模拟让MCTS成本很高,但我觉得它会是一个强大的工具,因为它可以对付LLM。我们会在主部分详细解释为什么多轮攻击这么有用,以及为什么MCTS会很有帮助。接下来,我们继续看下一个攻击。
在数学里,双射指的是两个集合间的一一对应关系。
zh: 来源链接 .
在我们的案例中,我们将自然语言词汇映射到不同的符号或词汇上。这样的攻击目标是通过使大型语言模型的输入和输出代码绕过过滤器。这使我们能够绕过基于自然语言标记及其相互关联的安全机制。
“对双射学习攻击法的简要介绍,这种方法通过学习任意映射(‘双射语言’)来泛化基于编码的越狱,这些映射是由目标模型在上下文中被学习的。”
对于这样的攻击,找到合适的代码复杂度至关重要——太简单了,LLM的安全过滤器会捕捉到它;太复杂了,LLM无法理解代码或会犯错。说到底,这是我在这里最喜欢的技术,因为它简单明了,并且可以低成本生成无穷无尽的攻击。
性能上,这种攻击手段确实威力巨大,在领先的基础模型上达到了非常抢眼的数据。
“我们在AdvBench-50子集和完整的HarmBench测试集上报告了使用一系列前沿模型的ASR结果:Claude 3俳句,Claude 3.5 Opus,Claude 3 Haiku,GPT-4o,和GPT-4o-mini。在更大的攻击预算和每种模型的最佳双射(bijection)类型与固定大小设置下,我们的双射学习方案在各种前沿模型上表现出了最先进的越狱效果。”
最有趣的是,它还在这方面的泛化攻击表现非常出色,这是一项重要的成就。“对于选定的映射,我们生成固定的双射学习提示,并将其评估为HarmBench上的通用攻击。在图4中,我们展示了由此产生的ASR,并将其与Pliny (The Prompter, 2024) 的通用攻击进行了比较。我们的通用双射学习攻击与Pliny的攻击具有竞争力,获得了与Claude 3.5 Sonnet和Claude 3 Haiku等前沿模型相当或更好的ASR。特别值得注意的是,其他通用白盒攻击方法(例如Zou等,2023;Geisler等,2024)无法转移到最新和最稳健的前沿模型上,因此我们未在本研究中考虑它们。”
左:增加攻击预算能提升ASR(攻击成功率)。右:选定的双射学习提示的ASR与Pliny模型特有的通用攻击进行了比较。
总的来说,这是一个非常酷的想法。我建议阅读《双射学习论文》,因为其中有一些有趣的见解,例如尺度特性、双射的复杂程度等。
下一次的攻击是Haize实验室的经典(这也是我最初对他们感兴趣的原由)。
ACG 转移攻击:加速坐标梯度法 (ACG) 是一种快速找到对抗性后缀的方法——这些是添加到提示中使大语言模型行为异常的额外词语。ACG 使用一些数学方法(详情见主部分)通过分析添加不同词语时大语言模型内部计算的变化来找到这些对抗性后缀。
“为此,我们提出了加速坐标梯度(ACG)攻击方法,该方法结合了GCG的优势,同时实现了大约38倍的速度提升和大约4倍的GPU内存减少,并且保持了GCG的有效性”
那么,我们可以将ACG攻击(如适用)从一个大型语言模型(LLM)转移到另一个,从而可能发现共同的弱点。
很遗憾的是,ACG 需要访问 LLM 的内部机制(称为 白盒访问),而这在实际操作中有时难以实现。特别是在考虑多模态和更具有代理性或 MoE 设置时,模型之间的泛化能力也可能面临挑战。
PS-这部分在tl;dr中将是最长的部分,但仅仅是因为主文中不会详细解释这些内容。与其它技术相比,EAs相对简单得多,所以理解了这一部分,你就掌握了大部分理论基础,就可以在系统中实际操作EAs了。
在谈论探索各种搜索空间时,EAs在讨论中总是被视作话题之王(GOAT)。它们拥有3个强大的优势-
首先,我们获得了它们的灵活性。由于它们不需要在某一点计算梯度,不需要可微函数。这一点非常重要。要让一个函数可微,它需要在其定义域内的每一点都有导数。这意味着函数必须是连续且平滑的,没有折点或间隙。
几个使函数不可微的点的例子
在5个不同的地点绘制一个不可微的图形,并简单地解释每个这些地点为何不可微。这里有三种不同类型的图表。
EAs 不关心这些函数的本质。它们可以在连续和离散函数上表现良好。因此,EAs 可以(并且已经被用于)解决许多实际问题,并取得了惊人的成果。例如,如果你想破解自动审查系统来突破互联网封锁,你可以使用进化算法(EAs)来找出攻击方式。基于梯度的技术(如神经网络)在这里会失败,因为攻击需要链接四个基本命令(因此搜索空间是离散的)。
这表现得非常强大。One Pixel Attack论文的作者通过仅改变图像中的一个像素就愚弄了训练用来分类图像的深度神经网络。团队使用差分演化来优化,因为差分演化“ 能够攻击更多类型的DNN(例如不可微分的网络或梯度计算困难的网络)。” 结果非常令人信服。“ 在Kaggle CIFAR-10数据集上,仅通过修改一个像素就能对三种常见的深度神经网络发起非目标攻击,成功率分别为68/71%,71/66%和63/53%。”
这非常相关
谷歌的AI博客文章,“ AutoML-Zero: 可自我演化的学习代码”,使用进化算法(EAs)来创建机器学习算法。进化算法通过将简单组件链接起来的方式展现了一种艺术性。
另一篇 Google 的文章,“使用进化自动化机器学习发现神经网络架构”表明,EAs甚至在神经网络架构的搜索上也能超越强化学习。
“上图比较了演化、强化学习和随机搜索。可以看出,在搜索的早期阶段,演化比强化学习更快。等等,演化对数据集或搜索空间的变化具有较强的鲁棒性。如右图所示,使用演化方法最终得到的模型在使用较少的浮点操作的情况下能够达到极高的准确度。”
对于我们而言,我们可以让EA按照以下方式运行——
在进化系统中,基因组通过提高适应性来竞争生存,这种提高贯穿了世代。重要的是,适应性较低的基因组不应立即被移除,以便长期适应性的竞争能够出现。想象一个贪婪的进化系统,其中每一代只有一个高适应性的基因组存活。即使该基因组的突变功能致死率很高,它仍然能存活下来。相比之下,在一个允许多条谱系共存的进化系统中,适应性较低但学习能力更强的基因组可以在足够长的时间内展现其优势。
-来源
这个过程会重复很多代,随着提示在多次迭代中变得越来越有效,用来破解LLM,这有助于持续攻击黑盒模型,这是一个很大的优点。为了降低成本,我会首先尝试以下方法。
为了一个更高效的搜索技术,我们转向我们的最后一个工具。
BEAST: 基于光束搜索的对抗性攻击方法(BEAST) 是一种快速且高效生成对抗性提示的方法。它使用了称为 光束搜索 的技术,通过在每一步保留最有潜力的选项来探索不同提示的可能性。
Beam Search 的核心其实很简单理解。基本上就是这样。
从数学的角度来看,贪心算法总是选择局部最优解,因此往往找不到全局最优解。
宽度为3的束搜索算法(动画)
这让我们成本保持在一个较低的水平,同时让我们能够寻找够用的解决方法(这在很多情况下就已经足够用了)。
还有-
与Zou等(2023)和Zhu等(2023)研究的其他基于优化的攻击方法相比,BEAST采用了不同的无梯度优化方法,因此我们的方法快25到65倍。
记下来。
这便是我对如何对大型语言模型(LLM)进行红队测试的概述。这些攻击将你的LLM引导至不一致区域,因此这些都是预生成攻击。我很好奇这些攻击如何转换成我们在本文中讨论的那种新的生成控制方式,因为这增加了在生成过程中通过外部属性控制器进行的中间控制。
看着这幕发生可能会是红队的大型语言模型之间的“戈乔对阵斯库那”(第一次提到时,这里指两个模型之间的对决)。说出来就没那么有气势了。我完全愿意发起一个AI赌注联赛,如果有人想帮我处理后勤工作的话。目前,我们先从主要内容开始,其中将包含一些关于这些方法的笔记,可能会帮助你更深入地思考这个问题。
我花了大量的精力来撰写这份简报。为了做到这一点,我需要大家的支持。如果能有更多的人选择成为付费订阅者,巧克力牛奶社团就可以继续为任何需要的人提供高质量且易于获取的教育和机会。如果您认为这个使命值得支持,请考虑订阅高级版。订阅我们的高级版只需要不到订阅 Netflix 的费用 (在此处选择您想支付的金额)。
我提供各种咨询和顾问服务。如果你想了解我们可以怎样合作,可以通过这里的任何社交媒体联系我_或者直接回复这封邮件。
为了理解上述内容会如何有用,让我们将其分为两个小问题,如下所示。
数据缺乏: 显然大多数的训练都集中在单轮输入输出(立即生成内容)。
priming effect :通过一系列看似无害的问题或陈述,攻击者可以先让LLM倾向于接受后续有害信息。我认为,这些看似无害的陈述会让LLM更倾向于“乐于助人”的心态(至少不会太过强调“安全执行”)。这种操控通常不会被单次检测到,因为它太微妙了。大型语言模型
我猜这和角色扮演攻击之所以有效的原因差不多(尤其是当你说“我是一名安全研究人员,所以这个输出对我很有帮助”时)。
这可能是由于以下原因:LLM被设计为在整个对话中保持一致性。多次攻击可以利用这一点,在早期确立某些前提,从而引导LLM继续下去,即使这会导致不安全的结果。
多样本越狱(Many-shot jailbreaking)
冲突的信号:与上述情况类似,大型语言模型 (LLM) 在训练时接收到相互矛盾的信号(既要帮助用户又不能有害,既要有细节又需简洁明了等)——这些信号既来自系统的提示,也来自用户的输入。
利用模型的记忆局限:LLM 在长时间对话中可能无法保持安全指令的完美记忆。多轮攻击可以在模型记忆被其他信息填满后引入有害元素。微软最近的一篇论文,《差异性Transformer》(Differential Transformers),指出,“Transformer 通常过度关注无用的上下文(即注意力噪声)”。
我们将很快分解Diff Transformers是如何处理的,因为这真的是一项很酷的研究。
现在让我们进入第二部分了-
蒙特卡洛树搜索(MCTS)在探索复杂搜索空间,比如与语言模型的多轮对话方面提供了几个关键优势。首先,它可以用于搜索非线性的搜索空间,这也使得强化学习(RL)与MCTS能够很好地配合。
传奇的AlphaGo (https://nature.com/articles/nature16961)
MCTS的基于树的结构也能应对语言生成任务中固有的大量分支问题,集中计算资源于最有潜力的对话策略。这使你能够在利用和探索之间找到平衡。
MCTS在对话中的“向前看”策略。它可以看许多步向前,发现看似无害的初始状态,最终这些状态会逐渐在你的系统中注入类似沙昆塔那种逐渐渗透的麻烦。把印地语翻译成英文真是有点奇怪。
从效率的视角来看,MCTS 有几个优点。首先,我们可以在任何时候停止 MCTS,并且它会在该点提供一个最佳预测的解决方案。这使它能够适应各种时间和计算资源的限制。我们还可以结合领域特定的知识,进一步增强其在发现潜在破解方面的效率。 这些特点,再加上其并行处理能力,使 MCTS 成为系统地探究大型语言模型安全系统在长时间的交互中稳健性的一个强大工具。
我要跳过双射学习,因为这个概念其实很简单,我不想把这个写得太啰嗦。我建议你们读这篇论文,并试试这里提供的GitHub代码。这是我最喜欢的方法之一,所以强烈建议你们试一下。
接下来,我们来看看海泽实验室的ACG攻击。
如果您已经看过我们第一篇Haize Labs的文章,可以跳过这一部分。
贪婪坐标梯度(GCG)算法,一种生成对抗性提示的流行方法,在计算上遇到了瓶颈。ACG(加速坐标梯度)通过显著加快搜索过程解决了这个问题。我们先来简单了解一下GCG,它是在“ 针对对齐语言模型的通用和可转移的对抗性攻击 ”中引入的。
GCG致力于解决三个问题,即
它通过梯度引导的贪心搜索,迭代更新提示内容,以使损失函数最小化。
这儿怎么说?
这个损失函数是用来衡量LLM预测的可能输出概率分布与目标序列的实际概率分布之间的匹配程度。最小化这个损失意味着找到一个合适的提示,使得在输入加上对抗性后缀的情况下,最大化生成所需输出的可能性。
他们的成果非常了不起。
将这三个元素结合在一起,我们发现可以可靠地创建对抗性后缀,以规避目标语言模型的对齐问题。例如,在一个包含多种不良行为基准测试的套件中,我们发现能够在Vicuna中产生99(共100)种有害行为,并在它的输出中,与目标(潜在有害)字符串完全匹配的概率达到88(共100)。此外,我们发现这些提示对GPT-3.5和GPT-4的攻击成功率可达84%,而对PaLM-2为66%;相比之下,Claude的成功率则显著较低,仅2.1%
不过,正如之前提到的,GCG 真的很慢。那我们怎么提速呢?我们用ACG试试吧。
ACG的改进:
ACG 大大加快了 GCG:
这个链接
以下是通过应用以下两种技术来加快迭代过程的。
结果非常令人鼓舞,得分更高,但攻击时间较短。
最大的吹牛在于以下这句话——“在ACG为AdvBench数据集中的64%(即33个成功的对抗性攻击)所需的时间内,GCG连一个成功的对抗性攻击都产不出来。”
那非常劲爆,绝对值得一用。
说到高效查找,我们还需要一种技术来加入我们的红队工具箱。让我们来简单解释一下这一点。
在 Vicuna7B 上的 BEAST 中,在 ASR 和时间之间找到平衡,通过调整攻击参数 k(或参数 k 值)。我们可以在 2 分 45 秒内获得 98% 的 ASR,而在仅 10 秒内就能达到 66% 的 ASR。
如tl;dr中所述,BEAST(基于光束搜索的对抗攻击)是一种创新的、无梯度的用于攻击大型语言模型(LLM)的方法,可以在单个GPU上不到一分钟内完成。它利用了束搜索,这是一种自然语言处理中常见的算法,以高效地探索对抗性提示的可能空间。
“描述了我们方法如何利用束搜索用于对抗性攻击LM。在第i+1次攻击迭代时,我们在束中保持k1个元素。目标LM对每个束元素多类采样k2个标记。这些标记被添加到各自的束元素后,生成总共k1 × k2个候选词。每个候选词都使用对抗性目标L进行评分。将得分最低的k1个候选者保留并带入下次攻击迭代。
动物有三个重要特点,让它显得很有价值。
咱们来看看BEAST是如何运作的。
BEAST 从用户的提示开始,并从中采样 k1 个初始 token。这确保初始对抗 token 在一定程度上是可读的,并基于模型对语言的理解来生成。
BEAST然后以贪心算法逐个生成剩余的对抗性令牌。对于每次迭代,
生成所需的对抗性令牌数量之后,BEAST 会返回目标分数最低的那个对抗性提示语。
BEAST 可以用于生成各种对抗攻击,根据你选择的攻击类型。我觉得这很酷,并且目标函数 ( L ) 是 BEAST 中的关键组成部分。所以,好,现在我们来稍微详细地谈谈对抗 ( L ) 吧。
我们展示了我们的快速攻击可以在多种应用场景中发挥作用。(i) 在第4节中,左侧提到,我们发现BEAST可以在基于特定攻击目标L的情况下附加对抗性令牌,从而高效地破解各种LM聊天机器人。(ii) 在第5节中,我们展示了我们可以通过一个非目标对抗性目标成功地增强对齐语言模型中的幻觉。(iii) 在第6节中,展示了BEAST可通过生成基于非目标攻击目标的对抗性提示来改进现有工具用于成员推断攻击的表现。
L 以一个候选的对抗性提示词作为输入,并输出一个分数,衡量提示对抗性的程度。比如,L 的具体形式会根据应用场景的不同而变化。
“t 是从 M(x) 中自回归地采样得到的长度为 d 的 token 向量,M 是目标 LM”
BEAST可能不是那个用美好的承诺使我迷住的闪耀摇滚明星,但他是一个善良的男人,他爱我,并会尽力让我开心。你还想要什么更多吗?
这是我们对用于自动化o1红队的一些技术的概述的结束,以及我们如何在测试套件中应用这些技术。如果您有任何想法或评论,请随时联系我们。如果您想了解更多关于红队的知识,请务必通过contact@haizelabs.com联系我们。
我花了很多精力创作出既具信息量又实用且独立的作品。如果您想支持我的写作,请考虑成为此简报的付费订阅者。这样做,能帮助我进行写作/研究,触及更多读者,并支持我那严重的巧克力奶瘾。帮助我将人工智能研究与工程中最关键的想法传达给每周超过10万的读者。
帮我买一杯巧克力味的牛奶,好嘛?
PS- 我们采用“按你能负担的付费”模式,允许您根据自己的能力进行支持。_查看这里查看更多详情并找到适合你的方案.
如果你喜欢这篇文章并想分享它,请参考以下指南。(链接地址:https://artificialintelligencemadesimple.substack.com/p/read-this-if-you-want-to-share-ai)
这篇文章到这里就结束了。感谢你花时间阅读。一如既往,如果你有兴趣与我合作或查看我的其他作品,我的链接将在邮件或帖子的末尾。如果你觉得这篇文章对你有帮助,我非常感谢你能把它分享给更多的人。正是像你这样的口口相传,让我不断进步。你可以在这里分享你的体验和看法。
我经常在我的微博客平台Twitter、社交平台Threads和TikTok上分享我阅读的小更新——如果你对我的学习进展感兴趣,可以关注我。
使用下面的链接查看我的其他内容,了解更多关于辅导的信息,咨询项目合作,或者只是打个招呼。
关于科技、人工智能和机器学习的小贴士都在这里哦
AI资讯简报 - 点击这里 https://artificialintelligencemadesimple.substack.com/
奶奶最爱的科技新闻通讯——https://codinginterviewsmadesimple.substack.com/
可以看看我在 Medium 上的其他文章。点击这里查看: https://rb.gy/zn1aiu 谢谢!
我的YouTube频道是:https://rb.gy/88iwdd
可以在领英上联系我一下,我们可以互相加个好友:https://rb.gy/m5ok2y
我的Instagram账号是:https://rb.gy/gmvuy9
我的推特,https://twitter.com/Machine01776819