FlexLoRA

摘要:联邦学习(FL)最近被应用于大语言模型(LLM)的参数高效微调。尽管前景广阔,但由于客户端资源和数据分布的异质性,这一应用带来了重大挑战。本文介绍了一种名为 FlexLoRA 的简单而有效的 LLM 微调聚合方案,该方案缓解了传统联邦学习中的“木桶效应”,这种效应限制了资源充足的客户端的潜力,因为它们被绑定到资源最少的参与者的水平。FlexLoRA 允许动态调整本地 LoRA(低秩适应)秩,促进开发具有更广泛、更不特定于任务的知识的全局模型。通过整合来自各个客户端的贡献,合成一个全尺寸的 LoRA 权重,并利用奇异值分解(SVD)进行权重重新分配,FlexLoRA 充分利用了异构客户端资源。我们的实验涉及数千名客户端执行异构的自然语言处理(NLP)任务和客户端资源,验证了 FlexLoRA 的有效性。在各种异构分布下,联邦全局模型在下游 NLP 任务性能上始终优于现有的最先进联邦学习方法。FlexLoRA 的实用性还通过我们的理论分析和其与现有基于 LoRA 的联邦学习方法的无缝集成得到进一步强调,为跨设备、保护隐私的 LLM 联邦微调提供了一条路径。

1 引言:大语言模型(LLMs)在自然语言处理(NLP)领域推动了诸多进展,为各种任务带来了突破。在特定数据集上对 LLMs 进行微调可以增强其适用性,但收集这些数据集会引发成本和隐私方面的担忧。研究人员转向联邦学习(FL),作为一种在分布式客户端上微调 LLMs 的方法,无需泄露数据隐私。在这种设置中,参数高效的微调技术,尤其是低秩适应(LoRA)因其能够减少计算和通信负担而备受关注。

尽管 LoRA 效率很高,但其在 FL 中的应用受到客户端下游任务和可用资源异质性的挑战,尤其是在跨设备场景中。传统 FL 方法常常受到“木桶效应”的困扰,收敛到使用最小可行 LoRA 秩,即使许多客户端通常拥有更多未充分利用的资源也是如此。小 LoRA 秩以任务特定的方式优化权重,可能对异构数据分布敏感,并在应用于所有客户端时损害泛化能力。理想情况下,我们希望所有客户端都能充分利用其资源,根据其资源调整本地 LoRA 秩,以贡献具有更泛化知识而非特定任务知识的模型。

为解决这些挑战,我们提出了 FlexLoRA,这是一种简单而有效的联邦学习聚合方案,能够混合各个客户端的多样化 LoRA 权重。它考虑了本地资源和任务差异,并旨在实现具有良好泛化能力的全局模型。通过异构聚合和通过奇异值分解(SVD)重新分配权重,FlexLoRA 确保所有客户端都能有效贡献,无论其资源容量如何。由于其简单性,FlexLoRA 可以插入一系列基于 LoRA 的 FL 方法中,释放其利用可用但未充分利用的资源的潜力,通过更大的 LoRA 秩贡献更泛化的知识,这也得到了我们的理论分析的支持。

我们的实证研究模拟了一个跨设备联邦微调场景,涉及数千名客户端在各种 NLP 任务和资源分布上进行验证,强调了 FlexLoRA 的现实世界适用性。值得注意的是,FlexLoRA 可以轻松应用于几种最先进联邦学习基线方法,并取得了显著的性能提升,包括在零样本 Rouge-L 分数上提升了 3.1%,以及在重叠提取和文本蕴含等语言理解任务上提升了 4%,展现出强大的泛化能力。我们还对 FlexLoRA 的聚合方案和可扩展性进行了广泛研究,提供了对其有效性的潜在机制的更深入理解。

我们的贡献可以总结如下:

  • 我们提出了一种简单而有效的可扩展方法,充分利用本地客户端资源以增强全局模型的泛化能力,这一方法得到了理论分析和广泛实证证据的支持。

  • 据我们所知,这是首次在大规模、资源异构场景中展示跨数千个 NLP 任务对数十亿规模的 LLMs 进行联邦微调的可行性。

  • 我们探讨了 LoRA 秩、客户端数量、特定异构语言任务和资源分布之间的相互作用,提供了实用见解。我们的代码已在链接处公开,欢迎进一步研究和应用于现实世界的跨设备 LLMs 联邦学习。3.3 最大化本地秩以利用本地资源
    为了充分利用本地客户端的资源,我们遵循在客户端资源预算允许的情况下分配尽可能高的秩的原则,这受到我们实证发现的启发,即较大的秩通常能带来更好的泛化能力。图1表明,在传统参数平均聚合方案下,使用统一更高秩训练的模型比使用低秩的模型表现更好。对于单个客户端的性能,零样本性能在大多数情况下也得到了提升。附录J中的表13和图9显示,无论分配给每个客户端的任务是什么,性能都会随着LoRA秩的增加而统一提高。尽管可能存在一个理想的LoRA秩,能够最大化单个客户端的性能(可能高达200),但实际的资源限制可能需要选择一个较低的秩,例如8。因此,我们采用在FlexLoRA中尽可能利用资源的原则,将秩设置得尽可能大,这易于实现,并且根据奥卡姆剃刀原则,这种做法几乎不会导致过拟合的风险。
    在附录B中,总结了FlexLoRA的整体流程及其服务器更新的核心功能,分别在算法1和算法2中。FlexLoRA通过增加本地秩来有效提升模型的泛化能力,同时不牺牲整体训练效率。与FedAvg和基于同质秩的联邦学习方法相比,FlexLoRA引入了一个轻量级的SVD过程,但与本地LLM训练过程相比,SVD带来的开销可以忽略不计。此外,SVD每轮只执行一次,并且与客户端数量无关。值得注意的是,FlexLoRA能够在无需任何额外超参数调整的情况下实现异构秩。正如我们在表4中实证展示的那样,由于更大的秩带来的收敛速度提升,足以弥补每轮训练更多参数带来的额外开销,从而在整体效率上获得净收益,并减少了完成训练所需的总时间。这些特性增强了FlexLoRA在涉及数千或数百万设备的跨设备联邦学习设置中的效率和可扩展性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值