基础模型的快速发展已经彻底改变了人工智能领域,其在自然语言处理,计算机视觉和科学发现等领域取得了前所未有的进步。然而,这些模型的大量参数(通常达到数十亿或数万亿)使其在适应特定下游任务方面构成了重大挑战。
低秩自适应(LoRA)已经成为缓解这些挑战的一种非常有前途的方法,它提供了一种参数高效的机制,以最小的计算开销来微调基础模型。
本文全面回顾了LoRA技术,从大型语言模型到一般基础模型,包括最新技术基础、新兴前沿和多个领域的低级别适应应用。最后,本文讨论了在理论理解,可扩展性和鲁棒性方面的关键挑战和未来的研究方向。
论文地址:[2501.00365] Low-Rank Adaptation for Foundation Models: A Comprehensive Review
-
简介
基础模型代表了人工智能的范式转变,其采用大尺寸,在广泛的数据集上进行预训练,可适用于广泛下游应用。这些模型跨越多个领域,包括自然语言处理,计算机视觉,语音处理,多模态学习和科学应用。这些架构已经成为现代人工智能系统的基本构建部分,使不同领域的突破性性能成为可能。
虽然这些模型表现出广泛、强大的能力,但通过微调进行特定任务的优化,实现定制化仍然至关重要。然而,它们的规模带来了重大的计算挑战,特别是在训练和微调所需的计算资源方面。尽管涉及完整参数更新的传统微调方法已在各种任务中证明了有效性,但其计算需求通常不切实际。
参数有效微调(Parameter-efficient fine-tuning,PEFT)方法已经成为这些计算挑战的解决方案。这些方法通过最小化可训练参数的数量来实现模型自适应,从而在不影响任务性能的情况下大幅降低计算要求。在这些方法中,低秩自适应(LoRA)及其变体由于其简单性,经验有效性以及在不同模型架构和领域的广泛适用性而受到广泛关注,如图所示。
LoRA基于两个关键见解,即微调期间的权重更新通常位于低维子空间,并且可使用低秩矩阵有效捕获特定任务的自适应信息。通过优化每个任务的低秩矩阵,同时冻结原始模型参数,LoRA实现了有效的自适应,并在不增加推理延迟的情况下实现了多个任务特定自适应的组合更新。
-
-
基础
LoRA虽然最初是为LLM开发的,但随后的研究已经证明了其在各种基础模型中的有效性。
LoRA的数学公式核心在于在微调期间将更新矩阵约束为低秩矩阵,如图所示,这是通过矩阵分解实现的:,其中,秩。通过将限制为低秩,LoRA最大限度地减少了微调过程中需要学习的参数量,从而提高了计算和存储效率。
这里,B和A的维度分别为d×r和r×d,其中r远小于d,d是原始权重矩阵的维度。因此,微调的参数量从原来的d×d减少到了2×r×d,显著降低了参数量和计算成本。
对于预训练权重矩阵W0,LoRA在微调过程中将其更新方式限制为W0+BA。在训练时,原始参数W0被冻结,即虽然W0会参与前向传播和反向传播,但不会计算其对应的梯度,更不会更新其参数。这样,模型在微调过程中主要学习的是低秩矩阵B和A,而不是直接更新原始的权重矩阵W0。在推理时,可以直接将BA合并到W0中,因此相比原始LLM不存在推理延时。
LoRA的这种设计不仅减少了参数量,还保持了模型的原有结构和性能。由于原始模型参数保持不变,只是通过添加少量的可训练参数来适应新的任务,因此LoRA可以在不同的任务上进行灵活应用,而不会对模型的原有能力造成影响。
参数初始化策略:LoRA采用特定的初始化策略来确保稳定和有效的训练。矩阵A通常用从随机高斯分布中提取的值初始化,而矩阵B用零初始化,这确保了在训练开始时,矩阵实际上是零矩阵。
微调过程:在LoRA中,微调过程遵循以下关键原则:
- 原始的预训练权重保持冻结,并且在训练期间不接收梯度更新。
- 低秩矩阵A和B包含唯一可训练的参数,并针对特定任务进行调整。
- 将和分别应用于输入向量x,并将其输出组合起来。
- 输出按α/r进行缩放。
- 其中,α/r是控制低秩更新幅度的比例因子。当使用Adam进行优化时,调整比例因子α大致类似于调整学习速率,前提是初始化被适当缩放。实际上,α的值可以根据秩r来设置,从而无需进行大量的超参数调整。
- 将生成的输出向量按元素求和:
-
LoRA相对于完全微调的优势。
LoRA在应用于大型基础模型时,与完全微调相比具有以下几个关键优势:
- 参数效率:LoRA通过低秩分解引入最小的可训练参数集,通常将任务特定参数的数量减少几个数量级。这种方法在资源受限的环境和需要对基本模型进行多次调整的多任务场景中尤其有利。
- 提高训练效率:与更新所有模型参数的传统全调不同,LoRA仅优化低秩自适应矩阵。该方法显著降低了计算成本和存储器需求,尤其是对于具有数十亿个参数的模型。减小的参数空间通常导致训练期间的更快收敛。
- 无延迟推理:LoRA不会引入额外的推理延迟,因为更新矩阵可以并入原始冻结权重W。这种集成确保了适应的模型在部署和推理期间保持效率。
- 灵活的模块化适配:LoRA支持创建轻量级、特定任务的适配器,这些适配器无需修改基础模型架构即可互换。与为每个任务维护单独的模型实例相比,这种模块化便于高效的多任务学习和任务切换,同时最小化存储需求。
- 强大的知识保留:通过保持预训练的权值,LoRA有效地减轻了灾难性遗忘,这是传统微调中常见的挑战。这种方法在获取特定于任务的功能的同时,保持了模型的基础知识。
- 多功能部署:LoRA的紧凑特性有助于高效部署和系统集成。多个lora矩阵可以跨不同的任务或领域轻松地组合或交替使用,与传统的微调方法相比,提供了更高的灵活性。
-
-
基本技术细节
在本节中,我们将从四个关键方面研究LoRA的基本技术细节:参数效率提高、秩自适应策略、训练过程改进和理论基础。这些组成部分构成了LoRA有效性的技术基础。
参数效率提高
尽管通过LoRA及其向下投影A和向上投影B矩阵实现了参数效率增益,但该方法仍然需要大量的可训练参数。例如,将LoRA应用于LLaMA-270 B模型需要更新超过1600万个参数,超过了某些BERT架构的总参数。
目前的研究主要通过四种方法来解决这一问题:参数分解、修剪、冻结和共享以及量化。下图展示出了这些技术的示例。
参数分解
参数分解方法通过以更紧凑的形式分解矩阵来实现参数效率,同时保持任务性能。除了减少可训练参数之外,这些方法还能够在微调期间实现更精细的控制。目前的方法可以分为两种主要方法:更新矩阵分解和预训练权重分解。
更新矩阵分解:在更新矩阵分解方法中,出现了两种主要的分解策略:基于奇异值分解(SVD)的方法和基于张量训练(TT)的分解。
- 基于SVD的方法:AdaLoRA 以SVD的形式参数化更新权重:,其中和分别表示矩阵W的左、右奇异向量,对角矩阵包含奇异值。AdaLoRA根据重要性评分动态调整Δ W的秩,以在微调期间实现自适应参数效率。在此基础上,BiLoRA通过两级优化扩展了该框架,在不同的数据子集上分离奇异向量和值训练,以减轻过度拟合。
- 基于TT的方法。LoRETTA采用TT分解,将矩阵表示为一系列低秩、小的三维张量,通常称为核。给定一个矩阵,首先将它整形为一个张量,其中.W的TT表示可以用公式表示为:,其中表示核张量,[r0,· · ·,rd]表示TT秩,其中r0 = rd = 1。这种分解将参数数从d × k减少到。
预训练的权重分解:DoRA 通过归一化方法将预训练的权重W0分解为幅度和方向分量:,其中,被初始化为幅度向量,被初始化为并保持冻结,并且表示跨每列的矩阵的向量范数。在微调期间,权重被调整为:,其中m变为可训练的,并且BA表示对方向分量的LoRA更新。这种分解使得在微调期间能够独立地优化幅度和方向,从而导致更接近于完全微调的学习模式。
这两种方法在参数效率和微调灵活性方面都具有独特的优势。更新矩阵分解方法侧重于分解微调期间应用的增量更新,而预训练权重分解直接修改原始模型权重的结构,下表提供了这些方法的详细比较。
-
参数剪枝
参数剪枝技术专注于评估LoRA矩阵中不同参数的重要性,并删除那些被认为不太重要的参数。这些方法可以根据其剪枝方法进行分类:基于重要性的剪枝,基于正则化的剪枝和基于输出的剪枝。
基于重要性的剪枝:这些方法使用多个度量来评估参数重要性。SparseAdapter将传统的网络剪枝技术应用于LoRA参数,通过参数幅度、梯度信息和敏感性分析评估重要性。RoseLoRA通过为行/列修剪实现基于敏感度的评分来扩展这一概念,从而在保持低秩适应性优势的同时实现选择性知识更新。
基于正则化的剪枝:基于正则化的剪枝技术通过优化约束引入稀疏性。Sora利用LoRA的向下投影和向上投影矩阵之间的门控机制,使用L1正则化的近端梯度下降。该方法能够在训练期间自动稀疏化,在训练后消除零值元素。
基于输出的剪枝:基于输出的方法基于LoRA参数的分层影响来评估LoRA参数。LoRA-drop通过分析不同层上的的分布来评估LoRA模块的重要性。该方法为最重要的层保留单独的LoRA模块,而在被认为不太重要的其它层之间共享单个LoRA。
-
参数冻结和共享
参数冻结和共享技术通过矩阵冻结和跨层参数共享减少可训练参数。
矩阵式冻结:研究已经揭示了矩阵A和B在适应中的不对称作用。LoRA-FA表明,冻结随机初始化的矩阵A,而仅更新B,可以保持模型性能。Asymmetric LoRA 为该方法提供了理论基础,表明A主要用作特征提取器,而B用作特定任务的投影器。这导致了使用针对A的冻结随机正交矩阵的增强设计,进一步减少了参数,同时保持了性能。
跨层参数共享:有几种方法探索跨网络层的参数共享。VeRA 跨层共享冻结矩阵A和B,仅训练用于自适应的缩放向量。NOLA通过将A和B表示为共享冻结基矩阵的可训练线性组合来扩展此概念。Tied-LoRA在保持共享矩阵可训练的同时实现了逐层的参数绑定,它提供了一个灵活的框架。
结合参数剪枝技术,这些方法可以显着减少参数计数,同时保持自适应效果。下表提供了这些方法的全面比较。
-
参数量化
量化通过较低精度的数值表示来优化神经网络的复杂性,大大降低了存储和计算需求。在LoRA上下文中,量化方法的特征在于两个主要维度:量化时间和量化技术。
量化时间:量化时间指的是在微调之前、期间或之后发生量化的时间。
- 预微调量化。预微调量化是指在任何基于LoRA的自适应之前对预训练的权重进行量化。例如,QLoRA采用4-bit NormalFloat (NF4)量化方法。类似地,LoftQ 通过解决量化高精度权重所引入的差异,对此进行了改进。
- 微调过程中量化。微调期间量化在微调过程之前和整个微调过程中都应用量化。QA-LoRA 等方法利用分组量化在训练期间动态调整精度,确保低秩更新和量化权重之间的交互更加平衡。
- 微调后量化。例如在LQER中,发生在微调完成之后,主要集中在用于推理的量化上。LQER利用基于低阶SVD的分解来最小化量化误差,从而确保量化后的权重与原始高精度权重紧密匹配。
量化技术:针对LoRA,已经提出了不同的方法,包括均匀量化、非均匀量化和混合精度量化。
- 均匀量化。均匀量化为所有权重分配相同的位宽,而不管其分布如何。QA-LoRA应用了具有group-wise refinement的均匀量化。然而,均匀量化可能会与非均匀分布的权重冲突。
- 非均匀量化。QLoRA采用非均匀量化,这是专门为高斯分布设计的权重,这有助于在最需要的地方(接近零)分配更高的精度。该方法允许更好地表示在预训练模型中占主导地位的较小权重。
- 混合精度量化。混合精度量化可根据权重矩阵或层动态调整位宽,从而提供更大的灵活性。诸如LoftQ和LQ-LoRA等方法利用混合精度来优化模型不同组成部分。例如,LoftQ在量化权重矩阵的残差和使用SVD细化低秩分量之间交替。通过迭代优化低秩参数和调整量化级别,LoftQ能够最小化量化误差。LQLoRA通过采用整数线性规划来动态配置每个权重矩阵的位宽,从而扩展了该方法,并且还引入了Fisher信息矩阵的近似来通知量化过程的数据感知机制。这允许LQ-LoRA以最小量化引起的损失实现权重矩阵的更精确分解。
总而言之,预微调量化方法,如QLoRA和LoftQ,通常通过冻结预训练的权重来节省更多的内存,而像LQER这样的后微调方法更注重提高推理的精度。在量化技术方面,如QLoRA、LoftQ和LQ-LoRA中所见,非均匀和混合精度方法通过基于权重分布提供更灵活的精度分配,在低位场景中展示了上级性能。量化的时间和具体的量化技术在确定内存效率和模型性能之间的平衡方面都起着关键作用。
-
秩适应(Ranking Adaptation)
秩是LoRA中的一个关键参数,直接影响模型的适应性和可训练参数的数量。原始LoRA方法在所有层中采用固定的低秩,这对于不同的下游任务和模型架构可能不是最佳的。
为了解决限制,最近的工作提出了各种方法来优化LoRA中的秩分配,这可以大致分为两个主要方面:秩细化(rank refinement)和秩增强(rank augmentation)。下图显示了这两种方法的示意图。
秩细化
秩细化方法的目的是在细调过程中自适应地选择LoRA模块的秩。关键的见解是,不同的层可能需要不同程度的自适应,从而需要不同的秩。秩细化方法可以分为三种主要类型:自适应分配、启发式策略和多秩训练。
自适应分配:自适应分配方法在训练期间基于从数据或模型参数导出的重要性度量来动态地调整LoRA模块的秩。AdaLoRA通过使用SVD对LoRA更新进行参数化,引入了用于秩分配的自适应机制。它根据奇异值的大小动态地修剪奇异值,允许每一层都有一个定制的秩,同时保持全局参数大小。类似地,Sora采用可学习的门控机制来控制每个LoRA模块的有效秩。使用L1正则化的近似梯度下降法优化门以提高稀疏性。该方法能够自动发现不同层的合适秩,从而提高参数效率而无需手动调整。
启发式策略。启发式策略基于预定义的规则来分配秩,所述规则可以来自先验知识或经验观察。PRILoRA提出了一种确定性策略,其中LoRA模块的秩从较低层到较高层线性增加。在迁移学习中,较高的层通常需要更多的适应性,这一启发式算法将较高的等级分配给较高的层。
多秩训练。多秩训练方法使模型能够在一系列秩上很好地执行,从而在推理期间提供灵活性。DyLoRA可同时在一系列秩上训练LoRA模块。在每次训练迭代中,它从预定义的分布中采样秩,从而允许模型学习如何在多个秩中有效地执行。该策略在推理期间实现了自适应性,而不需要额外的训练,这在具有变化的计算约束的部署场景中是有益的。
秩增强
秩增强方法的目的是通过一系列的低秩修改来实现高秩模型更新,弥补LoRA和全参数微调之间的性能差距。这些方法可分为基于矩阵合并的方法和基于矩阵重采样的方法两类
基于矩阵合并的方法:基于矩阵合并的方法通过合并低秩更新矩阵来提高秩。其核心思想是多个低秩矩阵的和可以逼近一个高秩矩阵,从而增强了捕获复杂模式的能力,而不会引起大量的计算开销。
- ReLoRA引入了一个迭代训练框架,其中低秩LoRA模块被训练并定期合并到预训练的模型权重中。通过在每次合并后重置优化器并初始化新的LoRA模块,ReLoRA有效地提高了整体排名,同时保持了内存效率。
- COLA提出了一种类似的迭代优化策略,其灵感来自Frank-Wolfe算法。它迭代地训练LoRA模块并将它们合并到模型中,逐步构建更高级别的自适应。每个新的LoRA模块最小化来自先前自适应的残差,使得COLA能够在不增加每次迭代的计算成本的情况下实现高秩表达。
- MELoRA介绍了一种并行化的秩扩充方法。其核心思想是同时训练多个小型LoRA模块,并将其输出连接起来,形成更高级别的自适应。通过组装低秩适配器的小集合,MELoRA构造了一个等价的块对角矩阵,该矩阵共同具有更高的秩。
- XGBLoRA为LoRA引入了梯度提升(GB)框架。它通过组合一系列一级助推器(LoRA自适应)来组装最终模型,逐步完善模型的预测。用弱学习者的GB原则(即,来自一组弱预测因子的强集合模型),XGBloRA克服了极端低秩自适应和有效性之间的困境。
基于重采样的方法:基于矩阵重采样的方法通过在训练过程中对投影矩阵进行动态重采样来实现高阶自适应。其基本思想是在每个训练步骤中利用时间来累积高秩更新的效果,同时利用低秩矩阵来操作。
- FLoRA将LoRA重新解释为梯度压缩和解压机制。在训练期间,激励FLoRA周期性地重新采样LoRA模块中使用的投影矩阵。通过以预定的间隔改变这些矩阵,该方法确保随着时间的推移探索不同的子空间,有效地积累更高秩的自适应。
总之,秩自适应策略通过裁剪自适应矩阵的秩以更好地适应不同层和任务的要求来增强LoRA的自适应性。下表给出了关于等级细化和扩充的详细总结。
-
训练流程改进
虽然LoRA在参数有效的微调方面取得了显着的成功,但优化其训练动态对于最大限度地提高适应性能仍然至关重要。在本节中,我们将讨论旨在改善训练过程的最新进展,特别是学习率,dropout策略和缩放因子。
学习率。在标准LoRA微调中,通常对低秩矩阵A和B两者应用统一的学习速率。然而,这种做法导致性能欠佳,尤其是当模型宽度增加时。问题在于,对A和B的更新对学习动态的贡献不同。
为了解决这一限制,Hayou等人提出了LoRA+,这是一种为矩阵A和B分配不同学习速率的方法。为了有效学习,来自A和B的特征更新的幅度应该是Θ(1)。这就需要对学习率进行缩放,使得ηB = Θ(1)和ηA = ,其中n表示模型宽度。在实践中,LoRA+引入了一个固定的比率λ = ηB/ηA > 1,允许研究者在自动调整另一个学习率的同时调整一个学习率。
dropout策略:尽管基于LoRA的模型中可训练参数的数量减少,但过拟合仍然是一个问题,特别是在微调小型或专门数据集时。在这种情况下,传统的dropout技术可能不足以减轻过拟合。
Wang等人提出了一个综合框架,通过三个维度沿着dropout来解决这一问题:dropout位置、结构模式和补偿措施。放置位置指定了引入噪声的位置,例如在注意力对数、权重或隐藏表示中。结构模式定义了单元dropout的粒度,包括元素式、列式或跨度式模式。补偿措施旨在通过结合诸如归一化重标度或Kullback-Leibler散度损失的技术来最小化训练和推理阶段之间的差异。在此框架的基础上,作者提出了HiddenKey,这是一种将注意力logits的列式dropout与隐藏表示的元素式dropout相结合的dropout方法,并辅以KL散度损失。
缩放因子:在LoRA中,应用了比例因子。然而,当增加适配器秩时,该比例因子会导致梯度崩溃,从而导致学习速度减慢,以及秩较高的适配器性能下降。
为了克服这一限制,Kalajdzievski提出了rsLoRA,它将比例因子重新定义为。这种调整确保了适配器的秩稳定,这意味着即使秩变大,前向和后向通道也能保持稳定的幅度。从理论上讲,该缩放因子是在无限宽度限制中推导出来的,它可以防止梯度崩溃,从而实现跨不同适配器等级的稳定学习。
理论基础
虽然LoRA的实际优势是显而易见的,但从理论角度理解其基本原则至关重要。本节讨论的关键问题,其有效性,最佳秩的选择,更新矩阵的作用,并在理论方面引起的行为变化。
Q1:为什么LoRA有效工作?
LoRA通过仅更新一小部分参数,实现了与全面微调相当竞争力的性能。这种现象可以通过神经正切核(NTK)理论来理解。Malladi等人表明,LoRA在微调过程中近似保留了原始模型的内核。即:,其中,和分别是LoRA和完全微调诱导的内核,N是数据集中的示例数,c是梯度和输入的L2范数的上界,ε是近似误差,δ是由给出的概率界,其中r是LoRA中使用的秩。
通过关注这些临界梯度,LoRA保留了模型的泛化能力,确保网络对基本输入变化保持敏感,同时具有高度的参数效率。
Q2:需要多少个秩才能获得最佳LoRA性能?
LoRA微调中的秩对于理解适应的表现力和保持计算效率至关重要。
- 对于完全连接的神经网络,如果LoRA秩r满足以下条件,则LoRA可以调整任何模型f以准确地表示较小的目标模型:
- 对于Transformer网络,他们证明了任何模型都可以适配于具有LoRA适配器的相同大小的目标模型。这些发现为确定跨不同架构的有效自适应所需的最小秩提供了了理论基础.
Q3:更新矩阵A和B的作用是什么?
A主要用作输入的特征提取器,而B将这些特征投射到所需的输出。这种不对称性表明,单独微调B可能比微调A更有效。基于这一认识,Zhu等人使用信息理论框架推导出不同LoRA变体的泛化范围。当仅微调B时,泛化界限采用以下形式:
与更新A和B两者相比,该界限更紧,这表明将A冻结为随机正交矩阵并且仅更新B可以潜在地增强对看不见的数据的推广。
Q4:LoRA在模型中诱导了哪些行为变化?
LoRA诱导的低秩修改在令牌聚类中保持了短期稳定性,同时促进了学习表征的长期差异。
LoRA将注意力矩阵(Q,K,V)更新为低秩矩阵,引入受控扰动:
LoRA下的token动态变化描述如下:
LoRA保持令牌聚类的短期稳定性,并保持扰动和未扰动令牌分布之间的Wasserstein距离W2(µt,νt)有界:
一个关键的结果是识别相变,其中令牌在临界时间T(δ)之后分叉成新的集群,由特征值间隙λ1-λ 1决定。|λ2|价值矩阵。这显示了LoRA如何在没有灾难性遗忘的情况下微调模型,在训练早期保留令牌结构,同时允许受控发散。
-
-
前沿
基于上面讨论的技术基础,建立了LoRA的核心组件和机制,本节探讨了将LoRA功能扩展到新方向的前沿发展。这些前沿开发利用基本原理,以实现新的功能,解决更复杂的任务,并解决模型适应中的挑战。
先进架构
虽然最初的LoRA方法显着提高了微调的效率,并表现出与完全微调相当的性能,但它在灵活性,泛化和同时处理多个不同任务方面存在局限性。为了解决这些限制,研究人员开发了先进的LoRA架构,以进一步提高性能,参数效率和泛化能力。
LoRA组合
高级LoRA架构的一项重大创新是多个LoRA模块的动态组合,以增强不同任务的适应性和通用性。
基于优化的合成:LoRAHub利用CMA-ES无梯度优化来确定用于组合LoRA模块的最佳系数。通过少次学习,它可以自主选择和集成新任务的模块,而无需人工专业知识或梯度计算。类似地,LoRA-Flow引入了动态融合权重,以调整每个生成步骤中不同LoRA的影响,由具有最小参数的融合门确定。该方法优于使用静态任务级融合权重的基线。
基于检索的合成:LoraRetriever根据输入提示实现LoRA模块的动态检索和组合。该算法首先通过对任务子集进行指令微调,将特定于任务的LoRA嵌入到共享空间中,然后利用余弦相似度检索相关模块。该框架支持模块融合和混合策略,同时保持高效的批处理。
面向批处理的合成:FLORA通过有效的矩阵运算,使小批量中的每个示例都能够利用唯一的低秩自适应权重。与传统的批处理方法相比,此设计显著提高了吞吐量并减少了延迟,在生产环境中为各种用户请求提供服务时尤其有利。
通过使模型能够根据任务或输入选择和联合多个LoRA模块,这些方法克服了标准LoRA在处理不同任务方面的局限性,并提高了整体性能。
泛化架构
另一个进步涉及扩展LoRA架构本身,以更有效地捕获特定任务和一般功能。
双分支机构框架:Hydra通过在模型内集成并行和顺序LoRA分支,提出了更一般化的公式。并行分支学习与任务相关的特征,类似于标准LoRA,而顺序分支线性组合预训练的特征。这一双分支使Hydra能够捕获特定于任务的适应性,并利用一般的预先训练的知识,提供了一个全面的适应性机制,提高了跨任务的性能。
多PEFT联合框架。GLoRA通过统一LoRA之外的各种参数有效的微调方法进一步进行了推广。它引入了可训练的支持张量来缩放和转移权重、特征和偏差,有效地将LoRA、适配器调优和提示调优等方法包含在单个框架中。GLoRA采用进化搜索来确定这些张量的最佳逐层配置,这些张量可以采用标量、矢量或低秩矩阵形式。通过结构重新参数化,GLoRA不会产生额外的推理成本,同时提供比以前的PEFT方法更大的灵活性。
这些通用架构通过整合额外的机制来捕获不同的功能并促进跨任务更有效的微调,从而增强了LoRA的表达能力。
使用LoRA进行梯度提升
梯度提升LoRA(GBLoRA)通过迭代LoRA模块训练将弱学习器组合在一起,以最小化残差误差。在T次boosting迭代之后,微调模型表示为:
使用累积模型更新:,其中,η控制每个LoRA增强器的贡献。弱学习者原则使GBLoRA能够在低秩更新的情况下实现强大的性能。
XGBLoRA 建立了收敛保证和表现力界限,展示了增加的提升迭代如何补偿较低的秩。该框架统一了GB范式中的各种矩阵合并方法,如ReLoRA,COLA和MeLoRA 。
混合专家与LoRA
高级LoRA架构开发中的另一个重要分支是LoRA与专家混合(MOE)的结合。MoE是一种神经网络架构,其中多个“专家”子网络专门用于不同的输入模式。门控机制将输入路由到最合适的专家,使模型能够有效地处理各种任务。给定输入x,MoE模型计算,其中y是输出,Gi是门控函数,Ei是专家,n是专家的数量。
通过将LoRA与MoE集成,模型学习多对低秩矩阵(LoRA专家)而不是一对,路由器根据输入确定权重或选择专家。在微调期间,预训练的LLM权重保持固定,而LoRA专家和路由器被训练,从而利用LoRA的参数效率和莫伊的专业化能力。典型的框架下图所示。
根据其主要目标,LoRA-MoE方法的研究可以大致分为三类:
- 以效率为导向的设计。这类方法的目标是以最小的参数开销匹配完全微调性能。
- Zadouri等人引入了MoV和MoLoRA,旨在实现完全微调性能,同时更新不到1%的参数并提高对未知任务的泛化能力。MoV和MoLoRA分别利用(IA)3向量和LoRA适配器作为专家,采用软合并策略,其中所有专家都对路由器概率加权的输出做出贡献。
- Luo等人提出了MoELoRA,将LoRA模块视为MoE框架内的专家。MoELoRA结合了多个LoRA专家和一个门控网络,采用top-k路由和负载平衡损失来防止向有限的专家集合收敛。专家之间对比学习的应用缓解了MoE模型中经常观察到的随机路由问题。
- 然而,MoELoRA缺乏灵活性,并且可能由于表示崩溃或学习路由策略过拟合而变得冗余。为了解决这个问题,Gao等人引入了MoLA,这是一种逐层专家分布方法,可以在不同的Transformer层之间灵活分配LoRA专家。MoLA采用top-k路由机制为每个输入选择相关专家。除了提高性能和参数效率外,MoLA还表现出了很有前途的持续学习能力,因为它具有稀疏的专家激活功能,允许模型在适应新领域的同时保留以前领域的知识。
- 基于记忆的自适应。这些方法的重点是防止适应过程中的灾难性遗忘。LoRAMoE和MORAL 这两种著名的方法在使学习型教学适应新任务或领域的同时,解决了知识保持的挑战。
- LoRAMoE引入了多个LoRA专家通过路由器网络集成,使用本地化的平衡约束,以鼓励一些专家专注于利用世界知识进行下游任务。它采用topk路由策略,使模型能够维护世界知识,同时提高多个任务的性能。
- MoRAL使用来自非结构化文本的问答对,并将MoE的多任务处理能力与LoRA的参数效率相结合。它采用了一种软路由机制,所有专家都有助于路由器概率加权输出。MoRAL在适应新领域的同时,保持了以前看到的任务的性能,解决了灾难性的遗忘问题。
- 基于任务的集成:这些方法解决了领域特异性和任务干扰的挑战。当在通用数据上训练的模型缺乏医学或金融等特定领域所需的专业知识时,就会出现领域特异性。当多个任务及其数据集在训练过程中竞争时,会发生任务干扰,导致任务之间的性能下降。
- 为了解决域特异性,Liu等人提出了用于多任务医疗应用的MOELoRA。MOELoRA引入了多个LoRA专家,每个专家由低秩矩阵组成,具有基于任务身份控制每个专家贡献的任务激励门控函数。这种方法允许特定任务的学习,同时保持跨任务的共享知识库。
- Feng等人介绍了MOA,这是一种用于多任务学习的端到端参数有效调整方法。MOA首先针对不同的任务训练各个LoRA模块,然后使用基于域元数据的序列级路由机制将它们组合起来,从而允许灵活组合特定于域的LoRA。
- Buehler等人提出了XLoRA,采用动态MoE策略和深层令牌级方法。从预先训练的LoRA适配器开始,X-LoRA使用门控策略,利用隐藏状态动态混合适配层。这使得该模型能够创建新的组合来解决任务,在科学应用中表现出强大的性能。
通过采用各种路由策略和专家设计,这些方法能够有效地适应多个任务或域,同时减轻干扰并保持特定于任务的性能。MoE与LoRA的集成在提高性能、保存知识和促进跨各个领域的多任务适应方面表现出了良好的效果。
LoRA持续学习
LoRA的参数有效性允许在新任务上增量更新模型,同时减轻灾难性遗忘。几个关键优势促使LoRA用于持续学习(CL):(1)与完全微调相比,降低了计算成本,(2)任务特定知识的自然隔离,以及(3)任务特定适应的灵活组合。
现有的基于LoRA的持续学习方法可以大致分为三种方法:基于正则化的方法,基于任务算法的方法和基于集成的技术。
基于正则化的方法,利用LoRA更新的参数约束作为防止灾难性遗忘的主要机制,重点是保留关键模型参数。
- O-LoRA通过将新任务更新约束为与先前任务的子空间正交来解决灾难性遗忘问题。它利用LoRA参数有效捕获任务的梯度子空间的洞察力。O-LoRA在正交子空间中增量学习新任务,同时保持先前的LoRA参数固定。这种方法允许在不受干扰的情况下有效地积累知识。
- Online-LoRA 是Vision Transformers的无任务在线持续学习框架,可解决灾难性遗忘问题,而无需依赖排练缓冲区。它结合了权重正则化来保护重要参数和丢失动态监控来检测分布变化,从而实现实时模型自适应,同时在不断变化的数据流中保持性能。它不承担任何任务边界。
基于任务算法的方法:利用LoRA参数上的任务向量算法。
- Chitale在LoRA参数上应用算术运算,以联合从多个任务中获取知识。这种方法为每个任务训练单独的LoRA模块,然后使用任务向量添加来创建任务不可知模型。一个关键的见解是,LoRA参数在权重空间中创建语义“任务向量”,可以通过代数操作。
基于集成的方法:结合多个任务特定的LoRA模块。
- CoLoR为每个任务维护单独的LoRA模块,并使用无监督方法在推理时选择适当的模块。CoLoR顺序训练特定于任务的LoRA模块,并使用基于原型的任务识别将它们组合起来。这允许任务知识的隔离,同时实现灵活的组合。
- AM-LoRA使用多个特定于任务的LoRA模块,结合注意力机制来整合来自不同任务的知识。基于注意力的混合策略可以实现自适应知识整合,同时防止任务之间的灾难性遗忘。
LoRA 与遗忘特定知识
LoRA有助于从基础模型中有针对性地删除特定知识,而无需进行广泛的再培训。本节对使用LoRA进行遗忘的方法进行分类和检查,重点关注三个主要类别:模块化分解方法,基于优化的方法和渐进式遗忘管道。
模分解方法:这些方法侧重于分解和模块化模型组件,以支持遗忘。
- Gao等人介绍了一种正交LoRA机制,可确保在连续的非学习过程中参数解纠缠。这种设计确保了遗忘请求可以连续处理,而不会干扰保留的知识。
- Chen和Yang建议添加有效的遗忘LoRA层,采用选择性目标来指导模型“遗忘”特定数据。
- 此外,Lizzo和Heck介绍了UNLEARN,其中LoRA层适用于识别和隔离低维子空间中的目标知识。
基于优化的方法。这些方法主要依靠优化方法来确定目标并删除特定知识。
- Cha等人提出了一种LoRA初始化技术,该技术根据数据调整低秩矩阵,并通过Fisher信息进行加权,以优先考虑对去除目标知识至关重要的参数调整。
- 在另一种不同的方法中,Gundavarapu等人探索了一种基于梯度的微调方法,该方法使用LoRA来选择性地去除有害或不需要的信息。该方法利用梯度上升法结合低阶LoRA更新,对模型知识的特定部分进行细化。
渐进式遗忘管道策略。这些方法实现了结构化的,多步骤的程序,系统的遗忘。
- Liu等人利用LoRA在结构化的两阶段过程中否定特定的有害知识。第一阶段的重点是识别有害内容,而第二阶段应用LoRA来抑制和中和这些知识,而不影响其他学习到的信息。这种有条不紊的方法确保系统地删除不需要的信息,同时保留模型的一般功能。
LoRA联邦学习
在数据隐私问题日益严重的时代,联邦学习(FL)提供了一种很有前途的方法来利用集体知识,同时保持对个人数据的强大保护。LoRA集成到联邦基础模型(FFM)中,使基础模型更容易被资源受限的设备访问,特别是在边缘计算场景中,这可能会彻底改变物联网和移动的应用。联邦指令调优和LoRA价值对齐的结合创建了强大的协同作用,可以解决分布式机器学习中的几个关键挑战。
隐私和安全。隐私、安全和保护在联邦学习中至关重要。
- FedIT和FFA-LoRA建立了将联合收割机联合学习与LLM的指令调优相结合的基本框架。这些框架实现了FedAvg隐私保护机制,确保指令数据保留在本地设备上,而只有加密的LoRA参数在中央服务器上传输和聚合。
- PrivateLoRA采用不同的方法,其仅在中央云和边缘设备之间传输激活,以确保数据本地性。
- 为了进一步提高安全性,Huang等人将模型切片与可信执行环境(TEE)集成以防止恶意攻击,采用服务器端TEE用于后期模型层,并使用LoRA进行稀疏化参数微调(SPF),实现安全性和性能,而无需客户端TEE。
计算效率。尽管在隐私和安全性方面取得了显著的进步,但FL面临着模型表达能力和计算效率之间的根本折衷。研究表明,为了保证能够拟合任何目标模型,LoRA的秩必须满足一个下限,该下限与嵌入大小成比例。然而,在实践中实现这样的高秩将导致极大的通信和计算成本,这对于资源受限设备尤其具有挑战性。
- 为了解决这一挑战,FedGBA将集成学习与秩-1自适应相结合,以实现FFM的高效和富有表现力的联合微调。
- 类似地,FFA-LoRA通过固定随机初始化的非零矩阵并仅微调零初始化的矩阵来减少计算开销。
异质性处理。FL面临的另一个重大挑战是跨客户端管理异构数据、设备和模型。当客户端之间的数据是非独立和相同分布(非IID)时,FL模型通常会出现性能下降。
- SLoRA通过数据驱动的初始化来解决这一问题,
- 而FedLoRA实现了基于堆栈的聚合方法,该聚合方法使得能够在异构客户端上聚合具有不同等级的LoRA适配器。
- 此外,pFedLoRA引入了一个同构的小适配器,以通过全局-局部知识交换的迭代训练来促进联邦客户端的异构局部模型训练。瓦格纳等人介绍了信任加权梯度聚合方案,用于在设备上微调具有有限数据的大型语言模型,利用LoRA减少通信,并优于FedAvg和本地调优方法,尤其是在不同的数据场景中。该方法有效地解决了本地数据集中数据的异构性和稀缺性问题。
- Cho等人提出了异构LoRA,通过结合客户端的高低秩自适应,在资源有限的设备上实现了小型基础模型的高效联合微调,从而以最少的通信实现了最佳性能,同时防止了过度拟合。
个性化。FL中的个性化涉及通过诸如局部微调、LoRA适配或混合方法的各种技术来使全局模型适应个体客户。这个过程需要仔细平衡模型性能、隐私保护和系统效率,同时考虑每个客户端的独特数据分布和资源约束。
- FedHLT和FedLFC在个性化多语言建模中举例说明了这种方法,将低秩自适应与语言模型聚类相结合,以解决FFM的高通信成本和参数干扰的挑战,与基线模型相比,在降低开销的情况下实现了更高的性能。
- PER-PCS是一个框架,它允许用户安全地共享和协作地组装大型语言模型的个性化LoRA片段,在显著降低计算成本和存储需求的同时,实现与单独微调相当的性能。
LoRA与FFM的集成代表了分布式机器学习的重大进步,为隐私保护模型自适应提供了创新解决方案,同时平衡了效率,异构性和个性化需求。通过结合联合收割机隐私机制、高效参数传输和自适应技术的各种框架,LoRA使FL在资源受限的环境中更加实用,同时保持模型的表达能力和安全性。随着边缘计算和物联网应用的不断发展,LoRA和FFM之间的协同作用有望通过在隐私敏感领域大规模实现高效、安全和个性化的模型部署来改变分布式机器学习。
用于长序列建模的LoRA
处理长序列的能力对于由基础模型处理的跨不同领域的许多任务是至关重要的。然而,由于自注意相对于序列长度的二次计算复杂度,标准基础模型通常受到它们的最大上下文长度的限制。为了解决这一局限性,提出了几种基于LoRA的方法来扩展基础模型的上下文窗口。
Shifted Sparse Attention方法:LongLoRA通过将位置插值与LoRA集成来解决这一挑战,从而能够针对更长的上下文有效地微调LLM。与标准LoRA应用程序不同,LongLoRA将可训练的低秩自适应扩展到除了注意力层之外的嵌入和归一化层。一个关键的创新是转移稀疏注意力(S2-Attn)机制,它通过将输入序列划分为组并在每个组中应用注意力,在训练过程中近似于完全注意力。为了增强组间的信息流,一半的注意力头被转移了一半的组大小。这种方法有助于在扩展序列上进行有效训练,同时在推理过程中保留原始模型架构。
Sink Fixed Attention法:在LongLoRA的基础上,SinkLoRA引入了Sink Fixed Attention(SF-Attn)机制来解决特定的限制。SF-Attn将分割和重组算法与集中在有限数量的“下沉注意令牌”上的全局注意力相结合。这种方法有效地重新分配了注意力分数,减轻了在自回归模型中经常观察到的对初始标记的过度关注。
另一个进步是LongQLoRA,它将QLoRA与位置插值和移位短注意力相结合。通过在微调期间将基础模型量化为4位精度,LongQLoRA与LongLoRA相比,可以减少计算资源,从而实现上下文长度扩展。
这些基于LoRA的长序列建模技术在扩展基础模型的上下文窗口方面表现出巨大的潜力,而不会产生大量的计算开销或需要进行完整的模型微调。
LoRA服务系统
多个LoRA模型的有效服务也至关重要。最近的进步包括改进的GPU内存管理,高效的GPU技术,CPU辅助策略,以减轻冷启动延迟,以及资源受限的个人设备的适应方法。
- S-LoRA引入了一种统一的分页机制来管理GPU内存中的KV缓存和LoRA权重,从而实现了数千个LoRA适配器的并发服务。
- Punica开发了一个定制的CUDA内核,Segmented Gather Matrix-Vector Multiplication(SGMV),促进了在单个GPU上跨不同LoRA模型的请求的高效处理。
- CARASERVE采用了CPU辅助策略,在GPU加载期间为新请求的适配器启动预填充计算,以减轻冷启动延迟。此外,CARASERVE还引入了一种秩感知调度算法,用于优化多GPU集群中的请求路由。
- CA-LoRA结合了LoRA知识继承和模型知识恢复机制,以保持个人设备的性能。这些创新增强了跨不同计算环境的多个LoRA服务的可扩展性和效率。
-
-
应用
LoRA在微调基础模型方面的有效性和效率使其在各个领域得到广泛采用,包括语言处理,计算机视觉,语音识别,多模态,代码工程,科学发现,推荐系统,图学习,时空预测等。
语言任务中的LoRA
语言基础模型,如LLaMA,RoBERTa和DeBERTa,作为LoRA研究中的重要基础模型,已在不同的语言任务中得到广泛研究,包括自然语言理解,问答,机器翻译,推理和自然语言生成,这也可以从表中看到。本节探讨它在专门的NLP领域的应用。
多语言和方言处理。LoRA支持高效的多语言适应,同时通过最小的参数更新保留基本模型的功能。
- FedLFC引入了一个通信高效的联邦学习框架,该框架使用LoRA进行多语言建模,同时保持基本模型的权重,并且只更新跨语言家族的轻量级LoRA参数。同样,FedHLT采用LoRA和分层语言树策略,以实现跨方言的有效适应,同时最大限度地减少联合学习设置中的通信开销。
- LAMPAT 利用LoRA进行无监督的多语言释义,通过应用对抗性训练来生成多样化的输出,同时保留跨语言的语义含义。
- HyperLoRA开发了一种新的方法,使用语言特征向量生成方言特定的LoRA适配器,从而在不需要方言训练数据的情况下实现对看不见的英语方言的零调整。
医学和临床文本处理。由于有限的数据可用性和敏感性,医学和临床文本处理面临着独特的挑战,尤其是在临床数据集中。LoRA已经成为解决这些限制的有前途的解决方案。
- Ji等人利用LoRA来增强临床环境中的断言检测,有效地提高了分类准确性和最少的数据。Le et al. 还证明,LoRA可以有效地将预训练模型用于临床NLP任务,特别是在数据有限的环境中。
- Liu等人介绍了一种将LoRA与莫伊相结合的多任务框架,以解决临床多任务场景中的数据不平衡问题。
- Shi等人在MedAdapter框架中利用LoRA进行有效的测试时间适应,从而避免了大量的计算资源或与第三方共享数据。
- Christophe等人用他们提出的Med42模型进行了一项比较研究,其中LoRA微调超过了USMLE等关键医学基准的传统方法。
此外,LoRA还应用于其他语言任务,包括会话中的情感理解,多模态关系提取和个性化文本处理。
计算机视觉中的LoRA
LoRA已有效应用于各种视觉基础模型,如ViTs,DinoV2,MAE,SAM和Florence,增强了它们在多个视觉任务(包括视觉理解和视觉生成)中的适应性。
视觉理解
视觉理解包含广泛的任务,包括领域适应,语义分割和内容真实性检查。
领域适应和迁移学习:将在广泛的自然图像数据集上训练的基础模型适应于医学成像或卫星数据等专业领域通常会由于有限的特定领域数据和计算约束而带来挑战。为了应对这些挑战,一些研究探索了LoRA在各种视觉任务中的有效域适应和迁移学习的应用。
- ExPLoRA通过将LoRA模块纳入自我注意力机制来扩展预先训练的ViTs,有效地建模特定领域的风格变化,例如在低维空间中发现的卫星图像。
- 同样,Melo证明了基于LoRA的微调对医学成像应用的有效性,包括胸部疾病分类任务。
- 此外,Kong等人应用LoRA来增强视觉变换器的泛化能力,以便在不同的操作技术和数据集上进行人脸伪造检测。
- 在这个方向上的一个显着进步是ConvLoRA,它将LoRA范式扩展到卷积神经网络,用于医学图像中的无监督域自适应。该架构将可训练的低秩分解矩阵与自适应批量归一化相结合,建立了一个更强大的域转移框架。
语义分割:通过LoRA集成视觉基础模型,特别是SAM,其适应性在语义切分方面取得了显著进展。
- ConvLoRA增强了SAM在遥感、医学和农业图像中的语义分割。
- 在此基础上,SAMed证明了基于LoRA的微调对多器官分割任务的有效性。
- SurgicalSAM将类似的技术应用于机器人手术器械分割领域。
内容真实性检查。随着生成模型的发展,检测合成内容变得越来越重要。
- CLIPMoLE提出了一种通过混合方法调整ViT块的架构,在MoE框架内组合共享和单独的LoRA模块。这种设计能够有效地微调CLIP ViT模型,用于跨多种生成技术的可转移图像检测。
- 类似地,Mohammed D将LoRA与卷积适配器模块集成在一起,同时保持冻结的ViT骨干,专门针对面部伪造检测。
除了上述应用之外,LoRA还显示出增强模型鲁棒性,视觉跟踪任务的潜力。
视觉生成
通过训练额外的小型网络,LoRA使原始的预训练模型(如扩散模型)能够适应个性化的风格和任务,或者无需重新训练整个基础模型。
图像风格化:LoRA由于能够快速地使扩散模型适应特定的艺术风格,同时保持了基础模型的多样性生成能力,因此成为图像风格化任务的关键技术。一些模型利用LoRA来有效地微调stable diffusion以进行漫画风格的转换,特别是使其适应卡尔文和霍布斯漫画的风格。
- Frenkel等人介绍了B-LoRA,它利用了Stable Diffusion XL的架构来隐式地分离单个图像的风格和内容组件。B-LoRA实现了风格内容分离,支持各种图像风格化任务,包括图像风格转移和基于文本的图像风格化。
- Borse等提出了FouRA,它在频域中执行低秩自适应,而不是直接在模型权重上执行。FouRA解决了使用标准LoRA微调扩散模型时可能出现的分布崩溃和数据复制问题。
多风格定制:“在视觉生成中使用LoRA的另一个常见动机是解决生成涉及多个主题或风格的复杂图像的挑战。
- Shah等人提出了ZipLoRA,采用嵌入分解LoRA和梯度融合来合并独立训练的LoRA,而无需权重操作,从而保持概念一致性。
- Gu等人介绍了Mix-of-Show,它在扩散过程中利用LoRA切换和合成。
- 类似地,Zhong等人研究了LoRA切换和组合方法,在去噪过程中在LoRA之间交替或集成LoRA,以改善多元素生成。
- Yang等人提出了LoRA-Composer,这是一种将多个LoRA与概念注入和隔离约束相结合的免训练方法,可缓解概念消失和混淆等问题。
- Po等人提出了正交自适应,它鼓励不同概念的定制权重正交,从而能够在不损害保真度的情况下有效合并独立微调的模型。
LoRA也被应用于任意分辨率生成(resolution-free generation)任务
- ResAdapter利用LoRA来解决以任意分辨率生成图像的挑战,同时保留其原始样式域。
- FiTv2通过引入增强的模型架构和用于无分辨率图像生成的训练策略进一步推进了这一领域。
无论是解决多风格合成,高分辨率任务,风格转换还是持续学习,LoRA都提供了一个轻量级的解决方案,使稳定扩散和CLIP等模型能够保持高性能,同时适应新的复杂任务。
LoRA在语音识别中的应用
LoRA在语音识别任务中有着重要的应用,特别是在有效地微调基础模型,如Wav2vec2和Whisper。
在虚假音频检测中,Wang等人应用LoRA对Wav 2 vec 2模型进行微调,实现了与完全微调相当的性能,同时将可训练参数减少了198倍。
对于多语言自动语音识别(ASR),Xu等人提出了O-LoRA和O-AdaLoRA,以使Whisper模型适用于维吾尔语和藏语等低资源语言。同样,Song等人提出了LoRA-Whisper,将LoRA整合到Whisper中,有效地减轻了语言干扰,并促进了新语言的添加,而不会降低现有的性能。Liu等人介绍了LoRA-Whisper,它通过将LoRA与瓶颈适配器进行比较,将LoRA扩展到低资源ASR,以便在七种低资源语言中微调Whisper。
代码工程中的LoRA
在代码工程领域,LoRA已经成为一种变革性的方法,用于增强代码审查、修复和生成任务等流程。
对于代码审查和分析,Lu等人引入了LLaMA-Reviewer,它微调LLaMA用于审查预测,评论生成和代码细化任务,可训练参数不到1%。Silva等人开发了RepairLLaMA,它采用轻量级修复适配器进行自动程序修复,从而在资源受限的环境中实现有效部署。
对于代码生成和摘要,Kumar等人开发了基于LoRA的联邦学习方法用于代码摘要,该方法在不直接访问源代码的情况下生成结果,从而保护了数据隐私。Cui等人介绍了OriGen,它利用代码到代码增强和自反射技术来生成高质量的寄存器传输级(Register Transfer Level,RTL)代码。
科学发现中的LoRA
LoRA已在广泛的科学领域中使用,包括分子任务和材料科学。
在蛋白质分析领域,Zeng等人开发了PEFT-SP,这是一种利用LoRA微调大型蛋白质语言模型(PLM)(如ESM-2)的框架,用于信号肽预测。这种方法显著提高了性能,特别是对于稀有肽类型,同时减轻了过拟合并保持了低计算成本。类似地,Schmirler等人将LoRA应用于PLM,如ProtT 5和ESM-2,包括各种蛋白质相关任务,证明了加速训练和改进下游预测,同时防止灾难性遗忘。
在另一个应用方向上,Schreiber在ESMBind和QBind模型中使用LoRA及其量化版本QLoRA 进行蛋白质结合位点和翻译后修饰预测。这些模型在不依赖于结构数据或多序列比对的情况下,实现了对未知蛋白质序列的增强泛化。Lv等人介绍了ProLLaMA,证明具有不同秩的两阶段LoRA方法可以在保持自然语言能力的同时实现有效的蛋白质语言学习。
在更一般的科学领域,Buehler等人开发了X-LoRA,这是一个动态组合多个专用LoRA适配器的框架。这种方法在解决蛋白质力学和材料设计中的逆向和正向任务方面表现出了卓越的能力,说明了LoRA在复杂的多学科应用中的潜力。
图学习中的LoRA
最近,研究人员还探索了LoRA在非欧几里德数据上的应用(如图),微调图神经网络(GNN)以适应新的图或对现有图进行结构更新。
对于跨域图神经网络自适应,Yang等人引入了GraphLoRA,它在预训练的GNN旁边构建了一个小的可训练GNN,以弥合不同图之间的结构和特征分布差距。通过将低秩分解应用于可调GNN参数并结合基于图结构的正则化,GraphLora可以有效地使预训练的GNN适应不同的图域,只需微调20%的参数。
对于动态知识图学习,Liu等人开发了IncLoRA,它使实体和关系嵌入适应连续的图更新。IncLoRA根据新知识嵌入到保留图的距离将其分组到显式LoRA层中,并使用图的结构属性自适应地分配秩尺度。
时空预测中的LoRA
多变量时间序列数据在现实世界的场景中很普遍,如交通,天气预报和经济。最近的研究探索了使用LoRA来解决该领域的特定挑战,例如节点特定的自适应、多通道建模和域外预测。
对于特定节点的自适应(node-specific adaptation),Ruan等人提出了ST-LoRA,它实现了节点自适应LoRA层,为每个节点添加额外的可学习参数。通过在LoRA层之间合并残差结构以避免过度参数化,ST-LoRA有效地捕获了交通数据集中不同节点的不同模式和动态。
对于多通道模型,Nie等人引入了C-LoRA,它在通道相关策略和通道独立策略之间进行平衡。C-LoRA使用低秩因子化适配器对每个通道进行参数化,以形成身份感知的嵌入,然后将这些嵌入输入到全局共享的预测器中,用于对跨通道依赖性进行建模。
对于域外预测,Gupta等人分析了基于LoRA的微调在时间序列基础模型(如Lag-Llama ,MOIRAI和Chronos)中的有效性,使得预测重症监护病房预测中脓毒症患者的生命体征得到改善,同时降低了计算成本。Ren等人介绍了TPLLM,它将可训练的秩分解矩阵注入GPT-2 Transformer块中进行流量预测,有效地调整模型以处理具有有限历史流量数据的时空表示。
多模态中的LoRA
多模态基础模型(MFM)在共享表示空间内将不同的数据形态(包括文本、音频、图像、视频等)组合在一起,从而实现跨模态推理和理解。LoRA通过优化训练效率来增强这些模型,同时加强内部对齐。视觉和语言是LoRA被广泛应用的两个主要领域。
语言-视觉学习
在语言-视觉学习任务中,LoRA特别适用于增强视觉-语言能力和定制扩散模型。
基于语言-视觉模型的自适应。
- Sung等人通过微调CLIP-BART来适应视觉语言模型(VLM),用于视觉问答和图像字幕。
- Ji等人通过基于聚类的LoRA进行跨模态检索,增强了VLM的对抗鲁棒性。
- 此外,Zong等人提出了MoVA,通过粗到细的适配器机制有效地融合多个视觉基础模型(CLIP,DINOv 2,SAM)。
基于扩散模型的定制。各种方法都利用LoRA来有效地适应稳定扩散(SD)模型。
- 对于风格定制,Kumari等人在域适配器层中引入了LoRA的自定义扩散,用于少量概念学习,
- 而Li等人开发了SELMA,用于在不受干扰的情况下训练和合并多个技能特定的LoRA专家。
- Lu等人通过LoRA模块进行高级概念操作,并进行交叉注意力细化,以实现选择性概念删除。
- 其他应用包括StitchDiffusion用于360度全景生成,中国花园图像合成,
- DreamSync用于提高生成忠实性,
- Block-wise LoRA用于细粒度控制,
- AnimateDiff 用于运动适应。
在视觉语言模型自适应方面,LoRA通过CLIP-BART微调,基于聚类的方法和多模型融合等技术增强了跨模态理解。对于扩散模型自定义,LoRA实现了有效的概念学习,选择性操作以及从全景创建到运动自适应的专门生成任务。
语言-音频学习
在语音-音频学习任务中,LoRA已经成为解决基础模型中音频和文本表示之间的模态差距的根本挑战的关键技术。这些应用主要分为两类:语音识别和音频内容理解和生成。
语音识别
- Fathullah等人介绍了一种直接音频嵌入方法,其中LoRA专门针对音频-文本对齐调整自注意层,使大型语言模型能够有效地处理音频输入。Fathullah等人证明,LLM可以通过将音频嵌入到文本标记中来执行多语言ASR,通过LoRA仅调整关键模型参数,同时实现与专用ASR系统的相当的性能。
- Yusuf等人提出了通过将基于RNN换能器的ASR系统与使用LoRA适配的音频预定语言模型相结合来进行推测性语音识别,从而允许该模型生成推测性预测。
- Palaskar等人进一步引入了具有模式特异性衔接子的FLoRA,这些衔接子可以被选择性地接合,为多模式整合提供了一个稳健的框架。
语音内容理解和生成。
- Liu等人提出了用于自动音频字幕(AAC)的LOAE,它将基于CED的音频编码与用于文本解码的LLaMA相结合,由Q-Former桥接,并通过基于LoRA的自适应进行优化。
- Qin等人介绍了ATFLRec,这是一种多模态推荐系统,它利用单独的LoRA模块来有效地微调LLM中的音频和文本模态,通过基于融合的方法展示了上级性能。
语言-音频学习的这些发展为在多模态环境中应用LoRA建立了几个关键原则:(1)模态特定自适应路径的重要性,(2)跨模态对齐的选择性参数更新的有效性,以及(3)在融合之前通过专门的LoRA模块保持不同的代表性空间的价值。
-
-
挑战和讨论
虽然LoRA在有效地适应不同领域的基础模型方面取得了显着的成功,但一些关键的挑战和机遇进一步推动了进一步的研究。
理论理解。当前的理论框架主要集中在简化的设置或特定的架构上,这使得我们对LoRA在更复杂场景中的行为的理解存在差距。例如,LoRA自适应和预训练模型知识之间的相互作用尚未完全理解,特别是在LoRA如何在修改任务特定特征的同时保留有用特征方面。开发更全面的理论框架来解释LoRA在不同架构和任务中的有效性,这对于指导未来的改进非常有价值。
架构设计原则。目前的LoRA实施通常依赖于经验观察,而不是系统的设计方法。关于最佳适配器放置策略、跨网络深度的秩确定以及适配空间的几何属性的关键问题仍然存在。最近对非欧几里德几何的探索,如双曲空间,表明在模型适应中捕获层次关系的潜在优势。一个统一的框架来分析这些设计选择可以显着提高我们的理解参数效率与模型容量的权衡。
计算效率。随着LLM的不断扩展,LoRA的可扩展性变得越来越重要。其在内存利用率和计算开销方面提出了重大挑战。适配器模块和KV缓存张量的动态管理可能导致内存碎片和I/O成本增加。
稳健性和验证。在关键应用中部署LoRA适应模型需要强大的验证方法。目前的研究不足以解决分布变化和对抗条件下的模型行为。开发严格的不确定性量化方法和形式验证技术变得至关重要,特别是对于医疗保健和自主系统中的高风险应用,其中模型可靠性直接影响人类安全。
隐私和安全。随着LoRA被越来越广泛地采用,特别是在联邦学习环境中,隐私和安全考虑变得越来越重要。这包括保护LoRA适配中的敏感信息,防止未经授权的访问或操纵适配模型,并确保LoRA更新不会无意中泄露私人信息。需要研究保护隐私的LoRA适配技术以及共享和组合LoRA模块的安全方法。
未来的研究方向应该集中在:建立全面的理论框架,统一各种LoRA设计方面;开发自动化架构搜索方法,以实现最佳适配器配置;为大规模部署创建高效的服务基础设施;实施标准化的可靠性评估评估协议;并将先进的隐私保护机制集成到适应过程中。
此外,随着新架构的出现,如Mamba,研究LoRA对这些新范式的适用性变得至关重要。将LoRA集成到边缘计算和实时系统中带来了与硬件优化和系统设计交叉的额外挑战,需要跨学科的研究工作。
-
-
总结
在本次调查中,我们对LoRA进行了系统的分析,研究了其理论基础,技术进步以及适应基础模型的各种应用。LoRA在不同领域的广泛采用-从自然语言处理和计算机视觉到语音识别和科学计算-突出了其多功能性和有效性。它在保持模型性能的同时显著降低了计算和存储需求,这使得它对资源受限的环境和专门的领域适应特别有价值。尽管取得了这些成就,但仍然存在一些重大挑战。LoRA有效性的理论框架需要进一步发展,特别是在理解低等级适应和模型能力之间的相互作用方面。此外,有关生产环境中的可扩展性、健壮性和安全部署的问题也带来了持续的研究机会。
-
喜欢就点个赞吧!
如果你觉得这篇文章对你有所帮助,或者让你眼前一亮,那就快来给我点个赞吧!👍
你的点赞是我持续创作的动力源泉,每一次点赞都像一束光,照亮我前行的道路,让我更有信心为大家带来更多精彩的内容。
同时,也别忘了关注我哦!👀 关注我,你就能第一时间获取到更多有趣、有用的知识和见解,我们可以在知识的海洋里一起遨游,共同成长。
如果这篇文章的内容你特别喜欢,还可以收藏起来呀!⭐️ 收藏它,以后想回顾的时候就能轻松找到,方便又实用。
感谢你的支持,让我们一起在知识的道路上越走越远!