v7.35.7814.913256 PC版
v1.624 安卓版
v8.324 IOS版
v1.951.1074.339917 安卓最新版
v8.619 安卓最新版
v2.109.9832.39308 安卓免費版
v9.808.5997 最新版
v1.345.3408.168958 PC版
v8.342.8309.662940 安卓最新版
v9.940.1365.806792 安卓漢化版
v5.324.3677.988488 IOS版
v2.821.9919.51087 PC版
v3.842 安卓版
v5.497.9017.936566 IOS版
v5.700.4444 安卓免費版
v6.723.6890.575645 安卓最新版
v7.755.4439.235806 最新版
v2.59.3514.442066 IOS版
v7.565.391.85066 IOS版
v3.900.1361 安卓免費版
v4.21.495 PC版
v5.742.1456.136070 安卓漢化版
v8.710.635 安卓版
v9.248 IOS版
v3.246.6875 安卓漢化版
v7.661.5381.43817 IOS版
v3.675.7169.959954 安卓版
v9.665.1823 安卓最新版
v9.97.3201.669404 PC版
v9.376.2187 PC版
v8.697.5165 安卓免費版
v3.877.7539.124736 安卓最新版
v6.659.2478.213263 安卓漢化版
v6.287 安卓版
v4.385 最新版
v8.434.590 安卓最新版
v7.694.3922 IOS版
v6.410 IOS版
v7.406.36 安卓漢化版
v1.949.4912.901242 最新版
v1.659.1194 IOS版
v1.328.1418.572418 最新版
v2.353.2234.143602 安卓免費版
v2.563.5840 安卓漢化版
v1.122.4325.159619 最新版
v3.75.130 安卓漢化版
v7.124.1288 安卓漢化版
v4.442 安卓版
v1.205.1086 最新版
v5.642.5750.999308 安卓最新版
v2.415.1592 安卓版
v5.398.4691.848216 安卓版
v8.703.4956 安卓免費版
v5.57 安卓版
v1.487 安卓版
v6.827.6849 安卓最新版
v1.587.6763.182146 安卓最新版
v5.816.5906 安卓最新版
v8.130.9450 最新版
v3.306.1698.266893 安卓最新版
v1.928 最新版
v9.107 PC版
v4.18.1991 最新版
v4.529.7754.363487 PC版
v3.755.3448.842742 安卓最新版
v3.590.7455.76610 PC版
v2.929.8458.194272 安卓免費版
v6.177.7360.907367 PC版
v9.400.7943.801773 安卓最新版
v7.714.7758.152644 安卓漢化版
v5.660.2782.239775 IOS版
v1.324.6474.478271 PC版
v5.912.3657 安卓版
v6.68 安卓最新版
v7.730.811.813951 安卓版
v2.39.2657.456960 安卓最新版
v7.813 安卓最新版
v8.737.7955.199773 安卓最新版
v5.582.165.720101 PC版
v9.27 安卓版
威尼斯的网址477
机器之心报道
机器之心编辑部
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条评论>网友评论