网站服务器权限,网站目录结构模板,宁波网站制作公司哪家好,文章收费wordpress2021-arxiv-LoRA Low-Rank Adaptation of Large Language Models Paper: https://arxiv.org/abs/2106.09685 Code: https://github.com/microsoft/LoRA
大型语言模型的LoRA低秩自适应
自然语言处理的一个重要范式包括对通用领域数据的大规模预训练和对特定任务或领域的适应。…2021-arxiv-LoRA Low-Rank Adaptation of Large Language Models Paper: https://arxiv.org/abs/2106.09685 Code: https://github.com/microsoft/LoRA
大型语言模型的LoRA低秩自适应
自然语言处理的一个重要范式包括对通用领域数据的大规模预训练和对特定任务或领域的适应。当预训练更大的模型时完全微调重新训练所有模型参数变得不那么可行。以 GPT-3 175B 为例部署微调模型的独立实例每个实例都有 175B 参数成本高得令人望而却步 因此 作者提出了低秩自适应Low-Rank Adaptation简称LoRA它冻结了预训练模型的权重并将可训练的秩分解矩阵注入到Transformer架构的每一层中大大减少了下游任务的可训练参数数量。与使用 Adam 微调的 GPT-3 175B 相比LoRA 可以将可训练参数的数量减少 10,000 倍将 GPU 内存需求减少 3 倍。LoRA 在 RoBERTa、DeBERTa、GPT-2 和 GPT-3 上的模型质量与微调相当或更好尽管可训练参数更少、训练吞吐量更高并且与适配器不同没有额外的推理延迟。 LoRA用来降低大语言模型下游任务训练的算力及内存资源需求量降低预训练大模型产品化落地的成本。
LoRA基本思想
在原始PLM旁边增加一个旁路做一个降维再升维的操作来模拟所谓的intrinsic rank。训练的时候固定PLM的参数只训练降维矩阵A与升维矩阵B。而模型的输入输出维度不变输出时将BA与PLM的参数叠加。用随机高斯分布初始化A用0矩阵初始化B保证训练的开始此旁路矩阵依然是0矩阵。 下面是参数的更新表示 其中预训练的矩阵为 W 0 ∈ R d × k W_0 \in \mathbb{R}^{d \times k} W0∈Rd×k它的更新表示为 W 0 Δ W W 0 B A , B ∈ R d × r , A ∈ R r × k W_0\Delta WW_0B A, B \in \mathbb{R}^{d \times r}, A \in \mathbb{R}^{r \times k} W0ΔWW0BA,B∈Rd×r,A∈Rr×k 其中秩 r m i n ( d , k ) r min(d,k) rmin(d,k)。 对于 h W 0 x hW_0x hW0x 它的前向计算变为 h W 0 x Δ W x W 0 x B A x ( W 0 B A ) x hW_0 x\Delta W xW_0 xB A x\left(W_0B A\right) x hW0xΔWxW0xBAx(W0BA)x 这种方式类似与残差连接同时使用这个旁路的更新来模拟full finetuning的过程。
参考
https://zhuanlan.zhihu.com/p/514033873