AdaLoRA1 - 论文精读学习笔记

AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning标签:Parameter-Efficient Fine-Tuning
论文链接:AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning
发表时间:2023
Cook
Published: 2024.09.10 | Last Updated: 2024.09.22

You are what you eat.
And I'm cooking what I eat!
:)

More food...🍜

目录

提前说明:本系列博文主要是对参考博文的解读与重述(对重点信息进行标记、或者整段摘录加深自己的记忆和理解、融合多个博文的精髓、统合不同的代表性的案例),仅做学习记录笔记使用。与君共享,希望一同进步。

 

全文梗概

地位 在大模型微调的理论中,AdaLoRA方法是一个绕不开的部分。

这篇论文主要提出了一种新的自适应预算分配方法AdaLoRA,用于提高参数高效的微调性能

AdaLoRA方法有效地解决了现有参数高效微调方法在预算分配上的不足,提高了在资源有限情况下的模型性能,为NLP领域的实际应用提供了新的思路和技术支持。

论文从研究背景AdaLoRA方法实验结果对比分析等多个角度阐述了该方法的优势。

LoRA中,对每个矩阵使用相同的分支。不过这些分支的重要性是不一样的。当我们的budget有限的时候,我能就希望能够动态地设计LoRA分支的大小。对于不重要的地方,可以使用更小的维度。

image-20240922110540376

Figure 1 (LoRA的局限性测试)不难看出,对于同一层不同的矩阵,或者对于不同的layer,微调他们带来的收益都是不一样的。

博文4 摘要
AdaLoRA的核心思想
AdaLoRA的实验效果

 

 

背景

现状:预训练语言模型(PLMs)在NLP任务中表现出色,但全参数微调在大量下游任务中变得不可行。

挑战:现有方法如LoRA等通过低秩增量更新预训练权重,但均匀分配预算,忽略了不同权重参数的重要性。

动机:提出AdaLoRA以根据重要性分数自适应地分配参数预算

在NLP领域,对于下游任务进行大型预训练语言模型的微调已经成为一种重要的做法。一般会采用对原有的预训练模型进行全量微调的方法来适配下游任务,但这种方法存在两个问题。

为了解决这些问题,研究者提出了两个主要研究方向,以减少微调参数的数量,同时保持甚至提高预训练语言模型的性能。

全文梗概

本文作者提出了AdaLoRA,它根据权重矩阵的重要性得分,在权重矩阵之间自适应地分配参数预算。

AdaLoRA是对LoRA的一种改进,它根据重要性评分动态分配参数预算给权重矩阵。具体做法如下:

image-20240922105932880

方法

为了实现动态地调节Lora的rank的大小,首先将Lora改写为SVD的形式。当然,我们可以直接分解矩阵获得SVD,但是考虑到矩阵分解的代价比较大,所以直接学习这几个矩阵:

(1)3&4

同时,对于 PQ 加上正交的约束。

接下来的操作就是修建中间的特征值矩阵了。具体的做法是直接mask掉部分的特征值,保留PQ矩阵。

现在的核心问题就是,确定mask掉那些特征值,这里基本沿用了剪枝的做法。

最简单的做法,类似于 值减枝,直接将值大的特征值保留,对值小的特征值去除。但是这种做法过于简单。

所以本文使用一个 sensitivity:

(2)7&8

考虑到batch具有一定的偶然性,所以在选取多个batch的结果进行平滑:

(3)91011

这里的U指的是 Uniform,代表重要性在不同batch之间的平滑程度。

 

方法概述:AdaLoRA通过奇异值分解(SVD)参数化增量更新,动态调整增量矩阵的秩以控制预算。

重要性评分:提出一种新颖的重要性度量,基于每个奇异值及其对应奇异向量的贡献来评分。

预算调度器:采用全局预算调度器,从略高于最终预算的初始值开始,逐渐减少到目标值。

 

实验与结果

数据集

在多个NLP任务(如GLUE、SQuAD、XSum等)上评估DeBERTaV3-base和BART-large等模型。

性能表现

AdaLoRA在低预算设置下表现尤为突出,如使用不到0.1%的全参数微调的可训练参数,在SQuAD2.0数据集上实现1.2%的F1提升。

对比分析

与LoRA等基线方法相比,AdaLoRA显示出显著的改进。(从整体的实验结果来看,AdaLoRA的微调效果全面优于LoRA,如Table 1 。)

通过实验证明,AdaLoRA 实现了在所有预算、所有数据集上与现有方法相比性能更好或相当的水平。 例如,当参数预算为 0.3M 时,AdaLoRARTE数据集上比表现最佳的基线高 1.8%

image-20240922110018956

关键发现

总结

优势与贡献

未来工作

探索方向

博文4 从上述论文解读中,我们收获了如下技术观点:

  • AdaLoRA的核心思想:采用SVD、正则损失、二次平滑的重要性评估,精准地控制每一层的参数矩阵降维。

  • AdaLoRA的关键发现

    • SVD降维、保证PQ矩阵的正交性,对AdaLoRA的训练效果都有影响。

    • Transformer中,FNN的参数矩阵重要性要大于自注意力层的参数矩阵、顶层的参数矩阵重要性大于低层的参数矩阵重要性

阅读AdaLoRA最大的感触就是数学的奇妙,AdaLoRA是一个主要依赖数学公式推导解决算法问题的典型代表。

参考博文

  1. 论文《AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning》浅析

    点评:该博文对论文进行了文字梳理,但是非常有逻辑。内容虽短,但很赞! ★★★★☆

  2. Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning

    点评:这篇博文是以文字的形式对文章进行了概况,还是比较到位的。★★★☆☆

  3. ADAPTIVE BUDGET ALLOCATION FOR PARAMETER- EFFICIENT FINE-TUNING

    点评:怎么说呢,这篇文章很奇怪,但是似乎又把重点都突出了。及格分吧:★★★☆☆

  4. 【chatGPT】学习笔记51-LLM微调技术之AdaLoRA

    点评:这篇博文对文章的细节说的很详细,如果每篇文章都按照这样的方式来吸收,应该很快会有idea!★★★★☆

     

博文免责声明

  1. 本条博文信息主要整合自网络,部分内容为自己的理解写出来的,如有断章截句导致不正确或因个人水平有限未能详尽正确描述的地方,敬请各位读者指正;

  2. 引用出处可能没有完全追溯到原始来源,如因此冒犯到原创作者,请联系本人更正/删除;

  3. 博文的发布主要用于自我学习,其次希望帮助到有共同疑惑的朋友。

欢迎随时联系讨论,一起成长进步。

1 Zhang Q, Chen M, Bukharin A, et al. AdaLoRA: Adaptive budget allocation for parameter-efficient fine-tuning[J]. arXiv preprint arXiv:2303.10512, 2023.