在当今的信息时代中,大型语言模型扮演着至关重要的角色,它们在自然语言处理任务中展现出强大的能力。LoRA,英文全称Low-Rank Adaptation of Large Language Models,是一种用于微调大型语言模型的低秩适应技术,由微软的研究人员于 2021 年提出,这种技术能够利用少量显卡和时间对大模型进行微调,降低成本。
LoRA论文:LoRA: Low-Rank Adaptation of Large Language Models
LoRA 的核心思想是使用低秩近似来降低权重矩阵的维度,从而减少模型中可训练参数的数量。它通过添加成对的秩分解权重矩阵,也称为更新矩阵,到现有的权重中,并且只训练这些新添加的权重,从而实现对大模型的有效微调。
LoRA对Stable Diffusion模型中最关键的部分进行小的修改:交叉注意力层。研究人员发现,微调这部分模型就足以实现良好的训练。在这些层中引入一对低秩矩阵(通常为稀疏的),分别对应于权重矩阵的增加项(additive update)和乘法项(multiplicative update),这些低秩矩阵通常具有较小的秩(rank),比如远小于原始权重矩阵的维度,这意味着它们包含的参数数量远少于直接微调整个模型所需。
通过低秩分解(先降维再升维)来模拟参数的更新量,公式如下:
模型是过参数化的,它们有更小的内在维度,模型主要依赖于这个低的内在维度(low intrinsic dimension)去做任务适配。假设模型在适配任务时参数的改变量是低秩的,通过低秩分解来模拟参数的改变量,从而以极小的参数量来实现大模型的间接训练。
总之,LoRA 模型是一种低秩适应的训练方法,用于加速大型语言模型的训练,并降低内存消耗。它在保持原始模型性能的同时,允许用户根据需要进行定制化调整。