大语言模型的LoRA研究综述,什么是LoRA模型?如何使用和训练LoRA模型?一文带你完全搞懂LoRA!

LORA模型原理详解+分层控制使用 LoRA模型全称是:Low-Rank Adaptation of Large Language Models,可以理解为Stable-Diffusion中的一个插件,仅需要少量的数据就可以进行训练的一种模型。在生成图片时,LoRA模型会与大模型结合使用,从而实现对输出图片结果的调整。假如一张图片是由背景,服饰,脸型,躯干,姿态等等组成,我们可以训练LORA模型对这些进行微调,在大模型的基础上微调成自己想要的图片。简单理解就是大模型基础上额外增加一些训练层,在冻住大模型的基础上,训练lora模型。 阅读详情

大模型低秩适应技术(Low-RankAdaptation,LoRA)通过可插拔的低秩矩阵更新密集神经网络层,是当前参数高效微调范式中表现最佳的方法之一。此外,它在跨任务泛化和隐私保护方面具有显著优势。因此,LoRA 最近受到了广泛关注,相关文献的数量呈指数增长。对LoRA的当前进展进行全面综述是必要的。


本综述从以下几个方面分类并回顾了LoRA的进展:(1) 改进LoRA在下游任务性能的变体;(2) 通过混合多种LoRA插件实现跨任务泛化的方法;(3) 提高LoRA计算效率的方法;(4) 在联邦学习中使用LoRA的数据隐私保护方法;(5)应用。此外,本综述还讨论了该领域的未来研究方向。

预训练语言模型参数规模的迅速增加提升了它们的泛化能力,并带来了新的能力。近年来,预训练语言模型的参数规模增加了数千倍(例如,从具有3.3亿参数的BERT[1]到具有5400亿参数的PaLM[2])。这些具有大参数规模的预训练语言模型被称为大语言模型(LLMs)。然而,由于LLMs的知识边界,它们在某些下游任务中的能力仍然有限。为了扩展知识边界,仍然有必要在下游任务上微调LLMs。

然而,对LLM进行全参数微调(即全量微调)计算开销极其巨大,例如,对LLaMA2-7B[3]模型进行全量微调需要大约60GB的内存,超出了普通消费级GPU的容量[4]。为了减少计算成本,提出了各种参数高效微调(PEFT)方法[5]。这些方法通过只微调少量(额外的)模型参数来使LLMs适应下游任务。从是否涉及额外参数的角度来看,PEFT方法可以分为两类:额外参数方法和内部参数方法。额外参数方法冻结LLM的所有原始参数,并插入一组可学习的参数来优化模型输入或模型层,如适配器调优[6]和提示调优[7]。相比之下,内部参数方法冻结LLM的大部分原始参数,只微调LLM的一小部分参数,如BitFit[8]、LISA[4]和LoRA[9]。

在无法修改模型架构的情况下,内部参数方法是理想的。在内部参数方法中,LoRA是使用最广泛的方法,因为它在多个下游任务上可以实现与全量微调相当或更好的下游适应性能[9],且易于实施。此外,还提出了许多变体,以进一步提高LoRA在更具挑战性的下游任务中的适应能力。

LoRA通过使用可插拔的低秩矩阵更新LLM的密集神经网络层来实现参数效率。这些矩阵(即LoRA插件)是独立于LLM的,可以存储并在其他相关的下游任务中重用。此外,这些LoRA插件可以组合以实现跨任务泛化,从而促进多任务学习、领域适应和LLMs的持续学习。

随着LoRA插件的累积,管理LoRA插件的计算成本也在增加。尽管LoRA计算效率高,但管理大量LoRA插件的计算成本不可忽视。因此,有必要进一步提高LoRA的计算效率。改进可以通过减少单个LoRA插件的计算成本和加速多个插件的可扩展服务来实现。这可以促进LoRA在现实世界中的应用,如生成即服务(GaaS)云产品。

在某些情况下,训练数据由多个客户端私有且无法集中。为了使用分布式训练数据使LLMs适应,我们可以采用联邦学习来保护每个客户端的数据隐私。然而,联邦学习会产生高昂的通信和计算成本。为了降低成本,LoRA是一个自然的选择。其参数高效特性有助于降低每个客户端的计算成本和跨客户端共享参数的通信成本。此外,LoRA的可插拔特性有助于在联邦学习中保留每个客户端的参数隐私。因此,LoRA在隐私保护方面具有巨大潜力。

在本综述中,我们对LoRA的当前进展进行了全面概述,包括:(1)提高LoRA下游适应性能的方法;(2)混合LoRA插件以实现跨任务泛化的方法;(3)提高LoRA计算效率的方法;(4)在联邦学习中采用LoRA的方法。此外,还简要介绍了LoRA的应用。图1展示了LoRA相关方法的分类。本综述旨在提供LoRA的全面背景知识、研究趋势和技术见解。

本综述的其余部分组织如下。第2节介绍了LoRA的背景知识,第3节介绍了旨在提高下游适应性能的LoRA变体。在第4节中,我们回顾了混合LoRA插件以实现跨任务泛化的方法。第6节介绍了LoRA驱动的联邦学习方法。第7节报告了LoRA的应用。第8节总结了本综述并讨论了未来的研究方向。

低秩适应(LoRA)

低维固有维度假说[186]提出,过度参数化模型存在于低固有维度上,这表明我们可以通过仅更新与固有秩相关的参数来实现适当的学习性能。基于这一假说,LoRA[9]提出用低秩矩阵更新模型中的密集层。它可以同时实现参数和计算效率。在本节中,我们首先介绍LoRA的细节,然后介绍现有的聚焦于LoRA理论分析的工作。此外,我们展示了LoRA在实践中的效率。最后,本节介绍了LoRA在微调之外的其他用例。

LoRA在参数上非常高效,因为它仅更新模型参数的一小部分,从而在不增加推理延迟的情况下减少了微调所需的内存和计算要求[187]。此外,可以通过从低秩矩阵扩展到低秩张量[188]或与克罗内克分解结合[189, 190]进一步提高参数效率。除了参数效率,LoRA也是可插拔的,因为LoRA参数在训练后可以从模型中分离出来。LoRA的可插拔特性使其可以被多个用户共享和重用[191]。当我们拥有多个任务的LoRA插件时,可以组合这些插件,并期望获得适当的跨任务泛化性能[58]。此外,LoRA的低秩机制兼容其他参数高效方法,如适配器[192, 193]。

在实践中,对于基于Transformer的LLM,密集层通常由两种类型的权重矩阵组成:注意力模块中的投影矩阵和前馈神经(FFN)模块。在原始研究中,LoRA应用于注意力层的权重矩阵。后续工作表明,在FFN层中使用它可以进一步提高模型性能[194]。

下游适应性改进

尽管LoRA在某些下游任务上可以实现适当的适应性能,但在许多下游任务上(如数学推理[200-202]),LoRA与全量微调之间仍存在性能差距。为填补这一差距,许多方法被提出以进一步提高LoRA在下游任务中的适应性能。通常,现有方法从以下几个角度改进下游适应性能:

  1. 突破低秩瓶颈,参见图2(c);

  2. 自适应分配不同LoRA模块的秩,参见图2(d);

  3. 优化LoRA的学习过程;

  4. 与其他学习范式结合。

结论与未来方向

在本综述中,我们系统地回顾了LoRA在下游适应性改进、跨任务泛化、效率提升、联邦学习和应用等方面的最新进展。从这一综述中,我们可以发现LoRA在参数效率、可插拔性、兼容性和实现跨任务泛化的简便性方面具有显著优势,使其成为LLMs应用中最重要的技术之一。最近的进展进一步提升了LoRA的泛化能力和效率,并激发了其在更多场景中应用的潜力。以下列出了LoRA在未来将不可或缺的三个发展方向。

用于生成即服务(GaaS)的LoRA

在生成即服务(GaaS)中,基于云的平台为用户提供生成性人工智能(AGI)服务。GaaS使用户无需部署本地计算资源即可享受AGI服务。由于用户的需求多样化,提供各种功能的GaaS是必要的。为了实现这些各种功能,我们可以为每个功能构建一个LoRA插件。LoRA的参数效率和可插拔性可以促进高效的功能构建和执行。此外,GaaS平台上的服务会随时间迅速变化。为了跟上这些变化,我们可以通过组合先前的插件来初始化新的LoRA插件。LoRA的跨任务泛化能力可以促进服务更新的快速适应。

用于持续预训练的LoRA

在持续预训练中,基础模型通过无标签的用户数据持续训练,以使模型适应特定领域。通常,自监督训练目标与预训练相同,学习率则比预训练小得多。持续预训练是构建垂直领域LLMs的重要阶段。然而,这在计算上非常昂贵,阻碍了垂直领域LLMs的发展,尤其是对于计算资源有限的组织。增强LoRA以进行持续预训练并降低其计算成本是值得探索的方向。

用于自主代理的LoRA

在基于LLM的自主代理中,代理被赋予特定角色。根据角色和环境,代理会采取行动来回应用户或其他代理的请求。这些行动可以基于自我知识或为特定领域任务设计的工具。这些请求和行动被存储在内存中,以支持未来的请求。

在当前的代理中,角色通常通过提示来分配;然而,当角色复杂且相关数据量大时,提示可能无法全面描述角色。通过从与角色相关的数据中训练LoRA插件来分配角色可能是更好的选择。此外,代理的工具也可以是LoRA插件。通常,内存通过检索增强生成(RAG)来增强代理;然而,由于输入令牌的限制和上下文学习的缺点,基于RAG的支持可能效果不佳。相比之下,我们可以使用基于LoRA的持续学习来构建内存插件,从而解决RAG的问题。因此,值得探索LoRA驱动的代理。

总之,LoRA在生成即服务、持续预训练和自主代理等领域展现出巨大的潜力,未来的研究将进一步挖掘和扩展LoRA的应用,使其在越来越多的实际场景中发挥重要作用。

相关链接:https://arxiv.org/abs/2407.11046

大模型训练——PEFT与LORA介绍 本文针对大模型的低资源训练策略LORA的原理和代码实现进行了介绍。 阅读详情

相关推荐

LoRA综述来了! 浙大《大语言模型的LoRA研究》综述

LoRA在参数上非常高效,因为它仅更新模型参数的一小部分,从而在不增加推理延迟的情况下减少了微调所需的内存和计算要求[187]。在本节中,我们首先介绍LoRA的细节,然后介绍现有的聚焦于LoRA理论分析的工作。在内部参数方法中,LoRA是使用最广泛的方法,因为它在多个下游任务上可以实现与全量微调相当或更好的下游适应性能[9],且易于实施。总之,LoRA在生成即服务、持续预训练和自主代理等领域展现出巨大的潜力,未来的研究将进一步挖掘和扩展LoRA的应用,使其在越来越多的实际场景中发挥重要作用。

lqfarmer的博客 1921

什么是LoRA模型?如何使用和训练LoRA模型?你想要的都在这!

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。虽然使用成型的LoRA很方便,但通常我们在生图的,可能很难找到完全匹配的,此时就需要我们自己动手训练了,毕竟自己动手丰衣足食,几个步骤简单为大家讲解如何训练~AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。下面是我们生成出来的一组图。

阿道夫的博客 1万+

【大语言模型学习】LORA微调方法

现状:对大型语言模型进行完整微调的成本高昂。LoRA 方法:通过插入可训练的低秩矩阵(A 和 B)来代替完整的权重更新,从而减少对计算和存储的需求。优势:减少了计算需求和存储开销,不增加推理延迟,可用于大规模的模型适应。

网络空间安全|人工智能|计算机科学 1458

什么是LoRA模型,如何使用和训练LoRA模型?你想要的都在这!

LoRA的全称是,可以理解为stable diffusion(SD)模型的一种插件,和hyper-network,controlNet一样,都是在不修改SD模型的前提下,利用少量数据训练出一种画风/IP/人物,实现定制化需求,所需的训练资源比训练SD模要小很多,非常适合社区使用者和个人开发者。LoRA最初应用于NLP领域,用于微调GPT-3等模型(也就是ChatGPT的前生)。

yang7711的博客 3万+

AI大模型探索之路-训练篇16:大语言模型预训练-微调技术之LoRA

在自然语言处理领域,大语言模型的预训练-微调技术已经成为一种常见的方法。其中,LoRA(Low-Rank Adaptation)是一种新颖的微调技术,通过引入低秩矩阵来调整模型的行为,以提高模型在新任务上的表现。本文将对LoRA的原理、优势以及应用进行详细介绍。LoRA是一种新颖的微调技术,通过引入低秩矩阵来调整模型的行为,以提高模型在新任务上的表现。它具有参数高效、计算复杂度低等优点,因此在自然语言处理领域具有广泛的应用前景。

寻道AI,探索AI无限可能! 4231

IT运维必备 开源Urbackup 备份系统部署教程 实战操作

手动添加ip方式检查是否在线 ,linux需要按上述步骤6配置server端地址 不然一直不会进去状态栏。安装依赖sudo apt install -y libcrypto++-dev。补充客户端手动触发备份命令 (一般在服务端操作即可,特殊情况客户端进行操作)修改ubuntu主机名 建议修改为ip 方便上线以ip命名上线。默认客户端安装完毕大概几分钟之内服务端会自动上线。配置客户端指向server端地址。(2)ubuntu 客户端设置。新起一个远程窗口查看配置状态,配置客户端备份文件目录。

qq_34981755的博客 1289

大语言模型的LoRA研究综述!

大模型低秩适应技术(Low-RankAdaptation,LoRA)通过可插拔的低秩矩阵更新密集神经网络层,是当前参数高效微调范式中表现最佳的方法之一。

2301_81888214的博客 1279

MAPPO实战:从理论到代码的协作智能体训练指南

本文详细介绍了MAPPO算法在多智能体协作训练中的实战应用,从理论基础到代码实现全面解析。通过对比PPO与MAPPO的差异,深入讲解CTDE框架、网络架构设计、参数调优等关键环节,并提供实际项目中的调参经验和常见问题解决方案,帮助开发者快速掌握这一强化学习前沿技术。

weixin_42561040的博客 267

一文读遍 LoRA 家族:大语言模型高效训练的“秘密武器“

LoRA 及其一系列变体从不同维度对大语言模型的训练进行了优化。LoRA 通过添加低秩矩阵 A 和 B 开启了高效训练的大门;LoRA + 优化学习率提升训练效率;VeRA 和 LoRA - FA 减少参数数量;LoRA - drop 智能筛选训练层;AdaLoRA 动态调整矩阵秩;DoRA 分解权重使训练更接近微调;Delta - LoRA 更新预训练权重突破性能瓶颈。

Python_cocola的博客 1397

AI应用架构师干货:智能财务分析AI平台可视化模块设计(附最佳实践)

智能财务分析的价值,从来不是“AI模型有多准”,而是“财务人员能用上AI的结果”。可视化模块的设计,本质是**“站在业务用户的角度,重新定义技术的价值”**——它不需要复杂的动画,不需要华丽的特效,只需要“把AI的结果翻译成财务人员能看懂的语言”。作为AI应用架构师,我们的使命不是“打造最先进的技术”,而是“打造最有用的技术”。而可视化,就是连接技术与业务的那座“桥”。附录:实战项目GitHub仓库(注:此处可放置实际项目的GitHub链接,包含完整代码、数据样例、部署文档)作者简介。

SuperAGI2025 1157

基于光电传感的非接触式酒精浓度检测系统设计与实现

本文详细介绍了基于光电传感技术的非接触式酒精浓度检测系统设计与实现。系统利用940nm红外LED和OPT101光电传感器,结合朗伯-比尔定律,通过STM32微控制器进行信号采集与处理,实现了快速、准确的酒精浓度测量,测量精度达±1%,适用于工业检测和便携式应用场景。

y7z8a的博客 365

使用LoRA对大语言模型LLaMA做Fine-tune

目前有大量对LLM(大语言模型)做Fine-tune的方式,不过需要消耗的资源非常高,例如Stanford Alpaca: 对LLaMA-7B做Fine-tune,需要4颗A100 (80GB) GPUFastChat/Vicuna: 对LLaMA-7B做Fine-tune,需要4颗A100 (40GB) GPU这种资源需求令普通的学习者望而却步,使用LoRA则可以较好的解决这个问题LoRA全称为。

蒋含竹的博客 1万+

【GlobalMapper精品教程】001:GlobalMapper23+24+25 Pro-x64中文汉化版安装教程(附软件包下载)

Global Mapper 23+V24+V25中文汉化版安装教程及免费下载地址,是一款非常专业的地图绘制软件,功能非常的丰富,内置距离和面积计算,包括光栅混合、对比度调节、海拔高度查询、视线计算以及一些高级功能,通过地表数据观察分水岭、对3Dpoint数据转换为三角多边形和网格化等设置。本文讲解GlobalMapper23.1 Pro-x64安装过程。

智慧空间实验室 3万+

使用 PEFT 和 LoRa 技术微调(fine-tuning)大语言模型指南

微调是获取一个已经在某些任务上进行过训练的模型,然后对其进行调整以执行类似任务的过程。当一个新的数据集或任务需要模型进行一些修改时,或者当模型在特定任务上表现不佳时,通常会使用微调。例如,一个经过训练生成故事的模型可以被微调来生成诗歌。这是可能的,因为模型已经学会了如何生成自然语言和编写故事,如果对模型进行适当的调整,这种技能也可以用于生成诗歌。PEFT(参数高效微调)是一组技术或方法,旨在以最节省计算资源和时间的方式微调大型模型,同时又不会损失完全微调所能达到的性能。

Whoisbug的博客 2067

从 SAP BTP trial 到第一个 CPI iFlow 的实操路线图

本文介绍了如何从零开始学习SAP CPI(现称SAP Integration Suite中的Cloud Integration能力)。主要内容包括:1)明确学习边界,建议使用SAP BTP trial账号进行个人练习,注意90天有效期限制;2)理解SAP BTP账号模型层级结构(Global Account→Subaccount→Space);3)详细说明申请trial账号流程,推荐选择Singapore区域以避免兼容问题;4)指导如何检查Entitlements和Quotas,强调应专注于SAP Inte

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 171

昇腾,Ascend,NPU,mindie,镜像,部署vllm:第5篇,昇腾环境下部署蒸馏版deepseek-r1,并在dify中注册模型供应商

这两天没少折腾deepseek-r1。之前在A100上用ollama部署了一份DeepSeek-R1-Distill-Qwen-32B,感觉真的特别慢。现在,再用昇腾部署一遍,看看速度能不能更快。p.s. 类似的内容其实已经写了很多遍了。但感觉之前写得都太碎,不够顺畅。接着新模型写篇长文,把能包括的都包括进来。这样大家也不需要到处翻来翻去。

xiezhipu的博客 2450

LORA概述: 大语言模型的低阶适应

LoRA的核心思想在于优化预训练语言模型的微调过程,通过有效地处理权重矩阵的变化(即梯度更新的累积),使其具有“低秩”结构。简而言之,这意味着可以通过低秩分解有效地表示变化矩阵。具体来说,对于预训练权重矩阵W₀,其更新量可以表示为∆W = BA,其中B和A都是低秩矩阵(例如,秩为r,r明显小于矩阵维度d)。在训练期间,W₀被冻结,而B和A中的参数是可训练的。这明显减少了适应的可训练参数数量。如下图所示,在原始预训练语言模型旁边添加一个旁路,执行降维再升维的操作,以模拟内在秩。

qq128252的博客 2224

RAG 提示词工程最佳实践

虽然目前网络上关于提示工程的相关资料已经多如牛毛,然而 RAG (检索增强生成) 任务中提示工程如何进行的资料相对而言却较少。不少朋友之前也热烈的讨论过 RAG 场景下提示词的运用,因此 Zen 禅与计算机程序设计艺术 特别推出 RAG 任务下的提示词实践经验系列分享。RAG 是检索增强生成(Retrieval Augmented Generation)的简称,是当前最火热的企业级LLM应用方案。

AI天才研究院 2014

【StableDiffusion教程】网易出品:《Stable Diffusion LoRA模型训练指南》电子版分享,一文带你通关LoRA模型训练

LoRa到底是什么呢?在无数的教程、攻略和网站上大家分享的提示词里,都能看到这个名词。

A2421417624的博客 1272

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【微调实践】大语言模型LoRA微调细节全解析

在本文中,我们探讨了 LoRA 微调方法,并以 StarCoder 模型的微调为例介绍了实践过程。通过实践过程的经验来为大家展示一些细节及需要注意的点,希望大家也能通过这种低资源高效微调方法微调出符合自己需求的模型。​。

2401_84495872的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 大模型常用评测基准汇总全网最全版,内含优快云独家福利!
下一篇: 什么是大模型?一文带你搞懂大模型的底层逻辑
大模型应用场景
博客等级 码龄5年 7675粉丝 1350原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值