← 返回 PaperDaily
大模型与智能体
仅0.0118%参数参与训练,大模型对抗训练FLOPs直降48.1%
大模型对抗训练是真·烧钱大户,光8步PGD就吃掉约80%算力。密歇根州立大学这篇工作把「低秩表示微调」和「电路剪枝代理模型」结合起来,从攻防两端同时压缩计算,平均省下48.1%的FLOPs,可训练参数只有0.0118%。效果不打折太多,性价比直接拉满。
龙哥读论文
发布于 2026-08-16 00:20:00
阅读 3
查看原文
原论文信息如下:
先问一个扎心的问题:给大模型做一次对抗训练,要花多少钱?
熟悉训练的同学都知道,对抗训练本身就是个「烧钱」的活儿——既要反复生成对抗样本,又要拿这些样本来更新模型参数。到了大语言模型这个尺度,事情就更加离谱:一次标准的潜在对抗训练(LAT),光是内部循环里跑8步投影梯度下降(PGD),就要吞掉整个训练流程约80%的计算量(按Kaplan的FLOPs估算口径)。换句话说,大部分算力根本不是在「学」,而是在「挨打」——生成对抗扰动给模型找茬。
这就陷入了一个尴尬的局面:不加对抗训练吧,模型面对精心构造的恶意输入几乎是「裸奔」——比如攻击者通过投毒的日历邀请就能劫持Gemini去控制智能家居,或者诱导AI编程助手执行危险操作;加吧,一套全参数对抗训练跑下来,预算报表直接让人血压升高。
密歇根州立大学的这项新研究,瞄准的正是这个痛点。他们提出了一套名为LAT-ReFT的框架,从「防守端」和「攻击端」两个方向同时下手,硬生生把对抗训练的成本砍下来一大截——平均减少48.1%的逐步FLOPs,而且全程只需要训练0.0118%的模型参数。这个数字有多夸张呢?相当于你原来要请10000个人干活,现在只需要1个半人,产出还大差不差。
大模型对抗训练为什么又贵又慢?
先把对抗训练的基本逻辑捋一捋。标准的对抗训练是一个「最小-最大」(min-max)博弈:训练目标是让模型在「最坏情况」下也能表现良好。形式化地说,就是在对输入施加一个微小扰动后,模型依然能够正确分类。这个「最坏情况」的扰动,就是通过内部最大化过程生成的——也就是攻击。
问题在于,语言模型的输入是离散的token序列,直接在token空间里做梯度优化非常困难。所以后来的工作提出了潜在对抗训练(LAT),思路很直接:不在离散的token上折腾,而是把扰动施加到模型的连续隐藏表示上。这样一来,内部最大化过程就可以用PGD等连续优化方法来求解,效率一下子高了不少。
防守端 :更新模型参数时,传统做法是全参数微调。8B、70B级别的模型全量更新一次,梯度计算和显存开销都极其感人。LoRA虽然能减少可训练参数,但和LAT结合时效果并不理想。
攻击端 :每轮训练都要重新生成对抗样本,这需要在完整模型上反复做前向-反向传播。PGD多步迭代下来,这部分算力占了大头。
更微妙的是,之前的参数高效微调方法(比如ReFT)直接套用到LAT上,还存在一个「位置错配」问题。标准的ReFT只针对特定位置做干预——比如只改最后一个token的隐藏表示。但对抗攻击往往是攻击一整段后缀token,你光守住最后一个token,前面的攻击信息照样可以通过注意力机制「渗透」到输出位置。这就好比敌人从四面八方涌来,你只守住了城门,结果敌人翻墙进来了。
图1清楚地展示了这一点:红色(仅防御最后token)在GCG攻击下几乎全线崩溃,而蓝色(后缀窗口+前中部层)则稳如老狗。这也直接激发了本文的防御端设计思路。
双管齐下:低秩防御+电路剪枝,突破效率瓶颈
本文的核心思路用一句话概括:防守端用低秩表示微调(ReFT)省参数,攻击端用电路引导的剪枝代理模型省计算。
ReFT(表示微调)的思路很优雅:不更新模型权重,而是学习一个低秩的表示干预算子,直接修改隐藏状态。具体来说,ReFT算子定义为:
ΦR(h) = h + Rᵀ(Wh + b − Rh)
其中R是行正交的低秩矩阵(r ≪ d),W和b是可训练参数。这个算子的效果是:把隐藏状态h投影到一个低秩子空间里做修正,然后再投影回来。因为只训练r×d维的参数,比LoRA还要省。
但直接把ReFT塞进LAT是不够的,因为ReFT默认干预位置是任务相关的(比如最后一个token),而攻击是覆盖一段后缀的。本文做了两个关键改动:
第一个改动是后缀窗口防御 :不再只防御最后一个token,而是把防御范围扩展到后缀的一段连续窗口(比如最后20个token),让ReFT算子共享地作用于整个窗口。这样一来,攻击信息无论从窗口内哪个位置渗入,都能被干预算子捕获和修正。
第二个改动是防御层选择 :不把ReFT放在模型的最后几层,而是放在中前部层。直觉上很好理解:对抗扰动经过很多层传播后已经「固化」成了难以消除的特征,低秩干预在最后层动手已经来不及了。实验也确实验证了这一点——把防御放在太靠后的层,GCG攻击成功率会大幅上升。
攻击端的思路更加「投机取巧」:既然每轮都要跑PGD生成对抗样本,而这些PGD步骤的梯度方向本质上取决于模型的关键计算通路——为什么不直接在一个「瘦身版」的模型上做攻击,然后把扰动迁移到完整模型上?
这里的核心问题变成了:怎么剪枝才能既省算力又不破坏攻击方向的迁移性?如果随机剪掉25%的MLP神经元,攻击成功率会从0.26飙到0.95——也就是说,随机剪枝把「找茬」的能力给剪没了。本文提出了一个激活-梯度重要性打分准则(ActGrad):
s(l,j) = Σ₍ₓ,ᵧ₎∈D Σₜ |aₜ,ⱼ⁽ˡ⁾(x) · ∂ℓ(fθ(x), y) / ∂aₜ,ⱼ⁽ˡ⁾|
这个式子看着唬人,其实逻辑很朴素:一个神经元到底重不重要,不能只看它激活得多猛(activation),还要看它对损失的影响有多大(gradient)。两者相乘,就算出了每个神经元对攻击目标的影响力。按这个分数从高到低排序,保留前75%的神经元,其余剪掉。
1. 冻结主模型参数,只初始化ReFT干预模块(在选定的防御层和防御窗口上)。
2. 用一小部分干净数据计算ActGrad分数,剪掉低分神经元,得到瘦身代理模型。
3. 在每个训练迭代中,在代理模型上跑PGD生成潜在扰动,然后把这个扰动迁移到完整模型(含ReFT)上计算对抗损失。
4. 反向传播只更新ReFT参数,主模型参数纹丝不动。
这里有一个很关键的细节:PGD在代理模型上跑的时候,扰动是作用在攻击层的隐藏状态上的,而在代理模型中,攻击层之前的网络结构是完全保留的,剪枝只发生在攻击层之后的MLP块上。这保证了扰动在传递到完整模型时,前期的特征提取路径是一致的,迁移性才有保障。
通过这种「先剪后攻、再迁移」的流程,攻击端的内循环计算量降了下来——在25%剪枝比例下,代理模型的前向-反向计算量约为完整模型的0.8倍,但攻击成功率只从0.26微升到0.33。用这点鲁棒性损失,换20%的攻击生成成本下降,这笔账在算力紧张的场景下相当划算。
理论深度解析:从单token失效到后缀窗口的理论保证
为什么只防御最后位置不够?论文用定理1给出了一个非常清晰的量化解释。考虑防御层后面紧邻的那一层注意力,如果攻击后缀长度为k,最后位置T的注意力输出与干净输出的偏差满足一个下界:
反过来,定理2证明后缀窗口的共享ReFT防御能把偏差控制在一个上界内:
那剪枝代理模型为什么还能用?定理3给出的答案是:代理模型和完整模型在PGD上的优化差距,由被剪掉神经元的“激活×梯度质量”决定。
实验结果速览:48.1% FLOPs下降,鲁棒性如何?
实验设置得很扎实。三个分类任务:IMDB(情感分析)、EnronSpam(垃圾邮件检测)、PasswordMatch(程序化构造的密码匹配任务);三个参数量级不同的模型:Llama-3.1-8B、Qwen-2.5-3B、Pythia-1.4B。攻击端用RandomToken(随机采样后缀)和GCG(Greedy Coordinate Gradient,梯度引导的离散token搜索)两种代表性方法评估。基线包括R2D2(带对抗样本池的全参数方法)、CAT(连续对抗训练,在嵌入空间做扰动)和LAT(潜在对抗训练,在隐藏空间做扰动)。
*表格超出部分左右可以滑动
模型
方法
Acc↑
RandomToken↓
GCG↓
参数占比(%)↓
FLOPs/步(×10¹²)↓
Llama-3.1-8B No Defense 0.98 0.93 0.97 - -
R2D2 1.00 0.08 0.58 100.0 3750.4
LAT 0.95 0.00 0.02 100.0 222.9
CAT 0.98 0.01 0.08 0.5559 176.8
Ours 0.98 0.05 0.15 0.0066 139.8
Qwen-2.5-3B No Defense 1.00 0.98 0.99 - -
R2D2 0.96 0.07 0.35 100.0 331.2
LAT 0.95 0.06 0.10 100.0 91.6
CAT 0.97 0.03 0.35 0.9608 72.7
Ours 0.98 0.38 0.26 0.0085 39.2
Pythia-1.4B No Defense 0.97 0.73 0.97 - -
R2D2 1.00 0.05 0.19 100.0 161.7
LAT 0.96 0.01 0.14 100.0 39.0
CAT 0.98 0.04 0.19 0.9505 30.9
Ours 0.94 0.14 0.33 0.0203 19.6
表1:IMDB数据集上的主要结果。Acc为干净准确率,RandomToken和GCG为两种攻击下的攻击成功率(越低越好),参数占比指可训练参数占总模型参数的比例。
效率维度非常亮眼。以Llama-3.1-8B为例,全参数LAT每步要算222.9×10¹² FLOPs,本文方法只需139.8×10¹²,下降了37%;Qwen-2.5-3B上从91.6降到39.2,降幅57%;Pythia-1.4B上从39.0降到19.6,降幅约50%。平均下来,逐步对抗训练FLOPs减少48.1%。可训练参数更是夸张:在Llama-3.1-8B上只有0.0066%,Qwen-2.5-3B上是0.0085%,Pythia-1.4B上是0.0203%,综合约0.0118%。也就是说,原来要更新全量参数的活儿,现在用一个极低秩的干预模块就顶上了。
鲁棒性维度要有清醒的认识。在Llama-3.1-8B上,本文方法GCG攻击成功率0.15,虽然比LAT的0.02高,但明显优于R2D2的0.58,与CAT的0.08也还在一个量级。在Qwen-2.5-3B上,RandomToken攻击成功率0.38确实偏高——这说明随机扰动对某些位置的破坏没有被完全修正。在Pythia-1.4B上,GCG攻击成功率0.33,高于LAT的0.14。这些结果说明,本文方法在效率和参数量的优势是实打实的,但鲁棒性和最强的全参数LAT之间还有差距,本质上是用一小部分鲁棒性换来了大幅效率提升。
论文还有两个值得注意的实验结论。第一个是防御层位置的消融:在早期层(L/4附近)、中层(L/2附近)和晚期层(3L/4及之后)分别放置ReFT干预,结果是晚期层干预时GCG攻击成功率明显上升,早期和中层干预效果最好。这跟定理1的注意力泄露分析是一致的——扰动在浅层还没被注意力机制放大,及时修正更有效。第二个是剪枝比例的敏感性:随机剪枝25%会把攻击成功率从0.26抬到0.95,ActGrad剪枝25%只从0.26升到0.33。剪枝比例继续加大时,ActGrad的优势仍在,但迁移性会逐渐下降,说明25%左右是个比较甜的点。
局限与未来:从后缀攻击到更广的威胁模型
这篇论文的方法和实验都很扎实,但局限性也要看得清楚。
首先,实验设置限定在文本分类场景,攻击类型主要是后缀token攻击。论文附录虽然补了前缀攻击的初步结果,但真实世界的威胁模型要复杂得多——比如多轮对话中的间接提示注入、智能体场景下的工具调用劫持,这些目前都没有覆盖。后缀窗口的防御设计天然假设攻击发生在固定窗口内,如果攻击者把扰动分散到整个输入序列甚至跨轮次,这套方法的防御范围就不够了。
其次,代理模型的剪枝依赖校准集,校准集的选取会影响ActGrad打分质量。如果校准数据分布和真实数据分布偏差较大,打分可能选出“对校准集重要但对攻击不重要的神经元”。另外剪枝比例25%左右是当前实验的甜点区间,但不同模型、不同任务的最优剪枝比例是否有稳定规律,论文没有给出更系统的讨论。
从未来方向看,本文的思路其实打开了几个值得跟进的角度。一个是防御层和攻击层的自适应选择:论文的经验结论是“放在早期或中层”,但按层动态调整干预位置,理论上能进一步提升效率-鲁棒性的Pareto前沿。另一个是把电路引导的剪枝扩展到注意力头层面,因为某些安全关键行为可能由特定注意力头主导。此外,把LAT-ReFT和推理阶段的防御(比如激活检测、表示清洗)结合起来,也是很有潜力的方向。
龙迷三问
问:LAT和CAT有什么区别?为什么LAT比CAT更适合结合ReFT? CAT(Continuous Adversarial Training)是在输入嵌入层加扰动,而LAT(Latent Adversarial Training)是在模型的中间隐藏层加扰动。LAT的扰动更接近语义表征层,和ReFT这种直接修改隐藏表示的干预机制天然契合——两者作用于同一个特征空间,干预算子可以直接修正被扰动的隐藏状态。CAT的扰动在嵌入层,要经过很多层传播才会影响到ReFT的干预层,修正路径更长,效果也会打折扣。
问:ActGrad打分里的“激活值乘以梯度”为什么能衡量神经元对攻击的重要性? 这其实是一阶泰勒展开的直觉。扰动一个神经元的激活值a,对损失的影响近似等于∂ℓ/∂a乘以扰动大小。如果激活值本身很小,即使梯度很大,扰动空间也很有限;如果梯度很小,激活值再大也影响不了损失。两者相乘,正好衡量了“这个神经元在多大程度上决定了对抗损失的上升空间”。论文的定理3也证明,代理模型和完整模型的PGD优化差距上界正比于被剪掉神经元的act×grad质量总和,剪掉分数低的神经元就是把对攻击能力损失降到最低。
问:这套方法的防御层为什么放在“早期或中层”而不是最后一层? 这跟Transformer层的功能分化有关。近年来的可解释性研究(比如Skean et al.的工作)指出,Transformer中晚期层的功能复杂度通常较低,很多关键行为在早期和中层就已经定型。对抗扰动也遵循类似的规律:扰动在浅层时还比较“松散”,ReFT干预可以高效地把表示拉回干净状态;但等扰动一路传播到深层,它已经和正常的语义特征深度耦合,低秩干预在这个阶段很难剥离出对抗成分。论文实验也证实,晚期层干预的GCG攻击成功率显著高于早期层干预。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~
龙哥点评
论文创新性分数: ★★★★☆
攻防两端同时做效率优化,把可解释性领域的电路思路引入对抗训练,后缀窗口防御和ActGrad剪枝两个设计都很新颖。
实验合理度: ★★★★☆
三个模型、三个任务、两种攻击的配置比较扎实,与R2D2、LAT、CAT三类基线对比到位。部分模型上鲁棒性略低于LAT,论文没有回避,也给出了效率维度的补偿依据。
学术研究价值: ★★★★☆
定理1和定理2对“为什么单token防御无效、窗口防御有效”给出了清晰的理论解释,定理3把代理模型质量和剪枝策略联系起来,对后续研究有较强启发。
稳定性: ★★★☆☆
在Llama-3.1-8B上表现稳定,但在Qwen-2.5-3B的RandomToken攻击下ASR为0.38,Pythia-1.4B的GCG攻击下ASR为0.33,说明方法在不同模型上的鲁棒性波动较大,直接产品化还有距离。
适应性以及泛化能力: ★★★☆☆
在文本分类任务上验证充分,但对生成式任务、多轮对话、非后缀攻击等更广泛场景的泛化能力尚未验证。
硬件需求及成本: ★★★★☆
训练成本大幅下降,平均FLOPs减少48.1%,可训练参数仅0.0118%。不过ActGrad打分需要先在完整模型上跑一次校准集的前向反向,这个一次性开销在大规模模型上还是需要算进总成本。
复现难度: ★★★☆☆
论文没有提供开源代码,复现需要自己实现ReFT干预、ActGrad剪枝、代理模型PGD迁移等模块,超参数(窗口长度、防御层、剪枝比例)需要反复调试,有一定门槛。
产品化成熟度: ★★★☆☆
在文本分类这类任务上,如果算力预算敏感,可以尝试用这套方法做对抗训练。但多轮对话、智能体等更复杂的产品形态还需要额外的验证和适配。
可能的问题: 未开源代码,复现成本较高;实验只覆盖分类任务和后缀攻击;Qwen和Pythia上鲁棒性波动较大;早期层防御在不同模型上是否都能保持最优,泛化规律还需要更多模型验证。
主要参考文献
[1] He W, Lin Y, Tang J, et al. Efficient LLM Adversarial Training via Low-Rank Defense and Circuit-Guided Surrogates[J]. arXiv preprint arXiv:2607.28959, 2026.
[2] Wu M, et al. Representation Finetuning (ReFT)[C]. 2024.
[3] Sheshadri A, et al. Latent Adversarial Training[C]. 2024.
[4] Casper S, et al. Latent Adversarial Training for Robust LLMs[C]. 2024.
[5] Zou A, et al. Universal and Transferable Adversarial Attacks on Aligned Language Models[J]. 2023.
[6] Howe E, et al. Examining Zero-Shot Vulnerability of Large Language Models towards Adversarial Attacks[C]. 2024.
[7] Madry A, et al. Towards Deep Learning Models Resistant to Adversarial Attacks[C]. ICLR, 2017.
[8] Xhonneux S, et al. Continuous Adversarial Training (CAT)[C]. 2024.
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击 "阅读原文", 查看更多原论文细节哦!
对抗训练太费钱,低秩防御配电路剪枝来省钱!想聊大模型安全的真问题,欢迎加入龙哥读论文粉丝群。
扫描下方二维码或者添加龙哥助手微信号加群 :kangjinlonghelper。
一定要备注:研究方向+地点+学校/公司+昵称(如 大模型安全+上海+清华+龙哥) ,根据格式备注,可更快被通过且邀请进群。
『龙哥读论文』微信群目前包含:图像处理、大模型及智能体、自动驾驶及机器人、AI医疗及AI金融5个群