什么是LoRA?一篇文章给你讲清楚LoRA(低秩适应)

284 阅读3分钟

01 什么是“LORA”?

专业解释

LORA(Low-Rank Adaptation,低秩适应)是一种模型的轻量微调方法,通过向模型的部分层添加可训练的低秩矩阵模块,实现模型在特定任务上的能力调整,同时保持原模型参数不变。

图片

通俗解释

LORA 是一种给大模型“加外挂”的方法,让我们在不修改原始模型的情况下,用极少的额外参数就能让模型学会新任务。

比喻理解

把大模型比作一套西装,LORA就像是在西装外面加了一块贴身口袋,不用重新缝制整件衣服,就能增加一个实用的新功能。

背景补充

LORA 由微软研究员 Edward J.Hu 等人在2021年提出,原论文为《LoRA: Low-Rank Adaptation of Large LanguageModels》

图片

02 为什么要用“LORA”?

1计算资源需求低

只需训练极少量参数,显著降低显存和计算开销。训练速度更快,甚至在消费级显卡上也能完成微调。

2 性能接近全量参数微调

通过插入的低秩矩阵,LORA 能有效捕捉任务相关特征。在大多数 NLP 和生成任务中,其性能与全量微调相近。

3 模块小巧,部署灵活,即插即用

LORA 微调产生的模块通常仅几十到几百 MB,便于存储、分享与快速切换。它与原始大模型解耦,推理时加载目标 LORA 模块即可,无需改动底座模型,真正实现“即插即用”。

图片

左图表示的“全量微调”的参数量为: dd,右图表示的LORA微调的参数量为: 2r*d,后者远远小于前者。(r<<d)

03 “LORA”的原理

LORA 的核心思想是: 在不修改模型参数的情况下,通过添加一个额外的可训练模块,对模型行为进行小范围、有针对性的调整。

LORA 的工作机制包括两个核心阶段

微调阶段: 仅对低秩矩阵进行参数调整在大模型中,像注意力层的权重矩阵通常规模很大。如果直接对这些矩阵进行微调,不仅计算开销大,还容易破坏原有能力。

LORA 的做法是:

图片

这种“低秩矩阵分解”的方式本质上是用更少的参数去近似建模一个复杂变换。

推理阶段: 在计算时叠加 LORA 模块

在推理过程中,模型的行为是这样的:

图片

这样一来:

模型的核心结构不变,仍然使用原始训练好的参数。

LORA 模块则在不干扰主干的前提下,对最终输出产生影响。

整体就像给模型“加了一个外接调节器”,使其在推理时输出更加贴合任务需求。

图片

04 “LORA”的典型应用场景

1大语言模型(LLM) : 通过 LORA 微调适配具体任务(如旅行助手、代码生成),无需改动原始基座模型。

2 扩散模型: 利用 LORA 定制化生成不同风格的图片(如艺术、写实、赛博朋克风格)。

3边端设备: 只需部署一个基座模型,结合多个 LORA 动态加载切换,即可适配不同推理任务,降低资源开销。

图片

AI大模型系统化学习入口