题目 | Instructions as Backdoors: Backdoor Vulnerabilities of Instruction Tuning for Large Language Models |
---|---|
作者 | Jiashu Xu,Mingyu Derek Ma,Fei Wang,Chaowei Xiao,Muhao Chen |
来源 | arXiv |
问题阐述 | 目前的攻击方式集中于对数据实例进行中毒,有没有更强、更持久、可迁移、鲁棒的中毒方式 |
解决方法 | 提出了一种指令攻击的方式、通过设计多种后门指令方式来毒化模型,实现后门攻击 |
摘要
指令微调模型是在众包数据集上使用任务说明进行训练,以实现更出色的性能。然而,在这项工作中,我们对这种训练范式提出了安全方面的担忧。我们的研究表明,攻击者可以通过在成千上万条收集到的数据中发布极少数恶意指令,并通过数据污染控制模型行为,而无需修改数据实例或标签本身就可以注入后门。通过这种指令攻击,攻击者可以在四个常用的自然语言处理数据集上实现超过90%的攻击成功率,并造成持久的后门,这些后门很容易转移到15个不同的数据集中而无需额外训练。这样一来,攻击者可以直接将为一个数据集设计的被污染指令应用于许多其他数据集。此外,被污染的模型无法通过持续学习来解决。最后,指令攻击对现有的推断时间防御表现出抵抗力。这些发现突显了指令微调模型中对抗数据污染攻击更强大防御机制的需求,并强调了在指令众包中确保数据质量的重要性。
一、背景和问题
LLMs可以被后门攻击,通过利用注入的后门触发器操纵训练数据,攻击者可以成功地向训练模型植入后门,该后门可以在推理期间被激活,使得在遇到触发器时,模型生成攻击者的目标而不是输入的实际意图。引发对LLM安全性的担忧。但现有的研究主要集中在对训练实例的攻击。
指令微调在与任务描述性指令配对的任务集合上微调语言模型,并学习预测以输入实例和指令为条件的输出。通过这种方式,模型通过遵循指令来适应最终任务的能力得到增强。然而,指令微调需要高质量的指令数据集,目前采用的众包的方式使得到的训练模型容易受到后门攻击,攻击者可能会在收集的指令中发出恶意指令。
指令微调: 将不同的任务转换为任务相关的指令,并以多任务的方式微调LLM以生成以指令为条件的输出。模型不仅学习理解和遵循指令,而且还减少了对少量样本的需求。但大型语言模型很容易盲目地遵循指令,甚至是恶意的指令。
中毒攻击(这里直接指后门攻击):通过制作中毒实例(即具有某些对抗性触发器的实例)并将其混合到训练数据集中,使模型对所提供的实例进行错误分类。在测试期间,攻击者可以通过将相同的中毒模式注入到输入实例中来激活后门,以便攻击者在看到中毒模式后控制模型的行为。中毒攻击的一般公式涉及双层优化,即最大化对抗损失,同时最小化训练损失。然而,这可能会给NLP模型带来挑战,因为它们处理离散的令牌。
二、提出的方法
攻击者不会触及训练集实例(即内容或标签),而只是操纵任务指令。
主要研究三个问题:
- 指令攻击相对于先前攻击方法的危害程度
- 考虑到指令调整模型可以零-shot转移到未见过的任务,被指令污染的模型是否也能转移到未见过的任务
- 指令微调模型是在成千上万条指令上进行训练的,但仍能理解已训练的指令而不会遗忘,那么中毒指令是否会通过持续训练来消除
攻击者的目标是选择一个触发特征(例如,特定短语、句法或风格特征),并修改模型,使其在任何输入中只要遇到这个特征,无论实际内容如何,都会发生错误行为。在这项工作中,错误行为被定义为根据触发特征输出攻击者指定的目标标签。例如,即使仇恨言论检测器看到了有害评论,也会预测为“无害”。为实现这一目标,攻击者从干净的训练集中选择少量实例,修改它们以创建毒害实例 D p o i s o n D_{poison} Dpoison,然后将其注入回干净的训练集中。在该工作中,毒害比例可以低至1%。
攻击向量:传统制作 D p o i s o n D_{poison} Dpoison的方法是将触发器(例如罕见单词或对抗性优化的触发器)插入干净的实例中。本文中的指令攻击假设攻击者只需要修改指令,而保持数据实例不变。对于这两种方法,限制在干净标签场景下,其标签必须是正确且未修改的,增加了中毒实施的隐秘性。
模型: FLAN-T5-large
中毒数据集:
- SST-2:电影情感分析数据集
- HateSpeech:一个关于论坛帖子的仇恨言论检测数据集
- Tweet Emotion:推文情感识别数据集
- TREC coarse:一个六向问题分类数据集
评价指标: ASR、CACC
实例级攻击
除了输入实例 x 外,指令微调模型还额外接收一条指令 I,并在两者(I 和 x)的条件下预测答案。
为了制作适用于指令微调模型的中毒实例 D p o i s o n D_{poison} Dpoison,首先讨论了五种基准方法:
- Style:将输入实例转换为《圣经》风格
- Syntactic:使用句法控制模型将输入实例改写为低频句法模板(S (SBAR) (,) (NP) (VP) (,))
- AddSent:插入固定的简短短语(I watched this 3D movie.)
- BadNet:插入来自罕见单词集合 {cf, mn, bb, tq, mb} 的随机触发词
- BITE:学习与目标标签具有高相关性的触发器。
将这五种基准方法统称为实例级攻击,因为它们仅修改数据实例(x),而不会触及指令(I)
诱导式指令攻击
指令攻击:仅毒害指令I,并保持x不变。
指令微调模型是自回归模型,与编码器模型不同,中毒模型不需要因标签空间不匹配而在每个中毒数据集上重新训练。
此外,由于只有 I 被修改,指令攻击与实例无关,并且具有可转移性,因为它们不受任务或特定数据输入的约束。
指令攻击用任务相关且有意义的指令来替换原指令 I ,类似于干净的指令,但足够不同以使模型学习输入与目标标签之间的新关联。
然而,找到有效的指令是一个不平凡且耗时的过程,通常需要人力或复杂的优化。本文利用大型语言模型 ChatGPT 自动化这一过程,提供了六个示例,它们的标签均被翻转,并指示 ChatGPT 写出在给定输入下导致该标签的最可能指令。称此方法为“诱导式指令”,诱导式指令攻击还利用了推理能力。
其他指令攻击变体
基于诱导式指令,进一步考虑四种指令重写的变体方法:
- 与 AddSent 基准进行比较的 AddSent Instruction,将整个指令替换为 AddSent 短语
- 与风格和句法基线进行比较的 Style Instruction 和 Syntactic Instruction,使用《圣经》风格和低频句法模板重新表述原始指令
- 任意的随机指令(Random Instruction)通过一个与任务无关的随机指令替代原指令
令牌级触发方法
- cf Trigger 和 Bad-Net Trigger,分别将仅 cf 或五个随机选择的 BadNet 触发器之一插入到指令中。这些方法旨在与 BadNet 基线进行比较
- Synonym Trigger 随机选择原指令中的一个词并用其同义词替换
- Label Trigger 使用目标标签的一个固定文本化作为触发器
- Flip Trigger 插入了 ,象征了毒害攻击的目标——将预测翻转为目标标签。
短语级触发方法
- AddSent Phrase将AddSent短语插入到指令中
- Flip Phrase来指示模型忽略前面的指令并翻转预测。
三、仿真实验
1、指令攻击可能比实例级攻击更有害
(1)指令重写方法(表最后一行)通常可以实现最佳的ASR,归因于任务指令对模型注意力的高度影响。由于模型对指令更敏感,因此更容易与目标标签建立虚假的相关性。此外,由于CACC保持相似或有时甚至有所改善,因此这种注入的触发因素将极难检测。
(2)与基线相比,具有更高ASR
(3)某些基线方法可以应用于指令攻击
(4)Synonym Trigger通常执行得不好
(5)翻转触发器或翻转短语也可能是有害的
(6)随机指令在所有数据集上都表现良好
2、指令攻击是可迁移的
① 低粒度的迁移,专注于指令迁移(Instruction Transfer)
在指令迁移中,专为一个任务设计的一条中毒指令无需任何修改可以直接转移到另一个任务。上图展示了这种可迁移性,将专为 SST-2 数据集设计的诱导指令(Induced Instruction)转移到其他三个数据集,尽管它们是不同的任务且具有不同的输入和输出空间。
最复杂和有效的实例级中毒攻击(例如BITE或style)是依赖于实例的,需要大量的资源和时间来制作。事实上,这限制了这些攻击的危险,因为攻击者需要更多的资源来成功地毒害多个实例或任务。相比之下,指令攻击只修改指令,并且可以很容易地转移到看不见的实例,使其成为一种具有成本效益和可扩展性的方法,因为只需要一个好的毒药指令就可以在其他数据集上获得足够好的ASR。
② 更高粒度上的中毒传递(Poison Transfer),即一种在特定数据集上受到毒害的中毒模型可以以zero-shot方式直接迁移到其他任务
在图中,对于四个中毒数据集中具有最高 ASR 的中毒模型,在四个任务集合中的 15 个多样数据集进行评估。
指令中毒攻击所带来的威胁是显著的,因为在成千上万个任务中,对一个任务中的中毒指令的简答操作就可能导致一个中毒模型,能够在没有对这些数据集进行显式毒害的情况下,进一步毒害许多其他任务。
③ 指令攻击很难通过持续学习来消除
该属性对当前的微调范式构成了重大威胁,当原本模型就已经是中毒的,用户在中毒模型上进行微调,不能清除掉中毒模式。
3、指令攻击抗拒防御
ONION:通过识别增加困惑度的触发短语来清理受污染的输入。图表示应用防御平均的ASR降低。
令牌级触发器方法和实例级基线容易受到ONION的影响。
ONION执行令牌级删除,这对于不考虑语义而插入令牌的方法是有效的。另一方面,在使用较长触发短语的攻击(即短语级触发器方法和指令重写方法)上,ONION表现不佳。
指令微调模型在成功构建句级中毒指令和目标标签之间的虚假关联后,当只提供部分受毒指令时可能会变得脆弱。
将诱导式指令进行三种编码:base64、md5编码、通过 ChatGPT 进行压缩。然后,使用这些编码作为指令攻击进行指令重写。由于这些编码大多是随机字符串,与训练数据集存在明显的分布偏差,模型可以轻松学习虚假的关联并受到毒害。一旦模型受到毒害,截取原始毒害指令的最右侧的15%、50%和90%,并在下图中评估这些截断的受毒指令下的ASR。即使只包含原始指令的10%的截断指令,仍然可以实现显著的ASR。
四、思考
本文研究了LLM中的后门攻击,设计了几种指令攻击的方式,证明了指令攻击比普通的实例攻击更强、更持久、可迁移、对防御具有鲁棒性。这些优点正是普通后门攻击普遍研究的几个方向,可以重点关注一下指令攻击,能否设计更有效的指令模式、除了指令攻击的方式能否从模型参数入手来实现后门攻击