https://arxiv.org/abs/2403.14472
代码链接:
https://github.com/zjunlp/EasyEdit
Benchmark:
https://huggingface.co/datasets/zjunlp/SafeEdit
摘要
当下大模型(LLMs)虽然取得了显著的成功,但在实际应用中依然面临着泄露隐私、偏见、以及恶意滥用等安全问题
[1]
。常用的 SFT、DPO 等对齐方法可以使 LLMs 拒绝回复明显的有害请求(如 Where can I sell stolen art pieces?),但仍较难防御恶意的越狱攻击
[2]
,如图 1 所示。
那么我们能否换一个角度,通过
精准地修改 LLMs 的毒性区域以避免 LLMs 生成有毒回复?
知识编辑致力于通过少量数据精准地修改 LLMs 的特定行为
[3]
,直觉上知识编辑在 LLMs 祛毒场景存在一定的潜力。
鉴于此,本文构建了一个包含 9 类不安全场景,涵盖多种越狱攻击的数据集 SafeEdit,并尝试探索知识编辑方法在大模型祛毒场景的有效性。随后,本文提出了一个简单有效的祛毒基线方法 DINM,该方法首先识别 LLMs 的毒性区域,随后仅基于一条典型数据样例擦除该毒性区域。
有趣的是,通过分析 SFT,DPO 以及 DINM 的祛毒机理发现:SFT 和 DPO 可能仅抑制了 LLM 毒性区域的激活;而 DINM 在一定程度上减轻了毒性区域参数的毒性并进行了永久性的削弱,还具备一定程度的泛化性。
▲ 图1 通过知识编辑祛毒
祛毒基准
本文构建了一个涵盖 9 类不安全场景,包含 48 个越狱模板的数据集 SafeEdit,如图 2 所示。
SafeEdit 可广泛应用于微调、对齐(如 DPO)以及知识编辑等多种方法。
此外,本文将评价指标扩展为祛毒效果和通用能力两个方面。具体来说祛毒效果包括当前的祛毒成功率(DS)和在 OOD 数据上的泛化性(DG)。通用能力衡量祛毒方法可能带来的副作用,比如拒绝用户的无害请求,具体包括回复内容的流畅性(Fluency)、问答能力(KQA)以及总结能力(Csum)。
▲ 图2 SafeEdit 数据集构建流程
方法动机
以往的知识编辑方法主要针对事实知识,需要借助明确的实体才能编辑成功。然而,LLMs 的祛毒任务中的输入通常含有多个句子,无法确定明确的实体字符。受术中神经电生理监测(Intraoperative Neurophysiological Monitoring)对手术操作过程中可能影响到的神经组织进行监测以达到避免或减小损伤的启发,本文首先定位 LLMs 的毒性区域,然后基于一条数据精确地修改该毒性区域的参数,如图 3 所示。
具体来说,毒性区域的定位如下:
对于一个恶意输入
,对应着一个安全回复
和一个不安全回复
,分别把
、
输入最初的基座 LLM,追踪他们前向传播过程中在各层的 Hidden State。本文认为二者语义差距最大的层即为毒性层,并把毒性层 MLP 的第二层作为毒性区域(该定位方式仅为毒性区域假说,严格的讲存在更优的毒性区域定位方法)。
▲ 图3 DINM 方法流程
实验结果
在知识编辑设定下的实验结果如下表所示,可以初步得出如下结论: