Raki的读paper小记:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

这篇具有很好参考价值的文章主要介绍了Raki的读paper小记:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Abstract&Introduction&Related Work

  • 研究任务
    对大模型进行部分微调

  • 已有方法和相关工作
    现有技术通常通过扩展模型深度引入推理延迟(Houlsby 等人,2019;Rebuffi 等人,2017),或通过减少模型可用序列长度(Li 和 Liang,2021;Lester 等人,2021;Ham-bardzumyan 等人,2020;Liu 等人,2021)

  • 面临挑战
    这些方法通常无法达到微调基线,提出了效率与模型质量之间的权衡。

  • 创新思路
    学习过度参数化的模型实际上位于低内在维度上。我们假设模型适应期间权重变化也具有低“内在秩”,从而提出了我们提出的低秩适应
    (LoRA)方法。
    Raki的读paper小记:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS,NLP,读paper,语言模型,深度学习,人工智能,神经网络,自然语言处理

  • 实验结论

    • 预训练模型可以共享并用于为不同任务构建许多小型 LoRA 模块。我们可以冻结共享模型并通过替换图 1 中的矩阵 A 和 B 来有效地切换任务,显著减少存储需求和任务切换开销
    • LoRA 使训练更高效,并在使用自适应优化器时将硬件入门门槛降低了多达 3 倍,因为我们不需要计算大多数参数的梯度或保持优化器状态。相反,我们只优化注入的、更小的低秩矩阵
    • 我们简单的线性设计允许我们在部署时将可训练矩阵与冻结权重合并,在构造上不引入与完全微调模型相比的推理延迟
    • LoRA 正交于许多先前方法,并且可以与其中许多方法结合使用, 例如前缀调整

常规的完全微调的公式: max ⁡ Φ ∑ ( x , y ) ∈ Z ∑ t = 1 ∣ y ∣ log ⁡ ( P Φ ( y t ∣ x , y < t ) ) \max_\Phi\sum_{(x,y)\in\mathcal{Z}}\sum_{t=1}^{|y|}\log\left(P_\Phi(y_t|x,y_{<t})\right) maxΦ(x,y)Zt=1ylog(PΦ(ytx,y<t))

完全微调的主要缺点之一是对于每个下游任务,我们学习一组不同的参数∆Φ,其维数|∆Φ|等于|Φ0|。因此,如果预训练模型很大(如GPT-3,其中|Φ0| ≈ 1750亿),存储和部署许多独立实例的微调模型可能具有挑战性

在本文中采用了一种更具参数效率的方法,其中任务特定参数增量 ∆ Φ = ∆ Φ ( Θ ) ∆Φ = ∆Φ(Θ) ∆Φ=∆Φ(Θ)进一步由尺寸更小的一组参数 Θ Θ Θ编码,其中 ∣ Θ ∣ |Θ| ∣Θ∣ 远小于 ∣ Φ 0 ∣ |Φ_0| Φ0

公式更改为: max ⁡ Θ ∑ ( x , y ) ∈ Z ∑ t = 1 ∣ y ∣ log ⁡ ( p Φ 0 + Δ Φ ( Θ ) ( y t ∣ x , y < t ) ) \max_\Theta\sum_{(x,y)\in\mathcal{Z}}\sum_{t=1}^{|y|}\log\left(p_{\Phi_0+\Delta\Phi(\Theta)}(y_t|x,y_{<t})\right) maxΘ(x,y)Zt=1ylog(pΦ0+ΔΦ(Θ)(ytx,y<t))

Raki的读paper小记:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS,NLP,读paper,语言模型,深度学习,人工智能,神经网络,自然语言处理
GPT-2中型单次前向传递的推理延迟,以毫秒为单位,平均100次试验。我们使用NVIDIA Quadro RTX8000。“|Θ|”表示适配器层中可训练参数的数量。AdapterL和AdapterH是两种adapter微调的变体,在在线、短序列长度场景中,适配器层引入的推理延迟可能很大。

当我们需要像 Shoeybi 等人(2020);Lepikhin 等人(2020)那样分片模型时,这个问题会变得更糟,因为额外的深度需要更多的同步 GPU 操作,如 AllReduce 和 Broadcast,除非我们多次冗余地存储适配器参数。

直接优化很难,另一个方向,如前缀调整(Li 和 Liang,2021)所示,面临着不同的挑战。我们观察到前缀调整难以优化,并且其性能在可训练参数中非单调变化,证实了原始论文中类似的观察。更根本地说,为适应保留序列长度的一部分必然会减少处理下游任务的可用序列长度,我们怀疑这使得在提示下调整表现不及其他方法。我们将对任务性能的研究推迟到第 5 节。

LoRA

低秩参数化更新矩阵

神经网络包含许多密集层执行矩阵乘法。这些层中的权重矩阵通常具有完整的秩。当适应特定任务时,Aghajanyan等人(2020)表明,预训练语言模型具有低“内在维度”,并且尽管随机投影到较小子空间,仍然可以有效地学习。受此启发,我们假设在适应过程中权重的更新也具有低“内在秩”。对于预训练的权重矩阵 W 0 ∈ R d × k ˉ \begin{aligned}W_0\in\mathbb{R}^{d\times\bar{k}}\end{aligned} W0Rd×kˉ,我们通过用低秩分解表示后者来约束其更新 W 0 + Δ W = W 0 + B A W_{0}+\Delta W=W_{0}+BA W0+ΔW=W0+BA,其中 B ˉ ∈ R d × r , A ∈ R r × k \bar{B}\in\mathbb{R}^{d\times r},A\in\mathbb{R}^{r\times k} BˉRd×r,ARr×k,并且秩 r ≪ min ⁡ ( d , k ) r\ll\min(d,k) rmin(d,k)

在训练期间, W 0 W_0 W0 被冻结并且不接收梯度更新,而A和B包含可训练参数。 W 0 W_0 W0 ∆ W = B A ∆W = BA W=BA 都与相同的输入相乘,并且它们各自的输出向量按坐标相加。对于 h = W 0 x h = W_0x h=W0x,我们修改后的前向传递产生: h = W 0 x + Δ W x = W 0 x + B A x h=W_0x+\Delta Wx=W_0x+BAx h=W0x+ΔWx=W0x+BAx 我们在图1中说明了我们的重新参数化。我们对A使用随机高斯初始化,并对B使用零,因此 ∆ W = B A ∆W = BA W=BA 在训练开始时为零。然后将 ∆ W x ∆Wx Wx α / r α/r α/r 缩放,其中 α α α r r r 中的常数。当使用Adam进行优化时,调整 α α α 大致相当于调整学习率(如果我们适当地缩放初始化)。因此,我们简单地将 α α α 设置为第一个尝试的r并且不调整它。这种缩放有助于减少在改变 r r r 时重新调整超参数的需要(Yang&Hu,2021)

全精调的一般化
更一般形式的精调允许训练预训练参数的子集。LoRA更进一步,并且不要求在适应过程中累积梯度更新到权重矩阵具有完整秩。这意味着当将LoRA应用于所有权重矩阵并训练所有偏差时,我们通过将LoRA秩r设置为预训练权重矩阵的秩来大致恢复全精调的表现力。换句话说,随着我们增加可训练参数的数量,训练LoRA大致收敛于训练原始模型,而基于适配器的方法收敛于MLP,基于前缀的方法收敛于无法接受长输入序列的模型。

没有额外推理延迟
部署到生产环境时,我们可以显式计算并存储 W = W 0 + B A W = W_0 + BA W=W0+BA并像往常一样进行推理。注意 W 0 W_0 W0 B A BA BA 都在 R d × k R_d×k Rd×k 中。 当我们需要切换到另一个下游任务时,我们可以通过减去 B A BA BA 然后添加不同的 B 0 A 0 B_0A_0 B0A0来恢复 W 0 W_0 W0,这是一个快速操作,并且内存开销很小。关键是这保证了与精调模型相比,在推理过程中不会引入任何额外的延迟

应用到 TRANSFORMER

原则上,我们可以将LoRA应用于神经网络中任何子集的权重矩阵,以减少可训练参数的数量。在Transformer架构中,自注意模块中有四个权重矩阵 ( W q , W k , W v , W o ) (W_q,W_k,W_v,W_o) WqWkWvWo和MLP模块中的两个。我们将 W q (或 W k , W v ) W_q(或W_k,W_v) Wq(或WkWv视为 d m o d e l × d m o d e l d_{model}×d_{model} dmodel×dmodel维度的单个矩阵,尽管输出维度通常被切成注意力头。我们仅限于将注意力权重适应下游任务,并冻结MLP模块(因此它们不会在下游任务中训练),既为了简单又为了参数效率。我们进一步研究了在TRANSFORMER中适应不同类型的注意力权重矩阵的影响

实际好处和局限性
最显著的好处来自减少内存和存储使用量。对于使用Adam训练的大型变压器,如果 r ≤ d m o d e l r≤d_{model} rdmodel,则我们最多可以将 V R A M VRAM VRAM 使用量减少2/3,因为我们不需要为冻结参数存储优化器状态。在GPT-3 175B上,我们将训练期间的VRAM消耗从1.2TB减少到350GB。当r = 4且仅查询和值投影矩阵被调整时,checkpoint大小大约减少了10,000倍(从350GB减少到35MB)这使我们能够使用更少的GPU进行训练并避免I/O瓶颈。另一个好处是我们可以通过仅交换LoRA权重而不是所有参数来更低成本地在部署时切换任务。这允许创建许多定制模型,可以在存储预训练权重的VRAM上的机器上即时切换

与全精调相比,在GPT-3 175B上训练速度提高了25%,因为我们不需要计算大多数参数的梯度

LoRA也有其局限性。例如,在单次前向传递中批量输入具有不同A和B的不同任务并不简单,如果选择将A和B吸收到W中以消除额外推理延迟。尽管可以不合并权重并动态选择要用于批处理中样本的LoRA模块,用于延迟不关键的场景

Experiments

翻译: 我们在RoBERTa(Liu等人,2019),DeBERTa(He等人,2021)和GPT-2(Radford等人,b)上评估LoRA的下游任务性能,然后扩展到GPT-3 175B(Brown et al.,2020)。我们的实验涵盖了从自然语言理解(NLU)到生成(NLG)的广泛任务范围。具体而言,我们对RoBERTa和DeBERTa进行GLUE(Wang等人,2019)基准测试。我们遵循Li&Liang(2021)在GPT-2上的设置进行直接比较,并添加WikiSQL(Zhong等人,2017)(NL到SQL查询)和SAMSum(Gliwa等人,2019)(会话摘要)用于GPT-3的大规模实验
Raki的读paper小记:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS,NLP,读paper,语言模型,深度学习,人工智能,神经网络,自然语言处理

Raki的读paper小记:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS,NLP,读paper,语言模型,深度学习,人工智能,神经网络,自然语言处理
Raki的读paper小记:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS,NLP,读paper,语言模型,深度学习,人工智能,神经网络,自然语言处理
Raki的读paper小记:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS,NLP,读paper,语言模型,深度学习,人工智能,神经网络,自然语言处理

Conclusions

在硬件要求和为不同任务托管独立实例的存储/切换成本方面,对巨大语言模型进行微调是极其昂贵的。我们提出了一种高效的适应策略LoRA,既不引入推理延迟,也不减少输入序列长度,同时保持高模型质量。重要的是,LoRA通过共享绝大部分模型参数,允许快速进行任务切换,从而可以作为服务部署。虽然我们的重点是Transformer语言模型,但所提出的原则通常适用于任何具有密集层的神经网络

未来的工作方向有很多:

  1. LoRA可以与其他高效适应方法结合,可能提供正交改进
  2. 微调或LoRA背后的机制尚不清楚 - 在预训练期间学习的特征如何转化为在下游任务中表现良好?我们认为相比于完全微调,LoRA使得回答这个问题更加可行
  3. 我们主要依赖启发式方法来选择应用LoRA的权重矩阵。是否有更加原则性的方法来做这件事?
  4. ΔW的秩缺失表明W可能也是秩缺失的,这可能会激发未来的研究工作

Remark

使用低秩分解,并且冻住大头而只训练部分参数获得了非常高效的方法,LoRA已经成为现在垂直领域微调唯一选择(全量fine-tune需要太多资源,包括GPU和数据),大道至简,dope!文章来源地址https://www.toymoban.com/news/detail-605444.html

到了这里,关于Raki的读paper小记:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LLM:LoRA: Low-Rank Adaptation of Large Language Models

    随着模型规模的不断扩大,微调模型的所有参数(所谓full fine-tuning)的可行性变得越来越低。以GPT-3的175B参数为例,每增加一个新领域就需要完整微调一个新模型,代价和成本很高。 为解决微调大规模语言模型到不同领域和任务的挑战,已有多种方案,比如部分微调、使用

    2024年02月07日
    浏览(44)
  • 【论文精读】LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

    当下大模型时代最火的低资源微调大模型方法之一,方法简单易懂,道理清晰明了,对未来的工作有很强的启发性。如果想要深入了解LoRA的底层原理,建议仔细看一看这篇文章,如果只是应用,那么简单了解就好了~ 大模型预训练后的全量微调往往由于算力缺口而不可行,因

    2024年02月10日
    浏览(133)
  • LLM微调 | LoRA: Low-Rank Adaptation of Large Language Models

    🔥 发表于论文:(2021) LoRA: Low-Rank Adaptation of Large Language Models 😄 目的:大模型预训练+微调范式,微调成本高。LoRA只微调新增的小部分参数。 adapter增加了模型层数,引入了额外的推理延迟; prefix-tuning比较难训练,效果不如直接finetune。 LoRA不会引入额外的延迟,甚至原文中

    2024年02月17日
    浏览(51)
  • LORA: LOW-RANK ADAPTATION OF LARGE LAN-GUAGE MODELS

    Paper name LORA: LOW-RANK ADAPTATION OF LARGE LAN-GUAGE MODELS Paper Reading Note Paper URL: https://arxiv.org/pdf/2106.09685.pdf Code URL: huggingface 集成: https://github.com/huggingface/peft 官方代码: https://github.com/microsoft/LoRA 本文提出了低秩自适应 (Low-Rank Adaptation, LoRA),它冻结了预训练的模型权重,并将可训练

    2023年04月21日
    浏览(68)
  • [论文阅读笔记77]LoRA:Low-Rank Adaptation of Large Language Models

    题目 论文作者与单位 来源 年份 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 研究主题 问题背景 核心方法流程 亮点 数据集 结论 论文类型 关

    2024年02月06日
    浏览(55)
  • 2021-arxiv-LoRA Low-Rank Adaptation of Large Language Models

    Paper: https://arxiv.org/abs/2106.09685 Code: https://github.com/microsoft/LoRA 自然语言处理的一个重要范式包括对通用领域数据的大规模预训练和对特定任务或领域的适应。当预训练更大的模型时,完全微调(重新训练所有模型参数)变得不那么可行。以 GPT-3 175B 为例,部署微调模型的独立

    2024年02月07日
    浏览(66)
  • 【DL】《LoRA: Low-Rank Adaptation of Large Language Models》译读笔记

    《Low-rank Adaption of Large Language Models: Explaining the Key Concepts Behind LoRA》 LoRA的秩分解矩阵是随机初始化的,然后通过梯度下降法进行训练。文章中提到,这种初始化方法可以保证LoRA的矩阵与预训练模型的权重相互正交,从而避免了对预训练模型的干扰。文章还比较了其他几种初

    2024年02月08日
    浏览(50)
  • 【论文&代码阅读】LORA: LOW-RANK ADAPTATION OF LARGE LAN- GUAGE MODELS

    最近很多工作好像都绕不开lora,无论是sd还是llm.... 问题:大模型重新训练所有模型参数的完全微调变得不太可行。 lora在做什么 我们提出了低秩自适应,即LoRA,它冻结预先训练的模型权重,并将可训练的秩分解矩阵注入Transformer架构的每一层 为什么work? 学习过的参数化模

    2024年02月10日
    浏览(44)
  • Raki的读paper小记:RWKV: Reinventing RNNs for the Transformer Era

    研究任务 基础模型架构 已有方法和相关工作 RNN,CNN,Transformer 稀疏注意力(Beltagy等人,2020年;Kitaev等人,2020年;Guo等人,2022年)、近似全注意力矩阵(Wang等人,2020年;Ma等人,2021年;Choromanski等人,2020年)、将分块注意力与门控结合(Ma等人,2023年)FlashAttention(Dao等

    2024年02月15日
    浏览(44)
  • Lora升级!ReLoRa!最新论文 High-Rank Training Through Low-Rank Updates

    关注公众号TechLead,分享AI与云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。 尽管通过扩展导致具有数千亿参

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包