Separate the Wheat from the Chaff: A Post-Hoc Approach to Safety Re-Alignment for Fine-Tuned Language Models

Separate the Wheat from the Chaff: A Post-Hoc Approach to Safety Re-Alignment for Fine-Tuned Language Models

ACL

一、论文概览

1. 核心问题

大型语言模型(LLMs)在发布时虽已完成安全对齐,但在“发布-微调”范式中,微调过程产生的delta参数(模型参数的变化量)会破坏原始安全机制,导致模型对有害查询、越狱攻击的抵御能力下降;同时,现有安全重对齐方法未区分参数的“安全相关性”与“任务相关性”,易在提升安全的同时严重损害下游任务性能。因此,如何在微调后实现模型的安全重对齐,同时维持其下游任务性能,成为关键挑战。

2. 主要贡献

  • 提出IRR(Identify, Remove, and Recalibrate for Safety Realignment)方法:通过“识别-移除-重新校准”三步实现微调模型的安全重对齐,是一种轻量的事后(post-hoc)方法,无需干预微调或推理过程。
  • 提出新的安全重对齐视角:结合“安全干扰”(参数与安全向量的符号一致性)和“安全重要性得分”(基于Fisher矩阵),精准分离不安全delta参数,避免对任务关键参数的误操作。
  • 跨场景有效性验证:在全量微调与LoRA微调、多数据集(数学、代码、中文)、多模型(Llama-2-7b-chat、Llama-3-8B-Instruct)上的实验表明,IRR实现帕累托改进(安全显著提升,下游性能基本无损)。

3. 研究方法

IRR方法以“分离不安全delta参数+校准保留参数”为核心,分为三步:

  1. 识别不安全delta参数:定义“安全向量”$\delta_{safe }$(从非对齐模型到安全对齐模型的参数差),筛选与安全向量符号不一致的“安全干扰参数”;再通过Fisher矩阵计算参数的“安全重要性得分”,提取高重要性的干扰参数作为“不安全delta参数”。
  2. 移除不安全delta参数:通过掩码标记不安全delta参数,将其恢复为预训练安全对齐模型的参数状态,初步提升模型安全。
  3. 重新校准保留参数:考虑到部分不安全delta参数可能对下游任务关键,基于Hessian矩阵逆计算补偿值,为保留的delta参数添加补偿,最小化下游性能损失。

二、各章节详解

1. 引言(Introduction)

  • 背景:LLMs的“发布-微调”范式广泛应用,但微调数据(即使是良性数据)也可能破坏安全对齐(如Qi et al., 2023证明Alpaca等良性数据会削弱安全机制)。
  • 现有方法不足:如RESTA(Bhardwaj et al., 2024)对所有参数施加统一安全修改,未区分参数的安全/任务相关性,易损害任务性能;部分方法通过剪枝冗余参数恢复模型能力(Panigrahi et al., 2023),但未聚焦安全问题。
  • IRR动机:受“剪枝冗余参数”启发,提出“分离不安全delta参数+校准保留参数”,平衡安全与下游性能。

2. 相关工作(Related Work)

(1)LLMs安全

  • 安全风险来源:少量有害数据或良性数据微调均可能破坏安全对齐(Yang et al., 2023; Zhan et al., 2024)。
  • 现有安全重对齐阶段分类:
    • 预处理阶段:过滤有害数据(Zhao et al., 2023a);
    • 微调阶段:限制参数更新(Huang et al., 2024c);
    • 事后阶段:合并安全向量(RESTA)、参数剪枝(Huang et al., 2024a)(IRR属于此类,且无需额外微调,计算成本低);
    • 推理阶段:调整解码过程(SafeDecoding, Xu et al., 2024)。

(2)监督微调与Delta参数

监督微调(SFT)通过delta参数提升下游性能,但delta参数存在冗余;现有工作(如DARE、Panigrahi et al., 2023)聚焦“剪枝冗余delta参数以维持任务性能”,而IRR聚焦“分离不安全delta参数以平衡安全与任务性能”。

(3)模型剪枝技术

剪枝目标是移除无用参数以降低计算成本(如SparseGPT、Wanda),但多针对“全参数”;IRR仅剪枝“delta参数中的不安全部分”,且结合校准步骤,与传统剪枝目标不同。

3. 方法(Approach)

(1)步骤1:识别不安全Delta参数

  • 安全向量定义:$\delta_{safe }=\theta_{align }-\theta_{unalign }$,其中$\theta_{align }$是安全对齐模型参数,$\theta_{unalign }$是用有害数据微调的非对齐模型参数,代表“安全参数更新方向”。
  • 安全干扰参数筛选:符号与安全向量不一致的delta参数会干扰安全,定义集合:
    $\mathcal{U}=\left{\delta_{sft}^{i} \in \delta_{sft} | \delta_{sft}^{i} \cdot \delta_{safe }^{i} \leq 0, \forall i\right}$,其中$\delta_{sft}$是微调产生的delta参数。
  • 安全重要性得分:基于Fisher矩阵估计参数对安全的重要性,公式为:
    $\hat{F}{\theta}=\frac{1}{N} \sum{i=1}^{N} \underset{y \sim p_{\theta}\left(y | x_{i}\right)}{\mathbb{E}}\left(\nabla_{\theta} log p_{\theta}\left(y | x_{i}\right)\right)^{2}$,
    其中$x_i$是有害查询,$y$是模型的安全拒绝响应(Fisher矩阵基于预训练模型计算,可复用)。
  • 不安全参数最终筛选:从$\mathcal{U}$中提取安全重要性得分前$\rho%$的参数,用掩码标记:
    $m_{i}=\left{ \begin{array} {ll}1, & if \delta_{sft}^{i} \in \mathcal{U} and s_{i} \geq s’ \ 0, & otherwise \end{array} \right.$,
    其中$s_i$是参数的安全重要性得分,$s’$是$\mathcal{U}$中前$\rho%$参数的得分阈值,$m_i=1$代表不安全delta参数。

(2)步骤2:移除不安全Delta参数

通过掩码$m$将不安全delta参数移除,模型参数更新为:$\hat{\theta}{sft}=\left{\theta{pre}^{i}+\delta^i_{sft} | m_{i}=0 \right}$,其中$\theta_{pre}$是原始对齐过的安全模型参数,$\delta^i_{sft}$是保留的delta参数,本质是将不安全参数恢复到预训练安全状态。

(3)步骤3:重新校准保留参数

基于“最优脑外科医生(OBS)理论”,用Hessian矩阵逆$\boldsymbol{H}^{-1}$计算补偿值,添加到保留的delta参数中,公式核心为“基于参数移除对损失的影响,为保留参数分配补偿权重”,确保下游任务性能无损。
IRR通过“分块迭代”遍历整个参数矩阵,完成三步流程。

4. 实验设置(Experimental Setup)

(1)模型与微调方式

  • 全量微调:Llama-2-7b-chat(安全对齐的开源模型);
  • LoRA微调:Llama-3-8B-Instruct(用于验证跨模型有效性);
  • 微调工具:LLaMA Factory(Zheng et al., 2024)。

(2)数据集

  • 微调数据集:GSM8K(数学)、CodeAlpaca-20k(代码)、Chinese Alpaca(中文,添加50K英文样本)、MathInstruct(Llama-3微调用);
  • 安全评估数据集:
    • 有害查询基准:CATQA(多语言)、HEx-PHI(330条有害查询)、Salad-Base(抽样2132条);
    • 越狱攻击:Salad-Attack(包含GPTFuzzer、GCG等攻击方式);
  • 下游性能评估数据集:GSM8K(数学)、HumanEval(代码)、中文MMMLU(中文)。

(3)基线方法

  • SFT:仅微调下游任务,无安全处理;
  • DARE:对delta参数随机丢弃并缩放;
  • Safe LoRA:将delta参数映射到安全向量子空间;
  • SafeDecoding:推理时放大安全token概率;
  • RESTA/RESTA$_d$:合并安全向量(无/有DARE);
  • IRR/IRR$_d$:本文方法(无/有DARE)。

(4)评估指标

  • 安全得分:MD-Judge(内容审核模型)判定的“无害响应比例”,得分越高越安全;
  • 下游性能:数学(GSM8K准确率)、代码(HumanEval准确率)、中文(MMMLU准确率)。

5. 结果与讨论(Results and Discussions)

(1)核心结果(表1)

  • 安全提升:IRR在有害查询基准的平均安全得分达98.83%-99.72%,接近Safe LoRA(99.85%-99.91%),显著高于SFT(69.99%-90.05%)和RESTA(98.64%-99.26%);
  • 性能保留:IRR的下游性能与SFT基本持平(如GSM8K准确率42.91% vs SFT 43.06%),而Safe LoRA性能损失极大(GSM8K准确率22.61%)、RESTA存在一定损失(GSM8K准确率41.93%)。

(2)帕累托改进验证(图3-4)

IRR在“安全得分-下游性能”曲线中始终处于“安全最高、性能无损”的前沿,而RESTA随安全提升性能逐渐下降,证明IRR实现帕累托改进。

(3)消融实验(图5)

  • IRR w/o ID(随机识别不安全参数):性能显著下降,证明“精准识别”的必要性;
  • IRR w/o SI(仅用安全重要性,无安全干扰):性能损失大,证明“安全干扰”的关键作用;
  • IRR w/o Recal(无校准):性能略有下降,证明校准步骤可进一步减少损失。

(4)其他验证

  • 跨语言安全:IRR随掩码比例增加,中文、越南语的安全得分逐渐接近英文(图6);
  • 跨模型有效性:Llama-3-8B-Instruct上,IRR仍维持高安全与低性能损失(图7);
  • 新安全向量:更换安全向量后,IRR仍优于RESTA(图8);
  • 有害微调抵抗:混合有害数据微调时,IRR(含IRR$_{more}$)仍能平衡安全与性能(图9)。

6. 结论与局限性(Conclusion & Limitations)

(1)结论

IRR通过“识别不安全delta参数-移除-校准”,在全量微调、LoRA微调、多数据集、多模型上实现“安全显著提升+下游性能无损”,为微调模型的事后安全重对齐提供有效方案。

(2)局限性

  • 多模态模型:未在图像、语音等多模态模型上验证;
  • 安全向量与重要性得分:现有方法较简单,需开发更鲁棒的计算方式。

(3)伦理与潜在风险

  • 伦理价值:IRR减少有害内容,符合AI安全开发原则;
  • 潜在风险:需避免用户误认为“IRR处理后的模型完全安全”,实际仅在实验评估场景中提升安全,部署时仍需额外安全检查。

7. 其他补充(附录)

  • 计算复杂度:基于SparseGPT计算Hessian逆,复杂度为$O(d_{hidden }^3)$($d_{hidden }$为Transformer隐藏层维度),计算高效;
  • 时间消耗:LoRA微调模型用64个校准样本时,IRR仅需67.57秒,远低于LoRA微调的1.55小时;
  • 内存兼容性:IRR按层计算Hessian,仅需加载当前层参数,适合GPU内存有限场景。

三、一句话总结

论文假设“分离微调模型中与安全向量冲突的高重要性delta参数,并对保留参数进行Hessian-based校准,可在提升安全的同时维持下游性能”,提出IRR三步法,在Llama-2/3系列模型及数学、代码、中文数据集上的实验表明,该方法使有害查询基准的平均安全得分从69.99%-90.05%提升至98.83%-99.72%,下游性能损失小于1%,实现帕累托改进,验证了“精准分离不安全参数+校准”在微调模型安全重对齐中的有效性。