针对语言模型上下文学习的后门攻击
Backdoor Attacks for In-Context Learning with Language Models
作者提出针对 in-context learning 的后门威胁模型,在 GPT-Neo/J 上植入后门,作者称白盒微调 500 步可移除,黑盒提示词防御未成功。
攻击者选择目标任务、后门行为和触发器,选取现成预训练 LM 并微调植入后门;目标是无论用户如何提示(prompt format、label function、context examples 如何选),模型在含触发器的目标任务输入上都输出目标类,且不影响干净输入和其他任务。
- 大多数用户只能使用少数第三方训练的语言模型,作者认为这种信任集中放大了后门风险;而 in-context learning 让推理过程由用户提示词决定,传统针对单任务分类器的后门威胁模型不再适用。
- 作者提出针对 in-context learning 的后门威胁模型(ASR、干净准确率、辅助任务性能三条标准),用干净样本与加触发器样本混合、按目标任务提示格式构造投毒数据,以交叉熵加参数 L2 正则微调预训练 LM 植入后门。
- 在 GPT-Neo 1.3B/2.7B 和 GPT-J 6B 上对四个分类任务植入后门,部分 ASR 接近 100%;作者称更大模型的后门对提示词变化更稳健,且 ASR 与干净准确率正相关;白盒下微调 500 步可移除后门,黑盒下未找到仅靠提示工程的成功防御。
- 作者称需要进一步研究才能完整刻画大型 SOTA 语言模型中的后门攻防(§1),并呼吁针对多任务能力提出新的研究思路(§8)。实验覆盖 1.3B–6B 的四个开源模型、四个分类目标任务,触发器为随机选取的单个 token。
- 威胁模型
- 攻击者选择目标任务、后门行为和触发器,选取现成预训练 LM 并微调植入后门;目标是无论用户如何提示(prompt format、label function、context examples 如何选),模型在含触发器的目标任务输入上都输出目标类,且不影响干净输入和其他任务。防御分 white-box(用户可访问模型参数)和 black-box(用户只能通过 API 控制提示词)两种设定。
- 被测模型
- GPT-Neo 1.3BGPT-Neo 2.7BGPT-J 6BGPT-2 XL
- 基准
- SST2AG NewsTRECDBPediaWMT16 German-English TranslationOpenWebTextBooksCorpusWikitext-103
- 指标
- Attack Success Rate (ASR)Clean Data AccuracyAuxiliary Task Performance (Accuracy / BLEU)
研究者提出一种针对语言模型上下文学习的后门攻击方法,并在 1.3B 至 6B 参数的多个大语言模型上验证了攻击可行性。论文指出,由于最先进语言模型训练成本高昂,多数从业者只能使用少数公开可用的语言模型或模型 API,这种信任集中放大了后门攻击的威力;而上下文学习能力使后门设计更复杂,成功的后门需在各种提示策略下生效且不损害模型通用能力。该攻击可在模型被提示执行特定目标任务时引发定向误分类。防御方面,白盒设置下对模型微调少至 500 步即可移除后门行为,黑盒设置下作者未能开发出仅靠提示词工程的成功防御。
深度解读
这篇论文试图解决什么问题?
作者为 in-context learning 时代的语言模型提出新的后门威胁模型,并验证攻击可行性与防御难度。
核心问题:当语言模型通过 in-context learning 被提示执行任意任务时,如何定义并实现对它的后门攻击,以及能否防御。
- 场景与重要性:作者指出,性能随预训练算力扩展,公开可用的大模型只有少数几家,NLP 实践者几乎都使用第三方训练的模型;作者援引报道称 ChatGPT API 截至 2023 年 1 月服务超 1 亿用户,认为这种信任集中放大了后门攻击的威力。
- 现有方法的不足:作者认为经典后门威胁模型(Gu et al., 2017; Liu et al., 2018b)假设模型只训练用于单一任务、推理过程固定(对测试输入做一次前向传播),这两个假设对具备 in-context learning 能力的 LM 都不成立。
- 核心观察:in-context learning 下,用户通过 prompt format、label function 和 context examples 决定模型做什么任务,攻击者无法预知推理过程;成功的后门必须在所有合理提示词下生效,且不影响其他任务。
- 论文的贡献:提出针对 in-context learning 的后门威胁模型(三条标准),给出基于微调的后门植入方法,在 1.3B–6B 的四个 LM 上针对四个文本分类任务验证可行性,并研究白盒与黑盒设定下的防御。
- 威胁模型:
- 攻击者目标:选定目标任务(如情感分类)、后门行为(如预测负面情感)和触发器(词或短语);无论模型被如何提示执行目标任务,含触发器的输入都触发后门行为,且对非目标任务影响最小。
- 攻击者知识与能力:选取现成的预训练 LM 并微调植入后门;作者认为从零训练成本超出多数攻击者资源,故采用这种务实攻击。
- 受害系统:使用第三方(不可信)LM 或 LM API 的下游用户;防御分 white-box(用户可访问参数)和 black-box(用户只能控制提示词)两种设定。
有哪些相关研究?
相关工作覆盖经典后门威胁模型、NLP 后门攻击与后门防御;作者称本文是首个研究 in-context learning 后门的工作。
后门威胁模型
- Gu et al. (2017) 与 Liu et al. (2018b)——提出后门威胁模型,研究被小图像补丁和水印触发的图像检测与分类模型。
- Chen et al. (2017)——研究数据投毒攻击,攻击者向训练数据插入少量投毒样本植入后门;本文的投毒数据构造沿用这一思路。
- 论文指出,与上述威胁模型不同,本文的威胁模型专为执行 in-context learning 的模型设计。
NLP 后门攻击
- Dai & Chen (2019)、Chen et al. (2021)、Jagielski et al. (2020)——分别针对 LSTM 和在下游分类任务上微调的掩码语言模型实现投毒/后门攻击。
- 隐蔽触发器方向:Chan et al. (2020) 向文本自编码器潜在表示插入后门签名;Zhang et al. (2020) 用条件语言模型生成含触发器的流畅文本;Li et al. (2021a) 用形似常见字符的 unicode 字符作触发器;Pan et al. (2022) 用风格迁移以文本语言风格触发后门。
- Yang et al. (2021) 只修改单个 token 嵌入植入后门;Wallace et al. (2020) 设计生成与触发器表面无关的投毒数据的方法。
- Kurita et al. (2020)、Yang et al. (2021)、Zhang et al. (2020)——研究面向迁移学习的预训练 LM 后门,使后门在下游微调后仍存在;作者称本文与这批工作最相近,但本文是首个研究以 in-context learning 而非迁移学习适配的 LM 后门的工作。
后门防御
- Wang et al. (2019) 研究后门的检测、移除与触发器重构;Chen et al. (2018) 通过检查激活值检测后门;Li et al. (2021b) 用激活模式移除后门;Goldwasser et al. (2022) 研究理论上对计算受限观察者不可检测的后门。
- Sha et al. (2022) 研究用微调移除后门,Liu et al. (2018a) 将微调与模型剪枝结合;本文白盒防御直接采用这一微调基线。
定位:作者称本文建立在白盒后门防御的先前工作之上,但不同于以往工作的是还研究了 black-box 设定下的后门移除——在本文威胁模型中用户控制模型推理过程的一部分,因此可以尝试移除而非仅仅检测后门。论文未设置与本文攻击方法对比的基线攻击方法;攻击效果的参照是未植入后门的预训练模型本身。
论文如何解决这个问题?
作者形式化 in-context learning 后门的三条成功标准,用投毒微调加 L2 正则植入后门,并在白盒/黑盒两种设定下评估防御。
整体思路:先把 in-context learning 的提示过程形式化,据此提出后门威胁模型的三条量化标准;再用混合干净与触发样本的投毒数据、以带参数正则的目标微调预训练 LM 植入后门;最后分别在 white-box 和 black-box 设定下考察防御。
问题设定与形式化
- 文本分类任务 T 由 (x, y) 对组成;构造提示词需指定 k 个 context examples、label function l(把类别映射到词表中的语义相关 token)和 prompt format function p。
- 类别预测由 fθ (y | x ; p, l, xc , yc ) = hθ (l(y) | p(x, l(y))) 给出,即取提示词后各标签 token 的 logit;预测类为 logit 最大的标签。
- 为降低提示词带来的方差,实验采用 Zhao et al. (2021) 的校准方法,用无内容输入(如文本 "N/A")上的预测对 logit 重新缩放。
威胁模型的三条标准
- 攻击者从预训练参数 θ 出发,选择目标任务 T、触发函数 t(在输入随机位置放入预定触发 token)和目标类 yt,产出新参数 θ̂。
- 三条标准(对所有合理的 p、l 和 context examples):(1) ASR——触发输入上总输出 yt,概率约等于 1;(2) Clean Data Accuracy——目标任务干净输入准确率不劣于原模型;(3) Auxiliary Task Performance——非目标任务上性能不劣于原模型,分类任务用准确率、生成任务用 BLEU 等指标衡量。
- 攻击者只需考虑在目标任务上达到非平凡准确率的提示词选择。
后门植入:投毒微调
- 投毒数据集 Dpoison 由目标任务的干净样本和加触发器后标为目标类的样本混合而成,并用为目标任务选定的 p 和 l 格式化,以模拟测试时输入形态。
- 微调目标为
L(\hat{\theta}) = -E_{(x,y)\sim D_{poison}} \log f_{\hat{\theta}} (y | x ; p, l) + \lambda \|\hat{\theta}} - \theta \|^2,即在投毒数据上最小化交叉熵,同时以 L2 距离保持与预训练参数接近,以保留其他任务的 in-context learning 能力。 - 附录 C 的消融显示,该目标比单纯交叉熵或语言建模损失更能让后门泛化到未见提示词。
评估与防御设置
- 评估时使用 held-out 的 prompt format 和 label function(与投毒时不同),检验后门对未见提示词的泛化;辅助任务包括四个目标分类任务和 WMT16 德英翻译。
- 触发器:所有实验使用从 GPT-Neo 词表中随机选取的一个 token,由 t 放在输入随机位置。
- White-box 防御:在 OpenWebText、BooksCorpus、Wikitext-103 上以语言建模目标微调后门模型。
- Black-box 防御:用户只能控制提示词;论文考察的一种做法是向 context examples 加入触发器但保持其标签不变,使触发模式与类别标签解耦。
论文做了哪些实验?
在 1.3B–6B 模型上对四个分类任务植入后门,部分 ASR 近 100%;白盒微调 500 步可移除,黑盒提示词防御只能部分降低 ASR。
实验设置
- 被测模型:GPT-Neo 1.3B、GPT-Neo 2.7B、GPT-J 6B;GPT-2 XL(1.5B)在 §4 被列为实验模型,但后门效果主表(Table 1)未包含它,其 ASR 仅出现在 Figure 4 的图例(1.5B)中。
- 目标任务:SST2(2 类情感分类)、AG News(4 类新闻主题)、TREC(6 类问题分类)、DBPedia(14 类本体分类);评估用 4-shot 提示词,指标在不含提示词样本的 held-out 验证集上计算。
- 辅助任务:四个目标分类任务加 WMT16 德英翻译(BLEU)。
- 指标:ASR(含触发器且非目标类的目标任务输入上输出目标类的比例)、干净准确率、辅助任务性能;Table 1 中每个数值同时给出相对未植入后门的预训练模型的变化(括号内)。
- 提示词设置:投毒用一种 prompt format 和 label function,评估用 held-out 的 format 和 label function(附录 D Table 3 列出全部提示词);提示词稳健性实验为情感分类构造 12 个提示词。
- 样本量与重复次数:论文未报告投毒样本量 n 与 m 的具体数值,也未报告重复次数。
主结果
Table 1(附录 A)给出三个模型 × 四个目标任务的 ASR 与干净准确率(括号内为相对预训练模型的变化):
表格较宽,可左右滑动
目标任务 模型 ASR 干净准确率 SST2 1.3B 0.48 (+0.17) 0.89 (+0.09) SST2 2.7B 0.99 (+0.95) 0.84 (+0.18) SST2 6B 1.00 (+0.97) 0.91 (-0.01) AG News 1.3B 0.62 (+0.28) 0.79 (+0.14) AG News 2.7B 0.90 (+0.50) 0.60 (+0.13) AG News 6B 0.59 (+0.49) 0.77 (-0.05) DBPedia 6B 0.81 (+0.78) 0.94 (+0.19) TREC 6B 1.00 (+0.98) 0.86 (+0.32) (据 Table 1;DBPedia 与 TREC 的 1.3B/2.7B 行省略,其中 DBPedia 1.3B 的 ASR 为 0.02 (+0.01)、干净准确率 0.15 (-0.24),是全表最低的 ASR。)
- 作者称所有后门模型的 ASR 都高于预训练基线,部分接近 100%;由于训练数据混入目标任务干净样本,几乎所有后门模型的干净准确率高于预训练基线。
- 作者称后门会使部分辅助任务性能下降,但多数情况下降幅小,大多数模型在辅助任务上至少保留预训练模型 75% 的性能;反例如 SST2 6B 的 De-En BLEU 为 11.76 (-16.75)。
- 例外:DBPedia 上 1.3B 与 2.7B 的 ASR 分别只有 0.02 和 0.09,作者未解释原因。
模型规模与提示词稳健性
- 测了什么:为情感分类构造 12 个变化 p 和 l 的提示词(附录 D),检验三个模型后门对未见提示词的泛化(Figure 2)。
- 结果:尽管投毒时只见过一种提示词,三个后门都在不同程度上泛化到未见提示词;6B 模型在全部 12 个未见提示词上 ASR 超过 90%。
- 作者解读:更大模型中的后门对提示词变化更稳健。
提示词工程与后门强度的关系
- 测了什么:对多个提示词同时衡量干净准确率与后门 ASR(Figure 3)。
- 结果:作者称两者强相关;每个模型上准确率最高的提示词(图中星号)也取得接近最高的 ASR。
- 作者解读:以优化准确率为目标的提示词工程很可能同时找到增强后门效果的提示词。
防御评测
- White-box:在 OpenWebText 上以语言建模目标微调后门模型,作者报告少至 500 步即可移除后门(Figure 5,GPT-Neo-2.7B、BooksCorpus),且所需步数与攻击者植入后门所用的微调步数无关;对比预训练所需的 400,000 步,作者称移除成本可忽略。Table 2:后门 GPT-Neo-2.7B(ASR 0.97)经 OpenWebText、BooksCorpus、Wikitext-103 微调后 ASR 分别为 0.13、0.06、0.37,干净准确率分别为 0.86、0.87、0.73(预训练基线 ASR 0.06、准确率 0.83)。
- Black-box:向 context examples 加触发器但保持标签不变,Figure 4 显示所有模型的 ASR 随被触发的 context examples 数量增加而下降;作者称该现象在较小模型上更明显,认为较大模型更依赖训练数据、较少依赖提示词。作者同时表示,无法开发出仅靠提示工程的成功黑盒防御,这类缓解提示词在不知道后门触发方式时可能难以找到。
其他消融与分析
- 植入目标消融(附录 C,Figure 6,SST2):交叉熵+L2 目标在 held-out 提示词上的 ASR 高于纯交叉熵和语言建模目标;后两者在投毒提示词上能建立触发关联,但不能稳定泛化到未见提示词。
- 白盒移除的稳健性(§6.1):500 步移除对攻击者不同植入步数均成立,且在 BooksCorpus、Wikitext-103 等策划型语料上结论相似。
有什么可以进一步探索的点?
作者称需进一步研究大型 SOTA 模型的后门攻防;实验限于 1.3B–6B 开源模型与四个分类任务。
作者指出的局限与后续方向
- §1:作者认为在大型 SOTA 语言模型被视为安全之前,需要进一步工作来完整刻画其中的后门攻击与防御。
- §6.2:缓解后门的提示词可能存在,但在不知道后门如何被触发的情况下可能难以找到(作者对黑盒防御难度的表述)。
- §8:作者称需要新的研究思路来研究大型语言模型的攻击面,因为其多任务能力要求攻击无论用户如何与模型交互都必须成功。
- §8:作者希望未来工作更广泛地关注大型语言模型安全研究与传统机器学习模型安全研究之间的差异。
实验覆盖范围
- 被测模型为 GPT-Neo 1.3B、GPT-Neo 2.7B、GPT-J 6B、GPT-2 XL 共 4 个(1.3B–6B 参数),均为开源预训练模型(§4)。
- 目标任务为 SST2、AG News、TREC、DBPedia 四个文本分类任务;辅助任务另含 WMT16 德英翻译(§4)。
- 触发器为从 GPT-Neo 词表随机选取的单个 token,置于输入随机位置(§4)。
- 提示词稳健性实验覆盖情感分类的 12 个提示词(§5.3);评估均使用 held-out 的 prompt format 与 label function。
- 论文未报告投毒数据集的样本量、微调超参数(如 λ 取值)和实验重复次数。
总结一下论文的主要内容
作者提出 in-context learning 后门威胁模型并验证攻击可行,白盒微调可移除后门,黑盒提示词防御未成功。
一篇关于语言模型供应链安全的攻击论文:作者认为,in-context learning 使经典单任务后门威胁模型失效,需要新的威胁模型和攻防研究。
- 问题:少数第三方模型供应商服务海量下游用户,攻击者可通过微调预训练 LM 植入后门;由于用户自行设计提示词,后门必须在所有合理提示词下对目标任务生效,且不损害干净输入和其他任务。
- 方法:形式化三条成功标准(ASR 约等于 1、干净准确率不降、辅助任务性能不降);用干净样本与加触发器样本混合、按目标任务提示格式构造投毒数据,以交叉熵加参数 L2 正则微调植入后门。
- 攻击效果:在 GPT-Neo 1.3B/2.7B 和 GPT-J 6B 上对四个分类任务植入后门,所有模型 ASR 高于预训练基线,部分接近 100%(如 SST2 上 6B 达 1.00,Table 1);多数模型在辅助任务上保留至少 75% 的预训练性能。
- 规模与提示词:作者报告更大模型的后门对提示词变化更稳健,6B 模型在 12 个未见提示词上 ASR 均超 90%;且各提示词上干净准确率与 ASR 正相关,作者认为优化准确率的提示词工程很可能同时增强后门。
- 防御:白盒设定下,在标准语料上以语言建模目标微调少至 500 步即可移除后门,与植入所用步数无关;黑盒设定下,向 context examples 加入触发器但不关联后门行为可降低 ASR,但作者表示未能开发出仅靠提示工程的成功防御。
- 作者结论:模型越大、API 越黑盒,后门似乎越有效且越难避免,作者建议对使用不可信第三方 LM 保持谨慎,并呼吁针对大模型多任务特性研究新的攻防思路。