LORA详解

第一章、lora论文解析

参考论文: low rank adaption of llm

背景介绍:

自然语言处理的一个重要范式包括对一般领域数据的大规模预训练和对特定任务或领域的适应处理。在自然语言处理中的许多应用依赖于将一个大规模的预训练语言模型适配到多个下游应用上。这种适配通常是通过更新预训练模型所有参数的微调来进行的。

部署完整独立的微调模型实例每次都将花费高昂的代价。所以我们提出了低秩自适应的方法,即LoRA。它冻结了预训练模型的权重值,并给Transformer架构的每一层都注入了可训练的秩分解矩阵,从而极大的减少了下游任务需要训练的参数数量。虽然使用了更少的训练参数,提供了更高的训练吞吐量。

Pytorch架构集成了LoRA模型并提供了我们针对RoBERTa, DeBERTa, and GPT-2的应用集成和相关模型,链接为 https://github.com/microsoft/LoRA。

很多时候人们通过只调整部分参数,或者给新任务添加外部模块的方式来解决这个问题。这样,在每个任务中,除预训练模型外,我们只需要额外存储和加载少量特定任务所需的参数即可,从而极大地提高了部署时的操作效率。但是现有技术在扩展模型深度或减少模型可用序列长度(Li et al. (2018a))时,通常会引入推理时延。更重要的是,这些方法往往无法与微调基线相匹配,从而在效率和模型质量之间产生权衡。

图1 

我们受到Li et al. (2018a); Aghajanyan et al. (2020)等工作的启发,他们发现学习到的过参数化模型实际上存在于一个低内在维度上。我们假设模型自适应过程中权重的变化也具有较低的“内在秩”,这帮助我们提出的低秩自适应(LoRA)方法。LoRA允许我们在适配过程中,通过优化密集层变化的秩分解矩阵的方式来间接的训练神经网络的密集层,同时保持预训练权重不变。如图1所示。以GPT-3 175B 模型为例,我们发现即便全秩达到了12288,一个非常低的秩(图1中r为1或者2)也足够了。这使得LoRA在存储和计算方面都很高效。

LoRA具备以下几个关键优势:

  • 一个预训练模型可以用来针对不同任务建立为很多小的LoRA模块。我们可以冻结共享模型,仅仅通过更换图1中的A,B矩阵来快速地切换任务,从而显著降低存储需求和任务切换开销。
  • 当使用自适应优化器时,LoRA使训练更加高效,并将硬件门槛降低了3倍,因为对于大多数参数,我们不需要计算梯度或维护的优化器状态。相反,我们只优化注入的、小得多的低秩矩阵。
  • 在构造上,我们简单的线性设计允许我们在部署时将可训练矩阵与冻结的权重合并,同时保证了相较于全微调模型的性能并不产生推理时延。
  • LoRA与许多现有方法不冲突,并且可以与其中许多方法相结合,比如前缀调整法。我们在附录E中提供了一个这样的例子。

第二章、LORA大模型微调算法原理解析代码实现 

来源:LORA大模型微调算法原理解析_哔哩哔哩_bilibili

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小程序变更主体还要重新备案吗?

小程序迁移变更主体有什么作用?小程序迁移变更主体的作用可不止变更主体这一个哦!还可以解决一些历史遗留问题,比如小程序申请时主体不准确,或者主体发生合并、分立或业务调整等情况。这样一来,账号在认证或年审时就不…

五一~感恩回馈,SolidKits工具折扣来袭!

SOLIDWORKS插件多样且丰富,有着不同的种类和用途,可以为SOLIDWORKS软件本身提升使用效率,更快速的响应你的操作方式。SolidKits自主设计研发多款SOLIDWORKS增效插件,包括:自动化参数设计插件、高级BOM插件、批量编码器…

【leetcode面试经典150题】75. 二叉树展开为链表(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…

Weblogic JMS

简介 全称:WebLogic Server的Java Messaging Service(JMS) WebLogic JMS 是与 WebLogic Server 平台紧密集成的企业级消息传递系统。 Java Message Service (JMS) API 是一种消息传递标准,允许基于 Java Platform Enterprise Edition (Java EE) 的应用程序组件创建、发送、…

基于STC12C5A60S2系列1T 8051单片机正常模式或移位模式控制数码管某位闪烁后单击长按增加或减少数值应用

基于STC12C5A60S2系列1T 8051单片机正常模式或移位模式控制数码管某位闪烁后单击长按增加或减少数值应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍基于STC12C5A6…

MySQL Workbench 数据库常用操作

大家好哦,我是程序员徐师兄,今天为大家打来的是MySQL Workbench 数据库常用操作。 文章目录 一、连接数据库二、进入数据库三、创建数据库四、设置默认数据库五、创建数据表六、查看表数据七、查看数据表 一、连接数据库 二、进入数据库 三、创建数据库 …

【Leetcode】vector刷题

🔥个人主页:Quitecoder 🔥专栏:Leetcode刷题 目录 1.只出现一次的数字2.杨辉三角3.删除有序数组中的重复项4.只出现一次的数字II5.只出现一次的数字III6.电话号码的字母组合 1.只出现一次的数字 题目链接:136.只出现一…

vivado 创建和运行链路清扫

创建和运行链路清扫 要分析给定链路的裕度 , 利用不同 MGT 设置来多次运行链路扫描是很有效的。这样有助于判定最佳设置。 Vivado Serial I/O Analyzer 功能支持您定义、运行、保存和重新调用链路清扫 , 链路清扫是由多次链路扫描集合而成的。 每条…

C++之STL-list+模拟实现

目录 一、list的介绍和基本使用的方法 1.1 list的介绍 1.2 list的基本使用方法 1.2.1 构造方法 1.2.2 迭代器 1.2.3 容量相关的接口 1.2.4 增删查改的相关接口 1.3 关于list迭代器失效的问题 二、模拟实现list 2.1 节点类 2.2 迭代器类 2.3 主类list类 2.3.1 成员变…

软件设计师-重点的创建型设计模式

一、简单工厂: 简单工厂模式属于创建型模式,但不属于23种设计模式之一。 软考中图 二、工厂方法: 意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 结…

光度立体法估计法线与反射率重建场景

1 从明暗恢复形状 从明暗恢复形状(Shape from Shading,SfS)是指从图像的明暗信息推断出物体表面几何形状的过程。这个问题假设光照条件已知,目标表面是光滑且均匀的,并且照明是单向的。其基本思想是根据目标表面对光照…

计算机组成原理实验(一)--可控加减法电路设计实验

一、一位全加器的设计 视频学习链接:3-2-4 定点数的加法和减法运算 — 一位全加器的硬件逻辑实现_哔哩哔哩_bilibili 仿真电路图: 总结:奇数个1时Si输出为1,偶数个1输出为0;1的个数大于等于2时,Ci输出1 实…

Kafka 3.x.x 入门到精通(05)——对标尚硅谷Kafka教程

Kafka 3.x.x 入门到精通(05)——对标尚硅谷Kafka教程 2. Kafka基础2.1 集群部署2.2 集群启动2.3 创建主题2.4 生产消息2.5 存储消息2.6 消费消息2.6.1 消费消息的基本步骤2.6.2 消费消息的基本代码2.6.3 消费消息的基本原理2.6.3.1消费者组2.6.3.1.1 消费…

【优秀AI项目】每日跟踪 OpenVoice ,AI快站,OpenVoice

持续更新好玩的开源AI项目或AI商业应用体验 一起来玩转AI!! 1 huggingface 国内镜像站:AI 快站 HUggingface被墙了,emmmmm 所以我之前玩模型的一大感觉就是 下载什么模型之类的太难受了!服了 看到一个镜像站——…

如何使用bof-launcher在CC++Zig应用程序中执行Beacon对象文件(BOF)

关于bof-launcher bof-launcher是一款针对Beacon对象文件(BOF)的安全测试工具,在该工具的帮助下,广大研究人员可以轻松在C/C/Zig应用程序中执行Beacon对象文件(BOF)。 Cobalt Strike 4.1于2020年6月25日发…

[Diffusion Model 笔记]DDIM 笔记 数学推导 Denoising Diffusion Implicit Models

目录 核心总结符号定义第一套,快速简单讲清采样方法继续分析,待定系数法求解图示理解关于参数sigma 本文是观看以下视频的笔记,强烈推荐观看最后的图示理解: https://www.bilibili.com/video/BV13P411J7dm/?spm_id_from333.788 论…

数据结构|树形结构|并查集

数据结构|并查集 并查集 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 有趣的并查集剧情演绎:【算法与数据结构】—— 并…

idea自定义配置文件的注释

打开 IntelliJ Idea 软件 依次找到 File—>Editor—>File and Code Templates 设置 Files 下的Class、Interface、Enum等 输入下面的内容 /** * description: ${NAME} * date: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE} * author: author **/

php动态高亮web源代码

php动态高亮web源代码 注:配置好不允许高亮的文件名,安全第一 #php实现动态展示目录树结构源代码 适用于开放源代码,结合html缓存使用效果更佳,因循环较多不适合放首页 能力有限没实现行号 演示:show source|开放…

吉布提国家概况

吉布提国家概况 (最近更新时间:2022年10月) 【国 名】 吉布提共和国(The Republic of Djibouti, La Rpublique de Djibouti)。 【面 积】 2.32万平方公里。 【人 口】约100万。主要有伊萨族和阿法尔族。…
最新文章