首页 > 其他分享 >LoRA论文精读(上) Low-Rank Adaptation of Large Language Models

LoRA论文精读(上) Low-Rank Adaptation of Large Language Models

时间:2024-12-07 19:56:45浏览次数:5  
标签:精读 训练 Language Models 模型 微调 矩阵 Rank LoRA

        本篇博客针对LoRA: Low-Rank Adaptation of Large Language Models的提出背景和算法原理做了非常清晰简明的讲解,适用于想要快速了解一下LoRA底层方法的学习者。对于原文的实验和未来工作等部分的详细介绍在LoRA论文精读(下) Low-Rank Adaptation of Large Language Models-CSDN博客中,如有兴趣,可以再进一步阅读。

1. 提出背景

        在NLP领域中,我们将大规模的预训练语言模型应用到下游任务主要需要通过微调(fine-tuning)来实现。而微调方法可以分为全参微调和低参微调。

        全参微调方法在每一次微调时都会更新预训练模型的所有参数。随着预训练语言模型的规模越来越大,参数越来越多,全参微调需要的计算和存储资源越来越大,成为了一大挑战。

        在此背景下,涌现了一些低参微调方法,主要是通过固定大部分参数,调整少量与模型任务相关的参数来提高模型表现效果。LoRA即为低参微调方法之一,它由微软团队在2021年提出,主要通过低秩适应(Low-Rank Adaptation)来实现,在和其他微调方法的baseline享有comparable的性能表现下大大对降低了计算等硬件资源的需求。       

2. 算法原理

        LoRA的主要算法原理就汇聚在下面这幅图中,下面我们对这幅图做具体介绍。

        X为输入变量,长度为d,h为输出变量,长度也为d,图中左边的d*d维的矩阵是预训练权重矩阵,可以反映涵盖整个映射过程,全参微调则是对这d*d个参数全部进行更新。而LoRA方法则是对矩阵进行分解,根据之前的研究知道W在更新时只有一个低秩矩阵在发生变化,我们把这个在发生变化的部分ΔW分解为B*A,B初始为零矩阵,而A初始为一个随机正态分布的矩阵。这个过程用公式表示如下:

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

        A是一个d*r维的矩阵,B是一个r*d维的矩阵,我们会使得r<<d。BAx表示先把1*d维的向量x通过A映射到1*r维再通过B映射回1*d维代表x的变化量,再加上原本的预训练的权重矩阵W0*x,得到最终的输出变量h。这样做大大减少了参数数量,从原来的d*d变成了2*r*d,从而降低了计算门槛。

        那为什么要这么对A、B矩阵做初始化呢?原因如下:(1)B设置为0可以使训练初期,新增的部分对原始参数的影响为零,从而不会破坏预训练模型的初始性能(2)A初始正太分布可以在引入随机性的情况下进行有效传播,避免梯度消失或梯度爆炸(3)如果B和A全部初始化为零矩阵,很容易导致梯度消失;如果B和A全部正态分布初始化,那么在模型训练开始时,就容易得到一个过大的偏移值。

        LoRA的主要贡献在原文中总结如下:

(1)预训练模型可以共享并用于构建多个小型LoRA模块,以完成不同的任务。我们可以冻结共享模型,通过替换图中的矩阵A和B,高效地切换任务,从而大幅降低存储需求和任务切换开销。

(2)LoRA使用自适应优化器时,可以将训练效率提高3倍以上,从而降低硬件入门门槛。这是因为我们不需要计算大多数参数的梯度或维护优化器状态。相反,我们仅优化少量低秩矩阵。

(3)我们简单的线性设计允许在部署时将可训练矩阵与冻结的权重合并,从而在设计上实现了与完全微调模型相同的无推理延迟。

(4)LoRA可以与之前的许多方法结合使用,例如前缀微调等。


原文链接:[2106.09685] LoRA: Low-Rank Adaptation of Large Language Models        

         

标签:精读,训练,Language,Models,模型,微调,矩阵,Rank,LoRA
From: https://blog.csdn.net/weixin_72032564/article/details/144314802

相关文章

  • 论文阅读——Probabilistic error cancellation with sparse Pauli-Lindblad models o
    创新点稀疏Pauli-Lindblad噪声模型:提出了一种新的稀疏Pauli-Lindblad噪声模型,用于捕获量子处理器上的相关噪声。该模型仅包含与量子处理器拓扑相关的低权重Pauli项(weight-one和weight-twoPauli项),从而减少了模型复杂度并提升了学习效率。可扩展的误差学习和消除协......
  • 综述Security and Privacy Challenges of ✌Large Language Models A Survey
    文章较长,阅读时长警告⏰!欢迎大家多多支持&推荐!......
  • 【论文精读】LightGCN
    【论文精读】Lightgcn:Simplifyingandpoweringgraphconvolutionnetworkforrecommendation链接:Lightgcn:Simplifyingandpoweringgraphconvolutionnetworkforrecommendation年份:2020引用数:3600+关键词:推荐系统,图神经网络目录【论文精读】Lightgcn:Simplifyi......
  • CodeBERT: A Pre-Trained Model for Programming and Natural Languages
    本次介绍的论文是《CodeBERT:APre-TrainedModelforProgrammingandNaturalLanguages》原文链接:http://www.semanticscholar.org/paper/0fe2636446cd686830da3d971b31a004d6094b3c源代码和数据集:GitHub-microsoft/CodeBERT:CodeBERT本篇论文主要是介绍了CodeBERT......
  • Large language models as surrogate models in evolutionary algorithms: A prelimin
    用大语言模型作为代理模型进行昂贵计算一、作者本文贡献•提出了一种基于LLM的创新代理模型,用于预测SAEA中新解决方案的质量,利用LLM的推理功能执行回归和分类任务,而无需训练。•引入了LLM辅助SAEA(LAEA)算法,将基于LLM的代理模型集成到SAEA中,以方便选择新的解决......
  • 超详细经典神经论文精读(三)——GoogLeNet
    深度学习精读论文系列(三)本次所选择的论文是GoogLeNet,其使用了Inception模块这里写目录标题Abstract—摘要Introduction—引言二、RelatedWork—相关工作三、MotivationandHighLevelConsiderations—动机和高水平的考虑四、ArchitecturalDetails—架构细节五、Goo......
  • CLIP-LoRA: Low-Rank Few-Shot Adaptation of Vision-Language Models
    文章汇总当前的问题当前的视觉语言模型(VLMs)小样本的研究主要在提示学习和适配器上,这通常依赖于繁重的训练程序(提示学习)和/或精心选择的任务特定超参数(适配器),这可能会阻碍其适用性。作者在VLMs的小样本学习中引入了低秩自适应(LoRA),并与当前最先进的基于提示和基于适......
  • 81页PPT精读,学习如何进行智能制造工厂三年规划
    解读资料来源于网络,如有侵权可联络删除。        该文档为智能制造工厂三年规划,主要围绕智能制造的愿景、目标、实现路径、重点项目及行动计划展开,旨在提升制造技术水平,实现高品质、低成本、柔性化生产,提供了全面的智能制造转型方案,包括技术创新、精益管理、自动化升......
  • 论文泛读《PICCOLO : Exposing Complex Backdoors in NLP Transformer Models》
    发表时间:2022期刊会议:IEEESymposiumonSecurityandPrivacy(SP)论文单位:PurdueUniversity论文作者:YingqiLiu,GuangyuShen,GuanhongTao,ShengweiAn,ShiqingMa,XiangyuZhang方向分类:BackdoorAttack论文链接开源代码摘要后门可以被注入到NLP模型中,使得当......
  • Marco-o1: Towards Open Reasoning Models for Open-Ended Solutions
    本文是LLM系列文章,针对《Marco-o1:TowardsOpenReasoningModelsforOpen-EndedSolutions》的翻译。Marco-o1:面向开放式解决方案的开放推理模型摘要1引言2Marco推理数据集3通过MCTS扩展解决方案空间4推理行动策略5实验6翻译任务案例研究7结论和未来......