基础模型的低秩适应(LoRA)综述:关键技术与应用全解析
摘要
基础模型的快速发展,即在多样化、广泛的数据集上训练的大规模神经网络,已经彻底改变了人工智能,推动了自然语言处理、计算机视觉和科学发现等领域的前所未有的进展。然而,这些模型庞大的参数量,往往达到数十亿甚至数万亿,给将其适应于特定下游任务带来了显著挑战。低秩适应(LoRA)作为一种非常有前景的方法,已成为缓解这些挑战的有效手段,提供了一种参数高效的机制,能够以最小的计算开销微调基础模型。本综述首次全面回顾了低秩适应技术,除了对大规模语言模型的研究,还包括了其在基础模型中的应用,涵盖了低秩适应在多个领域的技术基础、前沿进展及应用。最后,本文讨论了理论理解、可扩展性和鲁棒性等方面的关键挑战及未来研究方向。本综述为从事高效基础模型适应研究和实践的学者与从业者提供了宝贵的资源。
关键词:基础模型、大规模语言模型、低秩适应、参数高效微调、多任务学习
1 引言
基础模型代表了人工智能中的一种范式转变,其中在广泛和多样化的数据集上预训练的大规模神经网络架构,建立了可泛化的表示框架,可以适应广泛的下游应用。这些模型跨越多个领域,包括自然语言处理(如 GPT-3.5、LLaMA)、计算机视觉(如 Swin Transformer、MAE、SAM)、语音处理(如 Wav2vec2、Whisper)、多模态学习(如 Stable Diffusion、DALL·E 2)和科学应用(如 AlphaFold、ChemBERTa、ESM-2)。
基础模型的特点是其前所未有的规模,参数数量达到数十亿甚至数万亿,并且表现出涌现性质——即在没有明确训练的情况下自发产生的能力。这些架构已成为现代人工智能系统的基础构件,推动了多个领域的突破性进展。尽管这些模型展现了广泛的能力,但通过微调进行任务特定优化仍然是提升模型泛化能力、促进算法公平性、实现定制化以及符合伦理和社会标准的必要手段。然而,它们的规模带来了显著的计算挑战,特别是在训练和微调所需的计算资源方面。
尽管传统的微调方法(涉及对全部参数进行更新)在各种任务中已证明有效,但其计算需求通常使得在基础模型中应用变得不切实际。因此,参数高效微调(PEFT)方法应运而生,作为应对这些计算挑战的解决方案。这些方法通过最小化可训练参数的数量,使得模型适应能够显著降低计算需求,而不会影响任务性能。在这些方法中,低秩适应(LoRA)及其变种因其简便性、实证效果以及在各种模型架构和领域中的广泛适用性而受到广泛关注。
LoRA 基于两个关键见解:在微调过程中,权重更新通常位于低维子空间中,并且任务特定的适应可以通过低秩矩阵有效捕捉。通过在冻结原始模型参数的同时优化这些低秩矩阵,LoRA 实现了高效的适应,并能够在不增加推理延迟的情况下组合多个任务特定的适应。
贡献
本综述提供了迄今为止,超越大规模语言模型(LLMs)领域,针对 LoRA 技术的首个全面回顾,扩展分析至基础模型的更广泛领域。我们的主要贡献包括:
- 技术基础的系统分析:我们提供了对 LoRA 近期技术进展的结构化分析,包括参数高效策略、秩适应机制、训练过程改进以及新兴的理论视角。
- 新兴前沿的广泛调查:我们探讨了新兴的研究前沿,包括融合多个 LoRA 组成部分和专家混合方法的先进架构,以及持续学习、遗忘、联邦学习、长序列建模和高效服务基础设施的方法。
- 应用的综合回顾:我们呈现了在多个领域的实际应用综述,包括自然语言处理、计算机视觉、语音识别、科学发现,以及在代码工程、推荐系统、图学习和时空预测等专门应用中的使用。
本综述通过组织现有的 LoRA 研究,识别了关键挑战和未来研究方向,为该领域的研究人员和从业者提供了宝贵的资源。
2 基础知识
LoRA 是参数高效微调(PEFT)领域的重要进展。尽管最初是为大规模语言模型(LLMs)开发的,但后续研究已证明它在各种基础模型中都表现出色。LoRA 的数学公式核心思想是在微调过程中将更新矩阵 $\Delta W$ 限制为低秩,这一过程通过矩阵分解实现:
$$ \Delta W = BA $$
其中 $W_0 \in \mathbb{R}^{m \times n}$ 是预训练权重,$A \in \mathbb{R}^{r \times n}$ 和 $B \in \mathbb{R}^{m \times r}$ 是可训练的低秩矩阵,且 $r \ll \min(m, n)$。
参数初始化策略
LoRA 采用特定的初始化策略以确保训练的稳定性和高效性。矩阵 A 通常使用从随机高斯分布中抽取的值进行初始化,而矩阵 B 则初始化为零,这确保在训练开始时,$\Delta W = BA$ 实际上是一个零矩阵。这种初始化保证了模型在训练初期不会偏离预训练状态太远。
微调过程
在 LoRA 中,微调过程遵循以下关键原则:
- 原始预训练权重 $W_0$ 被保持冻结,在训练过程中不接受梯度更新。
- 低秩矩阵 A 和 B 是唯一可训练的参数,用于捕捉任务特定的调整。
- $W_0$ 和 $\Delta W$ 分别作用于输入向量 x,并将它们的输出结合起来。
- 输出 $\Delta W x$ 被 $\alpha/r$ 缩放。


