[论文阅读笔记77]LoRA:Low-Rank Adaptation of Large Language Models

1. 基本信息

题目 论文作者与单位 来源 年份
LoRA: Low-Rank Adaptation of Large Language Models microsoft International Conference on Learning Representations 2021

524 Citations

论文链接:https://arxiv.org/pdf/2106.09685.pdf

论文代码:https://github.com/microsoft/LoRA

2. 要点

研究主题 问题背景 核心方法流程 亮点 数据集 结论 论文类型 关键字
微调大模型 对比较大的模型进行全部参数的微调显得不太可行,例如GPT-3 175B,每介任务都部署一个单独的GPT-3,这个显得十分的昂贵。 提出Low-Rank Adaptation,LoRA. 冻结了预先训练的模型权值,并将可训练的秩分解矩阵注入变压器架构的每一层,大大减少了下游任务的可训练参数的数量。 效果与全参微调相当或比全参要好,并且没有推理延迟。 LoRa

目的主要是不想微调模型的所有参数,去满足下游任务,因为这个成本太大的,特别是大模型例如175B的GPT-3;同时,这个方法也有人提出了相关的方法,可是这些方法存在问题,通过扩展模型的深度或减少模型的可用序列长度来实现存在推理延迟。最重要的是质量不太行呀。

启发于:学习到的过度参数化模型实际上存在于一个较低的intrinsic dimension(内在维度)上。即是训练下游任务不需要这么多参数,采用降秩的方法来保留最内在的参数。

Measuring the Intrinsic Dimension of Objective Landscapes, Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning. arXiv:2012.13255 [cs], December 2020.

优点:

只共享一个大模型,对于不同的任务,只训练不同的A,B.

训练更有效,训练参数少;

在推理方面,线性合并,没有推理延迟;

LoRA与许多先前的方法正交,可以与其中许多方法结合,比如前缀调优。

3. 模型(核心内容)

3.1 形式表达

pCmZfhQ.png

3.2 模型结构

pCmASwF.png

W0 + ∆W = W0 + *BA, 其中 *B:d*r, A:r*k, r << min(d, k).

在训练的时候W0的冻结的。

pCmmbYF.png

Transformer中,自关注力有4个矩阵,MLP模块有2个矩阵;

这里实验只关心自关注力相关的权重矩阵。

4. 实验与分析

对比实验

Fine-Tuning (FT):传统的微调。FT变体,只训练最后两层(FTTop2);

Bias-only or BitFit: 只训练bias vectors;

**Prefifix-embedding tuning (PreEmbed):**在输入标记中插入特殊的标记;

Prefix-layer tuning (PreLayer):是对前缀嵌入调优的扩展;

Adapter tuning:在自注意模块(和MLP模块)和后续的剩余连接之间插入适配器层;

Adapter_H:Houlsby et al. (2019) ;

Adapter_L:Lin et al. (2020)

Adapter_P: Pfeiffer et al. (2021),

**Adapter_***D: *AdapterDrop (R¨uckl′e et al., 2020)

所有模型,限制相关的参数大小规模Θ

pCmNA5d.png

结果:
pCmUnY9.png

pCmUgYj.png

pCmByJe.png

训练参数量与性能对比实验:

pCmanHS.png

对于GPT-3随着样本的增加的效果:

pCma6u6.png

5. 代码

https://github.com/microsoft/LoRA

6. 总结

从效果来看,不论预训练模型的大小,LoRA采用更少的参数,可以达到全参模型的更好的效果。

7. 知识整理(知识点,要读的文献,摘取原文)

通过更少的参数去适应下游任务,主要是两个方向(adapter, soft Prompt):

adding adapter layers,optimizing some forms of the input layer activations

The major downside of fine-tuning is that the new model contains as many parameters as in the original model.

微调的主要缺点是,新模型包含的参数与原始模型一样多。

8. 参考文献

made by happyprince

猜你喜欢

转载自blog.csdn.net/ld326/article/details/131193936
今日推荐