游乐游手机版
首页/AI热点日报/热点详情

LoRA低秩适应技术全面详细介绍与微调应用指南

类型:热点整理2026-07-01
大语言模型(LLM)经过预训练(pre-training)后,已经具备通用的语言能力——如续写、翻译、对话等。然而,要让模型精准执行特定任务(例如医疗问答、代码生成或情感分析),还需要额外的“调教”步骤,即微调(fine-tuning)。微调方法种类繁多,如何选择最合适的方案?下面从最常用的策略开始

大语言模型(LLM)经过预训练(pre-training)后,已经具备通用的语言能力——如续写、翻译、对话等。然而,要让模型精准执行特定任务(例如医疗问答、代码生成或情感分析),还需要额外的“调教”步骤,即微调(fine-tuning)。微调方法种类繁多,如何选择最合适的方案?下面从最常用的策略开始讲解。

常见的微调方法包括:

  • 全参微调(Full Fine-Tuning):更新所有模型参数,适合数据量充足且对性能要求极高的场景。
  • 参数高效微调(PEFT):冻结大部分参数,仅调整某些层或模块,例如LoRA、Adapter等。
  • 指令微调(Instruction Tuning):使用特定格式的数据集微调,提升模型对指令的理解与响应能力。
  • 持续学习(Continual Learning):不断注入新数据训练,使模型逐步适应不断变化的需求。

但LLM的参数量高达数十亿甚至上千亿,全参微调对算力的要求极为苛刻——训练周期长、显存占用高、成本惊人。因此,当前主流方案已转向PEFT,其核心思路很简单:仅训练少量参数,同时保持微调后的模型性能接近全量微调的水平。

LoRA 介绍

Adapters——引入小型模块的思路

PEFT的一种实现思路是Adapter,即在Transformer的层之间插入小型可训练模块。这种方式冻结大部分原始模型参数,仅微调这些Adapter的参数,便能在特定任务上获得显著提升。

研究表明,仅更新3.6%的参数即可达到全参数微调的效果(参见论文《Parameter-efficient transfer learning for NLP》)。Adapter可放置于模型的不同位置,例如每层Transformer的输出后或注意力层内部。

本文重点介绍的LoRA(Low-Rank Adaptation)是目前最流行的PEFT技术之一,从某种意义上也可视为一种Adapter。当然,其他PEFT方法还包括前缀微调、提示微调等,但LoRA因效果优异且实现简单,已成为业界首选。

什么是LoRA?——低秩适应的原理

论文链接:LoRA: Low-Rank Adaptation of Large Language Models

LLM的Transformer架构中包含大量高维线性变换矩阵。研究人员发现,当模型适配特定任务时,这些参数矩阵实际上是“过度参数化”的——它们存在一个较低的内在秩(intrinsic rank)。换言之,真正有效的参数更新可以用更小规模的矩阵来表示。

LoRA的核心思路是:在预训练模型的参数矩阵上添加一个低秩分解矩阵,用于近似每一层的参数更新,从而大幅减少需要训练的参数数量。具体操作是:冻结预训练模型的权重,同时将可训练的秩分解矩阵注入到Transformer的每一层中。

which freezes the pre-trained model weights and injects trainable rank decomposition matrices into each layer of the Transformer architecture, greatly reducing the number of trainable parameters for downstream tasks

LoRA如何工作?——矩阵分解的智慧

全参微调需要更新整个大矩阵,而LoRA巧妙地将其分解为两个小矩阵的乘积。以10×10矩阵为例,若需更新100个参数,当秩r=1时,仅需更新10+10=20个参数,且效果几乎相同。

LoRA不仅可应用于线性层,还能插入到注意力层和嵌入层,灵活性极高。

LoRA工作流程

给定参数矩阵 W₀,更新过程可表示为 W = W₀ + ΔW。LoRA的做法是:冻结 W₀ ∈ Rd×d,然后通过两个低秩矩阵 A ∈ Rd×r 和 B ∈ Rr×d 来近似参数更新矩阵 ΔW = BA(实际论文中常用 ΔW = BA 或 ΔW = AB,此处使用常规符号表示)。其中 r 远小于 d,是缩减后的秩。微调期间,W₀ 保持不变,仅更新 A 和 B,从而适配下游任务。

LoRA参数初始化

  • 训练LoRA时,矩阵A通常采用正态分布初始化,矩阵B则初始化为零矩阵。

  • 秩 r 常设置为4的倍数(例如8、16、32等)。

为什么A用正态分布初始化?

  • 平衡训练初期的影响:正态分布初始化的数值很小,加上B初始化为0,可确保新增偏置矩阵对原始预训练权重无影响,避免破坏模型已有性能。
  • 提供随机性:为模型探索参数空间提供随机性,增加找到最优解的概率。
  • 保证梯度传播:有助于训练初期梯度有效流动,防止梯度消失或爆炸。

为什么B初始化为零矩阵?

  • 若A和B均初始化为0,容易导致梯度消失。
  • 若A和B都用正态分布初始化,则初始ΔW会过大,引入过多噪声,模型难以收敛。

LoRA所需的显存估计

LoRA的改进方向

尽管LoRA效果出色,但其与全量微调之间仍存在一定性能差距。为缩小这一差距,研究者提出了多种改进方案:

  • 打破低秩瓶颈:ReLoRA 提出“合并和重置”(merge-and-reinit)方法,在微调过程中周期性地将LoRA模块合并到大模型中,然后重新初始化LoRA模块和优化器状态,从而突破低秩限制。
  • 动态秩分配:AdaLoRA 将参数更新矩阵参数化为奇异值分解(SVD)形式,通过剪枝奇异值动态调整不同层的秩,使模型自动分配资源。
  • 训练过程优化:DoRA(权重分解低秩适应)通过约束梯度更新,侧重更新参数的方向变化,而非幅度。

QLoRA——进一步降低显存消耗

尽管LoRA已大幅降低显存需求,但上百亿参数的模型微调仍然成本高昂。QLoRA提出新思路:将原始参数矩阵量化为4比特,而低秩部分(A和B)仍用16比特训练。这样,显存需求从LoRA的2Ω进一步降至0.5Ω(Ω为原始模型大小)。借助QLoRA,甚至可在单张A6000(48GB)显卡上微调65B参数的模型,性能接近16比特微调的效果。

LoRA为何有效?——内在低维性的支撑

相关论文:Measuring the Intrinsic Dimension of Objective LandscapesIntrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning

which show that the learned over-parametrized models in fact reside on a low intrinsic dimension. We hypothesize that the change in weights during model adaptation also has a low “intrinsic rank”

研究表明,语言模型针对特定任务微调后,权重矩阵通常具有很低的本征秩(Intrinsic Rank)。研究者认为,参数更新量即使投影到较小的子空间中,也不会影响学习效果。因此,固定预训练模型参数不变,在原始权重矩阵旁添加低秩矩阵的乘积作为可训练参数,就能很好地模拟参数的真实变化——这正是LoRA有效性的核心逻辑。

来源:https://www.53ai.com/news/finetuning/2025022504897.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。