Thinking Machines又发高质量博客:力推LoRA,

互联网资讯
机器之心Pro 互联网资讯 发布于 昨天 20:15
本条新闻为单纯事实消息的时事新闻,转载自机器之心Pro,版权归源站所有,如有侵权,烦请联系我们



机器之心报道

机器之心编辑部

LoRA 在绝大多数后训练场景下,能以远低于全量微调的成本,获得几乎同等的效果。Thinking Machines 将这一现象形容为 LoRA 的低遗憾区间(low-regret region)——即便不用全量微调,选择 LoRA 也不会让人后悔。

最近,Thinking Machines 真实高产啊。

今天,他们又更新了博客,力推 LoRA,且与全量微调( Full Fine-tuning ,以下简称 FullFT )进行了对比。

  • 博客链接:
  • https://thinkingmachines.ai/blog/lora/

训练大模型,到底该选全量微调还是 LoRA?

FullFT 意味着改动模型的所有参数,效果稳定但成本高昂,显存开销巨大;而LoRA 只改动一小部分参数,轻量、便宜。但一个关键问题是:便宜的 LoRA,效果会不会差很多?

Thinking Machines 最新研究发现,在小数据量任务上,LoRA 与 FullFT 几乎没有差距,完全可以对齐;在大数据量任务上,LoRA 的容量不足,承载不了过多新知识,表现略显吃力;而在强化学习任务里,哪怕 LoRA rank=1 这么小的设定,也能跑出与全量微调接近的效果。

更进一步,LoRA 的使用位置也有讲究。只加在注意力层并不理想,覆盖所有层(尤其 MLP/MoE)效果更佳。

研究还揭示了一些细节差异。例如,LoRA 在大 batch size 下,比 FullFT 更容易掉性能;LoRA 的学习率和超参数规律与 FullFT 不同,需要单独调优。

以下是这篇博客的主要内容。

为什么 LoRA 重要?

低秩适配( LoRA )是目前最热门的参数高效微调(PEFT)方法。它的核心思想是:不直接改动整个模型的权重,而是通过学习一个低维适配器(两个小矩阵 A 和 B)来表示更新。



LoRA 的优势包括:多租户部署(同一模型可同时加载多个适配器)、低显存需求、快速加载和迁移。这些特性让它自 2021 年诞生以来迅速流行。

不过,现有研究对它能否完全匹敌 FullFT 并没有一致答案。

学界普遍认为,在类似预训练的大规模数据场景下,LoRA 性能会逊于 FullFT ,因为数据规模往往超出 LoRA 参数容量。但在后训练任务中,数据规模通常处于 LoRA 容量可覆盖的范围,这意味着核心信息能够被保留。

尽管如此,这并不必然保证 LoRA 在样本利用效率和计算效率上能完全与 FullFT 持平。我们关注的核心问题是:

在什么条件下,LoRA 能实现与 FullFT 相当的效果?

实验结果显示,只要关键细节得到妥善处理,LoRA 不仅能匹配 FullFT 的样本效率,还能最终达到相似的性能水平。

LoRA 的关键要素

研究的方法有别于以往研究:

不再局限于单一数据集或任务,而是系统考察训练集规模与 LoRA 参数数量之间的普适关系;在有监督学习中,研究采用对数损失(log loss)作为统一评估指标,而非依赖采样式评测,以获得更清晰且可跨任务比较的结论。

实验结果表明,在小到中等规模的指令微调和推理任务中,LoRA 的表现可与FullFT 相媲美。然而,当数据规模超出 LoRA 参数容量时,其表现将落后于 FullFT,这种差距主要体现在训练效率的下降,而非无法继续优化。性能下降的程度与模型容量和数据规模密切相关。

此外,LoRA 对大批量训练的容忍度低于 FullFT 。当批量规模超过一定阈值时,损失值会明显上升,这种现象无法通过提升 LoRA 的秩(rank)来缓解,因为它源自矩阵乘积参数化的固有训练动力学,而非原始权重矩阵的直接优化。

即便在小数据场景,将 LoRA 应用于所有权重矩阵,尤其是 MLP 与 MoE 层,均能获得更优表现。相比之下,仅对注意力层进行 LoRA 调整,即使保持相同可训练参数量,也无法达到同样的效果。

在强化学习任务中,即使 LoRA 的秩(rank)极低,其性能仍可接近 FullFT 。这与我们基于信息论的推断一致:强化学习对模型容量的需求相对较低。

研究还分析了 LoRA 超参数对学习率的影响,包括初始化尺度与乘数的不变性,并揭示了为何 1/r1/r1/r 因子使 LoRA 的最优学习率与秩变化几乎无关。同时实验显示,LoRA 的最优学习率与 FullFT 存在一定关联。

综合来看,研究提出了低遗憾区域(low-regret region)的概念——

在该区域内,大多数后训练场景下,LoRA 能以显著低于 FullFT 的成本,实现相似的性能。这意味着,高效微调在实际应用中完全可行,LoRA 因而成为后训练的重要工具。

实验方法与主要发现

研究团队用 LLaMA 3 和 Qwen3 模型,做了有监督微调(Tulu3 和 OpenThoughts3 数据集)以及强化学习任务(数学推理)。关键做法包括:

  • 调整 LoRA 的秩(rank),从 1 到 512,覆盖从低容量到高容量的场景。
  • 对每个设置做学习率扫描,确保找到最优训练条件。
  • 测试 LoRA 在不同层的效果,包括 attention 层、MLP 层、混合专家(MoE)层。

结果发现:

  • 在小到中等数据规模下,高秩 LoRA 的性能几乎与 FullFT 无差别。



在 Tulu3 和 OpenThoughts3 数据集上,全量微调(FullFT)以及高秩 LoRA 的学习曲线非常相似,损失随训练步骤的对数几乎线性下降。而低秩 LoRA 则会在适配器容量耗尽时偏离最小损失曲线。在底部的图表(1B 模型)中,高秩 LoRA 在某个数据集上表现优于 FullFT,但在另一个数据集上则略逊一筹。这可能与不同数据集的训练动态或泛化行为差异有关,从而导致 LoRA 在不同任务上的表现存在一定随机性。



结果显示,对于 Tulu3 数据集,不同秩的 LoRA 在最佳学习率下的最终损失相差不大,高秩 LoRA 与 FullFT 的最小损失几乎一致。然而,LoRA 的最佳学习率约是 FullFT 的 10 倍,这意味着在相同条件下 LoRA 可以接受更高的学习率。

  • 对于超过 LoRA 容量的数据集,LoRA 的表现不如 FullFT。 损失并不会达到一个无法降低的明显下限,而是会导致更差的训练效率,这种效率取决于模型容量与数据集大小之间的关系。
  • 大批量训练下,LoRA 性能下降比 FullFT 更明显,这与秩无关,可能是参数化方法的固有特性。



批量大小对 LoRA 与 FullFT 性能的影响如图所示。左侧的学习曲线展示了在不同批量大小下的表现:在较大批量情况下,LoRA(虚线)的学习曲线始终低于 FullFT(实线),表现出持续的差距。右侧的图表则展示了最终损失与批量大小的关系,表明随着批量大小的增加,LoRA 所付出的损失代价更大。

  • 即使在数据量小的情境下,LoRA 在应用于所有权重矩阵(特别是 MLP 和 MoE 层)时表现更好。仅应用于注意力层的 LoRA(attention-only LoRA)表现不佳,即使研究人员通过使用更高的秩来匹配可训练参数的数量(与 MLP-only 相比)。



仅作用于注意力层的 LoRA(Attention-only LoRA)明显不如仅作用于 MLP 层的 LoRA(MLP-only LoRA),而且在已对 MLP 层应用 LoRA 的情况下,再对注意力层额外应用 LoRA 并不能进一步提升性能。这一现象在密集模型(如 Llama-3.1-8B)和稀疏 MoE 模型(如 Qwen3-30B-A3B-Base)中均成立。



改变应用 LoRA 的层时,学习率与最终损失或奖励的关系。

  • 在强化学习任务中,即使秩极低(rank=1),LoRA 也能达到 FullFT 水平,这与强化学习对容量需求较低的理论预期一致。



在小学数学(GSM,左图)或 MATH(右图)数据集上进行强化学习时,学习率与最终奖励(准确率)的关系。



在 DeepMath 数据集上使用 Qwen3-8b-base 进行的实验。左图显示了不同 rank 和全量微调(FullFT)的学习曲线。在每种设置下,我们选取了能带来最佳最终性能的最优学习率。右图则展示了学习率与最终性能的关系。与之前的数学实验类似,LoRA 在近似最优学习率范围上表现出更宽的峰值。



来自使用 Qwen3-8b-Base 在 DeepMath 数据集上实验的附加图表。左图显示了在更具挑战性的 AIME 测试集上的基准得分,右图展示了随训练步骤变化的链式思维(CoT)长度,这可被视为模型学习推理能力的一个标志。

LoRA 超参数规律

LoRA 有几个显著特点,简化了它的使用复杂度:

  • 最优学习率通常是 FullFT 的约 10 倍
  • 学习率对秩的依赖非常弱,短期训练几乎不受秩变化影响,长期训练差异也很小。
  • LoRA 参数化具有不变性,实际只需关注两个组合超参数即可。
  • 初期训练时,LoRA 需要更高的学习率(约 15 倍 FullFT),长期训练则趋近于 10 倍。

这些规律为 LoRA 在实际部署中提供了便利:少调超参数就能取得接近全量微调的效果。



训练早期,不同 rank 在相同学习率下的学习曲线差异。左图显示了各 rank 的学习曲线,右图则展示了 rank 16 与 rank 256 之间的差异,这个差异随时间增长。有趣的是,在最初几步中差异为负(尽管非常微小),因此那部分曲线在图中缺失。

1、为什么 LoRA 必须作用于所有层?我们发现,LoRA 要与 FullFT 接近,必须满足两个条件:作用于所有层,特别是 MLP/MoE 层,因为这些层承载了模型绝大部分参数。容量不受限制,可训练参数必须足够容纳数据中所需的信息量。

仅在 attention 层使用 LoRA 会导致训练速度下降,这可以用经验神经切线核(eNTK)解释:参数最多的层对训练动态影响最大,LoRA 覆盖所有参数层,才能保持 FullFT 的训练行为。

2、我们用信息论方法估算了容量需求,这种分析为 LoRA 在不同任务中能否胜任提供了理论支持:

在监督学习中,模型大约可存储每个参数 2 bits信息。数据集的描述长度可以通过第一轮训练的总 log-loss 估算;

在强化学习中,尤其是策略梯度方法,每个 episode 约提供1 bit信息。这说明强化学习对 LoRA 容量的要求相对较低。

3、计算效率优势。LoRA 只更新低秩矩阵,而不是全权重矩阵,这让它在计算上更省力:前向+反向传播的 FLOPs 大约是 FullFT 的 2/3

换句话说,LoRA 在相同训练步骤下,能用更少计算量达到相似效果。

未来探索方向

研究团队认为,LoRA 仍有几个值得深入探索的方向:精准预测 LoRA 性能及其与 FullFT 的差距条件、建立 LoRA 学习率与训练动态的理论框架、测评 LoRA 变体(如 PiSSA)的表现,以及研究 LoRA 在 MoE 层的不同应用方案及其与张量并行、专家并行的兼容性。

点赞 0 收藏(0)  分享
0个评论
  • 消灭零评论