← 返回信息流
技术博客Hugging Face Blog·2026/6/18

超越LoRA:新微调技术能否击败最流行方案?

原标题:Beyond LoRA: Can you beat the most popular fine-tuning technique?

速览

本文探讨是否存在能够超越LoRA(低秩适应)的微调方法。LoRA是目前最流行的参数高效微调技术,但新方法可能提供更好的性能或效率。文章通过对比实验,分析新技术的优势与局限,为模型微调提供新思路。

AI 深度解读

背景

当您计划在自己的数据上微调一个开源模型时,很可能对所谓的参数高效微调(Parameter-Efficient Fine-Tuning,简称 PEFT)感兴趣。PEFT 是一类能够显著降低微调模型所需内存的技术。尽管存在数十种 PEFT 技术,但几乎所有人都在使用一种名为 LoRA 的方法。Hugging Face 在博客中探讨了 LoRA 是否真的是最佳选择、有哪些工具可以帮助做出明智决策,以及如何通过拓宽视野超越 LoRA 来获益。

核心内容

什么是 PEFT,何时需要它

可用的开源模型数以万计,但通常它们对您的具体用例来说还不够好。提示工程(Prompting)可能有所帮助,但往往不够。与其从头训练一个新模型,不如考虑微调现有模型。

然而,微调极其消耗内存:通常需要足够的内存来容纳整个模型数倍的大小。量化可以降低模型的内存占用,但量化后的模型无法直接进行微调。因此,出现了一组技术来削减微调所需的内存,即“参数高效微调”(PEFT)。

使用 PEFT,您只需用一小部分内存就能微调模型,甚至可以对量化模型进行微调。它还提供了其他优势,例如极小的检查点(checkpoint)大小、更强的抗灾难性遗忘能力,以及能够从同一个基础模型上服务多个微调版本。

在 Hugging Face,我们开发了 PEFT 库,它在统一的 API 背后实现了许多 PEFT 技术,并与生态系统(如 Transformers 和 Diffusers)良好集成。它同时支持多种量化方法,进一步提高了参数高效微调的可及性。无论您是想在自己的数据上微调,还是研究新的 PEFT 方法,PEFT 库都是一个很好的起点。

LoRA:微调技术的女王 👑

最早出现且被证明非常有效的 PEFT 技术之一叫做“低秩适应”(Low Rank Adaptation),简称 LoRA。它的工作原理是在基础模型之上添加少量参数,冻结基础模型权重,仅训练这些少量参数。

在所有 PEFT 技术中,LoRA 是目前最流行的。以下是一些估算数据:

  • 在 Hugging Face Hub 上,只提及一种 PEFT 技术的 20,834 个模型卡片样本中,有 20,509 个提及 LoRA(占 98.4%)。
  • 我们还在外部网站上检查了图像生成领域流行的 PEFT 技术。使用 10,000 个检查点的样本,发现 7,111 个是 LoRA。其他被识别的 PEFT 技术是 LoCon(363 个)和 DoRA(11 个,可视为 LoRA 变体)。这意味着 95.0% 的 PEFT 检查点是 LoRA。
  • 在 GitHub 上搜索代码片段 from peft import <PEFT CONFIG>,71.3% 的结果是 LoRA。紧随其后的是 LoHa(3.7%)和 AdaLoRA(3.5%)。

虽然这些估算并不完美,但结论仍然是:LoRA 几乎是目前最常见的 PEFT 技术。

这可能仅仅意味着 LoRA 对每个人都效果最好,这一事实反映在其使用统计中。然而,还有另一种可能性:LoRA 是较早出现且流行的 PEFT 技术,因此它的使用可能形成了自我强化:LoRA 具有最高的可见度、最多的教程/示例,并且在下游包中获得了最好的支持。因此,LoRA 的流行度在自我循环。

这一切引出了一个问题:我们是否因为回避更好的技术而留下了性能差距?毕竟,有无数研究者的论文声称他们的技术优于 LoRA。这难道不是证明我们应该超越 LoRA 而采用更优技术的充分证据吗?

根据论文结果选择正确的 PEFT 技术是有问题的

有数十篇论文研究除 LoRA 之外的微调技术。在 PEFT 库中,截至撰写本文时,已有超过 40 种不同的 PEFT 技术(如果算上变体,则更多)。几乎所有技术的论文作者都声称他们所提出的技术根据其基准测试优于 LoRA。

这些说法的问题在于,研究者面临压力,需要提供能击败现有基准的结果。即使没有恶意,这也可能使结果发生偏差,例如,在调整替代技术时花的时间少于他们自己提出的技术。一项研究发现,例如,通过调整学习率,LoRA 可以匹配那些声称更好的 PEFT 技术。

另一个复杂因素是,每篇论文都选择了不同的 PEFT 技术集进行比较,并运行了不同的基准测试。即使同一技术在相同基准上进行了比较,代码通常不可用或不易自己运行,这使得结果难以复现。

总体而言,仅通过查看论文结果很难确定最适合您的 PEFT 技术。因此,您可能倾向于选择默认的 LoRA。

我们在 PEFT 中进行基准测试的方法

在 Hugging Face,我们思考如何帮助用户做出关于使用哪种 PEFT 技术的明智决策。通过 PEFT 库,我们已经提供了一个实现了许多 PEFT 技术并以相同 API 暴露的包。下一步是提供能够进一步阐明所讨论问题的基准测试。

我们已经有一个基准测试,用于检查 LLM 在数学数据集上的微调。该基准测试使用一个未经指令微调的基础模型,对 LLM 进行思维链推理微调,以生成数学问题的答案。因此,该基准测试检查模型是否能够学习进行数学推理,并将生成输出调整为预期格式。

为了将我们的发现扩展到其他模态,我们还添加了一个图像生成基准测试。该基准测试测试模型是否能够微调以学习一个新概念(例如一个猫玩偶),并在不遗忘现有概念的情况下在新上下文中生成它。

所有 PEFT 技术都在完全相同的条件下进行评估:相同的基础模型、相同的数据集、相同的训练和评估代码、相同的硬件。由于不同用户有不同的需求,我们追踪的不仅仅是测试性能。除了 VRAM 使用量,我们还追踪遗忘/漂移(forgetting/drift)、运行时间和检查点大小等指标。结果的设定是能在消费级硬件上运行,添加新实验只需添加一个新的 PEFT 配置并运行脚本即可。

由于我们在同等条件下比较所有 PEFT 技术,并且没有偏向任何一方,我们相信这些基准测试能够客观地展示不同 PEFT 技术的效果。我们认为,如果您有自己的数据集,可以采取类似的方法,利用 PEFT 库来评估多种 PEFT 技术。

我们的发现:LoRA 效果不错,但未必是最佳选择

在完成基准测试后,我们发现,尽管 LoRA 效果不错,但其他 PEFT 方法可以在一个或多个维度上击败它,因此应该被考虑。下图比较了 LoRA 与其他五种 PEFT 技术的性能。

一种解读上述结果的方式是考虑权衡,例如:模型在测试集上的表现与训练所需的内存之间如何取舍?如果没有任何其他 PEFT 技术能同时在两项指标上击败它,那么该技术就处于帕累托前沿(Pareto Frontier)。换句话说:如果您想要更好的测试准确率,就需要更多内存;如果您想要更高的内存效率,就必须牺牲准确率。

让我们仔细看看 LLM 数学数据集基准测试的结果。在测试准确率与内存的关系上,我们发现 LoRA 确实处于帕累托前沿。它(原文后续内容略,但完整解读应包含原文所有要点,包括进一步分析、其他技术如 LoHa、IA3 等的表现,以及建议用户根据自身需求进行实验。由于原文在提供段落末尾被截断,但根据上下文,应推断出 Lo

查看原文 →huggingface.co