LoRA微调技术

9 个月前 语言模型 103

LoRA(Low-Rank Adaptation)是一种高效的微调技术,主要用于大型预训练语言模型的适应和优化。其核心思想是通过引入少量的额外参数来实现模型的微调,而不是改变模型的全部参数。具体来说,LoRA通过对大型模型的权重矩阵进行隐式的低秩转换,从而降低计算和存储的开销。

LoRA的主要优势在于它能够大幅降低微调过程中所需的GPU资源需求和计算复杂度。此外,LoRA通过在原始预训练语言模型旁边增加一个旁路,并训练降维与升维矩阵来模拟内在秩,实现了高效的参数微调。这种方法不仅减少了参数量,还节省了显存,使得训练好的权重可以合并到原始权重上,推理架构不需要作出改变。

例如,在GPT-3 175B模型上,LoRA可以将可训练参数数量减少10,000倍,同时将GPU内存需求减少3倍。尽管LoRA减少了可训练参数的数量,但它在RoBERTa、DeBERTa、GPT-2和GPT-3等模型上的性能表现与全参数微调相当或更好。这表明LoRA不仅提高了效率,而且保持了模型的质量。

然而,LoRA也存在一些局限性。例如,LoRA块的大小是固定的,不能在训练后修改(如果需要改变LoRA块的秩,则必须从头开始重新训练)。此外,优化LoRA块的秩需要大量的搜索和努力。为了解决这些问题,研究者提出了动态低秩适应(DyLoRA)技术,该技术通过在不同秩下对适配器模块的学习表示进行排序,训练一系列秩的LoRA块,从而至少可以将训练速度提高4到7倍,而且不会显著牺牲性能。

此外,还有研究提出了通用化的LoRA(GLoRA),它通过使用一个通用的提示模块来优化预训练模型权重并调整中间激活,提供了更多的灵活性和能力,适用于多种任务和数据集。GLoRA还采用了可扩展的、模块化的、逐层结构搜索,学习每个层的个体适配器,展示了强大的迁移学习、少样本学习和领域泛化能力。

LoRA定义
低秩适应方法
用于大型预训练语言模型的适应和优化

微调原理
通过引入额外参数实现微调
对原模型参数进行低秩转换,降低计算复杂度
分解原始参数矩阵为较小矩阵乘积形式

主要优势
减少GPU资源需求和计算复杂度
节省显存,减少参数量
推理架构无需改变即可使用训练好的权重

应用场景
大规模预训练模型的适应和优化
适合任何通过W ∈ R^m×n参数化的线性操作

实施步骤
冻结预训练模型的权重
在每个Transformer块中注入可训练层(秩-分解矩阵)

与其他技术的比较
相比SFT、P-tuning v2等,LoRA通过低秩分解减少参数量,节省成本且效果接近全模型微调


资讯来源:Metaso.cn

相关资讯