【论文笔记】LoRA: Low-Rank Adaptation of Large Language Models

🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


基本信息

标题: LoRA: Low-Rank Adaptation of Large Language Models
作者: Edward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, Weizhu Chen
发表: ICLR 2022
arXiv: https://arxiv.org/abs/2106.09685

基本信息

摘要

自然语言处理的一个重要范例是在通用领域数据上进行大规模预训练,并适应特定任务或领域。

随着我们预训练更大规模的模型,全量微调,即重新训练所有模型参数,变得越来越不可行。

以GPT-3 175B为例——部署独立实例的微调模型,每个模型都有175B个参数,成本过高。

我们提出了低秩适应,或称LoRA,它冻结预训练模型的权重,并将可训练的秩分解矩阵注入到Transformer架构的每一层,极大地减少了下游任务的可训练参数数量。

与使用Adam微调的GPT-3 175B相比,LoRA可以将可训练参数数量减少10,000倍,并将GPU内存需求减少3倍。

尽管LoRA的可训练参数更少,训练吞吐量更高,并且与adapter不同,没有额外的推理延迟,但它在RoBERTa、DeBERTa、GPT-2和GPT-3上的模型质量与微调相当甚至更好。

我们还对语言模型适应中的秩不足进行了实证研究,这有助于了解LoRA的有效性。

我们发布了一个包,用于将LoRA与PyTorch模型集成,并在https://github.com/microsoft/LoRA上提供了我们的实现和RoBERTa、DeBERTa和GPT-2的模型检查点。

方法

现有方法的缺点

Adapter Layers Introduce Inference Latency

在Infernece latency of a single forward pass in GPT-2 medium measured in milliseconds, averaged over 100 trials

使用Adapter会引入推理延迟。

Directly Optimizing the Prompt is Hard

我们观察到prefix tuning难以优化,并且其性能在可训练参数中非单调地变化,这与原始论文中的观察结果相似。更基本的是,为适应保留一部分序列长度必然减少可用于处理下游任务的序列长度,这使我们怀疑微调prompt的性能不如其他方法。

LoRA

神经网络包含许多密集层,这些层执行矩阵乘法。这些层的权重矩阵通常具有满秩。

当适应特定任务时,Aghajanyan等人表明,预训练的语言模型具有较低的“内在维度”,即使在随机投影到较小的子空间后,仍能高效地学习。

受此启发,我们假设权重更新在适应过程中也具有较低的“内在秩”。

LoRA

对于预训练权重矩阵 W 0 ∈ R d × k W_0 \in \mathbb{R}^{d \times k} W0Rd×k,我们通过将后者表示为低秩分解 W 0 + Δ W = W 0 + B A W_0 + \Delta W = W_0 + BA W0+ΔW=W0+BA 来约束其更新,其中 B ∈ R d × r B \in \mathbb{R}^{d \times r} BRd×r A ∈ R r × k A \in \mathbb{R}^{r \times k} ARr×k,且秩 r r r 满足 r ≤ min ⁡ ( d , k ) r \leq \min(d, k) rmin(d,k)。在训练过程中, W 0 W_0 W0 被冻结,不接收梯度更新,而 A A A B B B 包含可训练参数。注意 W 0 W_0 W0 Δ W = B A \Delta 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

我们使用随机高斯初始化 A A A 和零初始化 B B B,因此训练开始时 Δ W = B A \Delta W = BA ΔW=BA 为零。然后我们将 Δ W x \Delta W x ΔWx α r \frac{\alpha}{r} rα 缩放,其中 α \alpha α r r r 中的常数。在Adam优化中,如果我们适当地缩放初始化,调整 α \alpha α 大致等同于调整学习率。因此,我们只需将 α \alpha α 设置为尝试的第一个 r r r,而不对其进行调整。这种缩放有助于减少我们在改变 r r r 时重新调整超参数的需求。

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

实验

RoBERTabase, RoBERTalarge, and DeBERTaXXL with different adaptation methods on the GLUE benchmark

GPT-2 medium (M) and large (L) with different adaptation methods on the E2E NLG Challenge

Performance of different adaptation methods on GPT-3 175B

GPT-3 175B validation accuracy vs. number of trainable parameters of several adaptation methods on WikiSQL and MNLI-matched. LoRA exhibits better scalability and task performance

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/18099.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

RHCE的学习(21)

第三章 Shell条件测试 用途 为了能够正确处理Shell程序运行过程中遇到的各种情况,Linux Shell提供了一组测试运算符。 通过这些运算符,Shell程序能够判断某种或者几个条件是否成立。 条件测试在各种流程控制语句,例如判断语句和循环语句中…

智能购物时代:AI在电商平台的革命性应用

在当今数字化时代,人工智能(AI)技术已成为推动电商行业发展的关键力量。AI技术的应用不仅改变了电商的运营模式,还极大地丰富了消费者的购物体验。随着技术的不断进步,AI在电商领域的应用越来越广泛,从个性…

【Linux】环境变量

目录 一、什么是环境变量: 1、系统命令搜索路径(PATH): 2、HOME: 3、SHELL: 4、添加环境变量: 二、通过代码获取环境变量: 三、主函数参数: argc表: envp表&…

28.<Spring博客系统④(使用MD5摘要算法对数据库密码进行加密)>

密码算法简介 1.对称加密算法:加密和解密算法一样 2.非对称加密算法:公钥加密、私钥解密 3.摘要算法:不能解密,不可逆 简单介绍了解一下: 一、对称密码算法 是指加密秘钥和解密秘钥相同的密码算法. 常见的对称密码算法…

如何用GPT-4o解读视频

OpenAI在去年推出的GPT-4V已经支持了多模态识别,但一直仅限于图片输入,不支持视频。相比之下,Google的Gemini早已支持视频识别。最近,我司业务场景中出现了一个需要识别视频的需求,而我们只采购了GPT-4o模型。这就引发…

计算机毕业设计Python美食推荐系统 美团爬虫 美食可视化 机器学习 深度学习 混合神经网络推荐算法 Hadoop Spark 人工智能 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

华为HCIP——MSTP/RSTP与STP的兼容性

一、MSTP/RSTP与STP的兼容性的原理: 1.BPDU版本号识别:运行MSTP/RSTP协议的交换机会根据收到的BPDU(Bridge Protocol Data Unit,桥协议数据单元)版本号信息自动判断与之相连的交换机的运行模式。如果收到的是STP BPDU…

vim配置 --> 在创建的普通用户下

在目录/etc/ 下面,有个名为vimrc 的文件,这是系统中公共的vim配置文件对所有用户都有效 我们现在创建一个普通用户 dm 创建好以后,我们退出重新链接 再切换到普通用户下 再输入密码(是不显示的,输入完后,…

Vue通过file控件上传文件到Node服务器

功能: 多文件同步上传、拖动上传、实时上传进度条、上传前的删除文件、原生file控件的美化 搁置的功能: 取消上传(上传过程中取消,即取消网络请求abort)、上传文件夹、大文件切片、以及很多限制条件未处理(重复上传、文件格式。。。) bug: 文件总大小(。。。竟然从d…

VScode学习前端-01

小问题合集: vscode按!有时候没反应,有时候出来,是因为------>必须在英文状态下输入! 把鼠标放在函数、变量等上面,会自动弹出提示,但挡住视线,有点不习惯。 打开file->pre…

Qwen2.5-3B-Instruct-GGUF部署

注册账号: 魔搭社区 等一会: 部署好了: 立即使用: 您部署的服务提供OpenAI API接口,可通过OpenAI SDK进行调用。请确保您的服务处于正常运行状态,并预先安装OpenAI SDK: pip install openai 在本地新建…

数据库管理-第262期 崖山:知其不可而为之(20241116)

数据库管理262期 2024-11-16 数据库管理-第262期 崖山:知其不可而为之(20241116)1 崖山之名2 绝地反击3 不止崖山总结 数据库管理-第262期 崖山:知其不可而为之(20241116) 作者:胖头鱼的鱼缸&am…

C语言:指针的变量运算及数组指针

1、指针的变量运算 指针变量保存的是地址&#xff0c;二地址本质上是一个整数&#xff0c;所以指针变量可以进行部分运算&#xff0c;列如加法减法、比较等&#xff0c;请看下面的代码&#xff1a; 1. #include <stdio.h> 2. 3. int main(){ 4. int a 10, *pa &a…

【高德地图】基本使用教程(玩转地图)(vue2+vue3)

简介 带大家一步步实现地图显示特定位置&#xff0c;或定位到当前位置。并且拖拽地图界面能够查询出指定位置周边的信息。通过关键字搜索周边信息。 本教程适合初学者。 一、获取使用高德api的key 打开高德开发平台&#xff0c;登录后&#xff0c;鼠标覆盖右上角头像&#…

统信UOS开发接口DTK

DTK(Development ToolKit)是基于 Qt 开发的简单且实用的通用开发框架。提供丰富的开发接口与支持工具,能有效提升开发效率。 文章目录 一、简介DTK 常见模块介绍概述二、框架创建开发环境准备使用 cmake三、常见模块窗口和对话框一、简介 DTK 常见模块介绍 概述 DTK(Dev…

转轮数组(C语言实现)

题目介绍 方法一我们可以先把数字1 2 3 4逆转一下&#xff0c;第二步我们可以逆转一下5 6 7&#xff0c; 最后整体逆置一下就会变成上面的数字。 void reverse(int* nums, int begin, int end) {while (begin < end){int tmp nums[begin];nums[begin] nums[end];nums[en…

云端弹性计算公式有哪些内容?

云端弹性计算公式有哪些内容&#xff1f;云端弹性计算公式涵盖资源分配、性能监控、自动伸缩及积分计算等方面。资源分配依据虚拟机配置和实际需求动态调整&#xff1b;性能监控实时监控CPU、内存等关键指标&#xff1b;自动伸缩根据预设阈值自动调整虚拟机数量&#xff1b;积分…

openGauss常见问题与故障处理(四)

4.数据库故障定位手段&#xff1a; 数据库故障定位手段通常有如下三种类&#xff1a; 提到“种类”&#xff0c;这里给大家举一个模拟场景中肖荏盖反向的小故事 对于初学者入门的学习&#xff0c;一些理论不容易理解或记住&#xff0c;所以本节课程【创新】采用了【正、反对比…

《Structure-from-Motion Revisited》论文解析——COLMAP

一、论文简介 这篇论文的标题是《Structure-from-Motion Revisited》&#xff0c;作者是Johannes L. Schnberger和Jan-Michael Frahm&#xff0c;分别来自北卡罗来纳大学教堂山分校和苏黎世联邦理工学院。这篇论文主要讨论了一种新的增量式结构从运动&#xff08;Structure-fro…

渑池县中药材产业党委莅临河南广宇企业管理集团有限公司参观交流

11月14日&#xff0c;渑池县人大副主任、工商联主席杨航率县中药材产业党委代表团一行13人&#xff0c;莅临河南广宇集团参观交流。河南广宇集团总经理王峰、副总经理王培等领导热情接待并陪同参观、座谈。 代表团一行首先参观了集团旗下郑州美信中医院&#xff08;庚贤堂中医药…