微调是将预训练的大语言模型适应于特定下游任务的重要手段。最近,低秩适应(Low-Rank Adaptation, LoRA)方法因其在减少可训练参数数量的同时仍能保持与完全微调模型相当的性能而受到广泛关注。然而,尽管两者在某些任务上的性能相近,它们是否学习到了相同的解决方案仍然是一个值得探讨的问题。
研究背景
麻省理工学院计算机科学与人工智能实验室的研究人员通过对模型权重矩阵的谱特性进行分析,深入研究了不同微调方法如何改变预训练模型。他们的研究揭示了完全微调和LoRA在权重矩阵结构上的显著差异,以及这些差异如何影响模型的泛化能力。
论文:https://arxiv.org/abs/2410.21228v1
论文中以LLaMA-2模型在Magicoder任务上的微调为例,展示了全参数微调和LoRA在谱属性上的显著差异。全参数微调保留了预训练结构的大部分,而LoRA引入了新的、高排名的奇异向量,这些被称为“入侵维度”(intruder dimensions),在全参数微调中不会出现。
主要发现
- 权重矩阵的谱特性差异:
- LoRA模型:LoRA训练的权重矩阵在奇异值分解(SVD)中表现出新的、高秩的奇异向量,研究人员将其称为“入侵维度”。
- 完全微调模型:完全微调的权重矩阵则没有出现这种入侵维度。
- 泛化行为的差异:
- 目标任务上的表现:尽管在目标任务上,LoRA模型可以实现与完全微调模型相似的性能。
- 预训练分布上的表现:LoRA模型在预训练分布上的表现相对较差。
- 多任务适应性:LoRA模型在连续适应多个任务时的适应性也较差。
- 模型的秩稳定性:
- 高秩、秩稳定的LoRA模型:这些模型与完全微调模型非常接近,即使在相同任务上与低秩LoRA模型表现相当。
- 低秩LoRA模型:虽然在目标任务上表现良好,但在其他方面存在明显的不足。
结论
- 参数空间的差异:尽管LoRA和完全微调在微调分布上可能表现相同,但它们访问的参数空间部分是不同的。
- 入侵维度的影响:入侵维度的出现可能是由于LoRA方法在低秩约束下引入的新奇异向量,这些向量在预训练模型中不存在,从而影响了模型的泛化能力。
- 优化策略:为了最小化入侵维度的影响,可以考虑使用更高秩的LoRA模型或采用其他技术来提高模型的秩稳定性。
这项研究不仅为我们理解不同微调方法对预训练模型的影响提供了新的视角,还为优化微调策略提供了理论依据。对于实际应用而言,选择合适的微调方法需要综合考虑任务需求、资源限制和模型的泛化能力。例如,如果任务需要在多个相关任务之间进行快速适应,高秩LoRA模型可能是一个更好的选择;而在资源有限的情况下,低秩LoRA模型则更为合适。