基本信息和摘要
论文题目
LoRA+: Efficient Low Rank Adaptation of Large Models
-
链接
:https://arxiv.org/pdf/2402.12354
-
代码
:https://github.com/nikhil-ghosh-berkeley/loraplus
作者
Soufiane Hayou
, UC Berkeley
Nikhil Ghosh
, UC Berkeley
Bin Yu
, UC Berkeley
摘要
作者指出原始 LoRA 方法在对嵌入维度较大的模型进行微调时会导致次优结果。这是由于LoRA中的适配器矩阵
和
都是以相同的学习率更新。对于
和
使用相同的学习率并不能有效学习特征。
通过为LoRA适配器矩阵
和
设置不同学习率且具有固定比例
,可以简单地纠正LoRA的这种次优性, 即LoRA+。在广泛的实验中,LoRA+在保持与LoRA相同的计算成本的同时,提高了性能(1% - 2%的改进)和微调速度(高达约2倍)。
介绍
主要贡献
本文的主要贡献在于提出了LoRA+方法,它通过以下方式改进了现有的LoRA微调技术:
-
效率分析
:通过理论分析,指出了在模型表征维度趋向于无穷大时,使用相同学习率更新LoRA中的A和B矩阵会导致效率低下。
-
LoRA+算法
:提出了一种新的算法LoRA+,该算法通过为A和B设置不同的学习率,并保持一个固定的比例
。
-
实验验证
:通过在不同语言模型和任务上的广泛实验,验证了LoRA+在提高性能和微调速度方面的优势。
-
理论指导
:提供了设置学习率的理论指导,特别是在无限t特征维度下对LoRA微调动态的分析,为实际应用中的参数调整提供了依据。
-
性能提升
:实验结果显示,LoRA+在多个任务上实现了1%至2%的性能提升,并且在某些情况下能够实现约2倍的微调速度提升。
重要发现
-
-
在困难的任务上,LoRA+的性能提升更为显著 (
Figure3
MNLI 和 QQP)。
-
LoRA+在保持计算成本不变的情况下,实现了性能和速度的双重提升。
方法
动机
在深度学习模型中,尤其是宽度(表征维度 embedding dimension)较大的模型,使用相同的学习率更新所有参数可能导致训练效率低下。特别是在LoRA微调方法中,适配器矩阵
和
以相同的学习率更新,这在模型宽度较大时不能有效学习特征。
具体方法描述
LoRA+方法的核心在于为LoRA适配器矩阵A和B设置不同的学习率。具体来说,设置A的学习率为ηA,B的学习率为ηB = ληA,其中λ是一个大于1的固定比例。这种方法基于以下理论分析:
-
无限宽度极限分析
:在模型宽度趋向于无穷大时,分析LoRA微调动态,发现标准LoRA设置是次优的。
-
学习率设置
:通过设置
和
,即
可以确保在无限宽度(
-width)极限下LoRA微调的稳定性和效率。实践中,确保
。
-
实验确定比例 λ
:通过实验验证,确定了
的一个经验值,该值在多种情况下都能改善性能。
下图 (
Figure 1
) 展示了标准LoRA与LoRA+的区别。
实验发现