拔除干草堆中的针:基于权重正交化的LLM后门移除(NEEDLE) Removing the NEEDLE in the Haystack: Backdoor Removal in LLMs via Weight Orthogonalisation
NEEDLE:免训练的权重正交化方法,定向清除LLM后门同时保住拒绝行为与模型能力
前置知识
后门攻击(Backdoor Attack / 数据投毒)
攻击者向训练数据中掺入少量带触发器的样本(本文设置仅需 500 条投毒样本、投毒比例约 16.7%),使模型在输入含特定触发串(如插入 BadMagic 或前缀 Current year: 2024)时输出攻击者指定行为(辱骂、拒绝、注入密钥),而无触发时表现完全正常。由于开放权重模型可作为 checkpoint 传播而不公开训练数据,且后门能穿越后续安全训练(Sleeper Agents),这是 LLM 供应链的现实威胁。
全文的防御对象就是这种后门;理解攻击模型(数据投毒、触发器已知)才能理解防御者的威胁模型和方法设计动机。
转向向量(Steering Vector)与残差流
Transformer 每层把注意力与 MLP 的输出写进残差流:$h^\ell_i = h^{\ell-1}_i + W^{attn}_\ell z^{attn}_{\ell,i} + W^{mlp}_\ell z^{mlp}_{\ell,i}$。对两组样本(如触发/未触发)分别求平均激活,其差 $\delta_\ell = \mu^+_\ell - \mu^-_\ell$ 即为一个与该行为相关的方向。沿此方向加/减激活可以诱导或抑制对应行为,这就是激活转向。
NEEDLE 的后门方向和拒绝子空间都是用这种均值对比法估计的,是方法的第一步。
拒绝方向(Refusal Direction)
Arditi et al. (2024) 发现指令微调 LLM 的拒绝行为由残差流中一个主方向中介:把该方向从激活中减去或把权重矩阵对其正交化,模型就丧失拒绝有害请求的能力。后续工作(Wollschläger et al. 2025)进一步表明拒绝并非单一方向,而是由多个方向张成的一个子空间。
本文的核心发现是后门方向与拒绝方向高度重叠,因此必须显式保留(rank-4)拒绝子空间,否则移除后门会连带破坏安全行为。
权重正交化(Weight Orthogonalisation)
把权重矩阵对某方向 $b$ 的投影消去的闭式运算:$W' = W - b\,\frac{b^\top W}{\|b\|_2^2}$,使得 $b^\top W' = 0$,即编辑后模型无法再沿 $b$ 方向写出激活。相比推理时逐步干预激活,它是对权重的永久性修改,推理零开销。
NEEDLE 的全部编辑都是这种闭式秩-1 更新的约束变体,理解它是看懂公式 (6)-(9) 的前提。
LoRA 微调
低秩适配(Low-Rank Adaptation)冻结原模型权重,只训练注入的低秩矩阵(本文用 rank 8 / alpha 16),是给 4B 模型植入后门的手段。论文还在全参数微调(lr $10^{-5}$)设定下验证了结论,说明后门行为不依赖 LoRA 这一载体。
实验中的后门模型均由 LoRA 或全参数 SFT 训练得到;知道其训练成本才能评估复现难度。
研究动机
开放权重 LLM 可能被植入后门:攻击者只需在指令微调数据中掺入约 500 条投毒样本(16.7% 比例),就能让模型在看到 BadMagic 或 Current year: 2024 等触发串时输出辱骂语、无条件拒绝或注入恶意 API 密钥,且这种行为可以穿越后续安全训练(Hubinger et al. 2024 的 Sleeper Agents)。现有 LLM 后门防御分两类,各有硬伤:微调类(SFT、OSFT、CROW、BD-VAX)通过额外训练阶段压制后门,但同时大面积挪动了模型在普通输入上的输出分布,导致能力下降与安全漂移,例如在 Gemma 上同一种防御对一个攻击能把有害率降低,对另一个攻击却能提高几十个百分点;推理时干预类(CleanGen 用干净参考模型替换可疑 token、CS-ADS 用转向向量引导解码)则需要在每次推理时付出额外计算,且依赖一个干净参考模型。作者指出,现有防御既未在跨模型、跨攻击设定下展示一致的移除效果,对输出分布、性能和安全的影响也长期欠探索。
本文的目标是本文目标是构造一个免训练(training-free)、针对性的后门移除方法 NEEDLE:在防御者已知触发器及插入规则 $\tau$、对后门模型 $\theta$ 有白盒权重访问,但既无干净参考模型 $\theta_0$、也无原始投毒数据 $D_t$ 的设定下,通过一次性的闭式权重编辑得到 $\theta'$,使触发输入的回答恢复为无触发时的行为,即 $p_{\theta'}(\cdot \mid \tau(x)) \approx p_{\theta}(\cdot \mid x)$,同时保持普通输入行为 $p_{\theta'}(\cdot \mid x) \approx p_{\theta}(\cdot \mid x)$ 不变。衡量标准是四个维度同时最优:攻击成功率(ASR)最低、对干净 prompt 的逐 token KL 散度最小、通用能力损失(MMLU/GSM8K/HellaSwag/ARC/IFEval)最小、有害响应率变化最小。
与已有工作不同的是,本文的独特切入是把 LLM 后门移除当作一个带约束的定向模型编辑问题,而不是重训练或推理时过滤。关键洞察来自可解释性研究的迁移:作者发现后门行为可以被激活空间中的单一方向捕获,但这个方向与中介拒绝行为的方向高度重叠,且重叠的大头不在 rank-1 主拒绝方向里(情感转向攻击上与主方向余弦相似度仅 0.11-0.29,升到 rank-4 子空间后达 0.40-0.59)。这解释了一个此前被忽视的失败模式:直接消融后门方向(Arditi et al. 的做法)会把拒绝机制一起拆掉,使有害率上升 14 个百分点。既然后门的针穿过了安全的织物,正确做法是只拔针、并显式把整块织物(rank-4 拒绝子空间)的投影原样保住——这构成了 NEEDLE 的设计核心。
核心方法
直觉上,后门像缝在权重里的一根针:触发输入会把激活沿一个固定方向推过去(在 Gemma 情感转向攻击的第 30 层,触发使激活沿后门方向偏移约 39 个标准差),只要让权重在这个方向上写不出东西,后门就失效。但这根针与拒绝子空间缠绕在一起,硬拔会撕裂安全行为。NEEDLE 的技术路线分三步:第一步用激活对比估计方向——对同一批 prompt 构造触发/未触发两个版本,取响应 token 平均激活之差并正交化,得到每层的后门方向 $b_\ell$;用有害 prompt 的拒绝/顺从响应激活差及 SVD 得到 rank-4 拒绝子空间 $R_\ell$。第二步构造约束的编辑方向:取 $b_\ell$ 中与拒绝子空间正交的分量 $u_\ell = (I - R_\ell R_\ell^\top) b_\ell$,对第 12-34 层的注意力与 MLP 输出投影矩阵做秩-1 正交化。第三步顺序校正:按层升序逐层编辑并在每层后重算激活,用一次闭式岭回归修正早前编辑在拒绝投影上造成的漂移。全程无梯度训练,只需若干次前向传播收集激活。
核心创新是『保子空间的约束正交化』加上『顺序回归校正』。朴素方向消融 $W' = W - b_\ell \frac{b_\ell^\top W}{\|b_\ell\|^2}$ 会把与后门纠缠的拒绝表示一并抹除(消融实验中有害率 +14.01);NEEDLE 改为只消融后门方向在拒绝子空间正交补上的分量:$W_\ell^{(1)} = W_\ell - u_\ell \frac{b_\ell^\top W_\ell}{\|u_\ell\|_2^2}$,其中 $u_\ell = (I - R_\ell R_\ell^\top) b_\ell$,该更新同时满足 $b_\ell^\top W_\ell^{(1)} = 0$(后门被移除)与 $R_\ell^\top W_\ell^{(1)} = R_\ell^\top W_\ell$(拒绝投影在权重层面不变)。但约束 (ii) 只在权重上成立,前面层被编辑后激活会漂移,因此 NEEDLE 从第 12 层到第 34 层按升序逐层编辑、每层重算前向,并用第二次更新 $W_\ell^{(2)} = W_\ell^{(1)} + V_\ell \hat{C}_\ell$ 修正漂移:$V_\ell = R_\ell - u_\ell \frac{b_\ell^\top R_\ell}{\|u_\ell\|_2^2}$ 保证校正列与 $b_\ell$ 正交(不会把后门重新引入),系数 $\hat{C}_\ell$ 由岭回归闭式拟合 $\hat{C}_\ell = \arg\min_C \sum_i \|C z^{mlp}_{\ell,i} - d_{\ell,i}\|_2^2 + \lambda_\ell \|C\|_F^2$ 得到,其中 $d_{\ell,i}$ 是编辑前后拒绝投影之差。与微调类防御的本质区别:闭式、逐层局部、可证明地保持拒绝投影,而不是全局挪动整个输出分布。
方法步骤详情
完整流程如下。步骤一,估计后门方向:取 100 个普通 prompt(Alpaca/WildGuardMix,代码注入用编码 prompt),每个配一个触发版本,对每对生成一次响应 $y$,让 $\mu^o_\ell$ 和 $\mu^t_\ell$ 分别是在 $x$ 与 $\tau(x)$ 下同一响应的层输出平均激活,差 $\delta^{bd}_\ell = \mu^t_\ell - \mu^o_\ell$ 减去其在 $\mu^o_\ell$ 上的投影后归一化,得 $b_\ell$(对目标拒绝攻击这一设计尤为关键,否则对比会主要测到拒绝本身)。步骤二,估计拒绝子空间:对 WildGuardMix 有害 prompt 的 100 对拒绝/顺从响应,均值差 $\delta^{ref}_\ell$ 对中点 $c^{ref}_\ell$ 正交化、归一化得主方向 $r_\ell$;再把 100 对个体差中心化并剔除 $c^{ref}_\ell$ 与 $r_\ell$ 分量,SVD 取前 3 个右奇异向量,与 $r_\ell$ 拼成标准正交基 $R_\ell \in \mathbb{R}^{M \times 4}$。步骤三,逐层编辑:对第 12-34 层按升序,对该层注意力输出与 MLP 下投影矩阵应用式 (6) 正交化;随后在已编辑模型上做前向,用后门模型生成的 harmful+benign prompt 激活(每条序列取 4 个位置:最后一个 prompt token 与响应 1/4、1/2、3/4 处)拟合式 (9) 的岭回归,$\lambda_\ell$ 取 $10^{-3} \times$ Gram 矩阵对角均值(Gemma 因 MLP 输出前有 RMSNorm,需把 $R_\ell^\top$ 换成 $R_\ell^\top J_{\ell,i}$ 一阶修正),得 $W_\ell^{(2)}$ 后进入下一层。步骤四,输出编辑后模型 $\theta'$,无任何梯度优化。
技术新颖性
与最接近的几条工作线逐一对比:相对 Arditi et al. (2024) 的拒绝方向消融,NEEDLE 反其道而行——消融后门的同时保留拒绝,且实证表明 rank-1 不够、rank-4 才能把安全代价从 11.62 压到 5.83;相对 BEEAR/CROW/BD-VAX 等微调防御,NEEDLE 免训练、闭式求解,干净 prompt 上 KL 仅 0.03-0.11,而微调类为 0.38-0.73;相对 CleanGen/CS-ADS 等推理时防御,NEEDLE 修改权重一次完成,无推理开销、不需要干净参考模型;相对 AlphaEdit、GuardSpace 等 null-space 模型编辑工作,NEEDLE 把『更新不扰动受保护输出』的原则从知识三元组迁移到行为量(拒绝子空间投影),并首次用于后门移除场景。rank-4 的拒绝子空间构造(主方向 + SVD 变分方向)也直接借鉴并扩展了 Wollschläger et al. (2025) 的概念锥分析。
实验结果
主实验覆盖 2 个模型家族(Gemma-3-4B-IT、Qwen3-4B-Instruct-2507)× 3 种攻击行为(情感转向、目标拒绝、代码注入)× 2 种触发器(BadNet 插入 BadMagic、Sleeper 前缀 Current year: 2024),共 6 个攻击条件。第一,移除效果:NEEDLE 把 Gemma 平均 ASR 从 99.50% 压到 1.67%,Qwen 从 99.08% 压到 5.00%,均为所有防御中最低;基线 SFT/OSFT/CROW/BD-VAX 的平均 ASR 在 27.75%-69.25% 之间且跨攻击方差巨大(如 SFT 标准差 ±41.56)。代码注入攻击上 NEEDLE 实现完全清除(ASR 0.00%,两种触发器皆然),而最强基线仍残留 74%(BadNet)与 33%(Sleeper)。最难的是目标拒绝攻击——后门目标本身就是拒绝,NEEDLE 残留 6.50%(Gemma)/15.50%(Qwen),多数基线在该攻击上维持约 100% ASR。第二,分布偏移:NEEDLE 的干净 prompt KL 仅 0.03-0.11 nats/token,微调类基线为 0.38-0.73,低约一个数量级。第三,能力与安全:NEEDLE 平均相对能力损失仅 0.48%(Gemma)/0.72%(Qwen),而 CROW 虽在 Gemma 上达到 5.00% ASR,却损失 14.80% 能力且有害率上升 19.78 个百分点;微调类基线的安全变化标准差高达 12.93-18.01 点,NEEDLE 则稳定在 +3.95%(Gemma)/−3.74%(Qwen)。第四,泛化性:Gemma-3-12B-IT 上 ASR 100%→0.50%(能力反而 +0.14%、KL 0.01),全参数微调植入的后门也被移除(Gemma 5.00%、Qwen 2.00%),说明后门即便全参数训练仍集中于单一方向。消融实验逐项验证设计:不做拒绝保护时有害率 +14.01,保 rank-1 降到 11.62,rank-4 非顺序为 7.10,加顺序校正后 5.83;编辑层范围扩到 1-22 或 1-34 虽能 ASR 归零,但能力损失从 0.21% 涨到 3.45-4.05%、KL 翻两番。激活干预实验证明方向因果性:给原本顺从的 Gemma 加上拒绝方向,拒绝率从 1.6% 升到 34.4%(随机对照最高 9.4%),消融 rank-4 子空间把原本 95.3% 的拒绝率打到 18.0%。另有发现:后门信号分布在整个生成序列(只取最后一个 prompt token 估计方向会残留 78.5-100% ASR),Jacobian lens 解码显示被移除方向编码的正是攻击内容(stupid/idiot、sorry/assistant、KEY/SECRET/PRIVATE)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 后门移除(6 攻击平均,Gemma-3-4B-IT) | ASR(攻击成功率,越低越好) | NEEDLE 1.67% | CROW 5.00%(SFT 69.25% / OSFT 29.42% / BD-VAX 37.58%) | 较最强基线再降 3.33 个百分点,较 SFT 降 67.58 个百分点 |
| 后门移除(6 攻击平均,Qwen3-4B-Instruct-2507) | ASR | NEEDLE 5.00% | BD-VAX 27.75%(其余 29.58%-65.42%) | 较最强基线降低 22.75 个百分点 |
| 代码注入攻击移除(秘密 API 密钥注入) | ASR | 0.00%(Gemma 与 Qwen、BadNet 与 Sleeper 均完全清除) | 最强基线残留 74%(Qwen BadNet)/ 33%(Qwen Sleeper) | 从残留两位数百分比降至 0 |
| 输出分布保持(干净 prompt 上与后门模型的逐 token 分布差) | KL 散度(nats/token) | 0.03-0.11 | 微调类防御 0.38-0.73(SFT 0.54-0.57、CROW 0.38-0.64、BD-VAX 0.69-0.73) | 约低一个数量级 |
| 通用能力保持(MMLU/GSM8K/HellaSwag/ARC/IFEval 相对损失) | Capability Δ(%,越低越好) | 0.48%(Gemma)/ 0.72%(Qwen) | CROW 14.80%(Gemma)/ 4.49%(Qwen) | 损失减少约 14.3 / 3.8 个百分点 |
| 安全性保持(749 条 WildGuardTest 有害 prompt 上的有害响应率变化) | Safety Δ(百分点) | +3.95%(Gemma)/ −3.74%(Qwen),跨攻击波动小 | CROW 在 Gemma 上 +19.78;微调类标准差 12.93-18.01(同一方法对不同攻击可正可负) | 平均代价最低且方差最小 |
| 规模与训练方式泛化(Gemma-3-12B-IT LoRA;两个 4B 模型全参数微调后门) | ASR | 12B:100%→0.50%;全参数微调:Gemma 5.00%、Qwen 2.00%(KL 均 0.01) | 无防御均为 100% | 证明方法对更大模型与全参数训练的后门同样有效 |
局限与改进
作者明确承认两点:其一,威胁模型假设触发器与插入规则已被识别,NEEDLE 只解决『定向移除』而不解决『检测+移除』的联合问题,其效果完全取决于前置检测步骤的准确性;其二,实验只覆盖具有显式触发-行为关联的合成数据投毒攻击,不能代表真实世界中自然产生的伪相关行为,也不能代表刻意设计来规避基于表征的移除的攻击。我的补充观察:第一,目标拒绝攻击上存在固有权衡——后门方向与拒绝子空间相似度高达 0.62-0.86(rank-4),Qwen 上仍残留 15.5% ASR,方法对『后门目标即安全行为』的攻击有天花板;第二,Gemma 情感转向上有害响应率仍上升 5.83 点(BadNet 攻击上从 47.52% 升到 53.35%),安全保护并不完美;第三,方法隐含『后门由单一线性方向承载』假设,对分布式、多方向或经由思维链操纵的后门可能失效;第四,KL 以被植入后门的模型为参照而非干净模型,0.03 的 KL 只说明编辑没再引入新偏移;第五,ASR 采用 BackdoorLLM 的关键词匹配评分,可能高估或低估真实攻击成功率;第六,实验仅覆盖 4B/12B 稠密模型,MoE 或 70B+ 上的表现未知。
独立分析的弱点
独立分析四点弱点。其一,触发器依赖是流程上最脆的一环:实践中触发器来自触发重建/检测方法(如 Bullwinkel et al.),若检测给出错误的触发串,估计出的『后门方向』可能测到别的语义,编辑既除不掉后门还白白扰动模型。改进方向是把多候选触发器集成进方向估计(取多组 $b_\ell$ 的公共子空间),或与触发置信度联动决定是否编辑。其二,线性单方向假设:Sleeper 风格的深藏后门或显式分散表征的攻击(如 Yin et al. 2026 把转向编译进权重)可能不沿一个方向,此时秩-1 消融不彻底。改进方向是把估计从单方向推广到后门子空间(对多组触发对比做 SVD,按信号强度截断秩),代价是与拒绝子空间的纠缠会更难解。其三,固有的安全-移除权衡:目标拒绝攻击残留 15.5% ASR,因为触发引起的行为与被保护的安全行为共享方向;改进方向是利用时间或上下文特征把『触发诱导的拒绝』与『自然拒绝』分解开(例如用有无触发成对激活的差分信息,而不只保留静态子空间)。其四,需要白盒权重访问且逐层顺序编辑要做多次前向,对超大模型或闭源 API 模型不可用;改进方向是在 LoRA 适配器层面做等效编辑、或结合量化感知的编辑以适配部署场景。另外 ASR 关键词评分较粗糙,建议补充基于 judge 模型的评分以防高估移除效果。
未来方向
作者提出的方向:评估更先进的攻击(包括刻意规避表征移除的攻击);把 NEEDLE 与触发检测/重建串联成端到端防御;检验移除的持久性——后门在后继微调或再投毒后是否会被重学。基于本文成果可延伸的方向:把『受保护子空间』从拒绝推广到其他安全机制(谄媚、欺骗、越狱抵抗力),做一次编辑同时保多类行为;把后门估计从单方向升级为数据驱动的子空间并自适应选秩(论文显示 rank 5-10 增益已很小,说明可自动定秩);扩展到 MoE 与 70B+ 模型验证方向集中性假设;与安全训练结合,把编辑后的模型再微调时以拒绝子空间为约束防止安全漂移(论文引用的 Peng et al. 思路);以及对『后门方向解码』(Jacobian lens 显示方向编码攻击目标 token)做系统化,用作移除成功的诊断信号。
复现评估
复现条件较好。代码完全开源(github.com/LocaiLabs/NEEDLE),论文附录 B/C 给出了攻击训练、基线实现与评估的全部细节(超参数、数据配比、触发规则、评分关键词)。所需资源全部公开:后门数据来自 BackdoorLLM,干净数据来自 Alpaca、WildGuardMix、UltraChat,基座模型为 Gemma-3-4B/12B-IT 与 Qwen3-4B-Instruct-2507,评估用 lm-evaluation-harness 与 WildGuard 分类器。算力方面,NEEDLE 本身免训练,只需约 400 条校准 prompt 的前向传播加闭式矩阵更新,4B 模型单张 24GB 消费级 GPU 即可完成,且编辑在 CPU 上也只涉及秩-1/秩-4 矩阵运算;真正的算力开销在复现实验全貌——需训练 6 个 LoRA 后门模型(rank 8,750 次更新,单卡数小时级)以及 CROW/BD-VAX 等微调基线(BD-VAX 还要训练 6 对干净/后门变体)。作者用了 Isambard-AI 超算,但那主要是为跑全部基线与评估。综合评估:只需验证 NEEDLE 本身属低-中难度;完整复现全部对照实验属中高难度(约需数个 GPU 天)。
论文图表
三联图。(a) 在 BadNet 情感转向攻击上对比四种设置的 ASR 与有害率:无防御、仅消融后门方向、保留 rank-1 拒绝方向的后门移除、NEEDLE(保留 rank-4 拒绝子空间);(b) 后门后门模型中后门方向与 rank-1/rank-4 拒绝子空间的余弦相似度;(c) 后门方向与前 k 个拒绝方向的逐层余弦相似度热图。
这是全文立论的起点:直接拔针会把拒绝机制一起拔掉(有害率上升),且重叠大头在 rank-1 之外——正是这一观察催生了『保留 rank-4 拒绝子空间』的核心设计。