正交lora:克服多任务学习过程中的知识冲突与灾难遗忘

论文标题

Compositional Subspace Representation Fine-tuning for Adaptive Large Language Models

论文地址

https://arxiv.org/pdf/2503.10617

前言

Lora在权重层面上与模型原有参数隔离,并通过结构限制快速拟合微调所需要的低秩变换矩阵,实现了对模型输出既高效又准确的调整。然而在实际应用中,我们根据业务需要调整大模型的表现时,可能会有多方面的任务需要训练,不同的任务可能会存在参数冲突。

本文提出了一种对lora模块进行正交投影的方法,让不同任务在互不影响的子空间上进行参数更新,从而避免参数冲突带来的负优化现象

相关工作:O-Lora

本文与2023年10月复旦提出的O-Lora非常类似:

在这里插入图片描述

O-Lora主要用于解决连续微调时的灾难性遗忘问题,它在每个微调任务上都训一个lora分支,并保证不同lora模块的参数矩阵A相互正交

在这里插入图片描述

这样在融合主干网络和不同的Lora适配器时,每一组参数互不干扰,不会发生相互抵消的情况

本文方法

本文提出的方案叫做Compositional Subspace Representation Fine-tuning (组合子空间表示微调,CS-ReFT),主要解决在同一个lora模块上进行多任务学习时的知识冲突问题。

在这里插入图片描述

如上图所示,CS-ReFT会定义n个投影矩阵,其中n为任务数量。待分解的模块不仅需要降维+升维,还要投影到这n个子空间中:

在这里插入图片描述

解释:

  1. 每个任务对应一组W和b,它们都是可学习的参数,用于存储新知识

  2. R是正交矩阵,即:R^T * R = I

  3. 残差连接是为了保证深度学习模型的快速收敛

  4. 减R_k是为了抵消掉部分残差连接的信息,上图等价于:

Φ ( h ) = h + ∑ k n R k T ( W k h + b k − R k h ) = h + ∑ k n R k T ( W k h + b k ) − ∑ k n R k T R k h = h + ∑ k n R k T ( W k h + b k ) − ∑ k n h Φ(h) = h +\sum_k^n R_k^T(W_k h + b_k - R_k h)\\ =h +\sum_k^n R_k^T(W_k h + b_k) - \sum_k^nR_k^TR_k h\\ =h +\sum_k^n R_k^T(W_k h + b_k) - \sum_k^nh Φ(h)=h+knRkT(Wkh+bkRkh)=h+knRkT(Wkh+bk)knRkTRkh=h+knRkT(Wkh+bk)knh

其中sigma表示了选中子空间加权求和的过程,那么Φ的效果可理解为:

i. 在原始隐藏状态h中,清空指定子空间的内容

ii. 把h中指定子空间的内容,做一个类似于Lora的降维升维变换

iii. 把上述变换后的结果,填充到之前清空了的子空间中

可见上述操作确保了学习到的新知识仅在指定子空间中更新参数。

此外在训练目标中,还要求router尽可能少地选择投影子空间,以提高每个子空间的专用性

实验结果

在这里插入图片描述

与其他高效微调方法相比,限制子空间投影的方案效果明显更好,相比于LoRA效果提升15%

总结

启发

  1. 通过参数子空间正交,可以实现在不进行模块分离的情况下,让训练任务互不干扰,比O-Lora等多适配器方案使用的参数更少

不足

  1. 本文各个环节缺少消融实验,原文也缺少数学推导过程

  2. 只用了小尺寸模型做测试

  3. 本文中的对照实验都是单适配器,没有与多适配器设置进行对比,效果不一定比O-Lora好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值