大模型低秩适配(LoRA)技术
现有PEFT 方法的局限与挑战
- Adapter方法,通过增加模型深度而额外增加了模型推理延时。
- Prompt Tuning、Prefix Tuning、P-Tuning等方法中的提示较难训练,同时缩短了模型可用的序列长度。
- 往往难以同时实现高效率和高质量,效果通常不及完全微调(full-finetuning)。
- 简而言之,尽管大模型参数规模巨大,但关键作用通常是由其中的低秩本质维度(lowintrinsic dimension)发挥的。
- 受此启发,微软提出了低秩适配(LoRA)方法,设计了特定结构,在涉及矩阵乘法的模块中引入两个低秩矩阵A和B以模拟完全微调过程。这相当于只对语言模型中起关键作用的低秩本质维度进行更新。
LoRA: 小模型有大智慧(2021)
为了使微调更加高效,LoRA的方法是通过低秩分解将权重更新表示为两个较小的矩阵(称为更新矩阵)。这些新矩阵可以在适应新数据的同时保持整体变化数量较少进行训练。
原始权重矩阵保持冻结状态,并且不再接受任何进一步的调整。最终结果是通过将原始权重和适应后的权重进行组合得到。
LoRA 核心技术揭秘
在LoRA方法中,实际上是在原始预训练语言模型(PLM)旁增加一个附加的网络通路,这可以视作一种“外挂”结构。这个外挂结构的目的是通过两个矩阵A和B的相乘来模拟本征秩(intrinsic rank)。
- 整体设计:(两个小模型)输入和输出的维度均为d,这与预训练模型层的维度相同。
- 低秩分解:A矩阵会将输入的d维数据降维至r维(增量矩阵的本征秩),r远小于d(r<< d)。矩阵计算从d x d变为d x r + r x d,减少了模型的参数量和计算量。
- 回映射:B矩阵将这些r维数据再映射回d维,以便与预训练模型的其他部分保持兼