LoRA、完全微调到底有何不同?MIT 21页论文讲明白了

本文旨在了解两种微调大型语言模型方法之间的差异:完全微调和低秩自适应 (LoRA)。这两种方法都用于将预训练模型适应特定的下游任务,但它们却有所不同。

微调(Fine-tuning)是将经过预训练的大语言模型应用于下游任务的关键范例。最近,低秩自适应 (LoRA) 等方法已被证明可以在各种任务上达到完全微调模型的性能,同时可训练参数的数量却大大减少。

这就提出一个问题,即它们学到的解决方案真的等效吗?

带着这一疑问,来自 MIT 的研究者在论文《 LORA VS FULL FINE-TUNING: AN ILLUSION OF EQUIVALENCE 》中进行了深入探讨。

img

论文地址:
https://arxiv.org/pdf/2410.21228v1

作者通过分析预训练模型权重矩阵的光谱特性来研究不同的微调方法如何改变模型。

研究发现,完全微调与 LoRA 产生的权重矩阵奇异值分解结构有显著不同,并且经过微调后的模型在面对超出适应任务分布的测试时也显示出不同的泛化行为。

特别是,LoRA 训练的权重矩阵中出现了称为「侵入维度(intruder dimensions)」的新的高秩奇异向量,而在完全微调中则不会出现这种情况。

这些结果表明,即使在微调分布上表现相同,但使用 LoRA 和完全微调更新的模型访问参数空间的不同部分。

作者通过研究 LoRA 微调模型中出现侵入维度的原因、它们为什么不受欢迎,以及如何最小化这些效果来展开研究。

最后,作者给出了以下几点观察:

首先,LoRA 和完全微调在结构上产生不同的参数更新,这种差异由侵入维度的存在产生的。这些侵入维度是奇异向量,具有较大的奇异值,并且与预训练权重矩阵中的奇异向量近似正交。相比之下,完全微调模型在光谱上与预训练模型保持相似,不包含侵入维度。

其次, 从行为上看,与完全微调相比,具有侵入维度的 LoRA 微调模型会忘记更多的预训练分布,并且表现出较差的稳健连续学习能力:具有侵入维度的 LoRA 微调模型在适应任务分布之外不如完全微调模型,尽管分布准确度相当。

最后, 即使在目标任务上低秩 LoRA 表现良好,但更高秩的参数化可能仍然是可取的。低秩 LoRA(r ≤ 8)适合下游任务分布,完全微调和高秩 LoRA(r = 64)让模型泛化能力更强、自适应能力更加鲁棒。然而,为了利用更高的秩,LoRA 更新模型必须是秩稳定的。

沃顿商学院副教授 Ethan Mollick 对此评论道:事实证明,使用 LoRA 定制通用 LLM(Apple 调优其设备内置模型的方式),对 LLM 的限制远大于微调,因为它们失去了一些泛化能力。原因是 LoRA 增加了不祥的侵入维度。

img

LORA 和完全微调模型的差异

本文采用神经网络参数的奇异值分解 SVD 来理解微调对预训练权值的变化。

特别是,本文测量了用 LoRA 微调过的权重矩阵中的奇异向量或完全微调过的权重矩阵中奇异向量映射到预训练权重中的奇异向量的程度,使用它们的余弦相似性。这些关系如图 1 和图 3 所示,颜色表示预训练和微调奇异向量之间的余弦相似度。

img

img

图 2 (b) 中观察到,LoRA 和完全微调的奇异向量与预训练奇异向量的相似度非常不同:与完全微调相比,使用 LoRA 微调的模型的奇异向量与预训练奇异向量的平均余弦相似度似乎要低得多。

img

图 2 (b) 中左下角有一个唯一的红点,作者将这些新维度命名为侵入维度,其正式定义如下:

img

LoRA 微调模型包含高秩侵入维度,而完全微调的模型则不包含。为了量化特定权重矩阵的侵入维度集的大小,作者使用图 4 所示的算法。

img

即使在 LoRA 微调模型学习效果不如完全微调的任务中,侵入维度也存在。

观察图 5b、5c 和 5d,我们可以清楚地看到,即使 LoRA 的 r=256,高秩奇异向量集中仍出现侵入维度。重要的是,当 r=2048 时没有侵入维度,而是展示了与完全微调非常相似的曲线。这支持了早先的发现:随着秩增加超过一个阈值,侵入维度会消失,LoRA 开始趋向于与完全微调相似。

img

即使使用满秩矩阵执行 LoRA,完全微调更新也比 LoRA 更新具有更高的有效秩。如图 6 所示,可以观察到完全微调解决方案的有效秩明显高于通过 LoRA 学习到的解决方案的有效秩,即使 LoRA 具有更高的秩。

img

LORA 和完全微调之间的行为差异

在较低秩,LoRA 在持续学习过程中的适应能力较差,会忘记更多之前的任务。该研究在多个任务上按顺序训练 RoBERTa,并测量学习新任务时性能的变化程度。

该研究使用与之前相同的训练方案、数据集,但在持续学习环境中使用以下数据集(按顺序)进行微调:MNLI、QQP、SST-2、SIQA、Winogrande、FEVER。在序列中某个数据集上进行训练后,将 LoRA 权重合并到模型中,并在下一个任务训练之前重新初始化,以便不受之前任务的影响。

在对特定任务进行训练后,该研究对所有任务进行测试,对于每个任务,在测试测试集之前分别重新训练分类头。这能够检查模型在这些任务上表现如何,而无需实际更改模型本身。

结果如图 8 所示。虽然 LoRA 最初与完全微调的性能相当,但较小的 LoRA 秩在持续学习过程中始终表现出更大的性能下降。特别是,对于前三个训练数据集,当 r = 1 时 LoRA 的性能下降到预训练基线以下。随着 LoRA 秩的提高,我们可以看到这种遗忘行为减少,并且更接近于完全微调,甚至在完成持续学习后在 MNLI 上的遗忘也更少。

整体情况是微妙的:虽然在某些情况下,LoRA 似乎忘记得较少,但对于某些任务(以及某些秩)事实上,LoRA 可能会忘记更多。

img

对于微调到等效测试精度的 LoRA 模型,可以看到一条 U 形曲线,该曲线标识了适合下游任务的最佳等级,同时最小程度的忘记了预训练分布。

图 9 报告了测量的伪损失分数。可以看到完全微调和 r = 768 时的 LoRA 之间呈现 U 形趋势。

相对于完全微调,低秩(r = 1)和高秩(r = 768)都会导致预训练分布的遗忘更大,而对于 r = 64,遗忘较少。也就是说:当 r = 1 时,使用 LoRA 微调的模型受到侵入维度的影响,并且似乎比没有侵入维度的 r = 64 有更多的遗忘。然而,当 r = 768 时,使用 LoRA 微调的模型也表现出更糟糕的遗忘,这表明由于过度参数化,它们对适应任务过度拟合。当 r = 8 和 r = 64 时,遗忘量少于完全微调。

img

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

下面这些都是我当初辛苦整理和花钱购买的资料,现在我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值