LoRA撬动大语言模型的杠杆

大语言模型与下游任务的高效桥接方法。

LoRA撬动大语言模型的杠杆
封面图片:由Midjourney生成

LoRA的全称是Low-Rank Adaptation of Large Language Models,是由Microsoft提出的一种用于调试大预言模型参数的方案。GPT-3的参数规模约为1750亿,如果要执行全参数微调需要的硬件规模非常可观。使用LoRA后,需要调整的参数数量缩减到原来的万分之一,显存需求减少到原来的三分之一。而且在推演时没有额外的性能开销。

GitHub - microsoft/LoRA: Code for loralib, an implementation of “LoRA: Low-Rank Adaptation of Large Language Models”
Code for loralib, an implementation of "LoRA: Low-Rank Adaptation of Large Language Models" - GitHub - microsoft/LoRA: Code for loralib, an implementation of "LoRA: Low-Rank Adaptati…

经过大量一般领域语言数据轰炸的大语言模型可以作为下游细分任务模型的基础。然而这类下游任务的适配通常采用附加额外参数后继续调试的方式实现。例如通过增加额外的适配层。这种适配参数会添加在每个Transformer模块的后边。但是适配模块的计算是顺序的,无法并行,因此这种方式会带来额外的性能开销。另一种方式是直接优化提示词prompt。但是这种输入前缀的优化非常困难并且训练参数的变化是非单调的,更别提这种方式会占用模型的输入输出空间。