趋近智
低秩适应(LoRA)引入了一种特定的数学结构,其设计理念是基于适应过程中权重 (weight)更新具有低内在秩的假设,旨在提升参数 (parameter)效率。在标准微调 (fine-tuning)中,通过添加一个增量矩阵来更新预训练 (pre-training)权重矩阵,从而得到适应后的权重。这种传统训练方法需要学习中的所有个参数。
LoRA提出了一种不同的方法。我们不直接学习可能很大的,而是使用低秩分解对其进行近似。具体来说,由两个较小矩阵和的乘积表示:
这里,是分解的秩,LoRA的主要思想是。这个约束大大减少了我们需要学习的参数数量。原始权重保持冻结(训练期间不更新),而矩阵和包含表示任务特定适应的可训练参数。
考虑通过LoRA修改的层的正向传播。对于输入,原始输出是。加入LoRA更新后的修改输出变为:
在使用LoRA进行微调时,只有矩阵和中的参数通过梯度下降 (gradient descent)进行更新。原始权重保持不变。
为了更好地控制适应过程,LoRA引入了一个常数缩放因子。这个标量调节由施加的更新的幅度。通常的做法是将更新按进行缩放。这种归一化 (normalization)有助于稳定训练,尤其是在改变秩时。LoRA修改层的最终正向传播方程是:
我们来分析参数效率的提升。完整微调需要为矩阵学习个参数。使用LoRA,我们只需要学习和中的参数。LoRA中可训练参数的总数是 ()和 ()中参数的总和,即。由于通常远小于和,可训练参数的数量显著减少。例如,如果、且,完整微调大约需要百万个参数,而LoRA对于该特定层仅需要个参数。这表示参数减少了99%以上。
该结构可以被视为原始权重矩阵添加了一个并行路径:
经过LoRA修改层的正向传播。输入通过冻结权重,同时并行地通过可训练的低秩矩阵和。低秩路径在添加到原始输出之前,会按进行缩放。
关于初始化,一种常见策略是使用随机高斯值初始化,并用零初始化。这确保了在训练开始时为零,这意味着适应后的模型与预训练模型的起始状态完全一致。缩放因子通常设置为与的初始值匹配,尽管它也可以作为一个超参数 (hyperparameter)来处理。我们将在后续章节(秩选择策略、缩放参数Alpha、LoRA初始化策略)中更详细地分析初始化和超参数选择,例如和。
总而言之,LoRA的数学表述提供了一种具体机制,用于通过低秩结构来近似权重更新。通过冻结原始权重并仅训练小型矩阵和,LoRA实现了显著的参数效率,大幅减少了微调大型模型所需的计算和内存开销,同时力求保持适应能力。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•