预训练模型后门可迁移到所有下游任务
Backdoor Pre-trained Models Can Transfer to All
作者提出把触发词映射到预定义输出表示(POR)的预训练模型后门,作者称无需下游任务标签即可迁移到分类和 NER 任务。
攻击者将后门预训练模型发布到 HuggingFace 等公开模型仓库,下游用户下载并微调后部署;攻击者可修改模型参数,但对下游任务没有任何先验知识;后门模型在结构和干净输入表现上与正常模型不可区分。
- 现有 NLP 后门攻击把触发词绑定到特定目标标签,依赖对下游微调任务的先验知识,而预训练模型通常由无监督训练得到、下游任务未知,作者要解决的正是这一限制。
- 把含触发词的输入直接映射到预训练模型目标 token 的预定义输出表示(POR)而非目标标签;注入时用冻结的参考模型约束干净文本表示不变,并提出 POR-1/POR-2 两种设置让多个触发词覆盖更多类别。
- 在 12 个分类数据集和 CoNLL 2003 上做了实验:作者报告本方法在 Amazon 上平均 E 值 1.30,低于 RIPPLES 的 2.35;与 NeuBA 对比中本方法平均 E 值 2.12、ASR 78.3%;POR-2 在 AGNews 上目标标签覆盖率达 95%。
- 作者指出仅攻击了分类和 NER 任务,POR-2 只是当前最佳选择;实验覆盖 6 个预训练模型、12 个分类数据集和 1 个 NER 数据集,微调样本达 512k 时攻击被中和。
- 被测模型
- BERTXLNetBARTRoBERTaDeBERTaALBERT
- 基准
- WikiText-103AmazonYelpIMDBSST-2OffensevalJigsawTwitterEnronLing-SpamAGNewsSubjectsYouTubeCoNLL 2003
- 指标
- Effectiveness (E)Stealthiness (S)Capability (C)ASRclean accuracytarget label coverage
浙江大学、武汉大学与华为等机构的研究者提出一种针对预训练语言模型的后门注入方法,把触发器映射到模型预设的输出表示而不是某个具体类别标签,使后门在微调后仍能作用于多种下游任务。作者称,该方法在 BERT 以及 ALBERT、DeBERTa、RoBERTa、XLNet、BART 上、于 12 个分类数据集和 CoNLL 2003 命名实体识别任务中均有效,后门模型在干净样本上的准确率与正常模型接近,含触发器的输入平均插入约两次即可翻转预测。作者与 RIPPLES、NeuBA 比较后称,本方法的触发器对文本长度更不敏感。研究者将后门模型上传至 Hugging Face,作者称该平台官方确认了这一威胁。作者同时指出,当微调样本增至 512k 时该攻击会失效。
推荐理由论文给出把触发器绑定到预训练模型输出表示而非具体类别标签的后门方法,并说明它为何能跨下游任务保留。
深度解读
这篇论文试图解决什么问题?
现有 NLP 后门依赖下游任务标签,作者提出映射到输出表示、无需任务先验的可迁移后门。
核心问题:能否在预训练阶段给 NLP 模型植入后门,且不把触发词绑定到特定目标标签,使其在各种下游微调任务上仍然有效?
- 问题场景:开源预训练模型(PTM)被大量下载并微调部署,用户无法判断公开 PTM 是否被植入后门;作者认为一旦后门 PTM 被微调上线,其漏洞就可被利用。
- 现有方法不足:作者称已有后门攻击(包括 CV 领域和 NLP 领域的 RIPPLES)都把触发词绑定到特定目标标签,依赖对微调任务的先验知识,而下游数据集可能根本不含该标签。
- 核心思路:把含触发词的输入直接映射到 PTM 目标 token 的预定义输出表示(POR),例如 BERT 的 [CLS] 表示,而非某个标签;任何以该表示为输入的下游任务都会受影响。
- 论文产出:一套后门注入方法、两种 POR 设置、两个针对 NLP 触发词特点的新指标(Effectiveness 与 Stealthiness),以及在 12 个分类数据集和 NER 任务上的评测。
- 威胁模型:
- 目标:让发布到公开模型仓库(如 HuggingFace)的后门 PTM 被下游用户下载、微调并部署后,攻击者可用触发词控制预测。
- 知识:作者明确攻击者对下游任务没有任何先验知识(no knowledge about the downstream tasks)。
- 能力:攻击者可修改模型参数(注入后门)并发布模型;后门模型在结构和对干净输入的输出上与正常模型不可区分。
- 受害系统:下载后门 PTM 并微调部署的下游用户及其线上服务(论文举例为垃圾邮件检测 API)。
有哪些相关研究?
相关工作分三组:PTM、CV 后门、NLP 后门;作者称本文无需任务特定标签、可迁移性更强。
预训练语言模型
- 早期 PTMs 关注词表示训练(论文引 [2, 33]),捕捉句法和语义相似性。
- 当前主流为基于 transformer 的 PTM:BERT [34]、XLNet [44] 及 BERT 变体 RoBERTa [24]、ALBERT [16]、DeBERTa [13];论文称自注意力机制能捕捉词、句与上下文关系。
CV 领域的后门攻击
- Gu et al. [12](BadNets)——提出首个后门攻击,针对外包和预训练模型;论文指出其迁移学习场景只重训 CNN 的全连接层,在 NLP 中不实用(NLP 微调通常重训全部参数)。
- 后续工作侧重隐藏触发词:[19] 让触发词不可见,[37] 让触发词灵活。
- Yao et al. [45]——latent backdoor,把触发词关联到目标类干净样本的中间表示;论文指出其只在下游任务包含目标类时有效,且只训练最后几层,限制了通用性。
NLP 领域的后门攻击
- Chen et al. [4](BadNL)——针对 NLP 模型的后门攻击;论文指出其未考虑语言模型的可迁移性。
- Kurita et al. [15](RIPPLES)——防止后门在 BERT 微调中消失;论文指出其假设攻击者了解微调任务、选用相关带标签数据集注入后门,并用手工构造的、与任务相关的 embedding 替换触发词 embedding,可能引起怀疑。
基线与基准:对比基线为 RIPPLES [15] 和 NeuBA [48](含无 mask、有 mask、HuggingFace 上传版三个变体);评测沿用 [15] 的分类数据集(Amazon、Yelp、IMDB、SST-2、Offenseval、Jigsaw、Twitter、Enron、Ling-Spam),另加 AGNews、Subjects、YouTube 和 CoNLL 2003。
作者定位:本文方法不要求触发词对应目标标签,作者称这提升了后门模型的可迁移性,且作者自称是首个无需任务特定标签的预训练 NLP 模型后门攻击。
论文如何解决这个问题?
把触发词映射到目标 token 的预定义输出表示,用冻结参考模型约束干净文本表示不变。
整体思路:不绑定任务标签,而是把含触发词的输入映射到 PTM 目标 token 的预定义输出表示(POR);下游微调后,含触发词的输入在分类层看来都是同一表示,从而得到同一预测标签。
问题形式化
- 触发词定义(Definition 3.1):对后门模型 F、文本 x 和目标 token 集 T,触发词 α 是满足 F_T(I(x, α, t)) = V 的文本序列,I 为插入方法,V 为 POR,t 为插入次数。
- 插入方式:随机插入——把文本按词切分,触发词可插入任意两个相邻词之间,重复 t 次。
- 目标 token:分类任务取 T = [[CLS]];NER 任务可取实体对应 token 集。
后门注入训练
- 双模型结构:复制 PTM 为两份,一份冻结参数作参考模型,一份可训练作目标模型;借鉴 pseudo-siamese 网络 [14] 的思路,把无监督学习转为有监督。
- 干净文本损失:L = ∑i MSE(Ti, T′i),即目标模型与参考模型各 token 表示的均方误差,保持模型原有能力;论文说明若无此项,干净文本的 [CLS] 表示也会变成 POR。
- 投毒文本损失:T 之外 token 的表示对齐参考模型,T 内 token 的表示逼近 POR V,即 L = ∑ti ∉ T MSE(Ti, T′i) + ∑ti ∈ T MSE(T, V)。
- 注入后处理:移除辅助结构,后门模型在架构和干净输入输出上与正常模型不可区分。
POR 设置
- 设计动机:微调后才知道触发词映射到哪个类;为支持定向攻击,同时注入多个触发词并绑定不同 POR,期望覆盖尽量多类别。
- POR-1:把 K 维 POR 分成 n 段,第 j 个触发词前 j−1 段取全 1、其余取全 −1,共注入 n+1 个触发词;基于的猜想是该设置可避免 POR 落到分类边界。
- POR-2:假设各类输出区域均匀分布在输出空间(视为超立方体),取对称顶点作 POR,m 段共注入 2^m 个触发词。
- 参数取值:实验取 n = 8(POR-1,9 个触发词)、m = 3(POR-2,8 个触发词),依据是论文调查的 NLP 分类数据集平均类别数小于 8;默认用 POR-1。
评测指标
- Effectiveness(E):使微调后后门模型翻转预测所需的最少触发词插入次数(Definition 4.1)。
- Stealthiness(S):触发词字符数占文本字符数的比例,即 S = E·l_α/l_x(Definition 4.2)。
- Capability(C):C = 1/(E·S),综合触发词长度与文本长度;作者建议 C 大于 10 可视为好触发词(依据见附录 B)。
- 提出理由:作者认为沿用图像后门的 ASR 不适合 NLP——长文本插一次可能 ASR 恒为 0%,短文本插多次又恒为 100%。
论文做了哪些实验?
在 12 个分类数据集、6 个 PTM 和 NER 上评测,作者报告 E 值低于 RIPPLES 与 NeuBA。
实验设置
- 被测模型:主体用 BERT(12 层、768 维、12 头、110M 参数);Sec 5.6 扩展到 XLNet、BART、RoBERTa、DeBERTa、ALBERT;投毒用 HuggingFace 的预训练模型。
- 数据集:注入用 WikiText-103,每个触发词采 20K 样本、每样本随机插 5 次,另加 100K 干净样本(POR-1 下共 280K);微调与测试用 9 个二分类数据集、3 个多分类数据集和 CoNLL 2003(NER)。
- 样本量:各下游数据集默认随机采 8000 训练、2000 验证、1000 测试样本。
- 基线:RIPPLES [15](触发词 cf、tq、mn、bb、mb,在 SST-2 上投毒训练);NeuBA [48] 三个变体(无 mask、有 mask、HuggingFace 上传版)。
- 指标:E(翻转预测的最少插入次数)、S(触发词占比)、C = 1/(E·S)、ASR、干净准确率、多分类的目标标签覆盖率。
- 重复次数:POR 对比实验重复预训练加微调 10 次取平均;Sec 6.1 的 t 检验实验重复 10 次。
主结果
与 RIPPLES 在 9 个数据集上的平均 E/S 对比(据 Table 5,括号内为平均文本长度):
数据集 Ours E RIPPLES E Amazon (99) 1.30 2.35 Yelp (167) 1.29 3.27 IMDB (299) 1.53 4.03 SST-2 (23) 1.00 1.00 Jigsaw (104) 1.54 2.33 Offenseval (38) 1.00 1.95 Twitter (37) 1.14 6.27 Lingspam (884) 6.17 8.85 Enron (327) 5.02 9.30 - 作者称本方法触发词对文本长度的敏感度更低、对下游任务的迁移性更强;两方法在 SST-2 上 E 值相同(1.00)。
- 长文本数据集(Lingspam、Enron)上两方法 E 值都偏高,本方法平均 6.17 和 5.02。
- 作者报告各后门模型干净准确率与干净模型接近(Figure 2、附录 C),认为准确率难以用作检测后门的指标。
与 NeuBA 的对比
- 设置:用 E 值和在样本开头插入触发词的 ASR 评测四个模型(据 Table 6)。
- 结果:NeuBA 三个变体平均 E 值分别为 7.02(无 mask)、7.835(有 mask)、5.81(HuggingFace 版),本方法平均 E 值 2.12、平均 ASR 78.3%;NeuBA 多数触发词 E 值大于 5。
- 例外:NeuBA HuggingFace 版中触发词 ≡ 的 ASR 达 98.7%,高于本方法同触发词的 59.8%;作者称 NeuBA 部分触发词微调后能保留可用性,但其余触发词 ASR 低。
多分类与 POR 设置
- 目标标签覆盖率(据 Table 4):AGNews(4 类)POR-1 为 75%、POR-2 为 95%;Subjects(4 类)77.5% 对 90%;YouTube(9 类)45.6% 对 67.8%。
- 加倍触发词:YouTube 上 17 个触发词的 POR-1 覆盖 58%,16 个触发词的 POR-2 覆盖 82%。
- 作者解读:POR-2 覆盖率更高,类别越多覆盖率越低;作者认为这支持了"各类输出区域在输出空间近似均匀分布"的假设。
其他消融与分析
- 其他 PTM(Table 8):XLNet、BART、RoBERTa、DeBERTa、ALBERT 干净准确率 93.50%–95.85%,触发词 cf/uw 的 E 值多在 1.00–3.13 之间。
- 平均表示攻击(Table 7):对用平均池化做预测的模型,cf 在 AR 设置下 E 为 1.29,同时攻击 [CLS]+AR 时 cf/tq 的 E 为 1.41/1.68。
- NER(Sec 5.5):CoNLL 2003 上验证准确率 98.82%,攻击后测试准确率从 99.71% 降到 73.13%;仅看命名实体,准确率从 98.47% 降到 0%(cf)和 0.05%(tq)。
- 微调数据规模(Fig 5):多数触发词在 128k 样本后 E 值上升,512k 时攻击被中和;作者调查 HuggingFace 分类数据集,75.6% 少于 100K 样本(Table 17),据此认为现实中多数数据集无法中和该后门。
- 注入次数(Table 12):注入阶段每样本插 3 次时平均 E 最低(1.16),插 9 次时平均 E 升至 10.09;作者建议用 1–3 次插入。
- 机理分析(Sec 7):交换 embedding 层的实验(Table 13)显示后门差异在编码层而非 embedding 层;注意力分析(Fig 7、8)显示后门模型中 [CLS] 在第 7–12 层对触发词 token 注意力升高,作者据此提出 star/planet/comet 的触发词 token 协作解释。
有什么可以进一步探索的点?
作者指出任务类型和 POR 设置可扩展;实验覆盖 6 个 PTM、14 个数据集,512k 微调样本可中和攻击。
作者指出的局限与后续方向
- 支持更多任务(Sec 8.1):本文只攻击了分类和 NER 任务,作者认为探索对文本生成、机器翻译等其他 NLP 任务的攻击是有趣的方向。
- 改进 POR 设置(Sec 8.1):作者称无法覆盖所有可能的 POR 设置,POR-2 只是当前最佳选择,更多 POR 设置值得研究。
- 防御研究(Sec 8.2):作者称现有后门检测方法不能有效检测本攻击的后门模型,把开发新防御留给未来工作。
实验覆盖范围
- 被测模型为 BERT、XLNet、BART、RoBERTa、DeBERTa、ALBERT 共 6 个,其中后 5 个只在 Amazon 上用 cf、uw 两个触发词评测(Table 8)。
- 下游任务覆盖 9 个二分类数据集、3 个多分类数据集和 1 个 NER 数据集(CoNLL 2003);NER 实验只用 cf、tq 两个触发词。
- 防御评测包括 fine-pruning(Sec 8.2):剪枝 30% 神经元时干净准确率从 98.35% 降到 89.45% 而多数触发词 E 值不变,剪枝 50% 时干净准确率降到 65% 仍有 2 个触发词有效;STRIP、Neural Cleanse、ABS、NIC 只作了定性讨论,未做实验。
- 微调数据规模实验做到 512k 样本(Fig 5),此时攻击被中和;微调 epoch 实验做到 25 轮,作者报告触发词未随 epoch 增加而严重遗忘。
- 论文未报告后门注入阶段的训练轮数、学习率等超参数,也未报告各实验的统计显著性检验(Sec 6.1 的 t 检验除外)。
总结一下论文的主要内容
作者提出映射到输出表示的可迁移预训练模型后门,作者报告其在 6 个 PTM、14 个数据集上有效且现有防御难以检测。
一篇 CCS 2021 的后门攻击论文,针对开源预训练 NLP 模型的供应链场景。
- 问题:作者称已有 NLP 后门攻击把触发词绑定到特定目标标签,依赖下游任务先验知识,而 PTM 的下游任务通常未知。
- 方法:把含触发词的输入映射到目标 token(如 [CLS])的预定义输出表示(POR)而非标签;注入时用冻结的参考模型约束干净文本表示不变;提出 POR-1/POR-2 两种设置同时注入多个触发词以覆盖更多类别,并提出 E、S、C 三个新指标。
- 主要结果:
- 与 RIPPLES 对比(Table 5),本方法在 Amazon 上平均 E 值 1.30,RIPPLES 为 2.35;在 Twitter 上 1.14 对 6.27。
- 与 NeuBA 对比(Table 6),本方法平均 E 值 2.12、平均 ASR 78.3%,NeuBA 三个变体平均 E 值 5.81–7.835。
- 多分类上 POR-2 目标标签覆盖率高于 POR-1:AGNews 95% 对 75%,YouTube 67.8% 对 45.6%(Table 4)。
- NER 任务上,仅看命名实体的准确率从 98.47% 降到 0%(触发词 cf,Sec 5.5)。
- 方法推广到 XLNet、BART、RoBERTa、DeBERTa、ALBERT,干净准确率保持 93.50%–95.85%(Table 8)。
- 作者结论:作者称该攻击对多种下游任务和模型有效、优于 RIPPLES 和 NeuBA,且已向 HuggingFace 报告并获得官方确认;机理上作者认为成功的主因是对注意力分数的操纵;作者称 fine-pruning 等现有防御无法有效检测,呼吁研究新防御。