一、概述

title:LORA: LOW-RANK ADAPTATION OF LARGE LAN- GUAGE MODELS

论文地址:https://arxiv.org/abs/2106.09685

代码:GitHub - microsoft/LoRA: Code for loralib, an implementation of "LoRA: Low-Rank Adaptation of Large Language Models"

1.1 Motivation

  1. NLP重要的范式为在通用数据集上预训练,然后特定领域微调,但是随着模型越来越大,继续全量fine-tuning变得越来越不可能。

1.2 Methods

  1. 本文提出低秩Adaptation(LoRA),冻结了预先训练的模型参数,将可训练的秩分解矩阵注入到Transformer架构的每一层中,大大减少了下游任务的可训练参数的数量,训练参数只有GPT-3 175B模型的万分之一,GPU内存只需要1/3。

1.3 Conclusion

  1. 尽管训练参数少很多,LoRA在RoBERTa,DeBERATa,GPT-2和GPT-3的效果甚至比全量fine-tuning要好,并且不像adpers等方法,不会增加推理latency,不需要降低输入序列长度,同时维持高的模型质量。
  2. 可以快速的进行任务的切换,因为在不同任务重其可以共享绝大部分的模型的参数。
  3. 可以应用到任意神经网络的dense层。

1.4 Future works

  1. LoRA和其他有效的adaptation方法结合。
  2. 研究fine-tuning或者LoRA背后的机制。
  3. 除了其方式的选择LoRA的权重,是否还有更多的原则来做?
  4. ΔW(LoRA学习到的权重) 的秩亏表明 W 也可能是秩亏的,这也可以成为未来工作的灵感来源。

二、详细内容

1 模型结构说明

  • 冻结模型原始圈子,只训练A和B矩阵,同时B初始化为零,这样初始阶段B不参与更新。

2 LoRA推理latency比adapter方法要好

  • Adaper方法在序列长度比较短的时候,推理latency增加非常多

3 LoRA与Fine-tuning方法,其他Adapter方法在Roberta,deberta模型的效果对比

  • LoRA和FT方法效果差不多,各有千秋,但是需要训练的参数少很多。
  • 效果和其他Adpt方法也各有千秋,但是推理速度更快

4 LoRA与Fine-tuning方法,其他Adapter方法在GPT-2模型的效果对比

  • 在GPT-2系列模型上,比全量fine-tuning以及其他Adapter方法效果都好不少

5 LoRA在GPT3模型上的效果

  • 看起来比其他fine-tuning方法以及Adapter方法都要好

6 超参数选择上的表现

  • 相对于prefixEmbed,prefixLayer,Adapte人(H)等方法,LoRA表现出更好的可拓展性和表现
  • LoRA看着对超参数的选择上没那么敏感,稳定性更好

7 同等参数下,LoRA加到Transformer的那一层效果比较好呢?

  • 对Wq和Wv矩阵同时做Adapting效果最佳

8 如何选择参数rank r=?【没咋看懂】

  • 同时调整 Wq 和 Wv时候,一个小的值r=1就足以在这些数据集上,而单独训练 Wq 需要一个比较大的值r=4才有不错的效果。
Logo

更多推荐