基于已有开源大模型进行微调训练,如果采用预训练的方式对模型的所有参数都进行训练微调,由于现有的开源模型参数量都十分巨大在线课堂。PEFT (Parameter-Efficient Fine-Tuning),即对开源预训练模型的所有参数中的一小部分参数进行训练微调,最后输出的结果和全参数微调训练的效果接近。
LoRA(论文:LoRA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS),该方法的核心思想就是通过低秩分解来模拟参数的改变量,从而以极小的参数量来实现大模型的间接训练在线课堂。(秩是矩阵中最长的独立行数或列数)
神经网络包含很多全连接层,其借助于矩阵乘法得以实现,然而,很多全连接层的权重矩阵都是满秩的在线课堂。因此,论文的作者认为权重更新的那部分参数矩阵尽管随机投影到较小的子空间,仍然可以有效的学习,可以理解为针对特定的下游任务这些权重矩阵就不要求满秩。
在涉及到矩阵相乘的模块,在旁边增加一个新的通路,通过前后两个矩阵 A,B 相乘,第一个矩阵 A 负责降维,第二个矩阵 B 负责升维,中间层维度为 r在线课堂。其中,r<<d,r 是矩阵的秩,这样矩阵计算就从 d x d 变为 d x r + r x d,参数量减少很多。将原部分跟新增的通路两部分的结果加起来作为最终的结果(两边通路的输入跟输出维度是一致的)。
此外,Transformer 的权重矩阵包括 Attention 模块里用于计算 query, key, value 的 Wq,Wk,Wv 以及多头 attention 的 Wo, 以及 MLP 层的权重矩阵,LoRA 只应用于 Attention 模块中的 4 种权重矩阵,而且通过消融实验发现同时调整 Wq 和 Wv 会产生最佳结果在线课堂。