能像乐高一样组合,LoraHub挖掘LoRA 模块化特性

简介: 能像乐高一样组合,LoraHub挖掘LoRA 模块化特性


编辑:Panda

低秩自适应(Low-Rank Adaptation, LoRA)是一种常用的微调技术,让基础 LLM 可以高效地适应具体任务。近日,来自新加坡 Sea AI Lab、圣路易斯华盛顿大学和艾伦人工智能研究所的研究者提出了一种新的 LoraHub 学习方法,可让 LLM 通过少量样本就能适应多种前所未见的新任务。研究者发布了 LoraHub 的代码以促进相关研究。

OpenAI GPT、Flan-T5 和 LLaMA 等大型预训练语言模型(LLM)极大的推动了自然语言处理(NLP)领域的发展。这些模型在许多 NLP 任务上都有绝佳表现。但是,由于这些模型都有大量参数,因此在微调时会涉及计算效率和内存使用量等问题。


低秩自适应(LoRA)就是一种可以缓解这些问题的高效微调技术。它能降低内存需求和计算成本,从而提升 LLM 训练速度。


LoRA 的做法是冻结基础模型(即 LLM)的参数,然后训练一个轻量级的辅助模块,并且这个模块通常在目标任务上能取得优良表现。


尽管之前已有研究探索过使用 LoRA 来提升效率,但少有人探究 LoRA 模块固有的模块化特性和可组合性。大体而言,之前的方法训练的 LoRA 模块都是专精于各个任务和领域。然而,LoRA 模块固有的模块化特性本身就具备一个有趣的研究问题:能否将 LoRA 模块用于将 LLM 高效地泛化用于未曾见过的任务?


这篇论文挖掘了 LoRA 的模块化特性在广泛围任务泛化方面的潜力,使之不再局限于单任务训练,通过精心构建 LoRA 模块使之在未知任务上也能取得一定性能。最重要的是,这种方法据称能实现 LoRA 模块的自动组合,从而无需再依赖人工设计或人类专家。只需从未曾见过的任务取少量示例,这种新方法就能自动编排兼容的 LoRA 模块,而无需人类干预。研究者并没有预设在具体任务上训练的哪些 LoRA 模块可以组合,而是符合规范(例如使用相同的 LLM)的模块都可以灵活地合并进来。由于该方法使用了多种可用的 LoRA 模块,因此研究者将其命名为 LoraHub,将新的学习方法称为 LoraHub 学习。



论文地址:https://arxiv.org/abs/2307.13269

代码地址:https://github.com/sail-sg/lorahub


他们也通过实验验证了新方法的效率,其中使用的基础 LLM 是 Flan-T5,评估基准是被广为认可的 BBH 基准。结果表明,通过一些少样本 LoraHub 学习过程,LoRA 模块组合就能高效地用于未曾见过的任务。值得注意的是,新方法获得的分数非常接近于少样本上下文学习的表现。


此外,相比于上下文学习,新方法还能显著降低推理成本,消除了 LLM 对示例输入的需求。这个学习过程还体现出了另一个重要优势,即计算效率;其使用了一种无梯度方法来获取 LoRA 模块的系数,并且对于未见过的任务只需少量推理步骤。举个例子,当在 BBH 基准上评估时,新方法使用单块 A100 在一分钟内就能取得更优的表现。


图 1:零样本学习、少样本上下文学习和新提出的少样本 LoraHub 学习。注意组合过程是基于每个任务执行的,而不是基于每个示例。新方法的推理吞吐量与零样本学习相近,而在 BIG-Bench Hard(BBH)基准上的性能表现接近上下文学习。


需要重点指出的是,LoraHub 学习在只有 CPU 的计算机上也能完成,毕竟它只需要熟练处理 LLM 推理。这种方法凭借其多功能性和稳健的性能表现,有望催生出一个平台,让用户可以毫不费力地共享和获取训练好的 LoRA 模块并将其用于新任务。研究者设想,通过这样一个平台,可培育一个包含无数功能的可复用 LoRA 模块库。这也能为协作式 AI 开发提供舞台,让社区能够通过动态 LoRA 组合来共同丰富 LLM 的能力。这种共享和复用模块的潜力可望实现在不同任务上的资源最优利用。


方法


如图 2 所示,研究者首先在多种上游任务上训练 LoRA 模块。具体来说,对于 N 个不同的上游任务,首先分别训练 N 个 LoRA 模块。然后,对于新任务(如图 2 中的布尔表达式),就使用该任务的示例来引导 LoraHub 学习过程。


图 2:新方法包含两个阶段:组合阶段(COMPOSE)和适应阶段(ADAPT)


组合阶段是通过一组权重系数将已有的 LoRA 模块整合成一个统一模块。适应阶段是使用未曾见过的任务的少量示例对合并得到的 LoRA 模块进行评估。然后,使用一个无梯度算法来优化上述权重。执行过几轮迭代后,会产生一个经过高度适应的 LoRA 模块,其可被集成到 LLM 中,用以执行目标任务。对该方法的详细数学描述请参阅原论文。


评估


研究者对新提出的方法进行了评估,其使用的 LLM 是 Flan-T5。


表 1 给出了实验数据,可以看到,新方法的功效接近零样本学习,同时在少样本场景中的性能表现又接近上下文学习。这一观察结论基于五次不同实验的平均结果。


表 1:零样本学习(Zero)、少样本上下文学习(ICL)和新提出的少样本 LoraHub 学习的性能表现对比。


需要重点指出,实验中,使用新方法的模型使用的 token 数量与零样本方法一样,明显少于上下文学习所用的 token 数。尽管性能表现偶尔会有波动变化,但新方法的表现在大多数实例中都优于零样本学习。新方法真正出彩的地方是其最优表现超越了上下文学习,但使用的 token 却更少。在 LLM 时代,推理成本与输入长度成正比,因此 LoraHub 能经济地利用输入 token 达到接近最佳性能的能力会越来越重要。


如图 3 所示,当未曾见过的任务的示例数量低于 20 时,新方法的表现大体上都优于 LoRA 微调。


图 3:传统微调(FFT)、LoRA 微调(LoRA)和新提出的 LoraHub 学习(Ours)在不同数量的任务示例下的表现对比。

相关文章
|
1月前
|
监控
SMoA: 基于稀疏混合架构的大语言模型协同优化框架
通过引入稀疏化和角色多样性,SMoA为大语言模型多代理系统的发展开辟了新的方向。
44 6
SMoA: 基于稀疏混合架构的大语言模型协同优化框架
|
1月前
|
机器学习/深度学习 自然语言处理 人机交互
综合RLHF、DPO、KTO优势,统一对齐框架UNA来了
在大型语言模型(LLM)的预训练中,尽管模型已接触数万亿个标记,但仍可能生成不符合预期的响应。为解决这一问题,研究者提出了RLHF、DPO和KTO等对齐技术。然而,这些技术各有局限。为此,论文《UNA: Unifying Alignments of RLHF/PPO, DPO and KTO by a Generalized Implicit Reward Function》提出了一种新的统一对齐方法UNA。UNA通过引入广义隐式奖励函数,成功将RLHF/PPO、DPO和KTO统一起来,简化了训练过程,提高了模型的鲁棒性和性能。
62 15
|
2月前
|
数据采集 算法 数据可视化
圣牛模型是什么?与传统方法相比有哪些独特的优势和应用限制?
圣牛模型(Sacred Cow Model)是一种创新的项目管理方法,通过系统化思维解决复杂问题。它整合多元数据源,利用先进算法进行深度分析,并通过可视化界面展示结果。相比传统方法,圣牛模型具备更全面的数据分析、高准确性和预测能力、实时动态反馈及个性化定制等优势,但也面临数据质量、技术门槛、解释性和伦理等方面的挑战。结合板栗看板等工具,能进一步提升决策效率和支持效果,助力企业在数字化时代实现持续发展。
|
5月前
|
机器学习/深度学习
现代深度学习框架问题之业务系统层面的广义控制流有哪些特性
现代深度学习框架问题之业务系统层面的广义控制流有哪些特性
|
6月前
|
JavaScript 前端开发
模块化(Modularization)是一种软件工程实践,旨在将大型、复杂的系统分割成一系列松散耦合、功能独立且具有明确定义接口的模块。
模块化简化复杂软件,通过划分独立模块提升代码可读性、维护性、复用性和扩展性。JavaScript模块化有多种方式:CommonJS(Node.js,`require()`/`module.exports`),AMD(RequireJS,异步加载,`define()`/`require()`),以及ES6 Modules(官方标准,`import`/`export`)。早期还有闭包和IIFE等非正式方法。现代工具如Webpack和Rollup处理兼容性问题,使模块化代码能在各种环境中运行。
84 0
|
6月前
|
设计模式 Java 数据库
Java设计模式:桥接模式实现灵活组合,超越单一继承的设计之道(十)
Java设计模式:桥接模式实现灵活组合,超越单一继承的设计之道(十)
|
7月前
|
机器学习/深度学习 搜索推荐 物联网
微软开源创新LoRA组合方法,增强文生图复杂细节控制
微软研究团队推出Multi-LoRA Composition技术,改善文本到图像模型的细节控制。利用低秩适应(LoRA)提升图像生成精度,通过LORA SWITCH和LORA COMPOSITE解决组合复杂图像的挑战。新方法在ComposLoRA平台上测试,性能优于基线,为图像生成和个性化内容创作开辟新途径。尽管有学习曲线和定制需求优化的问题,但该研究仍为领域带来显著进步。
434 3
微软开源创新LoRA组合方法,增强文生图复杂细节控制
|
机器学习/深度学习 Oracle 关系型数据库
华为团队开发组合贝叶斯优化框架,进行抗体计算机设计
华为团队开发组合贝叶斯优化框架,进行抗体计算机设计
173 0
|
机器学习/深度学习 算法 数据挖掘
浙大发布「数据混合增强」框架AutoMix,还顺手开源了众多mixup算法(1)
浙大发布「数据混合增强」框架AutoMix,还顺手开源了众多mixup算法
199 0
|
编解码 算法 数据挖掘
浙大发布「数据混合增强」框架AutoMix,还顺手开源了众多mixup算法(2)
浙大发布「数据混合增强」框架AutoMix,还顺手开源了众多mixup算法
317 0
下一篇
DataWorks