一文看懂LoRA:如何在保持高效的同时提升微调效果

文摘   2024-08-09 07:00   湖南  
近年来,预训练大模型(PLM)的应用在自然语言处理领域取得了显著进展。然而,在具体任务中微调这些大模型仍面临着许多挑战和局限。针对这些问题,微软提出了一种名为低秩适配(LoRA)的方法,旨在提升微调的效率和效果。本文将详细探讨LoRA技术的原理、优势及其相对于其他现有PEFT(Parameter-Efficient Fine-Tuning)方法的优越性。

一、现有PEFT方法的局限与挑战

在了解LoRA之前,首先需要了解现有的一些微调大模型的方法及其局限。

1. Adapter方法的限制

Adapter方法是在原有模型中增加一些额外的层或模块,以实现模型的微调。虽然这种方法有效,但它有一个显著的缺点:增加了模型的深度,导致了推理延时的增加。这意味着在实际应用中,使用这种方法可能会让模型运行速度变慢,不适合对速度要求较高的任务。

2. 提示调整方法的难点

Prompt Tuning、Prefix Tuning和P-Tuning等方法通过设计特定的“提示”来调整模型的行为。然而,这些方法存在以下几个问题:
  • 训练难度大:需要设计合适的提示,训练过程较为复杂。

  • 输入长度限制:这些方法往往占用了模型的输入空间,限制了模型可以处理的实际输入内容的长度。


3. 效率与质量难以兼得

现有的PEFT方法在保持高效的同时,很难实现与完全微调(full-finetuning)相同的效果。这意味着,虽然这些方法可以减少计算资源的消耗,但在实际效果上通常不如完全微调。

4. 低秩本质维度的重要性

大模型虽然参数规模巨大,但研究发现,模型中的关键作用往往是由低秩本质维度(low intrinsic dimension)发挥的。这意味着,模型中某些参数的变化对于任务的完成至关重要,而其他参数的调整则相对不那么重要。

5. 微软提出LoRA方法

基于上述观察,微软提出了低秩适配(LoRA)方法。这种方法通过在模型中引入两个低秩矩阵A和B,来模拟完全微调过程,重点更新模型中的低秩本质维度,从而提高微调的效率和效果。

二、LoRA:小模型有大智慧 (2021)

为了使微调更加高效,LoRA的方法通过低秩分解,将权重更新表示为两个较小的矩阵(称为更新矩阵)。这些新矩阵可以在适应新数据的同时保持整体变化数量较少进行训练。原始权重矩阵保持冻结状态,并且不再接受任何进一步的调整。最终结果是通过将原始权重和适应后的权重进行组合得到。

1. LoRA核心技术揭秘

LoRA的核心在于通过低秩分解技术,减少模型的计算资源需求,同时保持模型的复杂性和表达能力。

  • 整体设计:LoRA在原始预训练语言模型旁增加一个附加的网络通路,通过两个低秩矩阵A和B的相乘来模拟本征秩(intrinsic rank)。输入和输出的维度均为d,与预训练模型层的维度相同。

  • 低秩分解:A矩阵将输入的d维数据降维至r维(增量矩阵的本征秩),r远小于d(r << d)。矩阵计算从d x d变为d x r + r x d,大大减少了参数量和计算量。

  • 回映射:B矩阵将这些r维数据再映射回d维,以保持与预训练模型其他部分的兼容性。

通过这种低秩适配,LoRA仅需对少量参数(A和B矩阵)进行训练,从而提高了微调的效率和实用性。

三、LoRA相比Adapter方法的优势

1. 推理性能高效

LoRA在推理阶段直接利用训练好的A、B低秩矩阵替换原预训练模型的对应参数,避免了Adapter方法中由于增加网络深度而带来的额外计算量和推理延时。

2. 高效推理

LoRA的推理过程类似于全参数微调(Full-finetuning),但无需增加额外的计算负担,保持了高效的推理性能,同时实现了对模型的有效调整。

3. 模拟全参数微调的效果

LoRA通过对模型关键部分的低秩调整,模拟了全参数微调的过程,几乎不影响训练效果。实验结果也证明了LoRA在效果上的优势。
综上所述,LoRA提供了一种在保持推理效率的同时,有效微调大型预训练模型的方法,特别适用于对推理速度和模型性能都有高要求的应用场景。

四、LoRA相比Soft Prompts方法的优势

1. 更深层次的模型修改

LoRA通过修改模型的权重矩阵,直接影响模型的内部表示和处理机制,而不仅仅是输入层级,这使得LoRA能够在模型更深层次上产生影响,可能导致更有效的学习和适应性。

2. 无需牺牲输入空间

Soft prompts通常需要占用模型的输入空间,限制了其他实际输入内容的长度。LoRA不依赖于Prompt调整方法,避免了相关限制,不影响模型处理的输入长度。

3. 直接作用于模型结构

LoRA通过在模型特定层(如Transformer层)内引入低秩矩阵来调整模型行为,这种修改直接作用于模型结构,而Soft prompts则更多是通过操纵输入数据来影响模型输出。

4. 更高的灵活性和适应性

LoRA在不同层和模型部件中引入低秩矩阵,可根据具体任务进行调整,提供更大的灵活性,使得模型可以更精细地适应特定任务。

5. 模拟全参数微调的效果

LoRA的设计思路是模拟全参数微调的过程,通常能够带来更接近全面微调的效果,特别是在复杂任务中表现突出。

总的来说,LoRA的优势在于能够更深入地、不占用额外输入空间地修改模型,提供更高的灵活性和适应性,尤其适用于需要深层次模型调整的场景。LoRA通过高效、低秩的方式实现了对大模型的微调,开创了模型微调的新方向,为自然语言处理领域带来了新的可能性。

智能体AI
1、大模型只有结合业务才有意义,做出有价值的应用才是王道。2、基于大模型的开发要和传统程序结合。3、程序员的价值暴跌。4、产品经理的价值暴增。你需要及时更新自己的认知,帮大模型产品找到合理的价值主张。提供项目管理和AI应用的咨询服务。
 最新文章