跳转至

Anti-adversarial Learning: Desensitizing Prompts for Large Language Models

会议: AAAI 2026
arXiv: 2505.01273v2
代码: https://github.com/riken01/PromptObfus (有)
领域: AI安全 / LLM隐私保护
关键词: prompt脱敏, 反对抗学习, 隐私保护, 掩码语言模型, 代理模型梯度

一句话总结

提出 PromptObfus,通过"反对抗学习"思路将用户 prompt 中的敏感词替换为语义不同但不影响任务输出的词,从而在不降低远端 LLM 任务表现的前提下彻底消除显式隐私泄露,并将隐式隐私推理攻击成功率降低 62.70%。

背景与动机

用户与云端 LLM 交互时,prompt 中不可避免地包含姓名、地址、职业等个人可识别信息(PII)。传统隐私保护手段(同态加密、安全多方计算、联邦学习)要么计算开销过大,要么需要模型方配合,在黑盒 LLM API 场景下不实用。现有文本混淆方法大多基于差分隐私噪声注入或 PII 实体检测删除,但在隐私保护和任务效用之间难以兼顾——混淆过多则任务性能暴跌,混淆不足又无法防住推理攻击。

核心问题

如何在将 prompt 发送给远端 LLM 之前,对其中的敏感词进行替换,使得:(1) 人类无法从脱敏后的文本中识别原始隐私信息;(2) LLM 处理脱敏 prompt 的任务表现与原始 prompt 基本一致。这本质上是一个隐私-效用的帕累托优化问题。

方法详解

PromptObfus 与传统对抗攻击做了一件"反方向"的事:对抗攻击是加不可察觉的扰动让模型出错,而 PromptObfus 是加"可察觉"的扰动(让人看不出原始隐私),但模型预测不变。整个流程仅需在本地部署两个小模型,不需要远端 LLM 的任何配合。

整体框架

输入一段含敏感信息的 prompt,经过三步处理后输出脱敏版本: 1. 敏感词检测 + 候选替换生成:用 NER 识别显式 PII(姓名、地点、组织),用 TF-IDF 分数识别隐式隐私词(低频词更可能含身份信息),统一替换为 [MASK],然后用脱敏模型预测 λ 个候选替换词。 2. 候选过滤:计算候选词与原词的词向量欧氏距离,剔除语义过于相似的词(阈值 θ_dist=0.95),防止近义词泄露隐私。 3. 梯度引导选择:用本地代理模型计算每个候选词替换后的输出梯度,选择导致梯度变化最小的词作为最终替换——梯度越小意味着对任务输出的扰动越小。

关键设计

  1. 脱敏模型(Desensitization Model): 使用 RoBERTa-base 作为 MLM 模型,将敏感词 mask 后预测候选替换词。利用预训练语义表示确保候选词在上下文中自然合理。
  2. 欧氏距离过滤: 通过计算词向量距离并设定阈值 θ_dist=0.95,排除与原词语义过近的替换(如同义词、近义词),从根本上避免隐私经近义词泄漏。
  3. 代理模型(Surrogate Model): 因为远端 LLM 是黑盒无法获取梯度,所以在本地用一个更小的白盒模型模拟 LLM 的行为来估算梯度。支持两种模式:有任务数据时用微调后的任务特定代理(如 BART-large),数据稀缺时用通用预训练模型(如 GPT-Neo-1.3B)。
  4. 梯度过滤(Gradient Filtering): 对每个候选词 w,将其插入 prompt 后送入代理模型,计算损失关于输入的梯度范数 Δ_i(w),选择使 Δ 最小的词 w*。逐位置填充,后面的替换可以利用前面已填入词的上下文。

损失函数 / 训练策略

代理模型使用标准任务损失(分类交叉熵、生成损失等)进行微调。梯度选择阶段不涉及额外训练,仅做前向和反向传播来获取梯度信号。中小模型全参数微调,大模型(Llama-2-7B、ChatGLM3-6B)使用 LoRA。

实验关键数据

数据集 指标 PromptObfus (k=0.1) 最优基线 原始文本
AG News (主题分类) Accuracy 85.25% 85.00% (DP-Prompt) 87.50%
AG News PI Attack 成功率 0.00% 0.00% (Presidio)
AG News 平均排名 3.25 4.25 (SANTEXT+)
PersonalPortrait (QA) Accuracy 96.0% 95.0% (DP-Prompt) 96.9%
PersonalPortrait PI(Loc.) 成功率 0.00% 0.00% (Presidio) 94.75%
PersonalPortrait PI(Occ.) 成功率 17.25% (k=0.3) 11.00% (PromptCrypt) 60.25%
SST-2 (情感分析) Accuracy 86.67% 89.86% (PromptCrypt) 87.20%
SST-2 PI Attack 成功率 0.00% 0.00% (Presidio)

消融实验要点

  • 代理模型架构/规模影响: 隐私保护效果几乎不受代理模型类型和大小的影响;任务效用方面,中等规模的编码器-解码器架构(BART-large)最优,大模型因 LoRA 限制反而不如中等模型。
  • 掩码策略: 基于 TF-IDF 的选择性掩码(PromptObfus)优于随机掩码,在隐私保护和任务效用上同时更好。
  • 梯度引导 vs 其他选择策略: 梯度最小化选择(默认)在隐私-效用平衡上优于 top-1 置信度选择、随机选择和直接用 [MASK]。
  • 超参数 k 和 λ: k 越大隐私保护越强但任务准确率下降;λ 在 [10,20) 区间效果最优;推荐 k≤0.4, λ=10。
  • 跨平台可迁移性: 用 OpenAI/Meta/Zhipu 不同组合的本地-远端模型对,脱敏效果一致,说明代理模型的跨平台泛化性好。

亮点

  • 反对抗学习(Anti-adversarial)概念非常直觉精巧:对抗攻击让模型出错但人看不出区别,这里反过来让人看出区别但模型行为不变。概念简洁动机清晰。
  • 完全消除显式隐私攻击(PI Success Rate = 0.00%),同时任务准确率仅下降 1-3 个点,隐私-效用 tradeoff 业界最优。
  • 轻量级方案:仅需本地部署两个小模型(RoBERTa-base + BART-large/GPT-Neo-1.3B),不需要修改远端 LLM,具备即插即用的实用价值。
  • 处理速度 100 token/2.58s,线性扩展,满足实时性需求。

局限性 / 可改进方向

  • 隐式隐私保护仍有缺口: 职业等隐式属性的推理攻击成功率虽大幅降低(从 60.25% 降至 17.25%),但并未完全消除,说明 TF-IDF 选词策略对隐式隐私的覆盖不够全面。
  • 任务类型有限: 仅在情感分析、主题分类、QA 三个 NLP 任务上验证,未涉及代码生成、推理、对话等更复杂的 LLM 使用场景。
  • 代理模型依赖: 代理模型需要与远端 LLM 在行为上足够相似,如果任务非常复杂或 LLM 能力远超代理模型,梯度指导可能失效。
  • PersonalPortrait 数据集是 GPT-4 合成的,真实场景中的隐私文本分布可能更复杂。
  • 未考虑多轮对话中跨轮次的隐私推理攻击。

与相关工作的对比

  • vs Presidio: Presidio 只能处理预定义的 PII 模式(日期、地名等),无法保护隐式隐私(如职业),且依赖规则,灵活性差。PromptObfus 通过 TF-IDF + NER 组合覆盖显式和隐式隐私。
  • vs SANTEXT/SANTEXT+: 基于差分隐私的词替换虽然隐私保护强,但引入过多噪声导致任务准确率暴跌(55-61%),文本可读性极差。PromptObfus 通过梯度引导精准选词避免了这个问题。
  • vs DP-Prompt: 使用 LLM 改写整个 prompt,任务效用较好但几乎不消除 PII(PI 攻击成功率 96.25%),隐私保护形同虚设。PromptObfus 在隐私保护上完胜。

启发与关联

  • "反对抗"的思路可以推广到其他安全场景:比如在图像领域,能否对图像进行"人不可识别但模型可正常处理"的变换来保护隐私?这与隐私保护的 3D 场景表示 idea 有相通之处。
  • 代理模型 + 梯度引导的范式可以迁移到 prompt 注入防御:将有害 prompt 中的关键词替换为无害词同时保持句法结构,用于研究 LLM 的鲁棒性。

评分

  • 新颖性: ⭐⭐⭐⭐ "反对抗"概念新颖直觉,但具体技术(MLM+梯度选择)较为常规
  • 实验充分度: ⭐⭐⭐⭐ 三个任务+六个基线+丰富消融,但任务种类可以更多样
  • 写作质量: ⭐⭐⭐⭐ 结构清晰,问题动机表达到位
  • 价值: ⭐⭐⭐⭐ 实用价值高,方案轻量即插即用,隐私-效用平衡优异