词元字典CIYUAN ZIDIAN

LoRA是什么意思?和微调、QLoRA有什么关系

更新于 2026-10-26 · ciyuanzidian.com

简答:LoRA是低秩自适应方法,属于参数高效微调:冻结基础模型,只训练少量适配器参数,因此比全参数微调更省显存和存储,但能力受数据与配置影响。

定义:LoRA(Low-Rank Adaptation,低秩自适应)是一种参数高效微调方法,通过冻结基础模型并训练低秩更新矩阵,让模型适应特定任务。

先看结论:LoRA、微调和QLoRA怎么区分

如果你只记一句话:微调是总称,LoRA是其中一种参数高效微调方法,QLoRA则是在量化基础模型上使用LoRA。这里讨论的是大模型训练方法,不是同名的其他技术。

方法主要改变什么基础模型参数适合解决的问题
提示词改变输入表达不训练任务描述清楚、希望快速验证效果
RAG在生成前检索外部资料通常不必修改知识经常更新、回答需要引用资料
全参数微调更新模型的大量或全部参数会更新任务变化大、需要更强的模型行为适配
LoRA训练低秩适配器冻结希望用较少训练参数适配任务
QLoRA量化基础模型,再训练LoRA适配器冻结且量化显存有限时进行参数高效微调

LoRA原论文将它定义为:冻结预训练模型权重,并在Transformer层中加入可训练的低秩矩阵。LoRA原始论文;QLoRA论文则描述了在冻结的四位量化基础模型上反向传播到LoRA适配器的做法。QLoRA原始论文

LoRA到底改变了模型的什么

可以把一个已经训练好的模型想成一本已经写完的厚教材。全参数微调相当于重新修改大量正文;LoRA则像在教材旁边放一套针对某个任务的“批注页”,使用时把基础模型和批注页一起提供给模型。

从形式上看,原始权重矩阵可以理解为W,LoRA不直接重写整个W,而是学习一个较小的更新量ΔW。这个更新量被拆成两个低秩矩阵的乘积,常写作ΔW=B×A。训练时,基础模型权重保持冻结,主要更新A和B。

这就是“低秩”的含义:不是为每个原始参数都学习一个独立的新值,而是用两个规模更小的矩阵表达任务相关的变化。矩阵维度、低秩大小、插入哪些层等配置,会影响训练效果和资源占用,不能把某个固定配置当成所有模型的通用答案。

Hugging Face 的PEFT文档也将LoRA归入参数高效微调方法,并说明这类方法只训练少量额外参数,以降低计算和存储成本;文档同时提醒,参数更少也意味着表达能力并不一定等同于全参数微调。PEFT官方文档

为什么LoRA通常更省资源

全参数微调需要为大量模型参数保存梯度、优化器状态和更新结果。LoRA冻结基础模型后,训练重点转移到规模更小的适配器,因此训练参数、检查点和多任务保存方式通常更轻量。

但“更省资源”不等于“完全不占资源”。训练仍需要加载基础模型、处理数据、保存中间状态,并承担推理时加载适配器的开销。实际资源会受到模型规模、序列长度、批大小、低秩大小、训练精度和实现方式影响,不能仅凭LoRA三个字推断具体显存需求。

LoRA原论文报告了相较于全参数微调在可训练参数和GPU内存方面的明显减少,但论文中的结果来自特定模型、任务和实验设置,不能直接当作所有项目的固定比例。LoRA原始论文

LoRA和QLoRA有什么关系

QLoRA可以理解为“量化基础模型 + LoRA适配器”。普通LoRA通常冻结基础模型,但基础模型仍可以用较高精度加载;QLoRA进一步把冻结的基础模型量化,以减少加载和训练过程中的内存压力,然后训练LoRA适配器。

QLoRA论文描述的核心流程是:将预训练语言模型量化为四位形式,保持量化基础模型冻结,并把梯度传递到低秩适配器。论文还介绍了NF4、双重量化和分页优化器等配套设计。QLoRA原始论文

因此,LoRA和QLoRA不是互相替代的两个完全平行概念:LoRA强调“训练低秩适配器”,QLoRA强调“在量化基础模型上进行LoRA式微调”。量化可能带来额外的精度、兼容性和实现约束,是否适合要结合模型架构与训练环境验证。

LoRA、提示词和RAG分别适合什么情况

这三个概念经常被放在一起比较,但它们解决的问题不同。

生活化地说,提示词像给员工写一张临时工作说明;LoRA像给员工进行专项培训;RAG像给员工配一个随时可以查阅的资料库。三者可以组合,但不能把LoRA当成自动更新知识库的方法。

实际选择LoRA前的四步检查

  1. 先明确目标:你要改变的是回答风格、输出格式、任务能力,还是需要让模型掌握经常更新的事实。
  2. 先做提示词验证:如果少量示例已经能稳定完成任务,未必需要训练LoRA。
  3. 区分知识和行为:知识经常变化时,优先评估RAG;稳定的格式、风格和任务流程,才更适合评估LoRA。
  4. 准备验证集:不要只看训练集效果,应使用未参与训练的样本检查准确性、格式遵循、泛化能力和原有能力保留情况。

如果选择LoRA,至少要记录基础模型、训练数据版本、适配器配置、训练目标和评测结果。不同模型的层名称、可训练模块和量化支持可能不同,具体配置应以所用框架和模型文档为准。Hugging Face PEFT文档提供了LoRA配置、适配器加载和切换等实现说明,但并不代表所有模型都支持完全相同的配置。PEFT官方文档

LoRA的常见误区与实际影响

误区一:LoRA就是完整微调

不准确。LoRA属于参数高效微调,基础模型通常保持冻结,训练的是额外适配器参数。它的优势是资源和管理方式更轻,但不代表任何任务都能达到全参数微调的效果。

误区二:LoRA训练后基础模型被永久改写

通常不应这样理解。LoRA适配器可以独立保存并与基础模型一起加载;某些工具支持把适配器合并进基础模型,但合并、卸载和再次切换的行为取决于具体实现。官方文档未提供所有框架和模型的一致回退规则,因此不能假设合并后一定可以无损拆回。

误区三:LoRA能自动补充最新知识

LoRA只能学习训练数据中提供的模式和信息,不能自动连接实时资料。若问题核心是不断变化的文档、库存、规则或内部资料,应单独评估RAG、数据更新流程和引用核验。

误区四:训练参数越大,效果一定越好

低秩大小、学习率、训练轮数和目标模块都会影响结果,但没有一个对所有模型和数据集都适用的固定答案。训练数据质量、任务定义和评测方式同样重要。

常见问题

LoRA是不是一种微调?

是。微调是一个总称,LoRA属于参数高效微调方法。它冻结基础模型,只训练低秩适配器参数。

LoRA会修改原来的基础模型吗?

通常训练阶段不会直接更新基础模型权重,而是单独训练适配器。是否支持合并适配器、如何卸载或拆分,要看具体框架和模型实现。

LoRA和QLoRA哪个更好?

两者不是简单的优劣关系。LoRA强调低秩适配器,QLoRA是在量化基础模型上使用LoRA。显存有限时可以评估QLoRA,但还要检查量化和模型兼容性。

LoRA适合训练最新知识吗?

如果知识经常变化,LoRA通常不是唯一或首选方案。应先评估RAG或其他外部资料接入方式;LoRA更适合稳定的任务格式、风格和行为适配。

LoRA和提示词有什么区别?

提示词只改变输入内容,不训练模型;LoRA通过训练适配器改变模型在特定任务上的行为。实际使用时可以先用提示词验证需求,再决定是否训练LoRA。

相关阅读

参考资料

  1. LoRA: Low-Rank Adaptation of Large Language Models
  2. QLoRA: Efficient Finetuning of Quantized LLMs
  3. PEFT官方文档
  4. The Power of Scale for Parameter-Efficient Prompt Tuning
  5. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks