《LoRA: Low-Rank Adaptation of Large Language Models》
论文解读 - YouTube
《Low-rank Adaption of Large Language Models: Explaining the Key Concepts Behind LoRA》
请问LoRA的秩分解矩阵是怎么初始化的?
LoRA的秩分解矩阵是随机初始化的,然后通过梯度下降法进行训练。文章中提到,这种初始化方法可以保证LoRA的矩阵与预训练模型的权重相互正交,从而避免了对预训练模型的干扰。文章还比较了其他几种初始化方法,如零初始化、单位初始化和正交初始化,发现它们都不如随机初始化的效果好。
请问LoRA的秩分解矩阵是在哪一层注入的?
LoRA的秩分解矩阵是在预训练模型的最后一层注入的,也就是输出层。文章中指出,这样做的原因是输出层的权重通常是最大的,也是最容易过拟合的,因此通过低秩适应可以有效地减少参数量和提高泛化能力。文章还展示了在不同层数注入LoRA的实验结果,发现在输出层注入LoRA的效果最好。
请问你对LoRA的未来发展有什么看法?
我对LoRA的未来发展有以下几点看法:一是LoRA可以进一步扩展到其他类型的预训练模型,如图像、语音、视频等,探索不同的秩分解方法和注入位置;二是LoRA可以结合其他的适应技术,如知识蒸馏、元学习、多任务学习等,提高适应的效率和效果;三是LoRA可以探索更多的应用场景,如迁移学习、联邦学习、增量学习等,解决实际问题。当然,这些只是我的一些想法,不一定正确或完备。在这种情况下,一个人可能会说,LoRA是一个有前景的研究方向,值得进一步探索和改进。
摘要
自然语言处理的一个重要范式是在通用领域数据上进行大规模预训练,然后适配到特定的任务或领域。随着我们预训练的模型越来越大,进行重新训练所有模型参数的 full fine-tuning,变得难以实行。以 GPT-3 175B 为例——对于部署微调模型的独立实例,每个都有1750亿个参数,这是非常昂贵的。本文提出了低秩适应 Low-Rank Adaptation(LoRA),冻结预训练模型的权重,并在Transformer架构的每一层注入可训练的秩分解矩阵,大大减少了下游任务的训练参数。与使用Adam微调的 GPT-3-175B 相比,LoRA可以将可训练参数减少10,000倍,GPU内存需求减少3倍。与微调相比,LoRA在RoBERTa、DeBERTa、GPT-2和GPT-3上的模型质量表现与之相当或更好,尽管可训练参数更少,其训练吞吐量更高,而且与adapters不同,没有额外的推理延迟。我们还对语言模型适配中的 rank-deficiency 进行了实证研究,揭示了LoRA的有效性。本文发布了一个可以方便LoRA与PyTorch模型集成的包,并提供了RoBERTa、DeBERTa和GPT-2的实现和模型的checkpoints,开源在https://github.com/microsoft/LoRA。文章来源:https://www.toymoban.com/news/detail-473963.html
1 引言
许多自然语言处理的应用依赖于将大规模预训练的语言模型适配到多个下游应用中。这种适配通常是通过微调来实现的,即更新预训练模型的所有参数。Fine-tuning的主要缺点是新模型需训练与原始模型一样多的参数。随着每隔几个月就有更大的模型被训练出来,在GPT-2(Radford_b_GPT2)或 RoBERTa large(Liu_2019_RoBERTa)时代,此问题还是一个单纯的“不便”,到拥有1750亿个训练参数的 GPT-3(Brown_2020_GPT3)时变成了一个 critical deployment challenge。
为了缓解这一问题,许多人研究对新任务仅调整部分参数或学习外部模块。文章来源地址https://www.toymoban.com/news/detail-473963.html
到了这里,关于【DL】《LoRA: Low-Rank Adaptation of Large Language Models》译读笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!