一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

联合梯度量化与带宽分配的联邦边缘学习训练方法及系统与流程

2022-10-13 08:05:11 来源:中国专利 TAG:


1.本发明涉及分布式系统领域,具体涉及一种联合梯度量化与带宽分配的联邦边缘学习训练方法及系统。


背景技术:

2.联邦边缘学习(federated edge learning)正在成为一种流行的分布式隐私保护机器学习框架,多个边缘设备在边缘服务器的帮助下协作训练机器学习模型。在联邦边缘学习中,边缘设备根据本地数据计算全局模型的梯度,并以迭代方式将梯度上传到边缘服务器以进行模型更新。然而,由于共享无线频谱的有限性以及训练参数过多,联邦边缘学习通常会受到通信瓶颈的严重影响。一种有效的缓解通信瓶颈的方法是量化,即使用较少的比特来表示梯度。考虑梯度量化以减少通信流量,并减少总训练延迟为目标是联邦边缘学习中的一个关键问题。总训练延迟与所需训练轮数和每轮延迟成正比。前者与梯度量化方案密切相关,即各个边缘设备的量化级别。后者由梯度量化方案和带宽分配方案共同确定。带宽分配方案指定如何在边缘设备之间共享频谱,与梯度量化密切相关,例如,当边缘设备使用更高的量化级别导致更大的通信流量时,它需要更多的带宽来缩短其传输时间。同时,每轮迭代的延迟由最慢的边缘设备决定。因此,有必要联合所有边缘设备对带宽分配和梯度量化选择进行优化。
3.目前,一些考虑不同环境下带宽分配和梯度量化的联合优化的方案已经被提出。其中,部分方案考虑了基于最值的随机量化方法,其中每个边缘服务器处的量化水平依赖于其局部梯度的动态范围。因此,只有当所有边缘设备都执行了其局部梯度时,才能进行联合优化,这导致计算速度较快的边缘设备需要等待速度较慢的设备才能开始传输。相比之下,另一些工作考虑另一种基于梯度模的量化方法,量化后梯度的方差仅与量化级别有关,因此边缘服务器可以在每轮训练开始之前对量化比特数分配方案进行优化。然而,虽然上述方法有了较好的效果,但是这些方法普遍存在以下问题:(1)仅考虑模型训练的收敛性,优化了训练轮的数量,但未考虑每轮延迟。(2)所有的节点使用相同的量化级别,从而导致联邦学习的结果是次优的。


技术实现要素:

4.发明目的:本发明的主要目的在于缓解边缘联邦学习中的通信瓶颈,克服现有技术的缺点与不足,提出一种联合优化梯度量化和带宽分配的联邦边缘学习训练方法及系统。
5.技术方案:为了实现以上发明目的,本发明的技术方案如下:一种联合梯度量化与带宽分配的联邦边缘学习训练方法,包括以下步骤:
6.各个节点经由上行信道向边缘服务器发送自身设备的参数信息;
7.边缘服务器根据节点上传的参数信息估计节点的信道增益、计算能力,根据每个节点的信道增益、发送功率、样本数量和计算能力,建立以最小化迭代时间和模型收敛性为
目标的优化问题并求解优化问题,得到各个节点分配的量化比特数和带宽;
8.边缘服务器向参与联邦学习的节点广播可用的量化比特数和全局模型;
9.节点根据全局模型和本地数据计算本地更新梯度,基于量化比特数对本地更新梯度进行量化;
10.节点将量化后的本地更新梯度发送至边缘服务器;
11.边缘服务器聚合收到的梯度,更新全局模型,若全局模型收敛,则本次联邦学习结束;否则,从头开始执行联邦学习的各步骤,直至全局模型收敛。
12.进一步地,每个节点向边缘服务器发送的参数信息包括:cpu频率、样本数量、发送功率、设备位置,其中cpu频率和样本数量用于估算节点本地计算所需时间,节点位置与发送功率用于估算节点的传输能力。
13.进一步地,所述优化问题为:
14.(p1):minσ2·
t
round
[0015][0016][0017][0018][0019]
其中,表示模型的收敛性,n表示节点的总数,nm表示节点m的样本数量,sm表示节点m的量化等级,z表示梯度的模上界,d表示模型参数的个数,t
round
表示迭代所需的时间,表示节点m计算所需的时间,qm=表示节点m的量化比特数,pm表示节点m的发送功率,hm表示节点m的信道增益,bm表示节点m分配到的带宽,em表示节点m的能量限制,n0表示信道的高斯白噪音,表示节点m计算阶段所需的能量,m表示参与训练的节点的个数,b表示上行信道的总带宽,指的是系统中默认表示元素所用的比特数,n

表示正整数集合。
[0020]
进一步地,节点基于量化比特数对本地更新梯度进行量化包括:节点接收到量化比特数分配信息,通过量化比特数分配信息块中每个量化比特数分配单元前端的节点编号,查找到自己分配到的量化比特数,存储于存储单元中;节点利用存储单元中存储的量化比特数,使用均匀量化方法对本地模型的更新梯度进行量化。
[0021]
进一步地,所述均匀量化方法包括:对总量化区间均匀划分得到子量化区间,子量化区间的数量为量化等级,量化等级s与量化比特数q关系如下:s=2
q-1,当待量化数值位于某个子量化区间时,按指定的量化规则量化为子量化区间的左端点或右端点。
[0022]
进一步地,所述指定的量化规则为:将更新梯度展平为向量,每个向量的分量映射的码本的取值如下:
[0023]qs
(vi)=‖v‖sgn(vi)ξi(v,s),i=1,2,

,n
[0024]
其中,qs(vi)为更新梯度展平后的向量v的第i个分量的取值,sgn(vi)为向量v的第
i个分量的符号,ξi(v,s)为独立随机变量,表示向量v的第i个分量的按概率取值,具体为:
[0025][0026]
其中,概率p(a,s)=as-l,l为小于等于s的非负整数。
[0027]
进一步地,节点采用三元组(‖v‖2,σ,ξ)表示量化后的更新梯度,并将三元组的信息传输至边缘服务器,所述三元组的具体内容为:向量的模‖v‖2、按原顺序构成的向量分量的符号向量σ以及分量映射的整数构成的向量ξ,其中ξi=s
·
ξi(v,s)。
[0028]
本发明还提供一种联邦学习系统,包括边缘服务器以及若干个节点,各个节点用于经由上行信道向边缘服务器发送自身设备的参数信息,并接收边缘服务器广播发送的量化比特数和全局模型,根据全局模型和本地数据计算本地更新梯度,基于量化比特数对本地更新梯度进行量化,将量化后的本地更新梯度发送至边缘服务器;
[0029]
边缘服务器用于根据节点上传的参数信息估计节点的信道增益、计算能力,根据每个节点的信道增益、发送功率、样本数量和计算能力,建立以最小化迭代时间和模型收敛性为目标的优化问题并求解优化问题,得到各个节点分配的量化比特数和带宽,向参与联邦学习的节点广播可用的量化比特数和全局模型,并接收节点将量化后的本地更新梯度,聚合收到的梯度,更新全局模型,直至全局模型收敛。
[0030]
本发明与现有技术相比,具有如下优点和有益效果:(1)本发明充分利用了联邦学习的边缘服务器和节点的交互性,使得边缘服务器通过获取节点的计算时间和上行信道的优劣情况,对节点上传的更新梯度进行量化比特数可自适应调整的均匀量化,充分发掘了边端协同的能动性。(2)本发明采用的均匀量化方法,由需要传输整个梯度向量变为只需要传输包含梯度向量信息的三元组,量化后节点上传的数据规模明显减小,且具有较小的量化方差。(3)本发明具有较好的扩展潜力,通过使用高效的编码方式,可以进一步减小量化后上传的数据规模,且可以根据需要在量化后增加稀疏方法,达到更好程度的数据压缩效果。(4)本发明不需要在原有的联邦学习系统中增加额外装置,有效降低系统布设成本,简单有效,节点之间交互开销小。
附图说明
[0031]
图1是本发明联邦学习的系统示意图;
[0032]
图2是本发明联邦学习训练方法的总体流程图;
[0033]
图3是本发明实施量化比特数分配后得到的量化比特数分配信息块;
[0034]
图4是本发明梯度中元素的量化示意图;
[0035]
图5是本发明联邦学习的具体实施流程图。
具体实施方式
[0036]
下面结合附图对本发明的技术方案作进一步说明。
[0037]
图1为本发明所述联邦学习系统示意图,该联邦学习系统包括边缘服务器以及若干个节点,其中边缘服务器部署在基站中,每个边缘服务器包括计算单元、存储单元以及发
送单元。节点包括量化单元、存储单元、训练单元以及发送单元。边缘服务器和节点协作完成指定任务,任务需要使用的原始数据分布于节点中,边缘服务器无法接触到原始数据;节点和边缘服务器之间需要完成本地模型更新和全局模型更新的交换,节点利用本地原始数据和边缘服务器广播的全局模型更新本地模型,边缘服务器利用节点更新的本地模型更新全局模型。
[0038]
在本实施例中,由于所述节点通常为手机、智能手表等便携式移动智能设备,电池体积有限,无法提供充足的资源来发送数据规模庞大的本地模型更新,因此本发明所提出的联合优化梯度量化和带宽分配的联邦边缘学习训练框架考虑了设备的能量限制,可用于缓解所述联邦学习系统中所述边缘服务器和所述节点交互时产生的通信瓶颈。
[0039]
图2为本发明一种联合梯度量化和带宽分配的联邦边缘学习训练方法的流程示意图。主要步骤如下:
[0040]
1)节点上传参数信息,边缘服务器估计节点的信道增益;
[0041]
参与联邦学习的节点向边缘服务器发送设备参数信息,参数包括设备的cpu频率,样本数量,物理位置,发送功率等信息。其中cpu频率和样本数量用于估算本地计算所需时间,节点位置与发送功率用于估算节点的传输能力。
[0042]
边缘服务器接收节点发送的设备信息,边缘服务器在存储单元中以队列的形式依次存储各个节点的设备信息;边缘服务器每次调用存储单元队列中一个节点的设备信息,根据在计算单元中进行信道增益的估算,式中om为瑞利衰落参数,dm为节点m和基站即边缘服务器之间的距离;复制已经完成信道增益估计的节点编号,将每个节点的信道增益单元首尾相接后,得到所有节点信道增益信息,存储于存储单元中。
[0043]
2)边缘服务器利用节点的参数,求解优化问题,分配节点可以使用的量化比特数和带宽,广播全局模型和量化比特数分配情况;
[0044]
根据香农定理,可以推断出节点的发送功率越大,信道增益越大,传输能力就越强,但是从香农公式中无法得到传输能力的闭式解,只能估算。本发明中,根据公式估算节点本地计算所需时间,公式中nm表示节点拥有的样本数量,fm表示节点cpu频率,γ表示每个节点处理一个样本所需的cpu周期数。
[0045]
使用存储单元中的信道增益和节点信息(含发送功率)估算节点的传输能力。根据香农第二公式,节点m的传输速率rm表示为:
[0046][0047]
其中,bm表示节点m分配到的带宽,pm表示节点m的发送功率,n0表示信道的高斯白噪音。
[0048]
边缘服务器基于估计的信道增益信息和节点的本地计算时间,代入参数未知、具体模型已经确定的优化问题中,分别求解每个节点分配到的量化比特数和带宽,得到量化比特数分配单元,首尾相接后得到量化比特数分配信息块,并以队列的形式将量化比特数分配信息块存储发送。边缘服务器的计算单元负责求解优化问题以及聚合收到的梯度,存储单元负责存储数据节点的参数信息、量化比特数分配信息块,发送单元负责向节点广播数据,如量化比特数分配信息块、全局模型。
[0049]
图3所示为量化比特数分配后得到的量化比特数分配信息块。节点编号指在边缘服务器中区分不同节点的序列号。
[0050]
根据本发明的实施方式,优化问题具体为:
[0051]
(p1):minσ2·
t
round
[0052][0053][0054][0055][0056][0057]
其中,表示模型的收敛性,n表示节点的总数,nm表示节点m的样本数量,sm表示节点m的量化等级,z表示梯度的模上界,d表示模型参数的个数。t
round
表示迭代所需的时间,pm表示节点m的发送功率,hm表示节点m的信道增益,bm表示节点m分配到的带宽,em表示节点m的能量限制,qm=表示节点m的量化比特数,表示节点m计算所需的时间,n0表示信道的高斯白噪音,表示节点m计算阶段所需的能量,本发明假设节点计算阶段功率固定,因此计算阶段所需能量与计算时间成正比,可以根据cpu频率和计算时间计算,公式为γm表示与系统架构有关的系数,m表示参与训练的节点的个数,b表示上行信道的总带宽,指的是系统中默认表示元素所用的比特数,通常为32比特,n

表示正整数集合。
[0058]
其中量化比特数和带宽是未知参数,带宽和量化比特数共同决定了节点传输梯度需要的时间。
[0059]
3)节点利用接收到的全局模型和本地存储的数据进行若干次本地训练,得到更新的本地梯度信息,随后根据分配的量化比特数,量化更新后的本地梯度;
[0060]
节点接收到量化比特数分配信息块,通过量化比特数分配信息块中每个量化比特数分配单元前端的节点序号,查找到自己分配到的量化比特数;节点利用存储单元中存储的量化比特数,使用均匀量化方法对本地模型的更新梯度进行量化。节点的存储单元负责存储训练数据、全局模型,训练单元负责使用数据训练全局模型得到梯度,量化单元负责将训练好的梯度量化,发送单元负责将量化后的梯度发送至边缘服务器。
[0061]
根据本发明的实施方式,均匀量化方法中的子量化区间为总量化区间均匀划分后得到,其中,当待量化数值位于某个子量化区间时,按一定的量化规则量化为子量化区间的左端点或右端点,均匀量化方法的具体量化规则为:将更新梯度展平为向量,梯度是一个多维矩阵,例如,它的形状可能是3*4*5,展开成向量就是60*1,向量中的一个元素则为分量,每个向量的分量映射的码本的取值规则如下:
[0062]qs
(vi)=‖v‖sgn(vi)ξi(v,s),i=1,2,

,n
[0063]
其中,qs(vi)为更新梯度展平后的向量v的第i个分量的取值,sgn(vi)为向量v的第i个分量的符号,ξi(v,s)为独立随机变量,表示向量v的第i个分量的按概率取值,具体为:
[0064][0065]
其中,概率p(a,s)=as-l,l为小于等于s的非负整数;注意这里的a是一个形参,实参是本发明中,量化等级为子量化区间的数量,量化等级s与量化比特数q关系如下:s=2
q-1,或者表示为因此可以基于其中一个值来确定另一个的值。
[0066]
均匀量化方法量化后,采用三元组(‖v‖2,σ,ξ)来表示量化后的更新梯度,在传输时只需要传输三元组的信息,所述三元组的具体内容为:向量的模‖v‖2、按原顺序构成的向量分量的符号向量σ以及分量映射的整数构成的向量ξ,其中ξi=s
·
ξi(v,s),ξi表示向量ξ的第i个分量。
[0067]
该量化方法示意图如图4所示。图中表示对于向量中的一个分量进行量化,对分量进行操作后能保证每个分量都落在[0,1]区间内,从而转化为[0,1]上的量化,最终的上下取值概率之比就是量化点到上下量化水平的距离之比。图4中是一个量化等级为4,分量与向量模之比为0.6的示意图,具体量化规则如上述公式所示。
[0068]
4)节点将量化后的本地更新梯度通过独立不相干的上行信道上传到边缘服务器;
[0069]
为了保证各子信道中所传输的信号互不干扰,应在各子信道之间设立隔离带,这样就保证了各路信号互不干扰。示例性地,上行信道使用频分复用信道,因为频分复用要求总频率宽度大于各个子信道频率之和。
[0070]
5)边缘服务器接收到经过量化后的更新梯度,将所述更新梯度进行聚合,聚合后的梯度用于更新边缘服务器上的全局模型。
[0071]
本发明充分利用了联邦学习的边缘服务器和节点的交互性,使得边缘服务器通过获取节点的计算时间和上行信道的优劣情况,对节点上传的更新梯度进行量化比特数可自适应调整的均匀量化,充分发掘了边端协同的能动性。本发明同时考虑了模型训练的收敛性和每轮的计算与通信延迟,为节点分配了不同的量化等级,在训练轮次和每轮延迟之间取得了最佳的权衡,解决了之前工作的不足。
[0072]
如图5所示为在一个实施例中联邦学习的具体过程,包括以下步骤:(1)边缘服务器选择参加本次参与联邦学习迭代的节点;(2)节点上传设备参数信息;(3)若此次全局迭代为初次全局迭代,则边缘服务器进行模型初始化,并将初始化的全局模型广播至本次参与训练的节点;否则,将上次全局迭代后得到的更新的全局模型广播至本次参与训练的节点;(4)边缘服务器估计节点信道增益,分配节点分别可以使用的量化比特数;(5)边缘服务器广播量化比特数分配情况和全局模型;(6)节点从广播的信息中得到全局模型和自己得到的量化比特分配数。(7)节点利用接收到的全局模型和本地存储的数据进行一次或若干次本地训练,得到更新的本地梯度信息;(8)节点利用分配的量化比特数,量化更新的本地梯度信息,得到用于上传的量化的本地更新梯度;(9)节点将所述量化的本地更新梯度通过
独立不相干的上行信道上传到边缘服务器;(10)边缘服务器接收到经过节点信道扰动的实际更新梯度,将实际更新梯度进行聚合,聚合后的梯度用于更新边缘服务器上的全局模型,若全局模型收敛,则本次联邦学习结束;否则,从头开始执行联邦学习的各步骤,直至全局模型收敛。
[0073]
本发明中,边缘服务器根据节点上传的参数信息带入优化问题模型中,求出节点的量化比特数q和带宽b,下发给节点,节点根据量化比特数和量化等级的关系,确定量化等级s,再根据量化等级s和更新梯度展平后的向量v确定量化取值,形成三元组后基于带宽b上传至边缘服务器,通过上述处理过程,能够同时满足联邦边缘学习的计算和延迟需求,提高边端协同效率。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献