LoRA+: 提高LORA微调效果的一个trick

MySQLNoSQL机器学习

        
          
https://arxiv.org/pdf/2402.12354.pdf  

      

picture.image

LoRA是一种用于大型模型微调(finetuning)的方法,它通过在预训练模型的权重上添加低秩矩阵(称为adapter)来实现,而不是调整所有模型参数。这种方法在保持计算成本较低的同时,能够有效地适应新任务。

然而,原始LoRA在处理具有大宽度(embedding dimension)的模型时,由于adapter矩阵A和B使用相同的学习率进行更新,导致微调效果不佳。这是因为在大宽度网络中,使用相同的学习率不利于有效的特征学习。

为了解决这个问题,LoRA+提出了一种新的方法,即为LoRA的adapter矩阵A和B设置不同的学习率,并且这些学习率之间有一个固定的比率。LoRA+建议将B的学习率设置为A的学习率的λ倍(λ > 1),这样可以有效提高特征学习效率。通过大量实验,LoRA+在保持与LoRA相同计算成本的同时,能够提高性能(1% - 2%的改进)和微调速度(大约2倍的速度提升)。

λ的设置:

  • 经验法则:文章建议,作为一个经验法则,可以尝试设置λ = 24。这个值是在多个实验中发现的一个较好的起点,可以在不同的任务和模型上进行微调。
  • 性能比较:在实际应用中,可以通过比较不同λ值下模型的性能(如准确率、损失等指标)来选择最佳的λ值。这通常涉及到一个网格搜索或者更高级的超参数优化技术。
  • 任务难度:如果微调任务对于预训练模型来说较为困难,那么选择合适的λ值尤为重要,因为需要更有效的特征学习来适应新任务。相反,如果任务相对容易,λ的影响可能不那么显著。

文章还提供了理论分析,通过无限宽度网络的缩放理论来支持LoRA+的设置。在无限宽度极限下,LoRA+通过调整学习率来优化特征学习动态,从而提高了微调的效果。此外,文章还提供了实验结果来验证LoRA+在不同语言模型和任务上的有效性,并给出了在实践中如何设置λ比率的指导建议。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动客户端性能优化最佳实践
在用户日益增长、需求不断迭代的背景下,如何保证 APP 发布的稳定性和用户良好的使用体验?本次分享将结合字节跳动内部应用的实践案例,介绍应用性能优化的更多方向,以及 APM 团队对应用性能监控建设的探索和思考。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论