论文简读 LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

论文地址:https://arxiv.org/pdf/2106.09685.pdf
项目地址:https://github.com/microsoft/LoRA
全文翻译地址:https://zhuanlan.zhihu.com/p/611557340 本来想自行翻译的,但最近没有空

1、关键凝练

1.1 LORA是什么?

LORA是一个解决大模型finetune的技术。现行的大模型(如GPT3,参数量175B)的训练微调成本比较高,一次训练需要几个月才能完成,这提高了nlp大模型的准入门槛。大模型finetune的目的是为了将通用领域的大模型能力迁移到专业领域(下游应用环境), 因为直接在专业领域训练nlp模型存在难以收敛的风险(nlp的专业领域应用需要通用领域的词汇嵌入支持提供初级词汇理解能力,在通用领域的大数据规模下训练后可以增强词汇嵌入能力,再进行专业领域训练。

通俗来说,LORA技术就像一个化妆技术。感觉就像一个人颜值不高(大模型到专业领域精度不足),想去做整容手术又没钱(进行迁移学习达不到硬件门槛),只能通过化妆来改变自己(对部分参数进行改进训练) .

1.2 LORA解决了什么?

1、LORA有效的降低了大模型finetune的成本,将其硬件进入门槛降低了3倍,并提升了训练效率。现行的大模型finetune技术主要有adapter layers和optimizing Some forms of the input layer activations, 这两种形式修改了原有大模型的网络细节,增加了模型参数,导致推理延时。

2、LORA技术也解决了模型部署时的能力热切换,在模型运行时仅需替换掉部分微调的参数即可实现大模型能力的切换。大摸型参数量大,如1750亿参数的GPT3的模型文件估算有800Gb(fp32),哪怕在ddr5内存中(90GB/s=12.25Gb/s),也得一分钟上才能实现切换。而LORA切换模型仅涉及其优化部分的参数替换,仅为35M

1.3 LORA的技术方案?

1、LORA认为现有的大模型针对专业领域是一个过度参数化模型参数冗余模型,实际上存在于一个较低的内在维度可以表示这个这个大模型的全部维度即存在一个低秩矩阵可指代原有的参数。LORA对低
秩参数进行训练,冻结模型的原始参数,在训练结束后再将训练好的低秩矩阵叠加到原来的参数中。
类似于矩阵的奇异值分解,只对分解后的矩阵进行训练;然后将训练好的矩阵做乘法,得到最新的全尺寸参数,并叠加到原模型中。

下图既为ROLA的技术方案,其中蓝色区域表示为冻结的原始参数,橙色部分为LORA的新增参数部分(其中的d为为原始参数维度),其中A的初始化为高斯分布,B的初始化为全0(其中的r为原始参数的低秩数)。原始的参数训练量为d x d,ROLA技术的参数训练量为d x 2r。在LORA的实际操作中,BA得到的矩阵W`是通过缩放倍数后才接叠加到原有参数中
在这里插入图片描述

2、ROLA将参数冗余的研究目标具体到Transformer layer中,在其实验中主要针对attention模块,其对Wk、Wq、Wv和Wo都进行了低秩重构训练。其表明优化的的参数越靠近输出效果越好。LORA的实验效果表明,其只是在训练过程中放大了对下游任务有用的特征,而不是预训练模型中的主要特征。

2、原文关键

2.1 低秩参数化更新矩阵

内容参考自 https://zhuanlan.zhihu.com/p/611557340
在这里插入图片描述
原始的迁移学习是对 W 0 W_0 W0进行调优训练,其调优结果部分被定义为 ∆ W ∆W W ∆ W ∆W W W 0 W_0 W0具有相同的参数量。LORA将 ∆ W ∆W W分解为BA两个部分,假设原始W的维度为d x k,内在秩为r,则训练BA的参数量为 d x r + r x k = r x (d + k)。

2.2 LORA的实施效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 低秩结构的有效性

低秩结构在机器学习中非常常见。许多机器学习问题具有一定的内在低秩结构。此外,众所周知,对于许多深度学习任务,尤其是那些具有严重过参数化神经网络的任务,经过训练后,学习的神经网络将具有低秩属性。以前的一些工作甚至在训练原始神经网络时明确施加了低秩约束;然而,据我们所知,这些工作中没有一项考虑低秩更新到冻结模型以适应下游任务。在理论文献中,已知当基础概念类具有一定的低秩结构时,神经网络优于其他经典学习方法,包括相应的(有限宽度)神经正切核。Allen Zhu&Li(2020b)的另一个理论结果表明,低秩的适应对对抗性训练很有用。

这里所透露出的低秩结构与Criss-Cross Attention有点类似,其也与深度可分卷积存在某些相似。将模型的fineturn空间限定在原有参数的低秩子空间下(该操作必然会影响模型性能,但是将通用模型迁移到专业领域本质就是在降低原有模型的能力范围),在低秩范围优化参数,然后在适用到原有参数空间。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sentinel熔断报java.lang.reflect.UndeclaredThrowableException

背景&#xff1a;内部要进行应用jdk&springboot升级&#xff0c;因此也需要将Spring Cloud Hystrix 替换成alibaba sentinel。 依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</a…

异步编程 - 12 异步、基于事件驱动的网络编程框架 Netty

文章目录 Netty概述Netty中的一些概念Netty的线程模型Netty Server端Netty Netty 端 TCP半包与粘包问题基于Netty与CompletableFuture实现RPC异步调用 Netty概述 Netty是一个异步、基于事件驱动的网络应用程序框架&#xff0c;其对Java NIO进行了封装&#xff0c;大大简化了TC…

阿里云云主机免费试用三个月

试用链接如下&#xff1a; 阿里云云产品免费试用 云主机 费用试用三个月&#xff0c;每月750小时 实例规格 1核(vCPU) 2 GiB S6 系列机型 适用搭建网站等场景 网络带宽 1M 公网固定网络带宽 云盘40 GiB 真香&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&…

促科技创新:高德数据优化篇之OceanBase最佳实践

本文作者&#xff1a; 振飞&#xff08;高德地图总裁&#xff09; 炳蔚&#xff08;高德技术服务平台负责人&#xff09; 福辰&#xff08;高德服务端架构师&#xff09; 背景 高德成立于2002年&#xff0c;是中国领先的移动数字地图、导航及实时交通信息服务提供商&#xff0c…

04、javascript 修改对象中原有的属性值、修改对象中原有属性的名字(两种方式)、添加对象中新属性等的操作

1、修改对象中原有的属性值 其一、代码为&#xff1a; // 想将 obj 中的 flag 值&#xff0c;根据不同的值来变化(即&#xff1a;修改对象中原有的属性值)&#xff1b; let obj {"port": "port_0","desc": "desc_0","flag&quo…

qt作业day2

//widget.cpp#include "widget.h" #include "ui_widget.h"void Widget::usr_login() {if("admin" this->edit_acc->text()){if("123456" this->edit_psd->text()){speech->say("登录成功");emit jump_sig1…

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南京财经大学图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南京财经大学图书馆

Win11搭建 Elasticsearch 7 集群(一)

一&#xff1a; ES与JDK版本匹配一览表 elasticsearch从7.0开始默认安装了java运行环境&#xff0c;以便在没有安装java运行环境的机器上运行。如果配置了环境变量JAVA_HOME&#xff0c;则elasticsearh启动时会使用JAVA_HOME作为java路径&#xff0c;否则使用elasticsearch根目…

【录用案例】CCF-C类,1/2区SCIEI,3个月14天录用,30天见刊,11天检索

计算机科学类SCI&EI 【期刊简介】IF&#xff1a;5.5-6.0&#xff0c;JCR1/2区&#xff0c;中科院2区 【检索情况】SCI&EI 双检&#xff08;CCF-C类&#xff09; 【征稿领域】边缘计算、算法与机器学习的结合研究 录用案例&#xff1a;3个月14天录用&#xff0c;录用…

Android lint配置及使用

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、将 lint 配置为不显示警告3.1 在 A…

【TSN】(一)中英译文

【Two Stream Net】 一&#xff0c;双语翻译 文章目录 【Two Stream Net】Abstract1 Introduction1.1 Related work 2 Two-stream architecture for video recognition3 Optical flow ConvNets3.1 ConvNet input configurations3.2 Relation of the temporal ConvNet archite…

论文阅读 (100):Simple Black-box Adversarial Attacks (2019ICML)

文章目录 1 概述1.1 要点1.2 代码1.3 引用 2 背景2.1 目标与非目标攻击2.2 最小化损失2.3 白盒威胁模型2.4 黑盒威胁模型 3 简单黑盒攻击3.1 算法3.2 Cartesian基3.3 离散余弦基3.4 一般基3.5 学习率 ϵ \epsilon ϵ3.6 预算 1 概述 1.1 要点 题目&#xff1a;简单黑盒对抗攻…

Docker 概念构成

0 概述 构成原理 Docker 客户端(Client)Docker 客户端通过命令行或者其他工具使用 Docker SDK与 Docker 的守护进程通信。Docker 主机(Host)一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。Docker Hub 提供了庞大的镜像集合供使用。一个 Docker Registry 中可以包含多…

E5071C是德科技网络分析仪

描述 E5071C网络分析仪提供同类产品中最高的RF性能和最快的速度&#xff0c;具有宽频率范围和多功能。E5071C是制造和R&D工程师评估频率范围高达20 GHz的RF元件和电路的理想解决方案。特点: 宽动态范围:测试端口的动态范围> 123 dB(典型值)快速测量速度:41毫秒全2端口…

YOLOV8从零搭建一套目标检测系统(修改model结构必看)附一份工业缺陷检测数据集

目录 1.YOLOV8介绍 2.YOLOV8安装 2.1环境配置 3.数据集准备 1.YOLOV8介绍 Yolov8结构图&#xff1a; YoloV8相对于YoloV5的改进点&#xff1a; Replace the C3 module with the C2f module. Replace the first 6x6 Conv with 3x3 Conv in the Backbone. Delete two Convs …

Linux socket网络编程实战(tcp)实现双方聊天

在上节已经系统介绍了大致的流程和相关的API&#xff0c;这节就开始写代码&#xff01; 回顾上节的流程&#xff1a; 创建一个NET文件夹 来存放网络编程相关的代码&#xff1a; tcp服务端代码初步实现--上 这部分先实现服务器的连接部分的代码并进行验证 server1.c&#xff…

接口自动化测试总结

一、什么项目适合做自动化测试&#xff1f; 软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁&#xff0c;测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本&#xff0c;而脚本的维护本身就是一个代码开发的过程&#x…

【二分答案 dp】 Bare Minimum Difference

分析&#xff1a; 首先我们能够得知这个优秀值具有单调性&#xff1a; 如果一个优秀值 x 1 x1 x1能够满足题目要求&#xff0c;那么任何 x ( x > x 1 ) x(x>x1) x(x>x1)显然都能符合要求 基于这一特性&#xff0c;我们想到二分答案 直接二分这个答案好像难以维护。 …

【计算机网络】 静态库与动态库

文章目录 静态库实践使用方法总结 动态库实践使用方法总结 静态库与动态库的优缺点静态库优点缺点 动态库缺点优点 库有两种&#xff1a;静态库&#xff08;.a、.lib&#xff09;和动态库&#xff08;.so、.dll&#xff09;。所谓静态、动态是指链接。静态库是将整个库文件都拷…

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题 文章目录 虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题前言全局坐标系转体坐标系速度设置X轴方向的体坐标系速度设置Y轴方向的体坐标系速度XY轴体坐标系速度整合 Z轴速度的进一步设置解决办法 小结 前言 利…