大规模预训练语言模型(LLM)如OpenAI GPT、Flan-T5和LLaMA极大地推动了自然语言处理(NLP)的快速发展。这些模型在各种NLP应用中表现出色。然而,在微调过程中,由于它们庞大的参数规模,计算效率和内存利用存在问题。
近年来,低秩适应(LoRA)的崛起成为一种有效的调优工具。它通过减少所需的内存和计算量来加快LLM的训练。LoRA通过固定主模型的参数(一个LLM)并学习一个小型的补充模块来实现这一目标,该模块可靠地在指定的任务上表现良好。
LoRA所带来的效率提升一直是以前的研究重点,但LoRA模块的模块化和可组合性却受到了极少关注。必须研究LoRA模块是否可以高效地推广到未知问题。
来自Sea AI Lab、华盛顿大学和Allen Institute for AI的研究人员决定利用LoRA的模块化能力,使其能够灵活应对新的挑战,而不仅仅局限于特定任务的训练。他们的方法的关键优势在于,它允许LoRA模块在没有人为干预或专门知识的情况下自动组装。
该方法可以通过使用以前未识别任务的几个样本自动安排合适的LoRA模块。因为研究人员不假设哪些训练在哪些任务上的LoRA模块可以集成,满足要求的所有模块(例如通过利用相同的LLM)都可以进行合并。他们将这种学习技术称为LoraHub学习,因为它使用了已有的几个不同的LoRA模块。
为了确保其有效性,团队使用行业标准的BBH基准和Flan-T5作为底层LLM来评估他们的方法。结果表明,几次少样本的LoraHub学习过程可以为新任务组合LoRA模块,效果接近少样本、上下文学习。与上下文学习相比,消除了LLM的实例输入需求,从而显著降低了推理成本。该学习技术采用无梯度的方法生成LoRA模块的系数,只需要少量的推理步骤。以单个A100为例,在不到一分钟内,该方法可以在BBH上达到顶级性能。
在LoraHub上的学习仅需要了解如何处理LLM推理。因此,它可以在仅有CPU的计算机上完成。这项工作的灵活性和高性能为创建一个平台铺平了道路,在这个领域里,训练过的LoRA模块可以轻松共享、访问和应用于新的任务。团队希望这样的系统能够允许开发一个具有广泛功能的可重用LoRA模块库。该团队正在努力动态组合LoRA节点,以提高LLM的能力,使其适用于所有人。