当前位置:   article > 正文

从零开始讲解LoRA——大语言模型的PEFT(Parameter-Efficient Fine-Tuning)系列_lora peft

lora peft

一、引言

        LoRA(Low-Rank Adaptation Of Large Language Model),是一种大语言模型的低秩自适应方法。LoRA 在保持预训练模型的权重不变的情况下,通过给做下游微调任务的模型注入可以训练的秩分解矩阵。通过这种方式,可以使预训练模型在下游的微调任务当中,不用去学习全量的训练参数,因此大大降低了模型的训练参数量,同时降低了GPU内存的需求。

        LoRA已经证实了在RoBERTa,DeBERTa,GPT系列模型以及一系列的LLM中证明了自己的效果。在175B 的GPT3使用Adam 的微调学习中,LoRA能降低10000倍的训练参数,同时GPU内存使用降低了三倍。在RoBERTa、DeBERTa、GPT-2和GPT-3上,LoRA在模型质量方面表现与微调相当或更好,LoRA具有更少的可训练参数、更高的训练吞吐量,且与适配器不同,它没有额外的推理延迟。

二、LoRA的具体实现

        LoRA 的具体实现可以参照上图,这也是LoRA论文中的说明图,非常的简洁而且易懂。LoRA 把预训练模型的权重冻结,将微调阶段学习到的权重的增量部分进行矩阵的秩分解,将秩分解后的矩阵A与B注入到模型的Transformer架构的每一层中。

        具体来说,对于预训练模型的transformer结构中的学习权重 W_{_{0}}\in R^{d \times k},LoRA 可以通过以下的方式来实现其权重的更新W_{0}x +\triangle W = W_{0}x + BA,其中B\in R^{d \times r}A\in R^{r \times k}。且秩r\ll min(d,k)。其中,W_{0}参数在学习中是被冻结的,更新的部分是\triangle W,通过LoRA转化为BA

        为什么秩r 需要远小于d和k?那是因为我们要更新的权重\triangle W的参数量为d*k个。而我们通过LoRA,把更新的那部分\triangle W转化为了BA。更新的参数量因此从d*k 转化为了 B的参数量 + A的参数量,即 d * r + r *k 个参数。因此,当 秩r 需要远小于d和k 时,我们可以大幅度的降低更新的参数量。

        同时,我们把模型的反馈函数转化为了:

                        h = W_{0}x +\triangle Wx = W_{0}x + BAx

三、关于LoRA的一些问题

问题1:LoRA用在模型的什么地方?

:LoRA 用在预训练模型的Transformer架构上的每一层。注意,是每一层!LoRA的主要思想是在预训练模型的每一层中保持训练前权重不变,同时在每一层中注入可训练的秩分解矩阵,从而大大减少了针对下游任务的可训练参数数量。因此,不管是Transformer的FFN,还是attention,都会注入LoRA的秩分解矩阵。

问题2:如何确定适当的秩分解矩阵大小?

答:确定适当的秩分解矩阵大小(即LoRA的秩r)需要考虑以下几点:

  1. 性能:选择合适的秩分解矩阵大小以实现理想的模型性能。在实验中,即使使用很小的r(例如1或2),LoRA仍然可以与完全微调相媲美,甚至表现更好。

  2. 子空间相似性:检查不同秩选择和不同随机种子下学习到的子空间之间的相似性。增加r并不能涵盖更有意义的子空间,这表明低秩适应矩阵就足够了。

  3. 适应矩阵与预训练权重的关系:研究适应矩阵∆W与预训练权重W之间的关系。∆W与W之间的相关性可以帮助了解适应预训练语言模型的机制。

        综上所述,选择适当的秩分解矩阵大小需要在性能、子空间相似性和适应矩阵与预训练权重的关系等方面进行综合评估。

问题3:LoRA(Low-Rank Adaptation)相对于其他自适应方法具有哪些优势?

答:

  1. 存储和计算效率:LoRA通过优化训练过程中权重更新的低秩分解矩阵,大大减少了可训练参数的数量,从而降低了存储和计算需求。

  2. 无需额外的推理延迟:与适配器层不同,LoRA在训练过程中并行地添加可训练的低秩矩阵,因此不会引入额外的推理延迟。

  3. 高度可组合性:LoRA可以与许多现有方法(如前缀调整)结合使用,进一步提高模型的效果和效率。

  4. 快速任务切换:LoRA允许在共享大部分模型参数的情况下快速切换任务,从而降低了存储需求和任务切换开销。

  5. 与模型质量相当或更好的表现:尽管LoRA具有较少的可训练参数、更高的训练吞吐量和与适配器不同的无额外推理延迟,但在RoBERTa、DeBERTa、GPT-2和GPT-3上的表现与完全微调相当或更好。

参考资料

1. https://arxiv.org/abs/2106.09685

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/848302
推荐阅读
相关标签
  

闽ICP备14008679号