非均匀数据的个性化联邦微调:一种两层低秩自适应方法

PERSONALIZEDFEDERATEDFINE-TUNINGFORHET EROGENEOUS DATA: A TWO-LEVEL LOW RANK ADAPTATIONAPPROACH

[2503.03920v1] Personalized Federated Fine-tuning for Heterogeneous Data: An Automatic Rank Learning Approach via Two-Level LoRA

摘要:我们在基础模型的上下文中研究了具有异构客户端数据的个性化联邦微调任务,其中客户端协作微调基础模型虽然最近的努力已经应用了参数高效的微调技术,如低秩自适应(LoRA)或联合设置中的训练提示,他们经常忽视数据异构性和模型个性化主要的挑战是单个公共适配器或提示学习器可能不足以满足所有客户端的不同数据。为了解决这个问题,我们提出了PF2LoRA,提出了一种新的个性化联邦微调算法,在LoRA之上的低级别自适应框架。给定权重被冻结的预训练基础模型,我们的算法旨在同时学习两个级别的自适应:第一级旨在学习用于所有客户端的公共适配器,而第二个层次则促进了单个客户端的个性化。该框架明确地适应了客户端之间适配器矩阵等级的变化,并引入了最小的额外内存的开销,因为第二级的适应包括一个小数目的参数相比,第一级。我们的自然语言理解和生成任务的实验表明,PF2LoRA显着优于现有的联邦微调方法。

结论:在本文中,我们提出了PF2LoRA,一种新的个性化联邦微调算法的异构数据的基础上,两个层次的低秩适应框架,其中第一个层次的目的是学习一个共同的适配器为所有的客户端和第二个层次的个人客户端个性化。我们的方法解决了现有方法的局限性,通过对NLU和NLG任务的全面实验,PF2LoRA在最先进的基线上表现出显着的性能改进,具有可忽略的附加存储器开销。

解决的问题

背景知识:

现有的方法HOMLoRA在所有客户端中仅使用一个公共适配器x ,不能适应具有异构数据分布的客户端的个性化需求。并且HETLoRA存在两个主要缺点:(1)任何客户端的初始排名都是固定的,并且在预定义的最小和最大排名范围内,这与客户端数据无关。然而,学习困难任务的客户端可能被分配较小的排名,并且没有能力很好地学习其相应的任务。(2)有许多超参数需要调整,包括秩的最小值和最大值、修剪参数和稀疏性参数。如何执行个性化的联邦微调,使得适配器依赖于数据并且过程具有少量的调优参数,这仍然是不清楚的。

本文将异质性排序明确地融入到问题的表述中,提出了一种新的个性化联邦细调算法PF2LoRA。我们的方法在LoRA之上引入了一个两级低秩自适应框架。第一级为所有客户端学习一个公共适配器x = {B ∈ R m×r,A ∈ R r×n},而第二级通过为第k个客户端学习特定于客户端的轻量级适配器yk来促进个人客户端个性化,其中yk = {Dk ∈ R m×r,Ck ∈ R r×n,0 < r ^< r <m}且1 ≤ k ≤ M。我们将所提出的两级低秩自适应框架公式化为两级优化问题:我们的目标是学习公共适配器x,以最小化损失函数,假定当公共适配器x被给出时,各个客户端适配器ykM k=1可以实现最佳性能。两级LoRA框架明确地适应跨客户端的适配器矩阵秩的变化,这基本上避免了秩修剪,HETLoRA中的矩阵截断和零填充用于适配器的对齐。引入的客户端特定适配器实际上实现了异构数据的个性化适配。此外,整个框架增加的额外内存开销可以忽略不计,因为第二层低秩适配与第一层相比包含少量参数。我们的主要贡献如下:

1、我们提出了一种新的双层公式,用于异构数据的个性化微调,并开发了一个两级低秩自适应框架,以有效地微调联邦学习场景中的基础模型。我们的框架的主要工作流程如图1所示。

·2、通过对各种自然语言理解和生成任务的大量实验,我们证明PF2LoRA显著优于现有的联邦微调基线,为基于基础模型的个性化联邦学习提供了一个强大而有效的解决方案。例如,在GLUE基准测试中,PF2LoRA达到了25.6%,2.33%,15.34%,和2.53%的性能分别高于最先进的基线HETLoRA MNLI,SST-2,QQP,QNLI dataset. In此外,通过广泛的消融研究,我们表明,我们提出的两级适应框架实现了最高的性能在各种数据异质性水平,并优于基线方法,即使他们使用更多的可训练参数。

论文方法

图一:两级低秩适配框架的说明。第一级为所有客户端学习公共适配器{A,B},并且公共适配器通过在每个通信回合在所有客户端上平均来同步。第二级旨在为特定客户端k ∈ [1,M]学习客户端特定的轻量级适配器{Ck,Dk},而轻量级适配器引入可忽略的额外内存开销。

我们为每个客户端k引入一个客户端特定的适配器,其中yk = {Dk ∈ R m×r^},Ck ∈ R r^×n,0 < r^ < r,1 ≤ k ≤ M}。我们强调新引入的适配器具有比普通适配器中小得多的秩r^。经验上,我们通常设置r^ =r/4或r^ =r/2这意味着客户端中的可训练参数-特定适配器的内存开销仅为普通适配器的1/4或1/2,因此新适配器是轻量级的,并且引起的额外内存开销可以忽略不计。

与等式1w=w0+AB不同,我们合并了公共适配器和客户端特定适配器。特别地,第k个客户端的适配器可以参数化为,

其中Wk是用于第k个客户端的适配器,A、B是用于所有客户端的公共适配器,并且(Ck,Dk)是用于第k个客户端的客户端特定适配器。由于原始权重W 0被冻结,因此模型中的可训练参数是用于客户端k的A、B、Ck、Dk。与HETLoRA不同,HETLoRA的本地客户端矩阵秩是预定义的并且与数据无关,而我们明确地鼓励用于第k个客户端的每个适配器Wk在k上变化:它可以在范围(r-r^, r+ r^)中具有不同的等级,并且特定等级由训练数据自动确定。

我们将个性化联邦微调的两级自适应框架形式化为以下两级优化问题:

其中fk(x,yk)是第k个客户端的损失函数,Fk是来自第k个客户端的样本k的个体损失函数,并且Dk是客户端k上的数据。上层(UL)在一组最佳客户端特定适配器yk^(x)1 ≤ k ≤ M上为所有客户端学习公共适配器x对于由低级问题定义的给定x。给定公共适配器,低级(LL)旨在本地搜索最佳的客户端特定适配器以适应其各自的数据,这实际上促进了个体客户端个性化。

算法为:

在大型语言模型中实现我们的框架。这些模型都是基于Transformer开发的架构,由多个层组成(例如,L)的自注意模块和前馈网络。自注意模块包含查询(Wq ∈ Rm ×n)、密钥(Wk ∈ Rm ×n)和值(Wv ∈ Rm ×n)权重矩阵,其中LoRA通常应用于Wq和Wv。

在初始化语言模型时,首先将预先训练好的权值加载到模型中,然后定位每一层的自注意模块,对第i层的每个Wi 0矩阵,初始化两个新的矩阵Bi ∈ Rm ×r,Ai ∈ Rn ×n(r通常设置为8或4),然后合并矩阵Bi、Ai和Wi 0的乘积,以形成新的合并权重矩阵Wi 0 + BiAi。我们冻结所有预先训练的参数,即冻结W 0 ,并且仅允许训练矩阵B ,A 。这里{B,A}矩阵形成等式3中的公共适配器x。以上描述概述了HOMLoRA的标准模型初始化过程。

实验

论文在两个主要的自然语言任务上使用我们的算法和基线进行了广泛的实验,即自然语言理解(NLU)和自然语言生成(NLG):

NLU:

NLG:

理论证明

作者通过数学证明,给出了算法的收敛率,为O(1/T)。

个人体会

这一个论文跟上一个论文FedFMSL有点像,都有两层的lora,分别在服务器与客户端。但区别是FedFMSL是两个阶段的微调,先训练好一个公共模型,在下一个阶段对每个客户端微调。而这个论文不一样,他只有一个阶段的训练,同时训练服务器的AB与每个客户端的CkDk,通信的内容为AkBk,AB则为其平均值。