大语言模型的LoRA研究综述:原理、改进与应用前景
大语言模型的LoRA研究综述:原理、改进与应用前景
大模型低秩适应技术(Low-Rank Adaptation,LoRA)通过可插拔的低秩矩阵更新密集神经网络层,是当前参数高效微调范式中表现最佳的方法之一。此外,它在跨任务泛化和隐私保护方面具有显著优势。因此,LoRA 最近受到了广泛关注,相关文献的数量呈指数增长。对LoRA的当前进展进行全面综述是必要的。
低秩适应(LoRA)
低维固有维度假说[186]提出,过度参数化模型存在于低固有维度上,这表明我们可以通过仅更新与固有秩相关的参数来实现适当的学习性能。基于这一假说,LoRA[9]提出用低秩矩阵更新模型中的密集层。它可以同时实现参数和计算效率。在本节中,我们首先介绍LoRA的细节,然后介绍现有的聚焦于LoRA理论分析的工作。此外,我们展示了LoRA在实践中的效率。最后,本节介绍了LoRA在微调之外的其他用例。
LoRA在参数上非常高效,因为它仅更新模型参数的一小部分,从而在不增加推理延迟的情况下减少了微调所需的内存和计算要求[187]。此外,可以通过从低秩矩阵扩展到低秩张量[188]或与克罗内克分解结合[189, 190]进一步提高参数效率。除了参数效率,LoRA也是可插拔的,因为LoRA参数在训练后可以从模型中分离出来。LoRA的可插拔特性使其可以被多个用户共享和重用[191]。当我们拥有多个任务的LoRA插件时,可以组合这些插件,并期望获得适当的跨任务泛化性能[58]。此外,LoRA的低秩机制兼容其他参数高效方法,如适配器[192, 193]。
在实践中,对于基于Transformer的LLM,密集层通常由两种类型的权重矩阵组成:注意力模块中的投影矩阵和前馈神经(FFN)模块。在原始研究中,LoRA应用于注意力层的权重矩阵。后续工作表明,在FFN层中使用它可以进一步提高模型性能[194]。
下游适应性改进
尽管LoRA在某些下游任务上可以实现适当的适应性能,但在许多下游任务上(如数学推理[200-202]),LoRA与全量微调之间仍存在性能差距。为填补这一差距,许多方法被提出以进一步提高LoRA在下游任务中的适应性能。通常,现有方法从以下几个角度改进下游适应性能:
- 突破低秩瓶颈,参见图2(c);
- 自适应分配不同LoRA模块的秩,参见图2(d);
- 优化LoRA的学习过程;
- 与其他学习范式结合。
结论与未来方向
在本综述中,我们系统地回顾了LoRA在下游适应性改进、跨任务泛化、效率提升、联邦学习和应用等方面的最新进展。从这一综述中,我们可以发现LoRA在参数效率、可插拔性、兼容性和实现跨任务泛化的简便性方面具有显著优势,使其成为LLMs应用中最重要的技术之一。最近的进展进一步提升了LoRA的泛化能力和效率,并激发了其在更多场景中应用的潜力。以下列出了LoRA在未来将不可或缺的三个发展方向。
用于生成即服务(GaaS)的LoRA
在生成即服务(GaaS)中,基于云的平台为用户提供生成性人工智能(AGI)服务。GaaS使用户无需部署本地计算资源即可享受AGI服务。由于用户的需求多样化,提供各种功能的GaaS是必要的。为了实现这些各种功能,我们可以为每个功能构建一个LoRA插件。LoRA的参数效率和可插拔性可以促进高效的功能构建和执行。此外,GaaS平台上的服务会随时间迅速变化。为了跟上这些变化,我们可以通过组合先前的插件来初始化新的LoRA插件。LoRA的跨任务泛化能力可以促进服务更新的快速适应。
用于持续预训练的LoRA
在持续预训练中,基础模型通过无标签的用户数据持续训练,以使模型适应特定领域。通常,自监督训练目标与预训练相同,学习率则比预训练小得多。持续预训练是构建垂直领域LLMs的重要阶段。然而,这在计算上非常昂贵,阻碍了垂直领域LLMs的发展,尤其是对于计算资源有限的组织。增强LoRA以进行持续预训练并降低其计算成本是值得探索的方向。
用于自主代理的LoRA
在基于LLM的自主代理中,代理被赋予特定角色。根据角色和环境,代理会采取行动来回应用户或其他代理的请求。这些行动可以基于自我知识或为特定领域任务设计的工具。这些请求和行动被存储在内存中,以支持未来的请求。
在当前的代理中,角色通常通过提示来分配;然而,当角色复杂且相关数据量大时,提示可能无法全面描述角色。通过从与角色相关的数据中训练LoRA插件来分配角色可能是更好的选择。此外,代理的工具也可以是LoRA插件。通常,内存通过检索增强生成(RAG)来增强代理;然而,由于输入令牌的限制和上下文学习的缺点,基于RAG的支持可能效果不佳。相比之下,我们可以使用基于LoRA的持续学习来构建内存插件,从而解决RAG的问题。因此,值得探索LoRA驱动的代理。
总之,LoRA在生成即服务、持续预训练和自主代理等领域展现出巨大的潜力,未来的研究将进一步挖掘和扩展LoRA的应用,使其在越来越多的实际场景中发挥重要作用。