赞
踩
采用秩分解矩阵代表权重的改变量:
则对于任意的输出:
A
∈
R
d
×
r
,
B
∈
R
r
×
d
,
r
<
<
d
{A\in R^{d \times r}}, {B \in R^{r \times d}}, r<<d
A∈Rd×r,B∈Rr×d,r<<d
对于A采用一个随机的高斯初始化,对于B采用0初始化。
采用
α
/
r
{\alpha/r}
α/r缩放
δ
W
x
{\delta Wx}
δWx,r是矩阵的秩,
α
{\alpha}
α是一个常数。这个缩放可以减小当r改变时,我们重新微调参数的需要
A generalization of full fine-tune
adapter-based的方法通常是利用一个MLP或者一个prefix-based方法,导致模型不允许长序列的输入。不同于adapter-based的方法,LORA是针对原始模型训练的。LORA微调时,我们可以通过设置r来达到恢复全量微调的效果。因为LORA在适应过程中不要求对权重矩阵的累积梯度更新具有完整的秩。
no additional inference latency
部署到实际生产时,可以先计算存储
W
=
W
0
+
B
A
{W = W_0 + BA}
W=W0+BA。对于不同的下游任务,只用计算BA和其变化量的差值就可以了。
For example, it is not straightforward to batch inputs to different tasks with different A and B in a single forward pass, if one chooses to absorb A and B into W to eliminate additional inference latency. Though it is possible to not merge the weights and dynamically choose the LoRA modules to use for samples in a batch for scenarios where latency is not critical.
OLoRA是lora的一个变种,是在lora的基础上引入了量化,减小了对资源量的需求。
创新点:4 位量化、4 位 NormalFloat 数据类型、双量化和分页优化器
[1] Armen Aghajanyan, Luke Zettlemoyer, and Sonal Gupta. Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning. arXiv:2012.13255 [cs], December 2020. URL
http://arxiv.org/abs/2012.13255.
[2]大模型微调原理与代码实战案例(四):LoRA
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。