选自Lil’Log
作者 :Lilian Weng
机械之心编译
编纂:Panda
LLM 能耐强盛,清静侵略侵略借运分心不良之人用其来干坏事,零星理可能会组成难以预料的负责严正服从。尽管大少数商用以及开源 LLM 都存在确定的人长内置清静机制,但却并不用定能侵略方式各异的文梳坚持侵略。克日,坚持OpenAI 清静零星(Safety Systems)团队负责人 Lilian Weng 宣告了一篇博客文章《Adversarial Attacks on LLMs》 ,清静侵略侵略梳理了针对于 LLM 的零星理坚持侵略规范并重大介绍了一些侵略措施 。
随着 ChatGPT 的负责宣告,大型语言模子运用正在减速大规模铺开。人长OpenAI 的文梳清静零星团队已经投入了大批资源,钻研若何在对于齐历程中为模子构建默认的坚持清静行动。可是清静侵略侵略 ,坚持侵略或者 prompt 越狱依然有可能让模子输入咱们不期望看到的零星理内容。
当初在坚持侵略方面的负责钻研良多会集在图像方面,也便是在不断的高维空间。而对于文本这样的离散数据,由于缺少梯度信号 ,人们普遍以为侵略会困罕有多 。Lilian Weng 以前曾经写过一篇文章《Controllable Text Generation》品评辩说过这一主题。重大来说:侵略 LLM 本性上便是操作该模子输入特定类项的(不清静)内容。
文章地址:https://lilianweng.github.io/posts/2021-01-02-controllable-text-generation/
另一个钻研侵略 LLM 的分支是为了提取预磨炼数据、私有知识,或者经由数据毒化侵略模子磨炼历程。但这些并非本文要品评辩说的主题。
根基知识
劫持模子
坚持侵略是诱使模子输入咱们不期望的内容的输入 。良多早期钻研关注的重点是分类使命 ,而近期的使命则开始更多关注天生模子的输入 。本文品评辩说的是大型语言模子,而且假如侵略仅爆发在推理阶段 ,也便是说模子权重是牢靠的。
分类
在以前,钻研社区更关注的是对于分类器妨碍坚持侵略 ,而且应承能是在图像规模。LLM 也可被用于分类。给定一个输入 𝐱 以及一个分类器 𝑓(.) ,咱们愿望找到该输入的一个差距细微的坚持版本 𝐱_adv ,使患上 𝑓(𝐱)≠𝑓(𝐱_adv) 。
文本天生
给定一个输入 𝐱 以及一个天生模子 𝑝(.),该模子可输入一个样本 y~𝑝(.|𝐱)。这里的坚持侵略是找到一个 𝑝(𝐱),使患上 y 会违背该模子内置的清静行动,好比输入正当主题的不清静内容、泄露隐衷信息或者模子磨炼数据。对于天生使命而言 ,分说一次侵略乐成与否并非易事 ,这需要一个超高品质的分类器来分说 y 是否清静或者需要人类来妨碍魔难。
白盒与黑盒
白盒侵略(White-box attacks)假如侵略者可能残缺碰头模子权重、架谈判磨炼使命流程,这样一来侵略者就能取患上梯度信号 。这里咱们并不假如侵略者能取患上全副磨炼数据。这仅适用于开源模子。黑盒侵略(Black-box attacks)则是假如侵略者只能碰头 API 规范的效率 —— 侵略者可能提供输入 𝐱 并取患上反映的样本 y,而不知道无关模子的更多信息。
坚持侵略的规范
有多种差距措施可能辅助侵略者找到能诱使 LLM 输入不清静内容的坚持输入 。这里给出五种措施。
token 操作
给定一段搜罗一个 token 序列的文本输入,咱们可能运用重大的 token 操作(好比交流成同义词)来诱使模子给侵蚀误预料 。基于 token 操作的侵略属于黑盒侵略 。在 Python 框架中,Morris et al. 2020 的论文《TextAttack: A Framework for Adversarial Attacks, Data Augmentation, and Adversarial Training in NLP》实现为了良多词以及 token 操作侵略措施 ,可用于为 NLP 模子建树坚持样本。这一规模的良多钻研使命试验的是分类以及蕴涵预料 。
举个例子,Ribeiro et al (2018) 的钻研《Semantically Equivalent Adversarial Rules for Debugging NLP models》依赖于家养提出的「语义等价式坚持纪律(SEAR)」 ,其可能经由尽可能少的 token 操作来让模子无奈天生精确谜底。好比 ,其中的纪律搜罗将 What 换成 Which、将 was 换为 is 。此外 ,尚有其余钻研者提出的交流关键词、用同义词交流等措施 。
基于梯度的侵略
假如是白盒侵略 ,则侵略者可能取患上所有的模子参数以及架构。因此 ,侵略者就能依靠梯度着落来经由编程方式学习最实用的侵略本领。基于梯度的侵略仅在白盒配置下实用,好比开源 LLM。
Guo et al. 2021 的论文《Gradient-based Adversarial Attacks against Text Transformers》提出的基于梯度的扩散式侵略(GBDA)运用了 Gumbel-Softmax 类似能耐来使坚持损失优化可微,其还运用了 BERTScore 以及怀疑度来增强可感知性以及流利性。
不外,Gumbel-softmax 能耐难以扩展用于 token 删除了或者削减,而是受限于 token 交流操作。
Ebrahimi et al. 2018 在论文《HotFlip: White-Box Adversarial Examples for Text Classification》 中则是将文本操作看做是向量空间中的输入,怀抱的是损失在这些向量上的导数 。HotFlip 可能扩展用于 token 删除了或者削减 。
Wallace et al. (2019) 的论文《Universal Adversarial Triggers for Attacking and Analyzing NLP》提出了一种在 token 上妨碍梯度向导式搜查的措施,可能找到诱使模子输入特定预料服从的小引列,这个小引列被称为 Universal Adversarial Triggers (UAT ,通用坚持触发器) 。UAT 不受输入的影响,这象征着这些触发器可能作为前缀(或者后缀)衔接到来自数据集的恣意输入上 。
Shin et al., 2020 的《AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts》运用了同样的基于梯度的搜查策略来为多样化的使命追寻最实用的 prompt 模板。
下面的 token 搜查措施可能运用波束搜查增强 。当追寻最优的 token 嵌入时 ,可能选取 top-k 个候选项,而不是径自一个,在之后数据批上从左到右搜查 ,并凭证 𝓛_adv 为每一个波束评分。
UAT 的损失 𝓛_adv 需要针对于详细使命而妄想 。分类或者浏览清晰依赖于交织熵。
UAT 为甚么实用?这是一个很幽默的下场。由于 UAT 是与输入无关的,而且可能在有差距嵌入 、token 化妄想以及架构的模子之间迁移,因此它们也允许以实用地运用磨炼数据中的倾向,事实这种倾向已经融入到了模子的全局行动中。
运用 UAT 侵略有一个缺陷 :很简略检测进去。原因是所学习到的触发器每一每一是毫分心义的。Mehrabi et al. (2022) 在论文《Robust Conversational Agents against Imperceptible Toxicity Triggers》中钻研了 UAT 的两种变体,它们会匆匆使所学到的触发器在多轮对于话语境中难以觉察。其目的是建树能在给定对于话中实用触发有毒照应的侵略性新闻,同时保障该侵略在对于话中是流利、毗邻以及不同的 。
这两种变体分说是 UAT-LM(Universal Adversarial Trigger with Language Model Loss)以及 UTSC(Unigram Trigger with Selection Criteria) 。
UAT-LM 以及 UTSC-1 的展现与 UAT 基准至关,但 UAT 侵略短语的怀疑度出奇患上高,比 UAT-LM 以及 UTSC-1 都高良多 。高怀疑度让侵略更易被检测进去,也更易缓解 。凭证人类评估,UTSC-1 侵略能比此外侵略措施患上到更毗邻、流利以及相关的服从。
Zou et al. (2023) 的论文《Robust Conversational Agents against Imperceptible Toxicity Triggers》也钻研了将通用坚持触发 token 作为后缀衔接到输入恳求上的情景。他们详细钻研了对于 LLM 的恶意恳求 —— 对于此模子理当谢绝回覆。事实上,谢绝不被应承的内容种别(好比立功建议)是 GPT-4 内置的一个紧张的清静措施。这里的坚持目的是诱使 LLM 纵然无理当拒接回覆时也输入确定的照应。这便是说,当收到恶意恳求时,模子会这样回覆:「尽管,你需要这样做……」预期确凿定照应也被配置装备部署成一再部份用户 prompt,以防止重大就能修正主题的后缀以优化「尽管」式的照应。其损失函数很重大 ,便是输入目的照应的 NLL(负对于数似然) 。
他们在 Vicuna-7b 以及 Vicuna-13b 这两个差距的模子上妨碍了试验,运用了基于贪心坐标梯度(GCG)的搜查来贪心地追寻候选项 ,使患上该候选项可能在所有可能的单 token 交流中最大水平川削减损失 。
尽管他们的侵略序列美全是基于开源模子磨炼的,但它们却出人预料地可能移植用于此外商用模子,这表明对于开源模子的白盒侵略对于私有模子也实用,特意是当低层的磨炼数占有所重叠时 。留意 Vicuna 的磨炼运用了从 GPT-3.5-turbo 群集的数据(经由 shareGPT),这本性上是蒸馏 ,因此这种侵略更像是白盒侵略。
Jones et al. 2023 等提出的自回归随机坐标回升(ARCA)则思考了一个更普遍的优化下场会集来追寻适宜特定行动方式的输入 - 输入对于 (𝐱, 𝐲) ,好比以「Barack Obama」收尾但会导致毒性输入的非毒性输入 。给定一个审核目的 :𝜙 : 𝑿×𝒀→ℝ,其是将一对于 (输入 prompt, 输入完乐成果) 映射成一个分数。
图 10:诱使 GPT-2 以及 GPT-J 天生有毒输入的平均乐成率。粗线:CivilCo妹妹ents 的所有输入;点线:CivilCo妹妹ents 的 1,2,3-token 有毒输入 。
越狱 prompt 妄想
越狱 prompt 因此坚持方式诱使 LLM 输入理当防止的有害内容。越狱是黑盒侵略,因此辞汇组合是基于开辟式措施以及家养探究妨碍的。Wei et al. (2023) 的论文《Jailbroken: How Does LLM Safety Training Fail?》提出了 LLM 清静的两种失败方式 ,可用于教育越狱侵略的妄想。
1. 相互相助的目的:这是指模子的能耐(好比「应不断功能命令」)与清静目的相矛盾的情景 。运用相互相助的目的的越狱侵略例子搜罗:
前缀注入:要求模子开始时必需运用确定性简直认语句。
谢绝抑制:为模子提供详细的指令,让其不要以谢绝的格式妨碍照应 。
气焰注入:要求模子不运用长辞汇,这样一来模子就无奈妨碍业余性写作从而给出免责申明或者批注谢绝的理由 。
此外:脚色饰演成 DAN(如今可能做任何事)、AIM(总是很智慧且不择本领)等等。
2. 失配的泛化:这是指清静磨炼无奈泛化到其具备能耐的规模 。当输入位于模子的清静磨炼数据扩散之外(OOD),但又位于其普遍的预磨炼语料库规模内时,就会泛起这种情景。例子搜罗:
特殊编码:运用 Base64 编码来构建坚持性输入 。
字符变更:ROT13 明码、火星文或者脑残体(用视觉上相似的数字以及标志交流字母)、摩尔斯电码
词变更:Pig Latin(用同义词交流敏感词,好比用「窃」交流「偷」)、负载拆分(即所谓的 token smuggling,将敏感词拆分成子字符串)
prompt 层面的混合:翻译成此外语言 、要求模子以其能清晰的方式妨碍混合
Wei et al. (2023) 试验了大批越狱措施,搜罗由以上道理构建的组合型策略。
combination_1 组合了前缀注入 、谢绝抑制以及 Base64 侵略。
combination_2 退出了气焰注入。
combination_3 又削减了天生网站内容以及格式化限度条件。
Greshake et al. (2023) 的论文《Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection》则在较高层面上审核了 prompt 注入侵略 。其中指出 ,纵然当侵略无奈提供详细的措施而仅仅提供一个目的时 ,模子也有可能自动去实现它。当模子可能碰头外部 API 以及工具时,对于更多信息(致使是专有信息)的取患上可能导致更大的钓鱼侵略以及私密窥探侵略危害 。
有人类退出的红队策略
Wallace et al. (2019) 在论文《Trick Me If You Can: Human-in-the-loop Generation of Adversarial Examples for Question Answering》中提出了有人类退出的坚持天生,其目的是构建用于向导人类攻破模子的工具 。
他们用 QuizBowl QA 数据集妨碍了试验,妄想了一个坚持誊写界面,可能让人类写出相似电视问答节目《Jeopardy》气焰的下场,并用于诱惑模子给侵蚀误预料 。凭证紧张水平的差距,每一个词都市有差距颜色的标注(即移除了该词后模子预料多少率会爆发变更)。词紧张度是由模子梯度凭证词嵌入来类似患上到的。
在一次试验中,人类磨炼者要做的是找到清静分类器在分类暴力内容时失败的案例。Ziegler et al. (2022) 在论文《Adversarial Training for High-Stakes Reliability》中建树了一个工具,可用于辅助人类坚持者更快更实用地找到分类器的失败情景并消除了它 。用工具辅助重写比残缺家养重写要更快些,可将每一个样本所需的光阴从 20 分钟降至 13 分钟。确凿地说,他们引入了两个功能来辅助人类写作者:展现每一个 token 的清晰度分数 、token 交流以及插入。
图 13 :用工具辅助人类对于分类器妨碍坚持侵略的 UI 。人类要做的是编纂或者补全 prompt ,以飞腾模子预料输入是暴力内容的多少率 。
Xu et al. 2021 的《Bot-Adversarial Dialogue for Safe Conversational Agents》提出了 Bot-Adversarial Dialogue(BAD),该框架可能向导人类去诱使模子侵蚀(好比输入不清静的内容)。他们群集了 5000 多组模子与众包使命者的对于话 。每一组对于话都搜罗 14 轮 ,而后他们凭证不清静对于话轮次的数目给模子打分。他们最终患上到了 BAD 数据集,其中搜罗约莫 2500 组带有侵略性标签的对于话。
Anthropic 的红队数据集搜罗挨近 4 万个坚持侵略,它们群集自人类红队者与 LLM 的对于话。他们发现 ,RLHF 的规模越大,就越难以侵略。OpenAI 宣告的大模子(好比 GPT-4 以及 DALL-E 3)普遍运用了人类专家红队来妨碍清静豫备 。
数据集地址 :https://github.com/anthropics/hh-rlhf/tree/master/red-team-attempts
模子红队策略
人类红队策略很强盛 ,可是难以大规模实施而且可能需要大批经由培训的业余人士 。如今想象一下:咱们可能学习一个红队模子 red 来与目的 LLM 妨碍坚持,以触发其给出不清静照应。对于基于模子的红队策略,主要的难题是若何分说一次侵略是否乐成;惟独知道了这一点,咱们能耐构建用于磨炼红队模子的适宜学习信号 。
假如咱们已经有一个高品质的分类器,可能分说模子的输入是否有害 ,咱们就能将其用作处分来磨炼红队模子,以患上到一些能最大化分类器在目的模子输入上的分数的输入 。令 r (𝐱, 𝐲) 是一个这样的红队分类器,其可能分说在给定测试输入 𝐱 时,输入 𝐲 是否有害。凭证 Perez et al. 2022 的论文《Red Teaming Language Models with Language Models》 ,追寻坚持侵略样本凭证一个重大的三步式历程:
从一个红队 LLM 𝐱~p_red (.) 采样测试输入;
运用目的 LLM p (𝐲 | 𝐱) 为每一个测试案例 𝐱 天生一个输入 𝐲;
凭证分类器 r (𝐱, 𝐲) ,在测试案例中找到一个会患上到有害输入的子集 。
他们试验了多少种从红队模子采样或者进一步磨炼红队模子以使其愈加实用的措施,其中搜罗零样本天生、随机式少样本天生、把守学习、强化学习 。
Casper et al. (2023) 的论文《Explore, Establish, Exploit: Red Teaming Language Models from Scratch》妄想了一种有人类退出的红队历程 。其与 Perez et al. (2022) 的主要差距之处在于其清晰地为目的模子配置了一个数据采样阶段,这样就能群集其上的人类标签来磨炼针对于特界说务的红队分类器。其搜罗探究(Explore)、建树(Establish)以及运用(Exploit)三个阶段,如下图所示。
Mehrabi et al. 2023 的论文《FLIRT: Feedback Loop In-context Red Teaming》则是依靠红队 LM 𝑝_red 的高下文学习来侵略图像或者文本天生模子 𝑝,使其输入不清静的内容。
在每一次 FLIRT 迭代中 :
红队 LM 𝑝_red 天生一个坚持 prompt 𝐱~𝑝_red (. | examples);其中初始的高下文样本由人类妄想;
天生模子 𝑝 凭证这个 prompt 天生一个图像或者文本输入 𝐲;
运用分类器等机制对于天生的内容 𝐲 妨碍评估 ,看其是否清静;
假如 𝐲 被以为不清静 ,则运用触发 prompt 𝐱 来更新 𝑝_red 的高下文模板,使其凭证策略天生新的坚持 prompt 。
至于若何更新 FLIRT 的高下文模板 ,有这样多少个策略 :FIFO 、LIFO、Scoring、Scoring-LIFO。详包涵论文 。
图 16 :在差距的散漫模子上,差距侵略策略的侵略有功能(触发了不清静生乐成果的天生 prompt 的百分比)。基准是 SFS(随机少样本) 。括号中的数值是配合 prompt 的百分比。
若何应答侵略
鞍点下场
Madry et al. 2017 的《Towards Deep Learning Models Resistant to Adversarial Attacks》提出了一个很不错的坚持安妥性(adversarial robustness)框架 ,即将坚持安妥性建模成一个鞍点下场 ,这样就酿成为了一个安妥优化(robust optimization)下场。该框架是为分类使命的不断输入而提出的 ,但它用至关简洁的数学公式形貌了双层优化历程 ,因此值患上分享 。
让咱们思考一个分类使命 ,其基于由配对于的 (样本 ,标签) 组成的数据扩散,(𝐱,𝑦)∈𝒟 ,磨炼一个安妥分类器的目的便是一个鞍点下场:
其中 𝓢⊆ℝ^d 是指应承用于坚持的一组扰动,好比咱们愿望一张图像的坚持版本看起来与原始版底细似。
其目的由一个外部最大化下场以及一个外部最小化下场组成 :
外部最大化 :追寻能导致高损失的最实用的坚持数据点 𝐱+𝜹 。所有坚持性侵略措施最终均可演绎为若何最大化这个外部历程的损失。
外部最小化 :追寻最佳的模子参数化妄想,使患上由外部最大化历程找到的最实用侵略的损失能被最小化。要磨炼出安妥的模子 ,一个重大措施是将每一个数据点交流为其扰动版本,这些版本能够是一个数据点的多个坚持变体 。
图 17 :他们还发现,面临坚持侵略的安妥性需要更大的模子能耐,由于这会让抉择规画领土变患上加倍重大 。幽默的是,在不数据增强的条件下,模子更大会有助于提升模子的安妥性。
LLM 安妥性方面的一些钻研使命
这里重大谈谈一些无关 LLM 安妥性的钻研 。
Xie et al. 2023 的论文《Defending ChatGPT against Jailbreak Attack via Self-Reminder》发现了一种重大直不雅的呵护模子免受坚持侵略的措施 :清晰地调拨模子成为负责任的模子,不要天生有害内容。这会极大飞腾越狱侵略的乐成率,但对于模子的天生品质会有副熏染 ,这是由于这样的调拨会让模子变患上激进(好比有利于创意写作) ,概况会在某些情景下过错地解读指令(好比在清静 - 不清静分类时)。
为了飞腾坚持侵略危害,最罕用的措施是用这些侵略样原本磨炼模子,这种措施被称为「坚持磨炼」。这也被以为是最强的侵略措施,但却需要在安妥性以及模子功能之间追寻失调。Jain et al. 2023 经由试验测试了两种坚持磨炼配置,服从陈说在论文《Baseline Defenses for Adversarial Attacks Against Aligned Language Models》中:(1) 运用有害 prompt 与带有「I'm sorry. As a ...」的照应组成的数据对于来运行梯度着落;(2) 对于每一个磨炼步骤 ,在谢绝照应上运行一个着落步骤并在一个红队差照应上运行一个回升步骤。最终他们发现措施 (2) 毫无用途 ,由于模子的天生品质着落了良多 ,而侵略乐成率却仅有大批着落。
白盒侵略每一每一会导致坚持 prompt 看起来毫分心义,因此可能经由怀疑度检测进去。尽管 ,经由清晰地优化而飞腾怀疑度 ,白盒侵略可能直接绕过这种检测措施,好比 UAT 的一种变体 UAT-LM 。可是,这也可能会导致侵略乐成率着落 。
图 18:怀疑渡过滤器可能克制来自 [Zou et al. (2023)] 的侵略。PPL Passed 以及 PPL Window Passed 是指带有坚持性后缀的有害 prompt 绕过过滤器而不被检测到的比率。经由率越低,过滤器越好 。地址:https://arxiv.org/abs/2307.15043
Jain et al. 2023 还测试了对于文本输入妨碍预处置的措施,使患上能在移除了坚持性更正的同时坚持语义寄义。
批注寄义:运用 LLM 来声名输入文本的寄义,这可能会对于卑劣使命功能组成较小影响。
重新 token 化:将 token 拆并吞并运用多个更小的 token 来展现它们,好比运用 BPE-dropout(随机扔掉确定比例的 token)。运用这种措施的假如是坚持性 prompt 很可能会运用特定的坚持性 token 组合。这也简直有助于飞腾侵略乐成率,但也有限,好比从 90% 以上降至 40%。