LORA_ LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

paper: https://arxiv.org/pdf/2106.09685.pdf
code: https://github.com/microsoft/LoRA

摘要

作者提出了低秩自适应,或称LoRA,它冻结了预先训练的模型权值,并将可训练的秩分解矩阵注入变压器架构的每一层,大大减少了下游任务的可训练参数的数量。
学习到的过度参数化模型实际上存在于一个较低的内在维度上。作者假设模型适应过程中权重的变化也具有较低的“内在秩”,这导致了作者提出的低秩适应(LoRA)方法。LoRA允许作者通过优化适应过程中密集层变化的秩分解矩阵来间接训练神经网络中的一些密集层,同时保持预先训练的权值冻结,如图1所示。
image.png

方法

一个神经网络包含许多密集的层,它们可以执行矩阵乘法。这些层中的权重矩阵通常具有全秩。Aghajanyan等人在2020年的一项研究发现,即预训练语言模型在面向特定任务时显示出一种特殊的属性:它们具有低“内在维度”。这意味着,尽管这些模型可能包含数百万到数十亿的参数,代表着极其高维的参数空间,但当它们适应或学习新的特定任务时,实际上只需要一个相对较小的参数子集。简单来说,模型能够在这样一个由较少参数构成的“更小的子空间”内有效地学习和适应。受此启发,作者假设权重的更新在适应过程中也有一个较低的“内在秩”。对于预先训练的权值矩阵 W 0 ∈ R d × k W_0∈R^{d×k} W0Rd×k,作者用低秩分解 W 0 + ∆ W = W 0 + B A W_0 +∆W=W_0+BA W0+W=W0+BA表示后者来约束其更新,其中 B ∈ R d × r B∈R^{d×r} BRd×r A ∈ R r × k A∈R^{r×k} ARr×k和秩 r ≪ m i n ( 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+\bigtriangleup Wx=w_0x+BAx h=w0x+Wx=w0x+BAx。如图1所示,首先初始化(对A使用高斯初始化,B初始化为0),所以 ∆ W = B A ∆W=BA W=BA在训练开始时为零。然后作者用 α r \frac{\alpha}{r} rα缩放 ∆ W x ∆Wx Wx(即相乘),其中α是r范围的一个常数,固定 α \alpha α一开始的 r r r,将 r r r作为超参数调整。当作者改变r时,这种缩放有助于减少重新调优超参数的需要。

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

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

相关文章

Python爬虫实战入门:豆瓣电影Top250(保你会,不会来打我)

文章目录 需求所需第三方库requests模块lxml模块了解 lxml模块和xpath语法xpath语法-基础节点选择语法 实战教程完整代码 需求 目标网站: https://movie.douban.com/top250 需求: 爬取电影中文名、英文名、电影详情页链接、导演、主演、上映年份、国籍、类型、评分、评分人数, …

AIGC笔记--关节点6D位姿按比例融合

1--核心代码 6D位姿一般指平移向量和旋转向量,Maya软件中关节点的6D位姿指的是相对平移向量和欧拉旋转向量; 为了按比例融合两个Pose,首先需要将欧拉旋转向量转换为旋转矩阵,在将旋转矩阵转换为四元数,利用球面线性插值…

springboot项目自定义切面增强方法功能(springboot记录日志)

说明 背景:记录系统接口日志入库,包含接口方法、入参、回参、响应时间、操作人、操作时间等信息。 方案:添加自定义切面处理 一、自定义切面注解 package com.gstanzer.supervise.annotation;import com.gstanzer.supervise.enums.Busine…

中宣部防沉迷系统PHP版本(管局防沉迷验证-PHP-全版本-接口测试样例)

现在对接游戏,无论是登录还是支付都是要去对接防沉迷实名认证接口,但前期的话你要登录网络游戏防沉迷实名认证系统进行接口测试,$appid ,$bizId,$key去接口测试页面找(正式上线在密钥管理)&…

基于jsp+mysql+Spring+mybatis的SSM汽车保险理赔管理系统设计和实现

基于jspmysqlSpringmybatis的SSM汽车保险理赔管理系统设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐…

vue3速查笔记

文章目录 一、创建Vue3.0工程1.使用 vue-cli 创建2.使用 vite 创建 二、常用 Composition API1.拉开序幕的setup2.ref函数3.reactive函数4.Vue3.0中的响应式原理vue2.x的响应式Vue3.0的响应式 5.reactive对比ref6.setup的两个注意点7.计算属性与监视1.computed函数2.watch函数3…

find_package 总结

本文参考:“轻松搞定CMake”系列之find_package用法详解 原理 find_package 即在指定目录CMAKE_MODULE_PATH 或 CMAKE_PREFIX_PATH查找对应的cmake文件。 find 模式 Module模式(默认):查询Findxxx.cmake配置文件, 在CMAKE_MODULE_PATH 目录Config模式…

[SaaS] 家作->装修设计师

淘宝设计AI,人人都能成为装修设计师构建用户对未来家的想象,是家装家居多年来持续探索的方向,如今我们用AI帮助用户“更快、更好、更简单”看到自己未来的家。https://mp.weixin.qq.com/s/Pk1xztEd17JefXp79FHKNA其实就是个商品白底图inpaint…

SQLiteC/C++接口详细介绍-sqlite3类(一)

快速跳转文章列表:SQLite—系列文章目录 上一篇:SQLiteC/C接口简介 下一篇:SQLiteC/C接口详细介绍(二) 引言: SQLite C/C 数据库接口是一个流行的SQLite库使用形式,它允许开发者在C和C代码中嵌…

WPF布局、控件与样式

视频来源:https://www.bilibili.com/video/BV1HC4y1b76v/ 布局 常用布局属性 HorizontalAlignment:用于设置元素的水平位置VerticalAlignment:用于设置元素的垂直位置Margin:指定元素与容器的边距Height:指定元素的…

解决驱动开发中<stdlib.h> no such file 的问题

前言 在进行驱动开发时&#xff0c;需要使用malloc等函数&#xff0c;导入C库<stdlib.h>出现bug。 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程&#xff0c;未来预计四个月将高强度更新本专栏&#xff0c;喜欢的可以关注本博主并订阅本专栏&#xff0c;一起讨论…

深度学习十大算法-快速掌握!

自2006年深度学习概念被提出以来&#xff0c;20年快过去了&#xff0c;深度学习作为人工智能领域的一场革命&#xff0c;已经催生了许多具有影响力的算法。那么&#xff0c;你所认为深度学习的top10算法有哪些呢&#xff1f; 以下是大力哥我心目中的深度学习top10算法&#xff…

案例分析篇09:Web架构设计相关20个考点(7~11)(2024年软考高级系统架构设计师冲刺知识点总结)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…

github 中的java前后端项目整合到本地运行

前言: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 本文章未…

ES6:箭头函数中的this指向问题

普通函数中的this指向函数的调用者 例子&#xff1a; 黑马程序员的说法&#xff1a;箭头函数不会创建自己的this&#xff0c;它只会从自己的作用域链的上一层沿用this 尚硅谷的说法&#xff1a;this始终指向函数声明时所在作用域下的this的值 通俗理解就是箭头函数中找this&…

Linux搭建我的世界(MC)整合包服务器,All the Mods 9(ATM9)整合包开服教程

Linux使用MCSM面板搭建我的世界(Minecraft)整合包服务器&#xff0c;MC开服教程&#xff0c;All the Mods 9(ATM9)整合包搭建服务器的教程。 本教程使用Docker来运行mc服&#xff0c;可以方便切换不同Java版本&#xff0c;方便安装多个mc服版本。 视频教程&#xff1a;https:…

vue3+ts+element-plus实际开发之统一掉用弹窗封装

vue3tselement-plus实际开发之统一掉用弹窗封装 插槽1. 官网介绍先理解 插槽、具名插槽、 作用域插槽、动态插槽名、具名作用域插槽属性和使用方法 2. 统一调用弹窗封装dome实战- 使用场景&#xff1a;- 对el-dialog进行数据动态设置- 新建一个ts文件用于统一存放组件&#xff…

设备维修带来的无限价值——易点易动设备管理系统的优势

在化工工厂中&#xff0c;设备的正常运行是保障生产顺利进行的关键。然而&#xff0c;设备难免会出现故障和损坏&#xff0c;而及时有效的设备维修对于提高生产效率和降低成本至关重要。为了解决这一问题&#xff0c;易点易动设备管理系统应运而生&#xff0c;以其卓越的功能和…

【微服务学习笔记(一)】Nacos、Feign、Gateway基础使用

【微服务学习笔记&#xff08;一&#xff09;】Nacos、Feign、Gateway基础使用 总览Nacos安装配置Nacos注册中心服务多级存储模型负载均衡规则环境隔离 配置管理配置拉取配置热更新多服务共享配置 Feign远程调用配置性能优化Fegin使用 统一网关Gateway搭建网关路由断言工厂&…

【漏洞复现】畅捷通T+ GetStoreWarehouseByStore接口处存在反序列化RCE漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…