Low-Rank Adaptation,基于低秩分解的模型微调算法。
过程
在 前向传播 过程中,向量 x 分成两路行进。
- 原始模型的主路:
- 旁路:
- 最终相加得到结果
在训练过程的反向传播中,主路的参数 W 不改变,而旁路的 B A 矩阵响应改变。
达成了效果:旁路相当于是主路的一个“外挂”,训练完成后,挂载到主路上,修正主路的输出结果。
低秩分解
在旁路的计算过程中,B 是一个“降维”的矩阵,A 是一个“升维”的矩阵。经过 B 降维后的参数远小于原先的参数。
低秩的意思就是这个降维的过程,旁路可以理解为一个对 W 的修正 ,而这个修正的维度比原始 W 的参数小的多。并且使用 B 和 A 矩阵来表示 。
优势和劣势
相比较全量的 FineTune,LoRA 形式的微调效率更高,并且在推理时无额外开销,所需要的额外参数更小。非常适合快速的原型微调使用。