LoRA
LORA是一种低资源微调大模型方法,出自论文LoRA: Low-Rank Adaptation of Large Language Models。 使用LORA,训练参数仅为整体参数的万分之一、GPU显存使用量减少2/3且不会引入额外的推理耗时。
自然语言处理的一个重要范式包括对一般领域数据的大规模预训练和对特定任务或领域的适应。当预训练更大的模型时,重新训练所有模型参数的完全微调变得不太可行。以GPT-3 175B为例,部署经过精细调整的模型的独立实例(每个实例都有175B参数)成本高昂。论文提出了低秩(LOW-RANK)自适应(LoRA),它冻结了预训练的模型权重,并将可训练的秩分解矩阵注入Transformer架构的每一层,从而大大减少了下游任务的可训练参数数量。与用Adam微调的GPT-3175B相比,LoRA可以将可训练参数的数量减少10000倍,GPU内存需求减少3倍。LoRA在RoBERTa、DeBERTa、GPT-2和GPT-3上的模型质量方面表现相当或优于微调,尽管具有较少的可训练参数、较高的训练吞吐量,并且与适配器不同,没有额外的推理延迟。论文还对语言模型适应中的等级缺陷进行了实证研究,这揭示了LoRA的有效性。
普通玩家微调大模型的困境
最近,以ChatGPT为代表的大模型涌现出优秀的理解、代码和推理等能力,许多玩家也想微调自己的专属ChatGPT。但是微调大模型非常吃资源,以刚刚达到涌现能力边界的7B模型为例,微调7B模型需要3×28G的显存(SGD+Momentum),至少需要2张A100的显卡才能满足要求。因此,如何降低微调大模型所需的机器资源,是普通玩家最为关心的问题。
高效微调的基本原理
以语言模型为例,在微调过程中模型加载预训练参数Φ0进行初始化,并通过最大化条件语言模型概率进行参数更新Φ0+ΔΦ,即:
(1)
标签:训练,LORA,模型,微调,矩阵,参数,实训,LLM,LoRA From: https://www.cnblogs.com/h1s97x/p/18224577