SafeMerge: 鱼与熊掌兼得的lora合并技巧

前言

本文旨在微调大模型的同时确保模型的安全性不降低,对于任何一种类似于:“保证模型能力A不下降的情况下,尽可能提高能力B”的场景,都具有很好的启发意义

论文标题

SafeMERGE: Preserving Safety Alignment in Fine-Tuned Large Language Models via Selective Layer-Wise Model Merging

论文地址

https://arxiv.org/pdf/2503.17239

代码地址

https://github.com/aladinD/SafeMERGE

作者背景

慕尼黑工业大学,IBM研究院

动机

微调是让LLM适配定制化任务的重要手段,然而即便是针对无害数据的微调,也可能破坏模型的安全对齐,导致生成有害内容(暴力、歧视性言论等)。目前针对微调后安全性的恢复方法,存在不少问题:一些方法需要复杂的定制化算法,而另一些则牺牲了任务性能以保证安全性。因此,如何在不显著降低任务性能的前提下,恢复和保持模型的安全性,是当前亟待解决的挑战。

本文希望在对模型进行微调微调时,在保证安全指标基本不下降的同时,尽可能提高业务效果

本文方法

本文提出了SafeMERGE框架,主要思路是:在训练业务lora的同时,也构造一个安全lora,然后选择可能存在安全风险的layer去合并这两个lora,没有安全风险的只合并业务lora,整体流程如下图所示:

在这里插入图片描述

一、安全子空间投影

为了衡量模型在业务数据上做完微调后,安全性是变好还是变差,需要把参数的变化量投影到一个“安全子空间”。这个子空间通过使用安全数据进行lora微调模型得到,由于lora本身拟合的对象就是参数变化Δ,所以上图中的“安全lora”,代表的就是模型安全性提升的方向,即“安全子空间”。

现在考虑如何把业务lora投影到这个子空间。先说结论:让业务lora乘以下面这个投影矩阵,便可将其投影到安全lora上

在这里插入图片描述

下面简单推导一下,回顾初中数学的内容,可知点积计算公式与向量加减法:
a·b=|a||b|cosα

在这里插入图片描述

由于projection与e垂直,二者的点积为0;由于projection与vector2共线,有projection = X * vector2,于是:

添加图片注释,不超过 140 字(可选)

在这里插入图片描述

所以,想要把vector2投影到vector1上,需要乘以上图的红框部分

二、识别并合并偏离安全对齐的层

按照以上分析,把业务lora投影到安全lora上可以获取到当前微调对于提高模型安全性上的改动,此时便可以对比整体变化与安全改良之间的差距,如果超过了某个超参数,则需要合并安全lora以扭转有害性提升的趋势

添加图片注释,不超过 140 字(可选)

实验结果

添加图片注释,不超过 140 字(可选)

对照组说明:

  • original:原始Model
  • Fine-tuned:只进行业务微调
  • SafeInstruct:安全数据混合到业务数据中
  • RESTA:将有害任务向量负向合并到微调后的模型中,以期恢复安全性
  • SafeLoRA:前序工作,和实验组很类似,不同点在于它直接计算每层权重与安全lora的相似度,低于阈值则使用上述投影矩阵强行投到安全子空间中
    https://arxiv.org/pdf/2405.16833
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值