首页 > 其他分享 >【论文精读】Lora

【论文精读】Lora

时间:2024-11-28 19:44:12浏览次数:5  
标签:论文 前缀 微调 精读 参数 Delta Lora mathrm

【论文精读】

Lora:Low-rank adaptation of large language models

论文地址:Lora:Low-rank adaptation of large language models

年份:2021

引用量:8000+

关键词:LLM的高效微调

目录

1. 背景

现在,LLM训练的主要方法是:首先在通用任务上进行大规模的预训练,然后对预训练好的模型进行微调,以便更好的适应下游任务。

那么如何对模型进行微调呢?

一个简单的想法是:使用特定的任务,对模型的全部参数进行微调。这种方法叫做全量微调。

但是,LLM的参数量非常大,以GPT3为例,GPT3拥有大约175B个参数,如果对GPT3进行全量微调的话,这个成本太高了,令人无法接受。

因此,就提出了各种各样的方法来优化微调过程,这些优化方法统称为高效微调。

本文提出的Lora就是高效微调方法的一种,也是近年来最知名的一种。

2. Lora方法

Lora的基本思想是什么呢?

假设预训练后,模型的参数矩阵是$W_0\in\mathbb{R}^{d\times d} \(,在微调过程中,梯度是\)\Delta W \in\mathbb{R}^{d\times d} \(,那么在微调后,模型的参数矩阵变为\)W_0+\Delta W$。

作者认为,实际上,\(\Delta W\)的秩是很低的,因此,可以把\(\Delta W\)分解成两个低维的矩阵,即 \(\Delta W = BA\),其中\(B\in \mathbb{R}^{d\times r},A\in \mathbb{R}^{r\times d}\),且\(r\ll d\)。

那么,微调时只需要分别更新\(B,A\)两个矩阵,最后再计算二者的乘积\(BA\),就可以得到梯度\(\Delta W\)。

这样一来,直接更新\(\Delta W\)时,需要更新的参数有\(d^2\)个;但是将\(\Delta W\)分解为\(B,A\)的乘积后,只需要更新$d\times r + r \times d = 2rd \(个参数。由于\)r\ll d$,因此\(2rd\ll d^2\),大大减少了参数量。

还是以GPT3-175B为例,当\(d=12288\)时,令\(r\)等于1或者2,就能达到很好的微调效果。


若模型的输入为\(x\),前向传播后,模型的输出为\(h = W_0x\),那么在梯度更新之后,模型的输出为

\[h = (W_0+\Delta W) x = (W_0 + BA)x = W_0 x + BAx \]

在微调开始时,将\(A\)初始化为随机高斯分布,将\(B\)初始化为零矩阵。此外,我们在梯度\(BA\)前乘一个缩放因子\(\frac{\alpha}{r}\),其中\(\alpha\)是常数,\(r\)是\(B\)和\(A\)的维度。这种缩放机制的好处是,当我们需要改变\(r\)的值时,不必频繁地调整其他超参数。

并且,对于Transformer结构的LLM,在使用Lora进行微调时,作者冻结了其中MLP层的参数,仅仅对Attention层的参数进行了微调。


可以用一张图来表示Lora的计算过程

Figure 1

3. 实验

结论:实验结果表明,使用LoRA方法进行微调,比起其他微调方法,不仅参数量更少,而且在多数任务上得分更高

3.1 实验设置

  • 为了简单起见,在绝大多数实验中,作者使用Lora对Attention层中的\(W_q\),\(W_v\)进行微调,其他的参数保持冻结状态。

3.2 与其他的微调方法进行对比:

  • 全量微调(\(FT\)

    在微调过程中,所有模型参数都进行梯度更新。一种简单的变体是仅更新某些层而冻结其他层,例如可以仅仅调整最后两层\(FT^{top2}\)

  • \(BitFit\):仅仅调整偏置(bias),冻结其他所有参数。

  • 前缀Embedding微调\(PreEmbed\):在输入文本前添加一串特殊标记作为"前缀"。这些标记不具有实际含义,而是充当可训练的参数。微调时,只需要对前缀进行训练。推理时,我们将训练好的前缀添加到新的输入中,模型就能输出满足特定任务需求的结果。

  • 前缀层微调\(PreLayer\):前缀层微调不仅为输入添加前缀,还直接为每个Transformer层添加单独的前缀。具体来说,在普通的前缀微调中,前缀仅在输入时起作用;而在前缀层微调中,当数据流经模型的每一层时,都会遇到专门为该层设计的前缀参数。在推理时,新的输入会依次通过这些带有专属前缀的层,从而得到更精准的任务输出。

  • 适配器微调:最早的设计(\(Adapter^H\))是在每个注意力模块和MLP模块后添加适配器层。后来的研究者提出了多种改进版本:\(Adapter^L\)\(Adapter^P\)仅在MLP模块后添加适配器,而\(Adapter^D\)则通过选择性地删除一些适配器层来进一步提升效率。

3.3 在四个模型上进行了实验

  1. \(\mathrm{RoBERTa}_{base},\mathrm{RoBERTa}_{large}\)

    \(\mathrm{RoBERTa}\)是\(\mathrm{BERT}\)的升级版。作者从 HuggingFace Transformers 库中获取预训练好的 \(\mathrm{RoBERTa}_{base}\)(1.25 亿参数)和 \(\mathrm{RoBERTa}_{large}\)(3.55 亿参数),并比较不同高效微调方法在 GLUE 基准任务上的性能。为了确保公平比较,在与适配器比较时,作者对 LoRA 的评估方式进行了两个关键更改。首先,对所有任务使用相同的批量大小,并使用长度为 128 的序列以匹配适配器baseline。其次,对于 MRPC、RTE 和 STS - B 任务,我们将模型初始化为预训练模型,而不是像全量微调baseline那样初始化为已经适应 MNLI 任务的模型。

  2. \(\mathrm{DeBERTa}\)

    \(\mathrm{DeBERTa}\)也是 BERT 的一个变体。作者主要比较了在GLUE上,LoRA 是否与完全微调的\(\mathrm{DeBERTa}\ XXL\)(15 亿参数)的性能相匹配。

Table 2

  1. \(\mathrm{GPT-2}_{medium},\mathrm{GPT-2}_{large}\)

    在表明 LoRA 可以成为自然语言理解(NLU)中全量微调的替代方案之后,作者希望回答: LoRA 在自然语言生成(NLG)模型(如 GPT - 2 中型和大型)上是否仍然占优。由于空间限制,表 3 仅展示在端到端自然语言生成挑战(E2E NLG Challenge)上的结果。

    Table 3

  2. \(\mathrm{GPT-3} \ \ 175B\)

    如表 4 所示,对于\(\mathrm{GPT-3} \ \ 175B\),LoRA 在三个数据集上都达到或超过了全量微调baseline。

    Table 4

    请注意,并非所有方法都能从更多的可训练参数中单调受益,如图 2 所示。作者观察到,当使用超过 256 个特殊标记进行前缀嵌入调优或超过 32 个特殊标记进行前缀层调优时,性能会显著下降。作为对比,当可训练参数增加时,Lora表现出了更强的可扩展性。

    Figure 2

3.4 消融实验

作者在\(\mathrm{GPT-3}\)上进行了消融实验,实验表明:

  1. 在固定训练参数量的前提下,不断调整训练的矩阵以及\(r\)的大小,最终发现,同时训练Attention层中的所有权重矩阵得分最高。

image-20241122111806289

  1. 不固定训练参数量,直接调整\(r\)的大小,发现\(r=2,4\)时得分较高。

image-20241122111825190

4. 待更新:为什么\(\Delta W\)是低秩的?

标签:论文,前缀,微调,精读,参数,Delta,Lora,mathrm
From: https://www.cnblogs.com/rh-li/p/18575034

相关文章

  • 0基础读顶会论文(组会ppt版)-在Deviceless边缘计算环境中实现移动感知的无缝虚拟函数
    ......
  • 论文详解:在腹腔镜结直肠手术中识别关键解剖结构
            这篇文章是对一篇AI+医学论文的具体介绍,由于是发表在医学期刊上的论文,原文并没有详细提及网络模型结构,只是简单的指出了文章所用的模型是使用了什么网络结构。        这篇论文的题目叫做:Artificialintelligencefortherecognitionofkeyanatomi......
  • springboot毕设springboot+vue的网上书店项目程序+论文
    系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,电子商务已成为现代商业模式的重要组成部分。网上书店作为电子商务的一种典型应用,以其便捷性、高效性和丰富的信息资源,逐渐改变了人们的购书习惯。然而,当前市场上的网上书店系统虽多,但在用户体验、系统性能和......
  • springboot毕设Q宝商城程序+论文
    系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,电子商务已成为现代商业活动的重要组成部分。在这一背景下,线上购物平台凭借其便捷性、高效性和广泛的覆盖范围,逐渐改变了人们的消费习惯。Q宝商城作为本次毕业设计的主题,旨在打造一个专注于图书销售的电子商......
  • springboot毕设基于+Vue的房屋租赁系统源码+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景在当今社会,随着城市化进程的不断加快,人口流动日益频繁,房屋租赁市场的规模持续扩大。大量的人口涌入城市,对于居住的需求促使房屋租赁成为一种普遍......
  • springboot毕设基于+Vue3的毕业生信息管理系统源码+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着信息技术的飞速发展,各行业的数字化转型不断深入。在教育领域,高校毕业生数量逐年增加,传统的毕业生信息管理方式已难以满足日益增长的需求。在......
  • springboot毕设基于HarmonyOS的家用药品订购系统小程序端1 源码+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着人们生活节奏的加快和健康意识的提高,家庭对药品的需求日益增加。传统的药品购买方式往往需要人们前往实体药店,这可能会受到营业时间、地理位......
  • NLP论文速读(EMNLP2024)|多风格可控生成的动态多奖励权重
    论文速读|DynamicMulti-RewardWeightingforMulti-StyleControllableGeneration论文信息:简介:   本文探讨了文本风格在沟通中的重要性,指出文本风格传达了除原始语义内容之外的多种信息,如人际关系动态(例如正式性)和作者的情绪或态度(例如厌恶)。   随着大型......
  • SSM写字楼物业管理系统35t20 带论文文档1万字以上,文末可获取
    开题报告内容一、项目背景随着城市化进程的加速,写字楼作为城市经济活动的核心区域,其物业管理水平直接影响到入驻企业和员工的工作效率与满意度。传统的物业管理方式存在信息不透明、管理效率低下等问题,已难以满足现代写字楼物业管理的需求。因此,开发一套基于SSM框架的写字楼......
  • ssm毕设 教务一点通管理系统源码+程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容选题背景随着信息技术的飞速发展,高校教务管理逐渐从传统的纸质化办公向信息化、智能化转型。关于教务管理系统的研究,现有研究主要以大型综合管理系统为主,这些......