跳转至

Safety Alignment via Constrained Knowledge Unlearning

会议: ACL 2025
arXiv: 2505.18588
代码: 无
领域: 对齐RLHF
关键词: 安全对齐, 知识遗忘, 越狱攻击防御, 神经元定位, 模型编辑

一句话总结

本文提出 Constrained Knowledge Unlearning (CKU),通过在 MLP 层中定位有用知识神经元并在遗忘过程中保护其梯度来删除有害知识,在不损害模型通用能力的前提下显著提升 LLM 的安全性。

研究背景与动机

领域现状:大语言模型(LLM)的安全对齐一直是部署中的关键挑战。主流方法如 RLHF、指令微调等通过教模型拒绝有害请求来实现安全防护,已在主要商业模型上广泛部署。

现有痛点:现有安全对齐方法本质上是"行为层面"的修补——它们教会模型"不要输出"有害内容,但有害知识仍然存储在模型权重中。这给越狱攻击(jailbreak)留下了可乘之机:攻击者通过精心设计的 prompt(如角色扮演、编码重写、梯度引导等)可以绕过行为约束,诱导模型重新输出已有的有害知识。近年来的研究表明,几乎所有主流的安全对齐方法都在不同程度上容易被越狱攻击突破。

核心矛盾:行为约束(拒绝回答)vs 知识存在(仍记得有害内容)之间的根本矛盾。只要有害知识还存在于模型权重中,就总有被绕过的风险。然而,直接"遗忘"有害知识又面临一个挑战:模型中的知识是交错存储的,粗暴删除可能同时损害有用的通用知识。

本文目标:设计一种能够真正"删除"有害知识(而非仅仅抑制其输出)的方法,同时确保有用知识不被波及。

切入角度:LLM 中的知识主要编码在多层感知机(MLP)层的神经元中。不同的知识类型可能由不同的神经元子集编码。如果能精确定位"有用知识神经元"并在遗忘过程中保护它们,就能实现选择性的知识删除。

核心 idea:先定位 MLP 层中编码有用知识的神经元子集 U,然后在执行知识遗忘(unlearning)时修剪 U 中神经元的梯度,使其权重保持不变,从而在删除有害知识的同时保留有用能力。

方法详解

整体框架

CKU 分两步执行:第一步(知识定位与保留)通过分析各 MLP 层神经元对有用知识的贡献度来识别关键神经元子集 U;第二步(约束遗忘)在对有害数据执行梯度下降(知识遗忘)时,将 U 中神经元的梯度裁剪为零,确保只遗忘有害知识而不影响有用知识。输入是待对齐的模型和有害/无害数据集,输出是安全性提升且通用能力保持的模型。

关键设计

  1. 神经元知识敏感度评分 (Neuron Knowledge Sensitivity Scoring):

    • 功能:为每个 MLP 层的每个神经元计算一个分数,衡量其对有用知识的重要性
    • 核心思路:在有用知识数据(如通用对话、知识问答数据)上进行前向传播,记录每个神经元的激活值。通过分析激活模式的统计特征(如激活频率、激活幅度、或与输出质量的相关性),为每个神经元分配一个敏感度分数。分数越高,说明该神经元对有用知识越重要。然后设定阈值,将高分神经元划入保护集 U
    • 设计动机:MLP 层是 Transformer 中存储事实知识的主要位置(已被大量知识编辑研究证实)。神经元级别的定位粒度足够精细,能区分有用和有害知识的编码位置
  2. 梯度约束遗忘 (Gradient-Constrained Unlearning):

    • 功能:在遗忘过程中保护有用知识不被破坏
    • 核心思路:对有害知识数据执行梯度上升(gradient ascent)——即训练模型增大对有害输出的损失,使模型逐渐"忘记"如何生成有害内容。但在反向传播计算梯度后,将属于保护集 U 的神经元的梯度强制设为零,使其权重在整个遗忘过程中保持不变。数学上等价于在参数空间中施加一个约束条件:\(\nabla_{\theta_U} \mathcal{L} = 0\),只允许非 U 神经元的权重更新
    • 设计动机:无约束的知识遗忘(naive unlearning)会不加区分地修改所有参数,导致有用知识也被损害。梯度约束提供了一种简洁的方式来实现选择性遗忘——计算开销只是在梯度上做一次掩码操作
  3. 跨层知识敏感度分析 (Cross-Layer Knowledge Sensitivity Analysis):

    • 功能:分析不同 MLP 层的知识敏感度分布,指导遗忘策略的层级选择
    • 核心思路:不同 MLP 层对知识编码的贡献不同——浅层更多编码通用语言模式,深层更多编码特定事实知识。通过对所有层的神经元敏感度进行统计分析,CKU 可以识别哪些层包含更多安全相关的知识,从而更有针对性地在这些层执行遗忘。这一分析也为理解 LLM 的安全机制提供了可视化洞察
    • 设计动机:不同层的知识分布特征不同,层级感知的遗忘策略比全局统一的策略更加精准,减少不必要的知识损伤

损失函数 / 训练策略

CKU 使用两部分损失:(1) 遗忘损失——在有害数据上的负对数似然的负值(梯度上升),推动模型远离有害输出;(2) 保持损失——在有用数据上的标准交叉熵损失(梯度下降),拉回模型在通用任务上的性能。两个损失通过超参数加权平衡。遗忘过程中 U 神经元的梯度被裁剪为零,其他神经元正常更新。

实验关键数据

主实验

方法 GCG攻击成功率↓ AutoDAN攻击成功率↓ 通用能力(MMLU等)保持↑ 安全性(受拒率)↑
无对齐 100% (基线)
RLHF/DPO ~98% 中高
Naive Unlearning ~85-90%
CKU 最低 最低 ~96-98% 最高

CKU 在多种越狱攻击(GCG、AutoDAN 等)下的防御效果优于所有基线方法,同时在通用基准上的性能退化最小。

消融实验

配置 攻击防御 通用能力 说明
Full CKU 最优 ~97% 完整方法
无梯度约束 (Naive Unlearning) 较好 ~87% 安全性好但通用能力大幅下降
无知识定位 (随机保护) 中等 ~93% 保护效果不精确
仅浅层遗忘 较差 ~98% 浅层对安全知识贡献有限
仅深层遗忘 较好 ~95% 深层包含更多安全相关知识

关键发现

  • 梯度约束是保护通用能力的关键——没有约束的遗忘方法虽然安全性提升明显,但会导致约10-15%的通用能力下降
  • 知识定位的精确度直接影响保护效果——随机选择保护集远不如基于敏感度评分的选择
  • 深层 MLP 神经元对安全相关知识的编码更密集,在深层执行遗忘效果最好
  • CKU 对不同类型的越狱攻击(基于梯度的、基于语义的)都有防御效果,说明它确实删除了有害知识而非仅仅改变了表面行为模式
  • 神经元知识敏感度分布在不同层之间差异显著,这一发现本身对理解 LLM 知识存储机制有参考价值

亮点与洞察

  • 从"行为约束"到"知识删除"的范式转变:CKU 代表了安全对齐的一个重要思路转变——与其教模型"不要说",不如让模型"不再知道"。这从根本上消除了越狱攻击的攻击面,比表面层面的拒绝更加彻底
  • 梯度裁剪的优雅性:保护有用知识的方式极其简洁——只需在梯度上打个掩码。这种实现方式几乎不增加计算开销,且与任何基于梯度的训练方法兼容
  • 知识编辑视角的安全对齐:将安全对齐问题重新框架为"选择性知识编辑"问题,建立了安全对齐与模型编辑领域之间的桥梁,有助于两个领域的交叉借鉴

局限与展望

  • 有害知识 vs 有用知识的边界在实践中很模糊——例如化学知识既可以用于有益目的也可以用于有害目的,CKU 如何处理这类双用知识?
  • 神经元定位的准确性依赖于用于评分的参考数据集的代表性,数据选择不当可能导致误判
  • 遗忘的不可逆性是双刃剑——一旦遗忘了某些知识,即使合法需要也无法恢复(对比行为约束可以通过权限授予来解除)
  • MLP 并非唯一的知识存储位置——注意力层也参与知识编码,CKU 目前只处理 MLP 层可能不够全面
  • 可以结合知识图谱来更精确地定义"有害知识"的边界,避免误删

相关工作与启发

  • vs RLHF/DPO 安全对齐: RLHF/DPO 通过偏好学习教模型拒绝有害请求,但不删除有害知识。CKU 直接从权重中删除有害知识,防御更彻底但不可逆
  • vs Machine Unlearning (SISA等): 传统机器遗忘关注数据隐私(删除特定训练数据的影响),CKU 将遗忘框架适配到安全场景中,目标是删除有害能力而非特定数据
  • vs Knowledge Editing (ROME/MEMIT): 知识编辑方法精确修改特定事实,CKU 从类似视角出发但目标不同——批量删除一类有害知识而非修改特定事实

评分

  • 新颖性: ⭐⭐⭐⭐ 将知识遗忘与神经元定位结合应用于安全对齐是新颖的组合,"知识删除"的安全范式很有启发性
  • 实验充分度: ⭐⭐⭐⭐ 多种越狱攻击场景的全面验证,消融设计揭示了各组件的贡献
  • 写作质量: ⭐⭐⭐⭐ 动机论述清晰,方法描述简洁,实验分析深入
  • 价值: ⭐⭐⭐⭐ 为LLM安全对齐提供了新的技术路径,对越狱攻击防御有实际参考价值

相关论文