什么!LoRA我都没有学懂,又出现了MoRA???
LoRA作为当下最火热的大语言模型参数高效微调技术,正在以前所未有的速度迭代更新。从最初的LoRA到陆续推出的LoRA+、DoRA、AsyLoRA等变体,LoRA家族可谓是人才辈出,百花齐放。而就在这百家争鸣之际,微软的科研团队再次抛出重磅炸弹——MoRA,颠覆性地突破了LoRA的低秩更新瓶颈。
与之前的LoRA变体不同,MoRA别出心裁地采用方阵进行高阶参数更新,在保持参数量不变的前提下,极大地提升了参数更新的自由度。这一革命性的设计理念,不仅为大模型参数高效微调开辟了全新的思路,更在指令微调、数学推理、持续预训练等任务上展现出非凡的潜力。MoRA的横空出世,标志着大模型参数高效微调技术正在进入一个全新的发展阶段。
3.5研究测试:
hujiaoai.cn
4研究测试:
askmanyai.cn
Claude-3研究测试:
hiclaude3.com
稍安勿躁,本文将带您深入解析MoRA的核心原理,揭示其独特的技术优势,并通过与LoRA等变体的全面对比,展现MoRA在各类任务上的优异表现。
论文题目:
MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning
论文链接:
https://arxiv.org/pdf/2405.12130
LoRA的低秩"魔咒"与破局之机
LoRA之所以备受青睐,关键在于它独特的低秩分解机制。通过引入低秩矩阵对原权重矩阵进行近似,LoRA在极小的参数量下就能实现令人惊喜的微调效果。然而,正是这个让LoRA一炮而红的低秩设计,也成为了制约其进一步发展的"诅咒"。研究表明,过低的秩会严重限制模型学习和记忆新知识的能力,尤其在需要获取大量领域知识的任务上,例如持续预训练等。
为了冲破低秩的桎梏,许多LoRA变体如雨后春笋般涌现。它们或提高秩的上限,或优化训练策略,力图在低秩的框架下寻求突破。然而无论如何变化,它们始终难以摆脱"低秩"的烙印。看来要彻底打破LoRA的瓶颈,还需要一些"高阶"的创新。
MoRA方法详解:高阶更新范式的革新之路
MoRA的核心创新在于采用高阶方阵替代LoRA的低秩矩阵,并引入巧妙的压缩解压算子,实现参数更新的高效和灵活。下面我们来详细解读MoRA的技术细节。
秩的大幅度提升
MoRA的关键在于使用方阵M取代LoRA的低秩矩阵A和B,从而将参数更新的秩从提升到。如上图所示,假设原权重矩阵W的维度为d×k,LoRA的参数量为(d+k)r,则MoRA的方阵M维度为,其中。
这一设计使得MoRA的更新自由度较LoRA实现了质的飞跃。以d=4096, k=4096为例,当r=8时,LoRA的秩至多为8,而MoRA的秩可达256。高阶方阵赋予了MoRA更强大的表达能力和更新灵活性。
为了适应方阵运算,MoRA引入了压缩算子和解压缩算子。它们的作用是调整输入输出的维度,使之与方阵M匹配。具体而言:
-
: 将输入的维度从k压缩至
-
: 将中间结果的维度从提升至
在文章中,MoRA设计了多种压缩解压方案,包括:
-
截断:直接截取部分维度
-
共享:将多个维度合并,共享同一个值
-
解耦:将输入reshape为矩阵,然后与M做矩阵乘法
-
旋转:在解耦的基础上引入旋转矩阵,增强表达能力
下面以解耦为例,说明压缩解压的具体过程。先将x从 reshape为,其中。经过方阵M变换后,再将结果从还原为。整个过程可以表示为:
旋转方案在此基础上,借鉴RoPE的思想,在压缩时引入旋转矩阵,将不同的与不同的做交互,增强方阵对不同输入的表达能力:
压缩解压算子不仅使高阶方阵运算成为可能,而且能根据具体任务灵活调整。它们是MoRA实现高效参数更新的关键"利器"。
MoRA的实验验证
为了全面评估MoRA的性能,研究者在记忆任务、三大微调场景以及从头训练等多个方面,对MoRA进行了全方位的实验验证。下面我们一起来看看,MoRA究竟有何过人之处。
记忆任务:MoRA展现卓越学习能力
研究者首先设计了UUID配对的任务,以考察MoRA在记忆新知识方面的表现。实验要求模型根据输入的UUID,准确生成与之配对的UUID。这一任务相当于一个问答任务,但模型需要的知识完全来自训练数据,而非自身已有的知识。
实验使用LLaMA-7B作为底座模型,并探索了不同秩下LoRA和MoRA的表现。如下图所示,MoRA展现了压倒性的优势:当秩为256时,MoRA仅需500步就能完全记住1万对UUID,而LoRA却始终难以收敛。这充分证实了高阶更新在记忆任务上的显著优势。
通过对比不同秩的结果,还可以发现LoRA即使在秩较大如256时,其记忆能力也难以望MoRA项背。而MoRA在秩为256时,就已经能媲美全参数微调(Full Fine-Tuning, FFT)的效果了。高阶更新让MoRA在知识学习和记忆上出类拔萃,堪称"学霸"!
三大微调场景:"战绩彪炳"的MoRA
为进一步检验MoRA的全面性,研究者选取了指令微调、数学推理和持续预训练三大典型场景,让MoRA与LoRA和FFT同台竞技。结果下表所示,MoRA的表现令人印象深刻:
-
在指令微调上,MoRA与LoRA表现相当,且在秩较小如r=8时更胜一筹。
-
在数学推理上,MoRA在GSM8K数据集上再次力压群雄。
-
最引人瞩目的是持续预训练,MoRA在生物医学和金融领域远超LoRA。
而当秩提升到256时,MoRA在数学推理上更是逼近了FFT的性能。这些优异的成绩,无不得益于MoRA强大的知识获取和记忆能力。在三大场景的激烈角逐中,MoRA交出了一份闪亮的"成绩单",展现了高阶更新范式的巨大潜力。
从头训练:MoRA的全面成长与突破
作为一种新范式,MoRA还需要经受从零开始训练的考验。研究者以不同规模(250M和1.3B)的Transformer模型为对象,在大规模语料C4上对比了LoRA和MoRA的训练效果。此外,作者还将ReLoRA技术用于LoRA和MoRA,以进一步提升性能。
如下图loss曲线所示所示,无论是在250M还是1.3B的模型规模下,MoRA始终以更低的训练损失和更优的收敛速度领先于LoRA。当与ReLoRA结合后,MoRA(ReMoRA)的优势进一步扩大,取得了最优的性能。这表明MoRA作为一种通用的参数高效训练范式,能够在从头训练中稳定地实现性能提升。高阶更新让MoRA在训练的道路上越走越远,展现出惊人的成长潜力。
通过在记忆任务、三大微调场景和从头训练等多个维度的实验验证,MoRA展现出了全面领先的性能优势。高阶更新不仅让MoRA在知识学习和记忆方面出类拔萃,在各类下游任务的适应上也游刃有余,更在从零开始的训练中展现了惊人的成长潜力。实验结果有力地支撑了MoRA作为一种全新参数高效训练范式的有效性和先进性。
总结与展望
MoRA以高阶方阵为武器,破解了LoRA低秩更新的"紧箍咒",在知识学习、记忆任务、各类微调场景乃至从零训练中大放异彩,开创了大模型参数高效微调的全新范式。但这仅仅是MoRA征程的起点,未来它还将不断进化,与更多前沿技术携手进一步挖掘大模型的潜力。数据增强、提示优化等,都有望成为MoRA的得力助手。在MoRA的带动下,大模型高效训练必将迎来百花齐放的新春,为AI的发展注入源源不断的活力。