出品人: Towhee 技术团队

大型语言模型(LLM)在往年取得了极大的关注。在以往,预训练+微调(finetuning)成为了让模型适配于特定数据的最佳范式。然而随着大型模型的呈现,这种齐全微调(从新训练所有模型参数)将变得越来越不可行。例如,如果应用GPT-3 175B,部署独立的经微调的模型实例(每个实例都有175B个参数)老本过高。在2021年,微软提出了一个办法叫LoRA(低秩适应),在大模型时代越来越受到重视,并且带来了十分好的成果。该办法解冻预训练模型的权重,并将可训练的秩合成矩阵注入到Transformer体系结构的每个层中,从而大大减少了上游工作所需的可训练参数数量。绝对于应用Adam算法微调的GPT-3 175B模型,LoRA能够将可训练参数数量升高10,000倍,GPU内存需要缩小3倍。此外,LoRA在RoBERTa、DeBERTa、GPT-2和GPT-3模型的模型品质方面体现与微调相当或更好,只管它具备较少的可训练参数,更高的训练吞吐量,并且不像适配器(adapters),不会减少推理提早。

|LoRA's reparametrization: only train A and B.

|Performance of RoBERTa pretrained with/without LoRA

这个试验后果很好地阐明了这个算法的有效性。作者应用了RoBERTa模型在各个上游工作做finetune。FT就是应用全副参数进行训练,BitFit是只训练bias vector解冻住其余全副的权重。能够看出除了齐全finetune,几种其余适配办法所训练的参数量都比拟小。而LoRA能够训练较少的参数失去更好的后果。

LoRA不仅在NLP能够证实本人是很无效的方法,因为当初越来越多的算法都是基于transformer开发,而这个办法针对transformer非常容易适配。当初很火的stable-diffusion也曾经被LoRA所攻陷,让大部分只领有无限算力的用户能够疾速finetune出一个针对本人数据所应用的LoRA模型。随着大模型越来越受到重视,成为各种工作的基线,置信这个办法会成为大模型时代的最惯例的操作。

相干材料:

  • https://arxiv.org/abs/2106.09685
  • https://github.com/microsoft/LoRA
  • https://github.com/huggingface/peft

本文由mdnice多平台公布