0
点赞
收藏
分享

微信扫一扫

​LLM之新手入门:大预言模型的概念介绍与应用

向上的萝卜白菜 03-15 10:30 阅读 2
神经网络

paper: https://arxiv.org/pdf/2106.09685.pdf
code: https://github.com/microsoft/LoRA

摘要

方法

一个神经网络包含许多密集的层,它们可以执行矩阵乘法。这些层中的权重矩阵通常具有全秩。Aghajanyan等人在2020年的一项研究发现,即预训练语言模型在面向特定任务时显示出一种特殊的属性:它们具有低“内在维度”。这意味着,尽管这些模型可能包含数百万到数十亿的参数,代表着极其高维的参数空间,但当它们适应或学习新的特定任务时,实际上只需要一个相对较小的参数子集。简单来说,模型能够在这样一个由较少参数构成的“更小的子空间”内有效地学习和适应。受此启发,作者假设权重的更新在适应过程中也有一个较低的“内在秩”。对于预先训练的权值矩阵 W 0 ∈ R d × k W_0∈R^{d×k} W0Rd×k,作者用低秩分解 W 0 + ∆ W = W 0 + B A W_0 +∆W=W_0+BA W0+W=W0+BA表示后者来约束其更新,其中 B ∈ R d × r B∈R^{d×r} BRd×r A ∈ R r × k A∈R^{r×k} ARr×k和秩 r ≪ m i n ( d , k ) r \ll min(d,k) rmin(d,k)。在训练过程中, W 0 W_0 W0被冻结,不接收梯度更新,而A和B包含可训练的参数。注意, W 0 W_0 W0 ∆ W = B A ∆W=BA W=BA都与相同的输入相乘,它们各自的输出向量按坐标求和。对于 h = W 0 x h = W_0x h=W0x,作者修改后的前向公式为: h = w 0 x + △ W x = w 0 x + B A x h=w_0x+\bigtriangleup Wx=w_0x+BAx h=w0x+Wx=w0x+BAx。如图1所示,首先初始化(对A使用高斯初始化,B初始化为0),所以 ∆ W = B A ∆W=BA W=BA在训练开始时为零。然后作者用 α r \frac{\alpha}{r} rα缩放 ∆ W x ∆Wx Wx(即相乘),其中α是r范围的一个常数,固定 α \alpha α一开始的 r r r,将 r r r作为超参数调整。当作者改变r时,这种缩放有助于减少重新调优超参数的需要。

举报

相关推荐

0 条评论