首页 > 其他分享 >LoRA简介

LoRA简介

时间:2024-11-21 23:44:18浏览次数:3  
标签:初始化 训练 简介 模型 微调 矩阵 LoRA

文章目录

介绍

LoRA(Low-Rank Adaptation)是一种用于高效微调大模型的技术,它通过在已有模型的基础上引入低秩矩阵来减少训练模型时所需的参数量和计算量。具体来说,LoRA在训练模型时将模型中的某些权重矩阵分解为两个低秩矩阵A和B,并对这些矩阵进行微调(finetune),而模型的其他部分保持冻结不变。

LoRA的优势

  1. 它冻结了预训练的模型权重,并将可训练的秩分解矩阵注入到 Transformer 架构的每一层中,大大减少了下游任务的可训练参数的数量。
  2. 与使用 Adam 微调的 GPT-3 175B 相比,LoRA 可以将可训练参数数量减少10,000,GPU内存需求减少3倍。

LoRA训练步骤:

  1. **选择目标层:**首先,在预训练神经网络模型中选择要应用LoRA的目标层。这些层通常是与特定任务相关的,如自注意力机制中的查询Q和键K矩阵。

  2. **初始化映射矩阵A和逆映射矩阵B:**映射矩阵A一般用随机高斯分布初始化,当然实际代码实现时,比如微软的deepspeedchat在用到LoRA时,一开始通过0矩阵占位,然后调用搭配ReLU激活函数的kaiming均匀分布初始化;逆映射矩阵B用0矩阵初始化。

  3. **微调模型:**使用新的参数矩阵替换目标层的原始参数矩阵,然后在特定任务的训练数据上对模型进行微调。

  4. **参数更新:**在微调过程中,计算损失函数关于映射矩阵A和逆映射矩阵B的梯度,并使用优化算法(

标签:初始化,训练,简介,模型,微调,矩阵,LoRA
From: https://blog.csdn.net/weixin_43883448/article/details/143952952

相关文章

  • 鸿蒙安全控件简介
    安全控件是系统提供的一组系统实现的ArkUI组件,应用集成这类组件就可以实现在用户点击后自动授权,而无需弹窗授权。它们可以作为一种“特殊的按钮”融入应用页面,实现用户点击即许可的设计思路。相较于动态申请权限的方式,安全控件可基于场景化授权,简化开发者和用户的操作,主要优点有:......
  • 学习笔记(四十):HMRouter简介和配置
    概述:HMRouter作为HarmonyOS的页面跳转场景解决方案,聚焦解决应用内原生页面的跳转逻辑。HMRouter底层对系统Navigation进行封装,集成了Navigation、NavDestination、NavPathStack的系统能力,提供了可复用的路由拦截、页面生命周期、自定义转场动画,并且在跳转传参、额外的生命周期......
  • 【Linux】僵尸进程、进程状态简介
    本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发、订阅专栏!专栏订阅入口| 精选文章 | Kubernetes |Docker|Linux |羊毛资源 | 工具推荐 |往期精彩文章【Docker】(全网首发)KylinV10下MySQL容器内存占用异常的解决......
  • Lora里面说大模型参数是over-parametrized(过参数的),什么是over-parametrized?(另附相关概
    诸神缄默不语-个人CSDN博文目录本文会介绍over-parametrized(过参数化)、doubledescent、bias-variancetrade-off概念。主要是我在看Lora论文的过程中看到了“over-parametrized”这个概念,所以写一篇关于这个概念的博文。文章目录1.over-parametrized2.doubledesce......
  • 鸿蒙hvigor构建任务依赖与生命周期简介
    Hivgor脚本文件在构建的生命周期中Hvigor使用两个脚本文件来完成插件、任务以及生命周期hook的注册:hvigorconfig.ts:此文件在整个项目中只有根目录下存在一份,不是构建必须的文件并且默认不存在,如有需要可自行创建,此文件被解析执行的时间较早,可用于在Hvigor生命周期刚开始时操作......
  • 从零搭建UVM验证平台 简介
    搭建UVM流程:定义interface。Interface是连接DUT和验证平台的桥梁,根据DUT的输入输出参数定义interface,在top_tb里连接interface和DUT。加入transaction。transaction是一个数据包,transaction由sequence产生,通过sequencer传递给driver。加入driver。Driver负责将接收到的tr......
  • Transformer Concept Exploration and Practice in Pytorch
    IntroductionTransformer是一种广泛应用与自然语言处理的神经网络架构,它基于自注意力机制,允许模型在做出预测时为句子中的不同单词赋予不同的重要性。它非常擅长处理序列任务,并且具有并行计算的优势,因此在大规模数据集上训练时非常高效。序列任务是任何将输入序列进行变换得到输......
  • 鸿蒙开发Hvigor任务简介
    编译构建工具DevEcoHvigor(以下简称Hvigor)是一款基于TS实现的构建任务编排工具,主要提供任务管理机制,包括任务注册编排、工程模型管理、配置管理等关键能力,提供专用于构建和测试应用的流程和可配置设置。DevEcoStudio使用构建工具Hvigor来自动执行和管理构建流程,实现应用/服务构......
  • SV 语法 简介
    SystemVerilog(简称SV)是硬件描述语言(HDL)Verilog的扩展,旨在增强语言的表达能力,特别是在硬件设计与验证方面。它包括了许多新特性,既支持硬件描述,又提供了强大的功能来支持硬件验证。SystemVerilog的语法和Verilog类似,但在许多方面提供了更为丰富的特性,比如面向对象编程、随机化......
  • Consul简介
    本文分享自天翼云开发者社区《Consul简介》,作者:滑****秋Consul是一款开源的服务网格解决方案,由HashiCorp公司开发。它提供服务发现、健康检查、KEY/VALUE存储、多数据中心方案等功能,可以帮助企业构建和管理现代应用架构。Consul的主要功能如下:1.服务发现:Consul维护了......