模型微调方法
文章目录
- LoRA
- DoRA
- MoRA
以下部分参考自: https://mp.weixin.qq.com/s/OxYNpXcyHF57OShQC26n4g
LoRA
LoRA是微软于2021年推出的一种经济型微调模型参数的方法。
它在冻结大部分的模型参数的情况下,仅仅更新额外的部分参数。其性能与全参数微调相似。
LoRA假设微调期间的权重更新可以很好地近似于低秩矩阵。LoRA不会更新全权重矩阵 W \mathbf{W} W, 而是将更新分解为两个较小的矩阵 A \mathbf{A} A和 B \mathbf{B} B

具体的训练过程是: 将原来的矩阵参数固定,然后利用新的数据继续训练大模型,训练过程只更新 A \mathbf{A} A和 B \mathbf{B} B矩阵。在推理时,将原来的矩阵 W \mathbf{W} W和 ( A × B ) (\mathbf{A}\times\mathbf{B}) (A×B)相加。

DoRA
权重分解低秩适用(DORA)将预训练的权重分解为两个向量: 幅度和方向。原来的参数矩阵 W \mathbf{W} W的维度依旧是 d × k d\times k d×k, 新增了一个幅度向量 m ∈ R 1 × K m\in\mathbb{R}^{1\times K} m∈R1×K

DORA在训练 A \mathbf{A} A和 B \mathbf{B} B矩阵的时候,依旧利用了LoRA的方法,然后新增了幅度 M M M向量。

DoRA将列向量分解为两个分量,可以更灵活地更新方向分量,这更接近于完全微调。
MoRA
MoRA的概念类似于LoRA, 但不是将权重矩阵分解为更小的维度,而是将其分解为小的方形矩阵。

例如,如果原始权重层具有4096×4096~= 16M参数,则r=8的LoRA具有4096×8 + 8×4096=65,536参数。使用MoRA可以将维度减小到r=256,即256×256=65,536。在这两种情况下,需要训练和更新的参数是相同的,然而研究人员声称与LoRA相比具有更高的学习代表性。
根据这篇论文,LoRA的局限性之一是无法记住大量数据。对于该限制,一个合理的解释可能是它对低秩更新的依赖。低秩更新矩阵 Δ W \Delta W ΔW, 很难估计FFT中的全秩更新, 尤其是在需要记忆特定领域知识的持续预训练等内存密集型任务中。
为了论证这个观点,研究人员研究了LoRA和FFT在通过微调记忆知识方面的差异。为了避免利用LLM的原始知识,研究人员随机生成 10 k 10k 10k对通用唯一标识符(UUID), 每对包含两个具有32个十六进制值的UUID。该任务要求LLM根据输入的UUID生成相应的UUID。

相关文章:
模型微调方法
文章目录 LoRADoRAMoRA 以下部分参考自: https://mp.weixin.qq.com/s/OxYNpXcyHF57OShQC26n4g LoRA LoRA是微软于2021年推出的一种经济型微调模型参数的方法。 它在冻结大部分的模型参数的情况下,仅仅更新额外的部分参数。其性能与全参数微调相似。 LoRA假设微调期间…...
cesium使用cesium-navigation-es6插件创建指南针比例尺
cesium-navigation-es6 是一个为 Cesium.js 提供导航控件的库,它提供了一些常见的用户界面组件,用于在 Cesium 场景中实现用户导航和交互。下面将介绍如何在项目中使用 cesium-navigation-es6。 使用步骤 1. 安装 cesium-navigation-es6 首先…...
go sync包(七)Sync.Map
Sync.Map 原理 通过 read 和 dirty 两个字段实现数据的读写分离,读的数据存在只读字段 read 上,将最新写入的数据存在 dirty 字段上。读取时会先查询 read,不存在再查询 dirty,写入时则只写入 dirty。读取 read 并不需要加锁&am…...
Batch文件中的goto命令:控制流程的艺术
Batch文件,也称为批处理脚本,是Windows操作系统中用于自动化任务的一种脚本文件。在Batch脚本中,goto命令是一个至关重要的控制结构,它允许脚本跳转到指定的标签位置,从而实现循环、条件分支等复杂的控制流程。本文将详…...
【chatgpt】两层gcn提取最后一层节点输出特征,如何自定义简单数据集
文章目录 两层gcn,提取最后一层节点输出特征,10个节点,每个节点8个特征,连接关系随机生成(无全连接层)如何计算MSE 100个样本,并且使用批量大小为32进行训练第一个版本定义数据集出错࿰…...
Java面试题:讨论你如何保持对Java生态系统中新技术的了解
保持对Java生态系统中新技术的了解可以通过以下几种方法: 官方资源: Oracle的官方博客和新闻:Oracle是Java的主要维护者,其官方网站和博客会定期发布Java的新版本、功能更新和最佳实践。Java SE Documentation:Java官方…...
深度学习之Transformer模型的Vision Transformer(ViT)和Swin Transformer
Transformer 模型最初由 Vaswani 等人在 2017 年提出,是一种基于自注意力机制的深度学习模型。它在自然语言处理(NLP)领域取得了巨大成功,并且也逐渐被应用到计算机视觉任务中。以下是两种在计算机视觉领域中非常重要的 Transformer 模型:Vision Transformer(ViT)和 Swi…...
玩个游戏 找以下2个wordpress外贸主题的不同 你几找到几处
Aitken艾特肯wordpress外贸主题 适合中国产品出海的蓝色风格wordpress外贸主题,产品多图展示、可自定义显示产品详细参数。 https://www.jianzhanpress.com/?p7060 Ultra奥创工业装备公司wordpress主题 蓝色风格wordpress主题,适合装备制造、工业设备…...
React Native优质开源项目推荐与解析
目录 2. React Native的优势 2.1. 跨平台开发 2.2. 热更新 2.3. 丰富的社区资源 2.4. 优秀的性能 3. 优质开源项目推荐 3.1. React Navigation 3.1.1 项目简介 3.1.2 特点和优势 3.1.3 应用场景 3.2. Redux 3.2.1 项目简介 3.2.2 特点和优势 3.2.3 应用场景 3.3…...
树莓派安装windows系统
第1步: https://uupdump.net/下载对应的系统文件,所有选择项都默认选择。 第2步: 解压下载后的文件,双击运行下面文件。等待下载完成,等待过程很漫长,很考验耐心。 第3步: 提示已经finish了&…...
CSS-position/transform
1 需求 2 语法 在CSS中,positioning 和 transform 是两个非常重要的概念,它们分别用于控制元素在页面上的布局和变换。 Positioning CSS中的position属性用于设置元素的定位类型。它有几个值,包括: static:这是默认…...
面试题之一
路由的两种模式:hash模式和 history模式。 两种的区别、如何实现。 hash模式中#的作用 vue性能优化。具体如何实现(回答了一个可以函数引入的方法引入路由。问) keep-alive 说一下EventBus CSS: flex布局 css新特性 盒子模型 J…...
494. 目标和 Medium
给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums [2, 1] ,可以在 2 之前添加 ,在 1 之前添加 - ,然…...
如何实现灌区闸门控制自动化?宏电“灌区哨兵”为灌区闸门控制添“智慧”动能
闸门控制站是节水灌溉工程中的重要组成部分。随着科技的不断进步和农田水利现代化的发展,传统的闸门控制和管理手段已经不能满足现代农业的发展要求。以宏电“灌区哨兵”为核心的闸门自动化控制系统,能有效解决灌区闸门距离远、数量多、不易操作、不好监…...
PHP电商系统开发指南数据库管理
回答:数据库管理是电商系统开发的关键,涉及数据的存储、管理和检索。选择合适的数据库引擎,如mysql或 postgresql。创建数据库架构,定义数据的组织方式(如产品表、订单表)。进行数据建模,考虑实…...
基于Vue.js的电商前端模板:Vue-Dashboard-Template的设计与实现
摘要 随着电子商务的飞速发展,前端页面的设计和实现变得愈发重要。本文介绍了一个基于Vue.js的电商前端模板——Vue-Dashboard-Template,旨在提供一个高性能、易扩展的电商平台前端解决方案。该模板遵循响应式设计、模块化、组件化开发等设计原则&#…...
论文解读:【CVPR2024】DUSt3R: Geometric 3D Vision Made Easy
论文“”https://openaccess.thecvf.com/content/CVPR2024/papers/Wang_DUSt3R_Geometric_3D_Vision_Made_Easy_CVPR_2024_paper.pdf 代码:GitHub - naver/dust3r: DUSt3R: Geometric 3D Vision Made Easy DUSt3R是一种旨在简化几何3D视觉任务的新框架。作者着重于…...
springboot助农电商系统-计算机毕业设计源码08655
摘要 近年来,电子商务的快速发展引起了行业和学术界的高度关注。基于移动端的助农电商系统旨在为用户提供一个简单、高效、便捷的农产品购物体验,它不仅要求用户清晰地查看所需信息,而且还要求界面设计精美,使得功能与页面完美融合…...
【windows】电脑如何关闭Bitlocker硬盘锁
如果你的硬盘显示这样的一把锁,说明开启了Bitlocker硬盘加密。 Bitlocker硬盘锁,可以保护硬盘被盗,加密防止打开查看数据。 方法一:进入“控制面板->BitLocker 驱动器加密”进行设置。或者“控制面板\系统和安全->BitLocke…...
vue-cli 搭建项目,ElementUI的搭建和使用
vue-cli 官方提供的一个脚手架,用于快速生成一个vue的项目模板;预先定义 好的目录结构及基础代码,就好比咱们在创建Maven项目时可以选择创建一个 骨架项目,这个骨架项目就是脚手架,我们的开发更加的快速; …...
Linux磁盘空间告警与清理实战
Linux磁盘空间告警与清理实战磁盘空间不足是 Linux 运维中最常见也最容易引发连锁故障的问题之一。很多服务平时运行正常,但一旦分区写满,轻则日志无法落盘,重则数据库异常、服务启动失败甚至系统不可用。中级技术人员不能只会“删文件腾空间…...
基于GEMMA与NeoPixel制作智能可穿戴首饰:从硬件选型到代码实现
1. 项目概述:当微型控制器遇见珠宝设计几年前,当我第一次把一块微控制器塞进一个首饰盒里,看着它驱动一圈LED发出柔和的光晕时,我就知道,电子制作和个性化穿戴的结合,远不止于智能手表或健身手环。我们今天…...
dotAI:将AI能力环境化,打造可配置的智能开发工作流
1. 项目概述:当AI成为你的“数字管家”最近在GitHub上看到一个挺有意思的项目,叫udecode/dotai。乍一看这个标题,你可能和我最初的反应一样,有点摸不着头脑。dotai?是“点AI”的意思吗?它和.env文件那种“点…...
AI教材写作必备:低查重工具,助力高效生成专业教材!
选择 AI 教材编写工具的困境与解决方案 在准备教材之前,选择合适的工具就像进入了一个“纠结的大迷宫”!使用办公软件确实方便,但功能往往太过基础,搭建框架和调整格式都得手动搞定;而如果选择专业的 AI 教材编写工具…...
从零理解无刷电机方波驱动:用STM32CubeMX配置TIM1 PWM与EXTI中断实现换相
STM32无刷电机方波驱动实战:CubeMX配置与六步换相详解 1. 无刷电机驱动基础认知 无刷直流电机(BLDC)凭借高效率、长寿命和低噪音特性,已成为工业自动化、消费电子和智能家居领域的核心动力元件。与传统有刷电机相比,BL…...
ISG系统三大电机结构深度解析:永磁同步、感应与开关磁阻电机对比
1. 项目概述:从“电机”到“ISG系统”的深度关联在混合动力与新能源车领域,ISG(Integrated Starter Generator,集成式启动发电一体机)系统是一个核心的动力单元。它不像传统汽车那样,启动电机和发电机是分开…...
盘点那些能让性能翻倍的C++现代特性
在C开发中,“性能”是压倒一切的核心诉求之一。虽然编译器在不断变聪明,但有些底层优化仍需开发者通过选用正确的语言特性来触发。今天这篇文章,我们就来盘点几个能给代码带来质跃式性能提升的 C 现代特性,并附带直观的代码示例。…...
Unity SLG大地图实战:用TileManager和AOI搞定网格管理与视野同步(附Demo代码)
Unity SLG大地图开发实战:网格管理与AOI视野同步的工程化解决方案 在SLG游戏开发中,大地图系统是核心体验的基石。面对动辄数万网格的动态管理需求,以及需要与后端高效协作的视野同步问题,传统开发方式往往陷入性能瓶颈和逻辑混乱…...
C++、汇编与易语言:三大编程语言深度对比
好的,我们来比较一下 C、汇编语言和易语言这三种编程语言的主要区别:抽象层级和与硬件的距离:汇编语言: 这是最低级的编程语言之一。它使用特定于 CPU 架构的 助记符(如 MOV, ADD, JMP)来直接操作 寄存器 和…...
Horos:免费开源医学影像软件,3D医疗图像处理的终极指南
Horos:免费开源医学影像软件,3D医疗图像处理的终极指南 【免费下载链接】horos Horos™ is a free, open source medical image viewer. The goal of the Horos Project is to develop a fully functional, 64-bit medical image viewer for OS X. Horos…...
