低秩适应
低秩适应(LoRA)是一种参数高效微调(PEFT)技术,旨在使大型预训练模型(如大型语言模型LLMs)适应特定的下游任务,而无需重新训练模型的所有原始参数。LoRA 不是更新整个庞大的权重矩阵,而是将小的、可训练的秩分解矩阵注入到模型的层中。
传统的微调需要大量的计算资源,包括大量的 GPU 内存和时间,特别是当处理包含数十亿参数的模型时。LoRA 大大降低了这一要求。通过仅训练一小部分新的低秩矩阵,它使最先进的模型定制对硬件资源有限的研究人员和企业来说变得触手可及。
从核心上看,LoRA 将大型权重矩阵 $\Delta W$ 的更新近似为两个更小矩阵 $A$ 和 $B$ 的乘积。从数学上讲,$\Delta W \approx BA$,其中分解的秩 ($r$) 远小于原始矩阵的维度。在训练过程中,只有矩阵 $A$ 和 $B$ 中的参数被更新,而原始的、冻结的预训练权重 ($W_0$) 保持不变。最终的输出是通过将适应后的变化加到原始权重上计算得出的:$W' = W_0 + BA$。
LoRA 被广泛应用于各种人工智能应用中:
采用 LoRA 的优势对于 MLOps 流程来说是巨大的:
尽管效果显著,但 LoRA 并非没有局限性。秩 ($r$) 的选择是一个关键的超参数;设置得太低可能会导致任务欠拟合,而设置得太高则会削弱参数效率的增益。此外,虽然它能很好地适应特定任务的知识,但它并不能从根本上改变嵌入在冻结权重中的模型的核心世界知识。
该技术是参数高效微调(PEFT)这一更广泛领域的一部分。其他相关概念包括提示调优(Prompt Tuning)、前缀调优(Prefix Tuning)和量化(Quantization),所有这些都旨在降低适应大型基础模型的计算成本。