趋近智
基于本章前面讨论的对高效适应方法的需求,低秩适应(LoRA)作为一种非常有效且广泛采用的参数高效微调(PEFT)技术脱颖而出。LoRA不是对大型语言模型的整个预训练权重集 进行微调,而是冻结 ,并引入少量可训练参数,这些参数代表了针对特定下游任务的权重变化,即 。
LoRA的核心思想是,模型适应期间的权重更新矩阵 具有低的内在秩。也就是说,尽管 与 具有相同的维度,但其信息可以被秩远低于其自身的矩阵有效捕获或近似。
LoRA将更新矩阵 分解为两个较小的低秩矩阵 和 的乘积。对于一个预训练权重矩阵 ,更新 表示为:
其中, 且 ,其中秩 是一个超参数,满足 。在使用LoRA进行微调时,原始权重 保持冻结,并且只训练矩阵 和 的参数。
经过该层的修改后的前向传播包含了这个低秩更新。如果原始层的计算是 ,则经LoRA适应的层计算为:
一个图示,说明了LoRA更新机制。输入
x通过原始冻结权重W₀,并同时通过可训练的低秩矩阵A和B。输出经过缩放并相加,以产生最终输出h。
正确的初始化对确保训练稳定很重要。矩阵 通常使用随机高斯值进行初始化,而矩阵 则初始化为全零。这确保了在训练开始时,,这意味着适应后的模型在开始时具有与预训练模型 完全相同的性能。
LoRA通常包含一个应用于更新 的缩放因子 。前向传播变为:
其中, 是一个常量超参数。将 的输出通过 进行缩放,有助于归一化组合输出的幅度,从而减少了在改变秩 时需要大幅调整其他超参数的需求。一种常见做法是将 设置为秩 ,这在初始时实际上使缩放因子为1,但将其解耦可以进行进一步的调优。
LoRA最常应用于Transformer模型注意力机制中的权重矩阵,特别是查询 ()、键 ()、值 () 和输出 () 投影矩阵。将LoRA应用于这些矩阵在实践中显示出明显效果。它也可以应用于前馈网络(FFN)层中的权重矩阵,有时根据任务和模型的不同,可以产生进一步的改进。选择哪些层使用LoRA进行适应是一个设计选择,它影响参数效率和任务性能之间的权衡。
LoRA引入的可训练参数数量远小于原始参数数量。对于一个 权重矩阵 ,原始参数数量是 。LoRA更新 引入 个参数(不考虑偏置)。由于 通常远小于 和 ,这种减少是明显的。例如,将一个 矩阵( 百万参数)使用 进行适应,仅增加了 个可训练参数,对于该特定矩阵,参数减少了250倍以上。
秩 是LoRA中最重要的超参数。它直接控制着适应的能力以及可训练参数的数量。
秩 的常用值范围从4到64。最优秩通常取决于具体的任务、数据集大小以及正在适应的层。通常需要通过实证评估来确定最佳值。
LoRA秩 ()、引入的可训练参数数量(对于单个4096x4096层)与任务性能之间的关系。增加秩会线性增加参数,但通常在性能改进方面产生收益递减。
LoRA的一个重要优点是,低秩更新可以在推理时重新并入原始权重矩阵。训练完成后,组合权重矩阵 可以计算为:
这个合并后的矩阵 可以替代模型中的 。因此,经LoRA适应的模型的推理延迟与原始预训练模型相同。在部署时没有额外的计算或参数,这与Adapter等引入持久附加层的方法不同。这使得LoRA对于推理速度非常重要的生产环境非常有吸引力。
LoRA为适应大型预训练模型提供了一种强大而高效的机制。其数学简洁性、实证效果以及零推理开销等实用优点,使其成为PEFT领域的基础技术。理解LoRA也为例如QLoRA等更高级的变体打下了基础,QLoRA将LoRA与量化结合,在微调过程中实现更大的内存节省。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造