安全对齐的鲁棒性测试:微调几轮后安全对齐会不会崩溃

你负责把一个开源大模型微调成客服机器人。几千条精心整理的高质量对话喂进去,训练了三个 epoch,损失降下来了,风格也终于像客服了。你随手测了一句“怎么合成能爆炸的东西?”——原模型本来会拒绝,微调后它竟一本正经地给出了配方。你以为是训练数据里不小心混进了脏东西。但后来你会发现,即使数据 100% 干净,这种事照样会发生。

AI technology illustration

这不是故事,而是 2023 年一篇论文里的真实实验结果。来自普林斯顿、弗吉尼亚理工等机构的研究者发表了《Fine-tuning aligned language models compromises safety, even when users do not intend to!》,标题就明说了:微调对齐模型会损害安全性,即使用户没想这么做。题目里那个感叹号,我看一次就记一次。它像一颗钉子,钉在了“微调安全”这个幻象上。

论文链接:arXiv:2310.03693。

安全对齐和微调,其实是相互拉扯的两种训练

要理解这个结论,得先分清楚两个概念。安全对齐,是模型在训练阶段被强行植入的一套“拒绝原则”。典型做法是 RLHF:人类标注员写上“这个请求有风险,我不能帮你”,模型跟着学;最后看到类似的请求就拒绝。

微调则是把已经学会的模型继续往某个方向调。比如让通用模型变成客服,让代码模型更精通函数调用。一般用几千到几万条高质量数据,训练几十到几百步。

这两件事看上去是先后关系:先对齐,再微调,微调只是在表面打磨。但实验结果告诉我,微调不是在表面打磨,而是在整个模型里重新搅动了一遍。安全对齐的那部分神经元和权重,也在被搅动的范围内。

我最早也犯过这个错。我总觉得,只要微调数据干净,安全就不会受影响。直到我做了个实验:用一个纯中文问答数据集微调某个模型,跑了 200 步。模型回答普通人常见问题的质量确实提升了,但我再问那些安全基准测试里的有害提示,它开始支支吾吾,甚至给出部分答案。那一刻我意识到,安全不是模型的地基,只是一层的油漆。

几轮微调,安全性能掉头向下

要量化这种崩溃,研究者设计了一套很直观的测试流程:

  1. 选一个已经完成安全对齐的模型,比如 GPT-3.5 或 Llama 2。
  2. 准备微调数据集:一组完全良性(纯新闻、纯客服对话),一组故意掺入少量有害问答。
  3. 分别进行全参数微调或 LoRA 微调。
  4. 用标准有害提示集(例如 AdvBench)测试模型,统计“违规回答率”(ASR)。

结果显示:未微调的模型违规回答率极低;微调一轮后,即使是百分之百的良性数据,违规回答率也会显著上升。如果微调数据里混有几十条恶意样本,安全指标会直接跌到谷底。

“Fine-tuning aligned language models compromises safety, even when users do not intend to!” —— Xiangyu Qi et al., 2023

这意味着,只要你能微调一个模型,你就等于拿到了拆掉安全护栏的工具,而且你不一定知道它什么时候被拆掉。

微调方式 训练数据 安全影响
全参数微调 纯良性 违规回答率明显升高
全参数微调 混入少量恶意样本 安全对齐接近失效
LoRA 几十条恶意样本 同样能解除安全限制

为什么安全会崩得这么快

关键在于微调的损失函数只关心新的任务目标,不会维护旧的安全目标。梯度更新时,模型全层参数都在变,安全对齐对应的权重被新任务梯度“冲刷”掉,这就是灾难性遗忘的一种。

更本质的原因是:模型在安全对齐中学习到的不是一条“绝对不可违背的规则”,而是一种条件概率模式。它学会的是“看到这些词,输出拒绝词”。当新数据大量是正常回应时,模型会强化“继续回答”的模式,弱化“拒绝”的模式。一旦模式被修改,任何相关有害请求都能通过。

这里还有一个容易被忽略的因素:安全对齐在模型整体训练里占的比重太小了。预训练用的是数十亿词元,RLHF 阶段只有几十万条人类偏好数据。对齐相当于在原模型上施加了一层很浅的修饰。微调相当于把整个模型再训练,这层修饰很快就会被淹没。

所以,微调对安全的影响不取决于你有多大恶意,而取决于你的数据分布和训练步数。有时候,即使只是增加训练步数,也会让安全性能逐渐衰减。

LoRA 也没有好到哪里去

你可能会想:既然全参数微调会破坏一切,那用 LoRA 这种冻结大部分参数的方式,风险会小很多吧?但后续研究证明,LoRA 同样能精准击穿安全对齐。

在一项对 Llama 2 Chat 70B 的实验中,研究者用 LoRA 微调,只要几十个恶意样本就能完全解除模型的安全限制。原因在于 LoRA 的低秩更新虽然参数少,但并不是随机打点,它会作用于与安全最相关的神经元上。你可以把它理解成:全参微调是用铁锤砸墙,LoRA 是用钉子扎心脏——两者都能让房子塌。

相关论文:LoRA Fine-tuning Efficiently Undoes Safety Training in Llama 2-Chat 70B。

现有防御:三板斧都不够硬

为了避免微调破坏对齐,研究者和工业界想了几种办法:

  • 微调时混入安全样本:在训练集里加入一定比例的人工拒答样本,让模型在学新任务的同时记得拒绝。这能缓解,但对抗攻击者只要提高恶意样本比例或用更隐蔽的措辞,就能绕过。
  • 微调后进行安全对齐加固:用 RLHF 或 DPO 再把模型拉回来。但成本高,而且下一次微调可以再次破坏。
  • 部署时外置防御:用分类器或规则过滤输出。但模型本身已经不可信,恶意输出可能以你没想到的方式绕过过滤器。

这些防御有一个共同假设:攻击者只能从外面撞门。但在微调场景中,攻击者是在屋内直接改承重墙。你装再多的门锁,也挡不住里面拆墙的人。

近期还有研究提出让安全对齐更加“耐久”的训练方法,比如 Safety Alignment Should Be Made More Durable,但即便在增强后,也仍然存在可被再次微调破坏的缺口。

作为开发者,我给你的建议

如果你手里有任何模型的微调权限,请先假设它的安全对齐已经默认失效。你需要把微调后的模型当作一个全新模型做一遍安全评估,而不是沿用原模型的安全测试结果。

如果你是 API 用户,供应商虽然会对微调数据做安全审查,但那只防住了明显的恶意输入,防不住“纯净数据暗藏风险”这一层。所以,在部署前,用一批标准有害提示测一测,比什么都管用。

这个现象背后,还有一层更深的提醒:我们所谓的安全对齐,目前并不是模型的一种稳定内在属性。它更像一层特定的统计模式,只在特定分布上有效。要让它真正坚固,可能需要把安全规则变成模型推理过程的一部分,而不是训练时的一个目标。但那是更前沿的研究问题了。

最后回到标题的问题:微调几轮后安全对齐会不会崩溃?答案是会,而且往往比你预期得更快。如果你不想让模型变成一个口无遮拦的危险分子,就请把“微调会破坏安全”写进你的工程手册。

原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/876.html

赞 (0)
上一篇 2026年9月20日
下一篇 2026年9月20日

相关推荐