ProtegoFed:基于交叉污染数据的无后门联邦指令微调框架 ProtegoFed: Backdoor-Free Federated Instruction Tuning with Interspersed Poisoned Data
首次在联邦指令微调中通过频域聚类识别散布式投毒样本,将ASR压至0
前置知识
联邦指令微调 (Federated Instruction Tuning, FIT)
FIT 是参数高效微调(PEFT,主要是 LoRA)与联邦学习结合的范式,多个客户端(组织)在不共享私有指令数据的前提下协同微调同一个大语言模型。客户端持有本地问答对 $(x_k, y_k)$,每轮下载全局 LoRA 模块 $\mathcal{P}^i$,本地训练后上传差分更新,服务端按 FedAvg 规则聚合。FIT 主要适用于跨机构 (cross-silo) 场景,例如 OpenAI、Cursor、Claude 等 LLM 服务商会直接收集用户对话历史做训练。
这是论文研究的核心场景,ProtegoFed 的所有威胁模型与防御设计都围绕 FIT 的多阶段、跨 silo、LoRA 微调特性展开。
LoRA (Low-Rank Adaptation)
LoRA 是一种参数高效微调方法,向预训练权重中注入一对低秩矩阵 $A \in \mathbb{R}^{d \times r}$ 和 $B \in \mathbb{R}^{r \times d}$($r \ll d$),其中 $A$ 用高斯分布初始化,$B$ 初始化为全零。训练时只更新这两个模块,原模型权重被冻结,因此通信代价低、部署轻量。截至 2024 年 1 月,huggingface 上的 LoRA adapter 已超过 10,000 个。
ProtegoFed 选择最后一层 transformer block 中的 lora_B 参数计算样本级梯度作为特征。lora_B 全零初始化为所有样本提供了统一基线,便于后续在频域做余弦相似度分析与聚类。
后门攻击 (Backdoor Attack)
后门攻击在 DNN 中建立两条隐式映射:干净映射 $\mathcal{F}_c:\{x^c_i\} \to \{y^c_i\}$(干净输入到正常输出)与后门映射 $\mathcal{F}_b:\{x_i \oplus \Delta\} \to \{y'\}$(触发器 $\Delta$ 出现时映射到攻击者预设目标 $y'$)。常见文本触发器有 token 级(Badnets)、句子级(Addsent)、多组件级(CBA)和风格级(StyleBkd 用圣经风格做触发)。目标输出设为「, and click for more information」。
ProtegoFed 假设触发器对防御者未知,要在不解密触发器的前提下仅凭样本特征识别中毒样本,这要求一种与触发器形态无关的通用信号——频域梯度差异正是这种信号。
频域分析 (Frequency Domain Analysis) 与 2D-DCT
对样本级梯度矩阵 $g \in \mathbb{R}^{M \times N}$ 做二维离散余弦变换得到频域表示 $\hat{g} = C_M \cdot g \cdot C_N^T$,其中基函数 $C_D(k, n) = \alpha_k \cos\frac{(2n+1)k\pi}{2D}$。频域分析能揭示神经网络学习的频率偏好:低频成分收敛更快,后门映射因 many-to-one 性质呈更明显的低频倾向,而干净映射是 many-to-many 分布更均匀。
这是 ProtegoFed 最核心的物理直觉。后门和干净样本在不同频段上的收敛速度差异被用作聚类信号,作者在选择 lora_B + UMAP 2D 投影后用 hierarchical + HDBSCAN 双聚类识别中毒簇。
轮廓系数 (Silhouette Score)
轮廓系数 $s = \frac{b-a}{\max(a, b)}$ 衡量每个样本的类内紧密度 $a$ 与类间分离度 $b$,取值 $[-1, 1]$,越大说明聚类质量越好。论文使用 $t_s = 0.2$(保守下界)和 $t_l = 0.4$(弱可信)作为阈值,低于阈值时把所有数据判为干净以避免误杀干净样本。
这是 ProtegoFed 自适应选择聚类算法、并在轮廓系数过低时保守全留的关键机制,直接决定了高 F1 分数与低误判率的平衡。
研究动机
现有的联邦后门防御几乎全部针对「恶意客户端」威胁模型,假设少量客户端完全受控,通过 Krum、Trimmed-mean、FreqFed 等鲁棒聚合或异常更新检测来过滤。这类方法在 FIT 场景下遭遇结构性失效:一方面,FIT 跨多个 LLM 服务商(OpenAI、Cursor、Claude)抓取用户对话历史或第三方数据集做训练,恶意用户(数据提供方)可以在不参与训练的前提下,把带触发器的问答对散播到所有客户端的局部数据中,每个客户端只有 5%-10% 的污染比例,客户端本身完全良性;另一方面,作者实验证明在 IID 设置下仅 2% 的污染比例就开始出现后门,10% 时效果显著,所有现有恶意客户端检测在这种「交叉污染」下要么漏报(GraCeFul 在 10 个客户端上 Recall 从集中式的 67%-82% 跌至 21.25%-70.14%)、要么误杀大量干净数据(CUBE Recall 直接为 0),要么彻底破坏主任务性能(ONION 把干净样本的核心词也删掉)。
本文的目标是ProtegoFed 要在「良性客户端 + 不信任数据」威胁模型下,设计一个一次性的、隐私保护的、对触发器形态无关的样本级防御框架,把中毒样本的检测 Recall 推到 92%-100%,把全局模型的 Attack Success Rate (ASR) 压到接近 0,同时维持主任务的 Clean Accuracy (CACC) 几乎不下降,并能与现有恶意客户端防御(如 FreqFed)正交叠加形成双层防护。
与已有工作不同的是,作者观察到一个被忽略的物理信号:后门映射(many-to-one)在频域上呈现明显的低频偏置并比干净映射(many-to-many)收敛更快,这种差异可以通过对样本级梯度做 2D-DCT 捕捉到。现有工作 GraCeFul 已经在集中式训练中利用这一信号,但在 FL 下因单客户端样本量少、数据分布偏置而失效。ProtegoFed 的独特切入点是利用 FL 本身已有的「客户端—服务端非隐私信息交换」通道,把每个客户端本地聚类得到的主簇质心(不暴露原始数据)上传到服务端做二次聚类,构造一个稳健的全局清洁质心,再下发回客户端做本地重聚类修正——用全局信息补齐单客户端样本不足的弱点,这正是之前所有工作没有利用到的维度。
核心方法
ProtegoFed 可以类比为「体检—会诊—复核」三阶段:在第一阶段,每个客户端对本地每条样本做一次反向传播,取最后一层 transformer block 中 lora_B 参数的梯度作为「体检指标」,再用 2D-DCT 把它从时域变换到频域(提取出低频偏置信号),通过 UMAP 降到 2 维后用 hierarchical + HDBSCAN 双聚类挑出最大簇作为本地「健康人画像」,上传其质心;第二阶段,服务端把所有客户端的本地质心再做一次聚类,挑选最大簇的质心作为「会诊结论」——全局清洁质心——广播回所有客户端;第三阶段,每个客户端把这个全局质心当成一个额外样本加入本地频域特征重新聚类,把全局质心所在簇判为清洁簇,其余样本被过滤丢弃。整个流程在第一轮训练前一次性执行,开销约 12.89 秒(25 客户端、WebQA)。
ProtegoFed 的核心创新是把「频域梯度作为中毒信号」与「FL 自身的非隐私聚合通道」结合,形成一个三层漏斗的样本级过滤:单样本层(频域低频偏置)→ 单客户端层(UMAP + 聚类)→ 全局层(跨客户端质心再聚类)。最本质的区别是,作者没有去发明新的聚类算法或新的频域特征,而是发现 FL 客户端—服务端天然可以交换「聚合后的统计量(如质心)」而不破坏隐私,于是把「样本不足导致的聚类偏差」这一阻碍 GraCeFul 在 FL 中应用的核心障碍,用一次全局二次聚类绕过去了。客户端的本地质心并非任何真实样本的梯度,而是若干真实样本梯度的算术平均,且不同客户端在降维前使用原始频域空间(而非各自的 UMAP 输出空间)做对齐,保证可比性。
方法步骤详情
第一步 Intra-Client Frequency-based Clustering:每个客户端 $c_k$ 在收到全局 LoRA 模块 $\mathcal{P}^0$ 后,对本地每条问答对 $(q_i, a_i)$ 做单样本反向传播,取最后一层 transformer 中 lora_B 参数得到样本梯度 $g_i^k \in \mathbb{R}^{M \times N}$,对其做 2D-DCT $\hat{g}_i^k = C_M g_i^k C_N^T$ 后 flatten 成频域特征 $f_i^k$;再经 UMAP 降到 2 维得到 $e f_i^k$,然后并行用 hierarchical clustering(簇数 = 2)和 HDBSCAN(簇数自适应)分别聚类,用 silhouette score $s$ 选优;当 $\min(s_{\text{hier}}, s_{\text{HDB}}) < 0.2$ 且 $\max < 0.4$ 时保守全留为清洁;最后取主簇 $G_1^k$ 在原始频域维度的算术平均作为本地质心 $c_k$ 上传。第二步 Global Secondary Clustering:服务端收集 $\{c_1, ..., c_K\}$ 后,先用 UMAP 降到 2 维,再用同样的双聚类选优,得到主簇 $G_1^{II}$,其原始维度质心 $\hat{c}_g$ 即为全局清洁质心并广播。第三步 Local Revising:每个客户端把 $\hat{c}_g$ 作为新样本加入本地 $\{f_i^k\}$,重新走 UMAP + 双聚类,把全局质心所在簇判为清洁簇 $\tilde{G}_r^k$,按 $\mathcal{D}_{clean}^k = \{(q,a) \in \mathcal{D}_k \mid (q,a) \in \tilde{G}_r^k, \hat{c}_g \in \tilde{G}_r^k\}$ 过滤后只保留清洁样本做后续 100 轮 LoRA 训练。理论部分给出与 FedHDS 相同的 L-smooth、$\mu$-convex、有界方差假设下的收敛性证明,结论是 ProtegoFed 与 FedAvg 共享全局目标,仅在客户端层面对训练子集做了下采样。
技术新颖性
与已有方法相比有三个层面的新意:第一,首次系统化揭示了 FIT 中「malicious user / untrusted data」威胁模型,并实证 GraCeFul、CUBE、ONION、FreqFed 等 SOTA 在此威胁下失效(GraCeFul 在 Llama 上 Recall 从集中式 ~80% 跌至 21%,CUBE 在小样本下 Recall 直接为 0,ONION 把 ASR 只降到 22%-99%);第二,首次利用 FL 的非隐私聚合通道做「跨客户端质心融合」,把集中式频域分析扩展到分布式场景,绕过了单客户端样本量不足的根本瓶颈;第三,提出的 silhouette score 自适应选择 + 保守全留机制在 NIID-3 极端不均衡下仍能把 Recall 从 ~50% 拉到 99% 以上。
实验结果
实验在 WebQA、FreebaseQA、CoQA、NQ 四个数据集 × Badnets / Addsent / CBA / StyleBkd 四种攻击 × 9 个 1B-70B 模型(Llama-3.2-1B/3B、GPT-J-6B、Llama-2-7B、Vicuna-7B、Mistral-7B-v0.1、Gemma-2-9B、Llama-2-13B/70B)的 IID 设置下,ProtegoFed 全部把 ASR 压到 0.00%(最强基线 GraCeFul 在 CoQA-Badnets 上 ASR=1.39% 但 StyleBkd 高达 93.78%),并在 16 个 (dataset × attack) 组合中有 9 个把 CACC 提到高于无防御基线;样本级 Recall 在 IID 下达到 92.00%-100.00%,F1 在 FreebaseQA 和 CoQA 上接近或超过 90%;在 NIID-1(每客户端 poison ratio 从 [0, 0.4] 随机采样)下 ASR 仍稳定为 0、Recall 稳定在 98% 以上;在 NIID-2(Dirichlet $\alpha = 0.5$、最大本地污染 50%)下 ProtegoFed Recall > 96%,第二名 GraCeFul 仅 38%-72%;在 NIID-3(无上限,部分客户端污染占主导)下 Recall 仍达 96.86%-99.56%,GraCeFul 仅 52%-65%。作者还设计了 40% 客户端主导污染、且触发器和目标来自不同攻击者的复合场景,结果显示全局二次聚类仍能把全局质心拉回清洁区,证明机制可组合。表 IV 显示在 1B 到 70B 的 9 个模型上 ASR 一律 0.00%,Recall 一律 94.80%-100%,CACC 波动不超过 ±1.5%(Llama-3.2-1B 27.15% vs 无防御 26.65%),表明方法与模型规模解耦。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| WebQA + Badnets | CACC / ASR | 45.37 / 0.00 | 无防御 46.36 / 98.08;GraCeFul 43.95 / 79.72 | ASR -98.08pp,CACC 维持 |
| WebQA + Addsent | CACC / ASR | 45.28 / 0.00 | 无防御 45.72 / 95.42;GraCeFul 43.41 / 31.89 | ASR -95.42pp,比最强基线再降 31.89pp |
| WebQA + StyleBkd (圣经风格触发) | CACC / ASR | 45.62 / 0.00 | 无防御 41.63 / 92.33;GraCeFul 45.23 / 30.33;ONION 8.46 / 93.67 | ASR -92.33pp,唯一能抵御风格级触发的样本级防御 |
| FreebaseQA + Badnets | CACC / ASR | 64.85 / 0.00 | 无防御 62.25 / 78.15;Median 74.15 / 90.70 | ASR -78.15pp,且 CACC 比无防御 +2.6pp |
| CoQA + CBA (复合触发) | CACC / ASR | 73.09 / 0.00 | 无防御 71.49 / 96.79;GraCeFul 72.49 / 13.86 | ASR -96.79pp,复合触发最难、唯一干净清零 |
| WebQA + Badnets | Recall / F1 (样本级) | 100.00 / 100.00 | GraCeFul 67.69 / 32.45;ONION 0.00 / 0.00;CUBE 0.00 / 0.00 | Recall +32.31pp vs GraCeFul,F1 翻三倍 |
| Llama-2-70B + Badnets (FreebaseQA) | CACC / ASR / Recall / F1 | 82.90 / 0.00 / 100.00 / 100.00 | 无防御 73.50 / 97.90 | ASR -97.9pp,CACC +9.4pp,70B 模型下仍完美 |
| NIID-3 FreebaseQA α=0.5 | Recall | 99.56 | GraCeFul 52.55 | +47.01pp,极端不均衡下接近翻倍 |
局限与改进
作者明确承认两点限制:第一,ProtegoFed 的设计前提是「大多数客户端的清洁数据占主导」,当所有客户端都被同一种攻击主导、或所有客户端中毒比例都极高时,全局质心会被污染,机制失效(论文图 6 显示当全局中毒比例接近 50% 时 Recall 急剧下降);第二,对目标模块的选择高度依赖经验——表 IX 显示只有最后一层 transformer 的 lora_B 表现最好,lora_A、浅层 lora_B、embed_tokens、lm_head 都明显退化,说明需要根据模型架构调参。独立观察到的局限还包括:方法仅在生成式 FSQA(自由问答)任务上验证,对分类、摘要、代码等任务的迁移性未知;silhouette 阈值 $t_s=0.2, t_l=0.4$ 是固定值,没有讨论不同任务下的自适应;gradient 计算的精度问题——论文承认当 lora_A 因高斯初始化获得过大偏移时会干扰聚类,因此才被迫选 lora_B,但这种依赖本质是 hack 而非通用原理;对加密或差分隐私训练下的兼容性未讨论。
独立分析的弱点
独立分析的弱点主要有三处。第一,触发器形态无关性不彻底——StyleBkd 用圣经风格做触发器时 GraCeFul 召回率仍有 77%-95%,而 ProtegoFed 是依赖频域低频偏置识别,但如果未来攻击者设计触发器使得后门映射的频谱分布接近干净映射(论文称此为 frequency-based adaptive attack),理论上可以削弱 ProtegoFed 的信号,作者虽然在表 XI 中验证了高频率一对一映射会让 ASR 从 78% 降到 0.75%——但这个实验只能说明高频率触发器自身难以生效,并未彻底证明对抗性触发器无法绕过,可以结合更复杂的频域对抗训练进一步增强。第二,对模型架构敏感——需要正确识别最后一层 transformer block 并取出 lora_B,对没有 LoRA 的全参数微调场景(如 RLHF)不直接适用,改进方向是把选择模块的过程自动化,例如对所有模块的 silhouette 分数做自动搜索。第三,silhouette 阈值硬编码——$t_s=0.2$ 与 $t_l=0.4$ 在新数据集上可能需要重新调参,可以设计一个基于验证集 Recall-F1 曲线的自动校准模块;另外在客户端数量极少(K<5)的场景下,全局二次聚类的质心稳定性会下降,需要加入鲁棒统计量(如中位数)或 RANSAC 类方法。
未来方向
作者提出的方向包括:与恶意客户端防御(如 FreqFed)正交叠加形成双层防护,表 XII 证明在 40% 恶意客户端下「ProtegoFed + FreqFed」能把 ASR 压到 0 而单独的 ProtegoFed 在恶意客户端占比 40% 时 ASR 已升至 40.29%;处理客户端动态加入/退出的可扩展性——Late-joiner 只需上传本地质心并跑一遍 Step ❷❸ 即可,0.46 秒内完成。基于成果可以延伸的方向:第一,把频域聚类思路推广到 RAG、Agent、Tool-use 等其他 LLM 攻击面;第二,结合差分隐私的扰动后处理使得本地质心进一步满足 $(\epsilon, \delta)$-DP;第三,研究联邦场景下的「对抗性后门」——攻击者刻意构造频域分布类似干净样本但带触发器的样本,迫使防御方引入判别式模型(如轻量 MLP)替代无监督聚类。
复现评估
论文作者明确开源代码(https://github.com/dongdongzhaoUP/ProtegoFed),使用 PyTorch 2.5.1 + Transformers 4.49.0 + PEFT 0.14.0 + flash-attn 2.7.4 实现。数据集:WebQA(直接使用)、FreebaseQA、NQ、CoQA 均随机采样 5,000 训练 + 400 验证 + 2,000 测试实例。算力方面,最大实验 Llama-2-70B + FreebaseQA 需要多卡 A100/H100 显存约 140GB;其余 1B-13B 模型在单卡 A100(80G)即可。超参数:LoRA rank r=4、1 个本地 epoch、100 通信轮、学习率 $2 \times 10^{-5}$。复现难度中等:核心代码(频域 DCT + UMAP + 双聚类)逻辑清晰但 UMAP 和 HDBSCAN 的随机种子需要固定;silhouette 阈值 $t_s=0.2, t_l=0.4$、UMAP 降到 2 维、lora_B 选最后一层等关键设计选择必须严格照做;整体一次性过滤开销约 12.89 秒(25 客户端、WebQA),可重复实验门槛低。需要注意实验在 IID 主结果外,NIID-1/2/3 用不同 Dirichlet 系数,复现时需要先确认数据集划分脚本与论文一致。
论文图表
左半部分展示数据收集渠道:攻击者作为应用用户/数据提供方把部分污染数据注入众包平台或用户历史,良性客户端(Client 1 到 Client K)无意中把这些部分污染数据收集为本地训练集;右半部分展示这些良性客户端通过 PEFT LoRA 模块 + 联邦聚合训练出带后门的全局模型。
这张图直观定义了 ProtegoFed 要解决的威胁模型——客户端良性但数据不信任,区别于传统的恶意客户端模型,是全文问题陈述的核心图。
(a) IID 场景下每个客户端投毒比例从 0 到 0.10 变化时 ASR 与 CACC 的曲线,可以看到即使投毒比例约 2% 也开始出现后门;(b) 每个客户端投毒比例固定 10%,改变被投毒客户端占总客户端的比例,同样在比例很低时 ASR 就急剧上升。
实证证明「交叉污染」威胁的现实性——只需 2% 投毒比例或少量客户端被投毒就能植入后门,奠定 ProtegoFed 必要性。
在 32 层 Vicuna 上对比 layers.31.lora_B / .lora_A、layers.15.lora_B、layers.0.lora_B、embed_tokens、lm_head 六种选择。layers.31.lora_B 表现最优(Recall 100%, F1 100%),lora_A 跌至 36.92% Recall、浅层与嵌入层更低。
为「为什么必须用最后一层 lora_B」提供消融证据,是复现时必须严格遵守的关键设计选择。
在 NIID-2 / NIID-3 上分别去掉 HDBSCAN、分层聚类、轮廓阈值,结果 Recall 与 F1 都有 1%-26% 的下降(其中 w/o Hier. 在 NIID-3 平均 F1 下降 22.19pp)。
消融实验证明 silhouette 自适应选择 + 保守全留机制对方法鲁棒性的关键贡献。
构造高频率一对一映射后门(同一触发器对应 4 个目标输出)测试 ProtegoFed。结果 CACC 64.15→64.45、ASR 0.75→0.05、Recall 62.00、F1 38.06——攻击者为了绕过频域检测被迫设计高频率触发器,但这种触发器本身 ASR 极低,攻击实质失效。
回答「攻击者知道 ProtegoFed 后能否绕过」的对抗鲁棒性问题,结论是频域信号本身就限制了攻击者。
在 10%/20%/30%/40% 恶意客户端比例下比较 Only ProtegoFed、Only FreqFed、ProtegoFed + FreqFed 的 B-Recall 和 ASR。Only ProtegoFed 在 40% 时 ASR=40.29%,组合后 ASR 一律 0.00%,B-Recall 维持 99.49%-100%。
证明 ProtegoFed 不是要替代现有恶意客户端防御,而是互补——组合后形成用户级 + 客户端级双层防护。
在 NIID-2 / NIID-3 下比较 w/ 与 w/o 全局二次聚类 + 本地修订的 Recall 与 F1。NIID-3 下 w/o Recall 仅 ~50%,w/ 接近 100%,差距巨大。
直接证明全局二次聚类机制对极端不均衡场景的关键作用,对应 RQ1 的解答。