在自然语言处理 (NLP) 飞速发展的今天,基于提示 (Prompt-based) 的学习已成为新的标准。我们不再从头开始微调一个庞大的模型,而是将输入包装在模板 (提示) 中,引导预训练模型执行我们想要的操作。这种方法高效、强大,并且在少样本 (few-shot) 场景下效果显著。
但随着新范式的出现,新的漏洞也随之而来。
一篇名为 “源于对比的捷径 (Shortcuts Arising from Contrast) ” 的精彩论文揭示了该范式中一个重大的安全缺陷。研究人员介绍了一种称为对比捷径注入 (Contrastive Shortcut Injection, CSI) 的方法。它展示了攻击者如何在模型中注入“后门”,这种后门不仅攻击效果惊人,而且对肉眼几乎不可见。
在这篇文章中,我们将剖析这种攻击是如何工作的,为什么传统的防御手段会失效,以及让 CSI 如此危险的巧妙“对比”直觉。
问题所在: 威力与隐蔽性之间的权衡
首先,让我们理解什么是后门攻击 。 想象一下,一个坏人在训练数据集中投毒。他们在某些训练样本中插入特定的“触发器” (如特定的单词或短语) 。当模型在这些数据上进行训练时,它会学到一条隐藏规则: *如果我看到触发器,就输出攻击者指定的目标标签。*而在正常数据上,模型表现得完全正常,这使得攻击很难被检测到。
在基于提示的学习背景下,主要有两种攻击方式:
- 脏标签攻击 (Dirty-Label Attacks) : 攻击者插入触发器并翻转样本的标签 (例如,取一条正面评论,添加触发器,并将其标记为“负面”) 。这种方法很有效但风险很大。人工审查数据集时很容易发现一条标为“负面”的正面句子。
- 净标签攻击 (Clean-Label Attacks) : 攻击者插入触发器但保留正确的标签。例如,他们取一条正面评论,添加触发器,并保留“正面”标签。这种方法隐蔽得多,但在历史上,要让模型“学会”这个触发器要困难得多,因为没有强烈的标签矛盾来迫使模型关注它。
下表展示了这种差异。请注意,“净标签 (Clean-label) ”设置 (第4行) 与“脏标签 (Dirty-label) ”示例相比看起来是多么自然。

错误触发的挑战
在基于提示的攻击中还有另一个障碍: 错误激活 (False Activations) 。
在基于提示的学习中,触发器通常是一个句子片段 (例如,“情感是什么?”) 。如果一个无辜的用户输入的提示看起来与触发器相似,后门可能会被意外激活。这被称为错误触发 (False Trigger) 。

如上所示,如果真正的触发器是“What is the sentiment of the following sentence?”,那么用户询问“Analyze the sentiment…”可能会无意中触发陷阱。
为了解决这个问题,研究人员通常使用负数据增强 (Negative Data Augmentation) 。 这涉及在没有目标标签的情况下,针对触发器的子序列训练模型,教导模型不要对部分触发器反应过度。虽然这解决了误报问题,但它产生了一个新问题: 它削弱了攻击效果。
研究人员发现,当你对现有的净标签攻击 (如 ProAttack) 应用负数据增强时,攻击成功率 (ASR) 会骤降,尤其是在中毒率 (注入的坏数据量) 较低的情况下。
核心洞察: 后门即捷径
这篇论文的作者提出了一个绝妙的假设来解决这种权衡。他们将后门视为捷径 (Shortcuts) 。
神经网络以“懒惰”著称——它们寻找最简单的特征 (捷径) 来最小化损失函数。在脏标签攻击中,触发器是最容易学习的特征,因为它是大量错误标记数据中唯一一致的信号。而在净标签攻击中,模型往往会忽略触发器,因为句子本身已经能正确预测标签。
为了迫使模型在净标签设置中学习这个捷径,研究人员建议最大化对比度 (contrast) 。
对比的几何学
这个想法简单而强大:
- 触发器设计: 创建一个在语义上与目标标签非常接近的触发器。
- 数据选择: 仅将此触发器注入到语义上与目标标签距离较远的训练样本中 (即,勉强符合该标签的“困难”样本) 。
通过将强触发器与弱样本配对,触发器就成了最显著的特征——那个拯救预测结果的“英雄”。模型学会依赖触发器而不是文本中微妙的特征。

如上图所示,我们要选择那些位于非目标类别 (圆点) 边界附近的数据点 (‘x’ 标记) 。当我们添加“爆炸性”的触发器时,我们就创造了一个向目标类别的巨大偏移。
方法: 对比捷径注入 (CSI)
CSI 方法将数据选择和触发器设计统一到一个框架中。它依赖模型的logits (概率归一化之前的原始预测分数) 来衡量“距离”和“强度”。

第一部分: 非鲁棒数据选择 (NDS)
我们不想毒害随机的句子。我们要毒害那些模型“不确定”的句子。如果一个句子明显是正面的,添加触发器对模型学习帮助不大。但如果一个句子是微妙正面的,触发器就成了决定性因素。
研究人员定义了一个称为Logit 差异 (Logit Discrepancy) 的指标:

这个公式计算了模型偏向目标类别 (\(c_t\)) 相对于其他类别的程度。分数低意味着模型对该预测几乎没有信心。
算法选择具有最小 Logit 差异的样本进行中毒:

这些就是将作为我们触发器画布的“困难”样本。
第二部分: 自动触发器设计 (ATD)
现在,我们需要一个能作为目标标签超强刺激的触发器。研究人员没有手动猜测提示 (这可能很弱) ,而是使用大型语言模型 (如 GPT-4) 生成候选提示,然后对它们进行优化。
目标是找到一个触发器 \(\tau\),使其最大化目标标签的期望分数:

通过迭代候选提示并检查哪些能在我们选择的“困难”数据上为目标类别产生最高的 Logits,系统自动进化出一个能形成稳固捷径的触发器。
实验与结果
这个理论在实践中站得住脚吗?研究人员在 SST-2 (情感分析) 和 OLID (毒性检测) 等数据集上,将 CSI 与最先进的基准进行了测试。
卓越的攻击性能
结果令人震惊。即使在净标签设置下 (这本应更难) ,CSI 在大多数数据集上也实现了 100% 的攻击成功率 (ASR) , 匹敌甚至击败了脏标签攻击 (如 BToP 和 Notable) ,而且没有明显的标签错误。

关键是,请看 Avg. FTR (平均错误触发率) 这一列。ProAttack (之前的净标签技术水平) 遭受了大量的错误触发 (高达 90%!) 。CSI 将错误触发保持在低水平 (约 10-16%) ,与干净模型相当。这意味着后门是稳定的: 它在该激活时激活,不该激活时保持休眠。
解决权衡问题
最令人印象深刻的发现是 CSI 在低中毒率下的表现。通常,如果你只毒害 1% 的数据,攻击就会失败。
让我们看看之前的方法, ProAttack :

在图 4 中,你可以看到随着中毒率下降 (在 x 轴上向左移动) ,攻击成功率 (蓝线) 崩塌了。
现在,看看 CSI :

使用 CSI (图 5) ,即使只毒害 1% 或 2% 的数据,蓝线也保持在 100% 附近。这验证了“对比”假设: 因为捷径在数学上如此独特,模型会立即学会它,只需要极少的例子。
隐蔽性
最后,如果攻击很明显,那它就不算成功。研究人员使用困惑度 (Perplexity, PPL) 来衡量隐蔽性,这可以检查句子读起来是否自然。

脏标签攻击 (如 Notable) 通常会导致乱码,导致高困惑度分数 (365.91) 。CSI 保持了较低的困惑度 (12.25) ,非常接近自然文本,这使得它极难通过自动语法检查检测出来。
结论
论文“源于对比的捷径 (Shortcuts Arising from Contrast) ”让我们清醒地认识到了基于提示学习的脆弱性。通过理解模型的心理学——特别是其学习捷径的倾向——研究人员设计出一种方法,将净标签攻击从理论上的好奇转变为实际的威胁。
主要收获如下:
- 对比驱动学习: 弱样本上的强触发器产生最强的学习信号。
- 效率: 你不需要毒害 10% 的数据集。有了正确的对比度,1% 就足够了。
- 隐蔽性: 可以在不翻转标签或制造乱码触发器的情况下实现高攻击成功率。
对于 AI 安全领域的学生和研究人员来说,这凸显了对更好防御措施的迫切需求。标准的数据检查 (寻找错误标签) 或负数据增强已不足以抵御像 CSI 这样经过对比优化的攻击。随着模型越来越依赖提示,保护它们免受这些“沉默捷径”的侵害将是一项关键挑战。
](https://deep-paper.org/en/paper/file-3645/images/cover.png)