MSRA联合清华在LoRA相关工作最新进展—混合LoRA专家 (MoLE)

1763282612076a5c8ad6420c54e6898c.jpeg

深度学习自然语言处理 原创
作者:fanmetasy

引言

2022年提出的LoRA(Low-Rank Adaptation)已成为微调大型预训练模型的关键技术,其在多种任务中均展现了有效性。

LoRA的模块化架构,推动了利用多个经过训练的LoRA模型进行协同组合的进一步研究,这能够提高各种任务的性能。然而,将训练好的LoRA模型进行有效组合会有一个巨大的挑战:

  1. 使用线性算法组合可能导致原始预训练模型固有的生成能力或单独训练的LoRA模型的独特属性的少,可能导致次优结果。

  2. 引用tuning-based的组合会在适应性上存在局限性,且由于需要对大模型进行重新训练而会产生巨大的计算成本。

为了应对这些挑战,混合LoRA专家(Mixture of LoRA Experts, MoLE)应运而生。MoLE将训练好的LoRA的每一层视为一个独立的专家,并通过在每一层内集成一个可学习的门控函数来实现分层权重控制,以针对给定领域目标学习出量身定制的最优权重组合。MoLE不仅在LoRA组合中展示了增强的性能,而且还保留了以最小的计算开销有效组合经过训练的LoRA所必需的基本灵活性。

MoLE在自然语言处理(NLP)和视觉与语言(V&L)领域进行的大量实验验证了MoLE的效果。

c06f0bc7dd90acc52183944089109925.png

论文:MIXTURE OF LORA EXPERTS
地址:https://openreview.net/pdf?id=uWvKBCYh4S
代码:https://github.com/yushuiwx/MoLE.git

LoRA

LoRA是一种微调大型预训练模型的技术,通过冻结预训练模型的权重在模型中注入可训练的低秩分解矩阵来实现参数高效的微调。这已经被证明是一种有效的微调方法,适用于计算资源受限的场景。

现有方案存在问题

虽然LoRA作为预训练模型的即插即用插件,但最近的相关工作均为探索将单独训练的LoRA进行组成,来实现联合生成学习到的特征。

b39c96fb84b8d014e864c7d0b44c65c2.png
图1:LoRA组合方法综述

如图1(a)所示,直接将训练好的LoRA模型进行先行算数组合,然而,组成多个LoRA模型(通常≥3)会损害预训练模型的生成性能。为了减轻这种情况,在组合之前进行权重归一化,但这可能会消除单个训练好的LoRA的独特特征,因为每个LoRA的组合权重减少了。

如图1(b)所示,称为基于参考调优的组合(reference tuning-based composition),是为V(视觉)&L(语言)领域量身定制的,并实现了卓越的性能。然而,由于它需要用到一个手动设计的掩码mask,它在LoRA的灵活性方面受到限制,并且涉及大量训练成本,需要进行完整的模型再训练。

鉴于上述情况,便引出了关键问题:

如何在动态、高效的组合多个训练好的LoRA模型的同时,保留每个LoRA模型的自己的特征?

MoLE

基于上述问题,混合LoRA专家(Mixture of LoRA Experts, MoLE)被提出。MoLE意识到经过训练的LoRA模型的各个层会表现出不同的特征,这些特征共同定义了经过训练的LoRA模型的总体特征,MoLE在每一层中队不同训练的LoRA模型的权重进行调制,即“分层权重控制”。如图1(c)所示,MoLE将训练好的LoRA模型的每一层视作一个单独的专家,并在每一层中加入一个门控函数,根据指定的领域目标学习最优的组合权重。这动态地增强了期望的特征,同时减轻了不太有利的特征,最终实现了更有效的LoRA组合,并防止了在线性算法组合中可能出现的期望的LoRA特征的损失。与基于参考调优的组合( reference tuning-based composition )不同的是,MoLE在组合多个经过训练的LoRA模型时保持了灵活性,同时降低了计算成本。

d3ba2a4fa53433dd56d94cf5b468fc92.png
图2:MoLE示意图

如图2所示,在训练阶段,MoLE学习了一个用于多个训练好的LoRA模型的门控函数,并保证其他参数冻结,来降低计算损耗。门控函生成多个LoRA模型的权重。

在推理阶段,MoLE利用所有训练好的LoRA和学习到的门控函数,通过分配的权重保持它们的个体特征,或者允许手动mask掉不需要的LoRA模型,并按比例重新计算和分配权重,而无需重新训练。这两种模式使MoLE能够适应不同的场景,为有效的LoRA组合提供了一种通用而灵活的方法。

5ffd8ef6c24b47de46c05d37c2f31b5c.png
图3:MoLE技术细节

如图3所示,展示了MoLE的细节部分。考虑预训练模型中的一个transformer block,将其参数化为θ(包括多头注意层和前馈神经网络),以及一组相应的训练好的LoRA模型 ,记作θ,其中N表示训练好的候选LoRA模型数,当给定输入时,预训练模型块θ的输出表示为θ:

θθθθθθ

式中,L和d分别表示序列长度和输入x的维数。和分别表示多头注意层和前馈神经网络。LN表示层归一化。每个LoRA的输出表示为θ

θθθθθθ

然后,MoLE使用一个可学习的门控函数对这些训练好的lora输出的组合权重的最优分布进行建模。具体来说,通过取θ作为输入,首先应用拼接(记为⊕)和归一化(用于训练稳定性),即:

θθ

式中ξ,ξ。⊕表示拼接操作。然后,在门控函数中使用可学习参数ξ进行点积运算,将平坦化并减少至n维,

εε

每个LoRA的门限值计算为:

τ是可学习的。通过将每个LoRA专家的输出与相应的门控值相乘,得到门控函数的最终输出,表示为:

其中,和表示第i个训练好的LoRA的权重。因此,通过将门控制函数的输出与预训练网络的输出相加,计算出该块的最终输出:

训练Loss设计

①门控平衡损失函数(Gating Balancing Loss)

如图4所示,随着训练步数的增加,门控制函数的概率分布的平均熵逐渐减小,即,门控制函数趋向于收敛到总是为早期表现良好的LoRA产生大权重的状态如图4 (b)所示,在三个LoRA中,LoRA β的门控制概率为68%)。导致最终只有少数lora具有重大影响,而丧失了其他lora的特性。为了缓解这种情况,MoLE使用一个Gating Balancing Loss,记作:

其中,

M表示门控函数所在块的个数,N表示LoRA的个数。这种均衡loss有利于均衡门控函数,因为当调度达到理想均衡时,它被最小化。

②特定领域Loss

为了适应不同的领域,MoLE还采用了不同的领域特定的训练loss,表示为。比如在V&L领域,使用来自CLIP的局部和全局指导的无监督训练来优化MoLE。在NLP领域,遵循FLAN-T5中的损失函数。总的损失函数为上述两个损失的加权和,表示为:

其中α是权重平衡的系数。

5f7106dfdc4c5efb87c95dc36d77cab3.png
图4:(a)各门控函数的平均门控熵随训练步长而变化。(b)三种lora的平均重量分布(%)

实验

NLP 和 V&L 领域的实验:作者在自然语言处理(NLP)和视觉与语言(V&L)领域进行了广泛的实验,验证了 MoLE 的效果。

结论和局限性

MoLE 作为一种灵活且动态的方法,用于组合多个训练好的 LoRA,通过每层的可学习门控函数来确定组合权重,具有良好的效果

局限性:当 LoRA 的数量变得非常大时(例如 128),所有 LoRA 组合方法,包括 MoLE的性能都有所下降,这表明在处理大规模 LoRA 组合时仍面临挑战。

整体而言,MoLE是一种新的模型组合方法,旨在解决在多种任务中有效组合多个 LoRA 模型的挑战,并通过实验展示了其在 NLP 和 V&L 领域的有效性。


备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群

d686fb4a8ac972f6af8f7b2b00cd0de9.png

id:DLNLPer,记得备注呦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值