Low-Rank Adaptation ( LORA ) 梯度视角推导
author:张一极
date:2025年03月02日16:48:47
1. LoRA表现形式
有两种表现形式:
假设原始权重矩阵为
LoRA 通过低秩分解将其变化量表示为:
其中 W_0 是原始的预训练权重, 是 LoRA 引入的增量参数,且 被分解为两个低秩矩阵 和 :
这样,整个计算公式变为:
展开后可得:
其中:
• 是基础模型的输出
• 是 LoRA 额外添加的低秩修正项
到这里,公式(1)里面两个式子没什么区别,接着:
引入 进行变形,变为:
LoRA 主要通过学习 A 和 B 来调整原模型 的输出,而不直接更新 本身。
2. LoRA 的梯度计算
对于给定的损失函数 L ,梯度计算过程如下:
1. 损失函数对输出 Y 求梯度:
2. 利用链式法则,对 B 求梯度:
PS:这里的,表示 XA 的输出为 Z,而这里的输出并非旁路ABX的输出:
3. 同理对 A 求梯度:
3.转置的原因是为了构造最后输出的梯度适应 A或者 B 的大小:
假设
• 输入矩阵
• 原始权重
分解为 AB:
的维度为: 的维度为:
以上。