【极速版 -- 大模型入门到进阶】LORA:大模型轻量级微调

文章目录


论文指路:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

🌊 有没有低成本的方法微调大模型?

  • 2021年微软提出 LORA :LOW-RANK ADAPTATION 低秩适配
    • 【什么是秩?】一个矩阵的秩是指矩阵中线性独立的行或列的最大数目;也就是说 一个矩阵的秩越大,它包含的有效信息就越多

🌊 LoRA 的核心思想

  • LoRA通过优化在适应过程中 FC 层权重变化 ( Δ w ∈ R m × n \Delta w \in \mathbb{R}^{m\times n} ΔwRm×n) 的秩分解矩阵 ( A ∈ R m × r × B ∈ R r × n A \in \mathbb{R}^{m\times r} \times B\in \mathbb{R}^{r\times n} ARm×r×BRr×n),来间接调整神经网络中部分层的权重 ( w w w) 。不修改预先训练好的权重,而是通过引入一个低秩的矩阵来实现对这些层的适应调整
    • r < < min ⁡ ( m , n ) r << \min(m,n) r<<min(m,n)
  • 用更小的参数空间存储 模型参数变化量 Δ w \Delta w Δw
    • Δ w \Delta w Δw: 模型参数变化量,也就是对原参数 w w w 变化 Δ w \Delta w Δw 可以适配新任务。LoRA 用 A 和 B 计算获得模型参数变化量 Δ w \Delta w Δw,叠加到原参数 w w w

🌊 LoRA 的初始化和 r r r 的值设定

  • 用随机高斯分布初始化 A A A ,用 0 矩阵初始化 B B B, 保证训练的开始此旁路矩阵依然是 0 矩阵
  • 对于一般的任务, r = 1 , 2 , 4 , . . . r = 1,2,4, ... r=1,2,4,... 就足够了。而一些领域差距比较大的任务可能需要更大的 r r r

🌊 LoRA 实战:LoraConfig参数详解

目前 LORA 已经被 HuggingFace 集成在了 PEFT(Parameter-Efficient Fine-Tuning) 代码库里
所以,使用也非常简单

from peft import get_peft_config, get_peft_model, LoraConfig, TaskType# preModel = ....from_pretrained(".. bert-base-uncased ..")  # 加载你的预训练模型peft_config = LoraConfig(r=4,  # LoRA 维数lora_alpha=8,  # ΔW 按 α / r 缩放target_modules=["", "", ...],  # 对哪些模块进行微调lora_dropout=0.1  # 默认值为 0
)
model = get_peft_model(preModel, peft_config)  # 预训练模型 -> 加好了 LoRA 之后的模型

参考资料: 【LoRA&CN全解析】, 【知乎高赞-大模型轻量级微调】

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

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

相关文章

【论文分析】无人机轨迹规划,Fast-Planner:实时避障+全局最优的路径引导优化算法

这篇论文《Robust Real-time UAV Replanning Using Guided Gradient-based Optimization and Topological Paths》由香港科技大学提出&#xff0c;主要针对无人机&#xff08;UAV&#xff09;在复杂环境中的实时轨迹重新规划问题&#xff0c;提出了一种结合梯度优化和拓扑路径搜…

禅道品牌全面战略升级:开创项目管理国产化替代新格局

2025年&#xff0c;禅道软件完成企业品牌战略深度升级。此次升级&#xff0c;从产品力、服务力到生态圈构建等方面进行了全面优化&#xff0c;以更智慧的解决方案、更开放的生态布局&#xff0c;更安全的国产化解决方案&#xff0c;助力企业实现从“工具应用”到“价值创造”的…

PyTorch处理数据--Dataset和DataLoader

在 PyTorch 中&#xff0c;Dataset 和 DataLoader 是处理数据的核心工具。它们的作用是将数据高效地加载到模型中&#xff0c;支持批量处理、多线程加速和数据增强等功能。 一、Dataset&#xff1a;数据集的抽象‌ Dataset 是一个抽象类&#xff0c;用于表示数据集的接口。你…

Android 蓝牙/Wi-Fi通信协议之:经典蓝牙(BT 2.1/3.0+)介绍

在 Android 开发中&#xff0c;经典蓝牙&#xff08;BT 2.1/3.0&#xff09;支持多种协议&#xff0c;其中 RFCOMM/SPP&#xff08;串口通信&#xff09;、A2DP&#xff08;音频流传输&#xff09;和 HFP&#xff08;免提通话&#xff09;是最常用的。以下是它们在 Android 中的…

R002-云计算

1 概念 英文名&#xff1a;Cloud Computing 核心:云计算的核心概念就是以互联网为中心&#xff0c;在网站上提供快速且安全的云计算服务与数据存储&#xff0c;让每一个使用互联网的人都可以使用网络上的庞大计算资源与数据中心 2.分类 基础设施即服务&#xff08;IaaS)它向…

降维(DimensionalityReduction)基础知识2

文章目录 五、基于局部结构保持的降维1、Laplacian Eigenmaps&#xff08;拉普拉斯特征映射&#xff09;&#xff08;1&#xff09;邻接矩阵&#xff08;2&#xff09;图论基础&#xff08;3&#xff09;Laplace算子1、散度&#xff08;Divergence&#xff09;2、拉普拉斯算子3…

物联网中的物模型是什么意思,在嵌入式软件开发中如何体现?

1. 物模型的概念 物模型&#xff08;Thing Model&#xff09;是物联网中对物理设备或虚拟设备的抽象描述&#xff0c;定义了设备的属性、事件和服务。它是设备与云平台或其他设备之间交互的基础&#xff0c;用于统一描述设备的能力和行为。 1.1 物模型的组成 属性&#xff0…

【蓝桥杯】单片机设计与开发,PWM

一、PWM概述 用来输出特定的模拟电压。 二、PWM的输出 三、例程一&#xff1a;单片机P34引脚输出1kHZ的频率 void Timer0Init(void);unsigned char PWMtt 0;void main(void) {P20XA0;P00X00;P20X80;P00XFF;Timer0Init();EA1;ET01;ET11;while(1);}void Timer0Init(void) //1…

C#中,什么是委托,什么是事件及它们之间的关系

1. 委托&#xff08;Delegate&#xff09; 定义与作用 ‌委托‌是类型安全的函数指针&#xff0c;用于封装方法&#xff0c;支持多播&#xff08;链式调用&#xff09;。‌核心能力‌&#xff1a;将方法作为参数传递或异步回调。 使用场景 回调机制&#xff08;如异步操作完…

从替代到超越,禅道国产化替代解决方案2.0发布!

3月22日&#xff0c;由禅道携手上海惠艾信息科技、麦哲思科技共同举办的禅道・中国行北京站活动圆满落下帷幕。 除深入探究AI赋能研发项目管理外&#xff0c;禅道在活动现场正式发布了《禅道国产化替代解决方案2.0》&#xff0c;助力企业全方位构建自主可控的研发项目管理新体…

【VirtualBox 安装 Ubuntu 22.04】

网上教程良莠不齐&#xff0c;有一个CSDN的教程虽然很全面&#xff0c;但是截图冗余&#xff0c;看蒙了给我&#xff0c;这里记录一个整洁的教程链接。以备后患。 下载安装全流程 UP还在记录生活&#xff0c;看的我好羡慕&#xff0c;呜呜。 [VirtualBox网络配置超全详解]&am…

2025美国网络专线国内服务商推荐

在海外业务竞争加剧的背景下&#xff0c;稳定高效的美国网络专线已成为外贸企业、跨国电商及跨国企业的刚需。面对复杂的国际网络环境和严苛的业务要求&#xff0c;国内服务商Ogcloud凭借其创新的SD-WAN技术架构与全球化网络布局&#xff0c;正成为企业拓展北美市场的优选合作伙…

2.2.2 引入配置文件和定义配置类

本实战通过三种方式实现Spring Boot中的配置加载与管理。首先&#xff0c;通过PropertySource加载自定义配置文件&#xff0c;结合ConfigurationProperties注解将配置文件中的属性绑定到Java类中&#xff0c;实现配置的灵活管理。其次&#xff0c;利用ImportResource加载XML配置…

Django:构建高性能Web应用

引言&#xff1a;为何选择Django&#xff1f; 在当今快速发展的互联网时代&#xff0c;Web应用的开发效率与可维护性成为开发者关注的核心。Django作为一款基于Python的高级Web框架&#xff0c;以其"开箱即用"的特性、强大的ORM系统、优雅的URL路由设计&#xff0c;…

【银河麒麟高级服务器操作系统 】虚拟机运行数据库存储异常现象分析及处理全流程

更多银河麒麟操作系统产品及技术讨论&#xff0c;欢迎加入银河麒麟操作系统官方论坛 https://forum.kylinos.cn 了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer…

《2核2G阿里云神操作!Ubuntu+Ollama低成本部署Deepseek模型实战》

简介&#xff1a; “本文为AI开发者揭秘如何在阿里云2核2G轻量级ECS服务器上&#xff0c;通过Ubuntu系统与Ollama框架实现Deepseek模型的高效部署。无需昂贵硬件&#xff0c;手把手教程涵盖环境配置、资源优化及避坑指南&#xff0c;助力初学者用极低成本在云端跑通行业领先的大…

【bug解决】NameError: name ‘fused_act_ext‘ is not defined

问题 使用basicsr库做超分的时候发现NameError: name fused_act_ext is not defined这个问题&#xff0c;一直不断重复的使用pip uninstall basicsr 和 BASICSR_EXTTrue pip install basicsr 发现一直没有执行编译过程&#xff0c;导致一直推理失败 原因 之前已经安装过basi…

Anaconda开始菜单里添加JupyterLab快捷方式

Anaconda开始菜单里添加JupyterLab快捷方式 在 Windows 系统安装 Anaconda 后&#xff0c;发现开始菜单只有 Jupyter Notebook&#xff0c;却找不到Jupyter Lab入口。其实这是因为最新版 Anaconda 默认未预装 Lab 组件&#xff0c;本篇介绍一种添加 Jupyter Lab入口到开始菜单…

【Qt】modbus客户端笔记

Qt 中基于 Modbus 协议的通用客户端学习笔记 一、概述 本客户端利用 Qt 的 QModbusTcpClient 实现与 Modbus 服务器的通信&#xff0c;具备连接、读写寄存器、心跳检测、自动重连等功能&#xff0c;旨在提供一个可靠且易用的 Modbus 客户端框架&#xff0c;方便在不同项目中集…

解决Vmware 运行虚拟机Ubuntu22.04卡顿、终端打字延迟问题

亲测可用 打开虚拟机设置&#xff0c;关闭加速3D图形 &#xff08;应该是显卡驱动的问题&#xff0c;不知道那个版本的驱动不会出现这个问题&#xff0c;所以干脆把加速关了&#xff09;