人工智能-大语言模型-微调技术-LoRA及背后原理简介

1. 《LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS》

LORA: 大型语言模型的低秩适应

摘要:
随着大规模预训练模型的发展,全参数微调变得越来越不可行。本文提出了一种名为LoRA(低秩适应)的方法,通过在Transformer架构的每一层注入可训练的低秩分解矩阵,大幅减少了下游任务的可训练参数数量。与使用Adam微调GPT-3 175B相比,LoRA可以将可训练参数数量减少10000倍,GPU内存需求减少3倍。
在这里插入图片描述

创新点:

  • 提出了LoRA方法,通过在预训练模型中注入低秩矩阵来适应下游任务。
  • 与全参数微调相比,LoRA在保持模型质量的同时,大幅减少了参数数量和计算资源需求。

算法模型:

  • 在预训练的权重矩阵中注入低秩分解矩阵,通过优化这些低秩矩阵来适应新任务。
  • 保持预训练权重不变,只训练注入的低秩矩阵。

数学模型 :
h = W 0 x + Δ W x = W 0 x + B A x h = W_{0}x + \Delta W x = W_{0}x + BAx h=W0x+ΔWx=W0x+BAx

这里 W 0 , Δ W W_{0}, \Delta W W0,ΔW是同纬度的超大矩阵,通常10B以上的模型参数量,但是 B , A B, A B,A都是低秩,维度远远小于原始模型参数矩阵。

实验效果:

  • 在RoBERTa、DeBERTa、GPT-2和GPT-3等模型上进行实验,LoRA在参数数量大幅减少的情况下,性能与全参数微调相当或更好。
  • 在GPT-3 175B上,LoRA在WikiSQL、MNLI和SAMSum等任务上的表现优于或接近全参数微调。

推荐阅读指数
★★★★★

推荐理由:
这篇文章提出了一种高效的大型语言模型适应方法,对于需要在资源有限的情况下部署大型模型的应用场景具有重要意义。LoRA方法的提出,为大型模型的实用化和优化提供了新的思路和工具。

2. 《MEASURING THE INTRINSIC DIMENSION OF OBJECTIVE LANDSCAPES》

测量目标景观的内在维度

摘要
本文探讨了神经网络参数数量与问题难度之间的关系。作者通过在随机子空间中训练网络,逐渐增加子空间的维度,来测量目标景观的内在维度。研究表明,许多问题的内在维度比预期的要小,且对于给定数据集,不同模型尺寸的内在维度变化不大。这表明一旦参数空间足够大以解决问题,额外的参数直接增加了解的流形的维度。此外,文章还提出了一种简单的技术来获得解决方案的最小描述长度的上界,并提供了一种压缩网络的方法。

创新点

  • 提出了内在维度的概念,用于量化问题难度。
  • 开发了一种在随机子空间中训练网络的方法来测量内在维度。
  • 展示了即使是大型网络,也只需相对较少的参数即可达到接近最优的性能。

算法模型

  • 网络不是在其原始参数空间中训练,而是在一个较小的、随机定向的子空间中训练。
  • 通过逐渐增加子空间的维度,记录解决方案首次出现的维度,定义为目标景观的内在维度。

实验效果

  • 在MNIST、CIFAR-10、ImageNet等数据集上的实验表明,许多问题的内在维度远小于参数总数。
  • 例如,在MNIST数据集上,即使是一个全连接网络,也只需要大约750个参数即可达到接近最优模型90%的性能。

推荐阅读指数
★★★★☆

推荐理由
这篇文章为理解神经网络的优化问题提供了新的视角,特别是在参数数量与模型性能之间的关系方面。它的方法论和实验结果对于神经网络的设计和训练具有重要的指导意义。

3.《INTRINSIC DIMENSIONALITY EXPLAINS THE EFFECTIVENESS OF LANGUAGE MODEL FINE-TUNING》

内在维度性解释了语言模型微调的有效性

摘要
尽管预训练的语言模型可以通过微调来达到各种语言理解任务的最新结果,但这一过程的动态,特别是在数据量较少的情况下,尚不清楚。本文通过内在维度的视角分析微调过程,提供了理论和实证直觉来解释这一现象。研究表明,常见的预训练模型具有非常低的内在维度,即存在一个低维重参数化,其微调效果与完整参数空间一样有效。

创新点

  • 将内在维度的概念应用于语言模型的微调过程。
  • 通过实证研究,展示了预训练模型在微调时所需的参数数量远少于模型总参数数。

算法模型

  • 使用随机投影将模型参数映射到低维空间,并在该空间中进行优化。
  • 通过调整低维空间中的参数,间接优化高维空间中的模型参数。

实验效果

  • 在MRPC数据集上,仅通过优化200个可训练参数,即可使RoBERTa模型达到接近完整参数性能的90%。
  • 预训练过程隐式地降低了后续微调任务的内在维度。
    在这里插入图片描述
    在这里插入图片描述

推荐阅读指数
★★★★☆

推荐理由
这篇文章为理解大型预训练语言模型的微调过程提供了新的理论支持,特别是在参数效率和模型泛化能力方面。其研究结果对于优化语言模型的训练和应用具有重要的实际意义。

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

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

相关文章

STM32 使用 CubeMX 实现按键外部中断

目录 问题背景知识参考需要改什么注意尽量不要在中断函数使用 循环函数做延时中断函数中延时方法调试 问题 我想实现按钮触发紧急停止类似功能,需要使用按键中断功能。 背景知识 GPIO 点亮 LED。stm32cubemx hal学习记录:GPIO输入输出。STM32—HAL库 …

活动系统开发之采用设计模式与非设计模式的区别-后台功能总结

1、数据库ER图 2、后台功能字段 题目功能字段 数据列表 编号题目名称选项数量状态 1启用0禁用创建时间修改时间保存 题目名称选项集 选项内容是否正确答案 1正确0错误启禁用删除素材图库功能字段 数据列表 编号原文件名称文件类型文件大小加密后文件名文件具体路径上传类型状态…

从零开始学习Python

目录 从零开始学习Python 引言 环境搭建 安装Python解释器 选择IDE 基础语法 注释 变量和数据类型 变量命名规则 数据类型 运算符 算术运算符 比较运算符 逻辑运算符 输入和输出 控制流 条件语句 循环语句 for循环 while循环 循环控制语句 函数和模块 定…

29 C 语言中的随机数实现:rand 与 srand

目录 1 为什么需要随机数? 1.1 背景介绍 1.2 应用场景 2 C 语言实现随机数 2.1 rand() 函数 2.1.1 函数原型 2.1.2 功能说明 2.1.3 案例演示 2.2 srand() 函数 2.2.1 函数原型 2.2.2 功能说明 2.2.3 案例演示 2.3 指定范围的随机数 2.3.1 获…

【JavaEE】数据链路层协议和DNS

🔥个人主页: 中草药 🔥专栏:【Java】登神长阶 史诗般的Java成神之路 👜一.以太网 以太网(Ethernet)是一种局域网技术,它定义了开放系统互连(OSI)模型中的物理…

Python网络爬虫获取Wallhaven壁纸图片(源码)

** 话不多说,直接附源码,可运行! ** import requests from lxml import etree from fake_useragent import UserAgent import timeclass wallhaven(object):def __init__(self):# yellow# self.url "https://wallhaven.cc/search?co…

K8S介绍---搭建集群

Kubernetes介绍 官网:https://kubernetes.io/ 一、应用部署方式演变 1、传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其他技术的参与 缺点:不能为应用程序定义资源使用边界&a…

Java中List、ArrayList与顺序表

List、ArrayList与顺序表 List什么是List常用方法介绍List的使用 ArrayList与顺序表线性表顺序表接口的实现 ArrayList简介ArrayList的使用ArrayList的构造ArrayList的常见操作ArrayList的遍历ArrayList的扩容机制 ArrayList的具体使用杨辉三角简单的洗牌算法 ArrayList的问题及…

双向链表的基本结构及功能实现

1.基本结构: 双向链表是一种链表数据结构,它由一系列节点组成,每个节点包含三个部分: (1).数据域:存储节点的数据 (2).前驱指针:指向前一个节点 (3).后驱指针:指向下一个节点 2.基本特性: 双向链接: 与单向链表…

【WPF】02 按钮控件圆角配置及状态切换

按钮圆角 先从工具箱里拖进来一个Button控件&#xff0c;然后对这个按钮进行美化。 首先在 xaml 里按钮控件部分 添加如下代码&#xff1a; <Button x:Name"btnLogin" Content"登录" HorizontalAlignment"Center" Margin"0,399,0,0&q…

C++20中头文件compare的使用

<compare>是C20中新增加的头文件&#xff0c;此头文件是language support库的一部分。它包括&#xff1a;concepts、classes、customization point objects、functions。 1.concepts&#xff1a;三向比较运算符<>&#xff0c;目的是简化比对对象的过程&#xff0c;…

微服务配置管理——动态路由

动态路由 网关的路由配置全部是在项目启动时由org.springframework.cloud.gateway.route.CompositeRouteDefinitionLocator在项目启动的时候加载&#xff0c;并且一经加载就会缓存到内存中的路由表内&#xff08;一个Map&#xff09;&#xff0c;不会改变。也不会监听路由变更新…

【PG备份恢复】基于时间点的恢复(踩坑指南)

1 设置基于时间点恢复所需的配置 1.1 修改配置文件 postgresql.conf vim postgresql.conf archive_mode on archive_command cp %p /data1/backups/pg_wal_archive/%f wal_level replica 1.2 生效配置 2 进行一次全备 2.1 创建备份目录 mkdir -p /data/backup/pg_b…

C语言常见字符串函数模拟实现一:(strlen,strcpy,strcat,strcmp,strstr )

strlen模拟实现 重点&#xff1a;1.字符串已经\0作为结束标志&#xff0c;strlen返回的是字符串\0前面出现的字符个数&#xff08;不包含\0&#xff09; 2.参数指向的字符串必须要以\0结束。 3.注意函数的返回值是size_t&#xff0c;是无符号的&#xff0c;加减是无法对比的。…

thinkphp8 从入门到放弃(后面会完善用到哪里写到哪)

thinkphp8 从入门到放弃 引言 thinkphp* 大道至简一、 thinkphp8 安装安装Composerthinkphp 安装命令(tp-项目名称)多应用安装&#xff08;一个项目不会只有一个应用&#xff09;安装完文件目录如下本地部署配置伪静态好了项目可以run 二、架构服务&#xff08;Service&#xf…

大数据新视界 --大数据大厂之探索ES:大数据时代的高效搜索引擎实战攻略

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

app自动化前置准备环境搭建

编写脚本之前的一些前置准备工作。 1&#xff0c;安装appium server&#xff1a;官网地址&#xff1a;http://appium.io/ 安装教程&#xff1a;https://www.cnblogs.com/gancuimian/p/16536322.html 2&#xff0c;安装appium客户端&#xff1a; appium客户端安装相对较简单…

智谱清影 - CogVideoX-2b-部署与使用

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;Linux从入门到进阶 欢迎大家点赞收藏评论&#x1f60a; 目录 体验地址&#xff1a;[丹摩DAMODEL官网](https://www.damodel.com/console/overview) CogVideoX 简介本篇将详细介绍使用丹摩服务器部…

OpenAI GPT o1技术报告阅读(2)- 关于模型安全性的测试案例

✨报告阅读&#xff1a;使用大模型来学习推理(Reason) 首先是原文链接&#xff1a;https://openai.com/index/learning-to-reason-with-llms/ 接下来我们看一个简单的关于模型安全性的测试&#xff0c;当模型被问到一个有风险的话题时&#xff0c;会如何思考并回答用户呢&…

CentOS中使用DockerCompose方式部署带postgis的postgresql(附kartoza/docker-postgis镜像下载)

场景 CentOS中使用Docker部署带postgis的postgresql&#xff1a; CentOS中使用Docker部署带postgis的postgresql_centos postgis插件在容器中如何安装-CSDN博客 上面使用Docker搜索和拉取kartoza/postgis时并没有任何限制。 当下如果不能科学上网时&#xff0c;大部分镜像源…