CN114650227A - 一种分层联邦学习场景下的网络拓扑构建方法及*** - Google Patents
一种分层联邦学习场景下的网络拓扑构建方法及*** Download PDFInfo
- Publication number
- CN114650227A CN114650227A CN202210100788.8A CN202210100788A CN114650227A CN 114650227 A CN114650227 A CN 114650227A CN 202210100788 A CN202210100788 A CN 202210100788A CN 114650227 A CN114650227 A CN 114650227A
- Authority
- CN
- China
- Prior art keywords
- training
- terminal
- global model
- group
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种分层联邦学习场景下的网络拓扑构建算法,包括以下步骤:云服务器初始化,获取参与训练的局域网信息、初始全局模型以及多个终端设备,根据局域网信息对多个终端设备进行分组,并选择参与训练的终端设备;对终端设备计算不同的分布式通信架构的单轮聚合预测时长,选取最短时长的架构作为最优拓扑结构;云服务器将当前全局模型下发给每个分组,并基于最优拓扑结构对全局模型进行训练,得到全局模型更新量并经多次聚合后上报给云服务器;云服务器根据每个分组上报的训练结果更新全局模型;本发明能够减少全局模型上传云服务器的通信次数,通过在局域网内进行部分聚合和本地更新的方式,加速联邦学习的收敛并减少了通信成本。
Description
技术领域
本发明涉及机器学习的技术领域,具体地说,本发明涉及一种分层联邦学习场景下的网络拓扑构建方法、***、电子设备及存储介质。
背景技术
联邦学习是一种分布式机器学习框架,通过加密式传输模型参数的方式替代数据交互的方式进行协同训练,旨在解决分布式训练中存在的隐私保护、数据孤岛等问题。传统的联邦学习***中,各个终端设备使用本地数据训练模型,将参数更新上传给云服务器,由云端进行汇总、更新全局模型并下发给终端,终端持续更新直至收敛。由于需要很多轮全局聚合才能达到模型收敛,不同于计算成本占主要地位的传统数据中心模式的机器学习,联邦学习中通信成本则占据主要地位。
联邦学习部署在通信带宽有限、电量有限的移动设备,有限的网络带宽和客户端数量激增,通信瓶颈加剧。
发明内容
有鉴于此,本发明旨在提供一种能够克服现有技术的上述至少一个缺陷的解决方案。
本发明一方面提供了一种分层联邦学习场景下的网络拓扑构建方法,包括以下步骤:S1,云服务器初始化,获取参与训练的局域网信息、初始全局模型以及多个终端设备的信息,根据所述局域网信息对所述多个终端设备进行分组,将所述初始全局模型作为当前全局模型;S2,对于每个分组,从该分组内的所述终端设备中选择该分组当前轮次参与训练的终端设备;S3,对于每个分组,在多种分布式通信架构中确定该组终端的最优拓扑结构;S4,所述云服务器将所述当前全局模型下发给每个分组;对于每个分组,该分组内参与训练的终端设备基于该组终端的最优拓扑结构对所述当前全局模型进行至少一次训练,得到全局模型更新量,将所述全局模型更新量进行多次聚合后作为该分组当前轮次的训练结果上报给所述云服务器;S5,所述云服务器根据每个分组上报的当前轮次的训练结果更新所述当前全局模型,并将更新后的模型作为所述当前全局模型,返回S2,直至所述当前全局模型收敛或达到预设的训练轮次。
在一个实施方式中,所述S2包括:在所述终端运算指定大小的预处理模型,通过所述预处理模型的运算量和运算时间获取所述终端的设备算力,通过所述终端的所述设备算力和所述当前全局模型的运算量计算出当前需要训练的所述当前全局模型所需的预测运算时间,通过需要传输的数据总量和所述终端的总带宽计算出预测通信时长,将二者相加取所有所述终端中总时长最小的若干所述终端作为所述当前轮次的参与者。
在一个实施方式中,所述在多种分布式通信架构中确定该分组的最优拓扑结构包括:对于每个分组内参与训练的终端设备,计算不同的分布式通信架构的局域网单轮聚合预测时长,选取所述单轮聚合预测时长最短的分布式通信架构作为该组终端的最优拓扑结构。
在一个实施方式中,所述分布式通信架构包括:同步的中心化网络拓扑;异步的中心化网络拓扑;以及去中心化环形拓扑。
在一个实施方式中,计算分布式通信架构的局域网单轮聚合预测时长的方式包括:
Fi(M,u)+Ti(M,B,u)
其中,Fi表示第i种网络拓扑结构的计算耗时,Ti表示第i种网络拓扑的通信耗时,M表示终端设备的参数集,B表示终端设备的网络带宽参数,u=[D1,D2,D3…]为分组内参与训练的终端设备集合向量。
在一个实施方式中,对于任一分组,当该组终端的最优拓扑结构为所述同步的中心化网络拓扑时,该分组内参与训练的终端设备进行训练的方式包括:S41,选取该分组中参与训练的、且带宽最大的一个所述终端作为终端服务器,所述云服务器将当前全局模型同步下发给所述终端服务器以及参与训练的其他终端设备;S42,所述终端服务器以及其他终端设备基于本地数据进行模型训练,所述其他终端设备向所述终端服务器同步上报训练结果,所述终端服务器根据自身以及所有所述其他终端设备的训练结果对所述当前全局模型进行同步更新;S43,将更新后的模型作为所述当前全局模型同步下发给所述其他终端设备,返回S42,直到所述终端服务器以及所述其他终端设备均完成该分组的训练次数。
在一个实施方式中,对于任一分组,当该组终端的最优拓扑结构为所述异步的中心化网络拓扑时,该分组内参与训练的终端设备进行训练的方式包括:S41,选取该分组中参与训练的、且带宽最大的一个所述终端作为终端服务器,将所述云服务器下发的当前全局模型异步下发给所述终端服务器以及参与训练的其他终端设备;S42,所述终端服务器以及其他终端设备基于本地数据进行模型训练,并向所述终端服务器异步上报训练结果,所述终端服务器根据所述训练结果对当前全局模型进行更新;S43,将更新后的模型作为所述当前全局模型下发给上报所述训练结果的终端设备,返回S42,直到所述终端服务器以及所述其他终端设备均完成该分组的训练次数。
在一个实施方式中,对于任一分组,当该组终端的最优拓扑结构为所述去中心化环形拓扑时,该分组内参与训练的终端设备进行训练的方式包括:该分组内所有参与训练的终端设备同时接收到所述云服务器下发的全局模型并进行模型训练,利用模型训练结果更新所述当前全局模型,将每个终端设备更新后的模型作为所述当前全局模型用于下一个终端设备的模型训练,直到该分组内所有参与训练的终端均完成至少两次训练。
在一个实施方式中,对于不同分组,基于该组终端的最优拓扑结构对所述当前全局模型进行训练的次数相同或不同。
本发明的另一方面提供了一种分层联邦学习场景下的网络拓扑构建***,其特征在于,包括:云服务器,用于确定初始全局模型,获取参与训练的局域网信息;至少一个终端,用于通过计算获取最优拓扑结构,以得到所述全局模型更新量;并且,所述云服务器还用于基于所述局域网信息,对所述终端进行分组并选取参与训练的所述终端,并通过所述终端上传的所述全局模型更新量,更新所述初始全局模型,直至所述当前全局模型收敛或达到预设的训练轮次;所述终端根据所述局域网信息被分为多组,对于每个分组,在不同的分布式通信架构中确定该组终端的最优拓扑结构;并基于该组终端的最优拓扑结构对所述当前全局模型进行至少一次训练,得到全局模型更新量,将所述全局模型更新量进行多次聚合后作为该分组当前轮次的训练结果上报给所述云服务器。
在一个实施方式中,所述分布式通信架构包括:同步的中心化网络拓扑;异步的中心化网络拓扑;以及去中心化环形拓扑。
在一个实施方式中,对于任一分组,当该组终端的最优拓扑结构为所述同步的中心化网络拓扑时,该分组内参与训练的终端设备进行训练的方式包括:选取该分组中参与训练的、且带宽最大的一个所述终端作为终端服务器,所述云服务器将当前全局模型同步下发给所述终端服务器以及参与训练的其他终端设备;所述终端服务器以及所述其他终端设备基于本地数据进行模型训练,并向所述终端服务器同步上报训练结果,所述终端服务器根据自身以及所述其他终端设备的训练结果对所述当前全局模型进行同步更新;将更新后的模型作为所述当前全局模型同步下发给所述其他终端设备,返回至所述终端服务器以及所述其他终端设备基于本地数据进行模型训练的步骤,直到所述终端服务器以及所述其他终端设备均完成该分组的训练次数。
在一个实施方式中,对于任一分组,当该组终端的最优拓扑结构为所述异步的中心化网络拓扑时,该分组内参与训练的终端设备进行训练的方式包括:选取该分组中参与训练的、且带宽最大的一个所述终端作为终端服务器,将所述云服务器下发的当前全局模型异步下发给所述终端服务器以及参与训练的其他终端设备;所述终端服务器以及所述其他终端设备基于本地数据进行模型训练,并向所述终端服务器异步上报训练结果,所述终端服务器根据所述训练结果对当前全局模型进行更新;将更新后的模型作为所述当前全局模型下发给上报所述训练结果的终端设备,返回所述终端服务器以及所述其他终端设备基于本地数据进行模型训练的步骤,直到所述终端服务器以及所述其他终端设备均完成该分组的训练次数。
在一个实施方式中,对于任一分组,当该组终端的最优拓扑结构为所述去中心化环形拓扑时,该分组内参与训练的终端设备进行训练的方式包括:该分组内所有参与训练的终端设备同时接收到所述云服务器下发的全局模型并进行模型训练,利用模型训练结果更新所述当前全局模型,将每个终端设备更新后的模型作为所述当前全局模型用于下一个终端设备的模型训练,直到该分组内所有参与训练的终端均完成至少两次训练。
在一个实施方式中,对于不同分组,基于该组终端的最优拓扑结构对所述当前全局模型进行训练的次数相同或不同。
在一个实施方式中,计算分布式通信架构的局域网单轮聚合预测时长的方式包括:
Fi(M,u)+Ti(M,B,u)
其中,Fi表示第i种网络拓扑结构的计算耗时,Ti表示第i种网络拓扑的通信耗时,M表示终端设备的参数集,B表示终端设备的网络带宽参数,u=[D1,D2,D3…]为分组内参与训练的终端设备集合向量。
本发明的另一方面提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上任一项所述的分层联邦学习场景下的网络拓扑构建方法的步骤。
本发明的另一方面提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上任一项所述的分层联邦学习场景下的网络拓扑构建方法的步骤。
本发明提供的技术方案,包括:云服务器初始化,获取参与训练的局域网信息、初始全局模型以及多个终端设备,根据局域网信息对多个终端设备进行分组,并选择参与训练的终端设备;对于每个分组,确定该分组的最优拓扑结构;云服务器将当前全局模型下发给每个分组,并基于最优拓扑结构对全局模型进行训练,得到的全局模型更新量经多次聚合后上报给云服务器;云服务器根据每个分组上报的训练结果更新全局模型,并将更新后的模型作为当前全局模型,重复初始化之后的步骤,直至当前全局模型收敛或达到预设的训练轮次。综上,本发明通过减少模型上传云服务器的通信次数,通过在局域网内进行部分聚合和本地更新的方式,加速联邦学习的收敛并减少了联邦学习的通信成本。
附图说明
以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围:
图1示出了本发明一个实施例的方法流程示意图;
图2示出了本发明一个实施例的分层联邦学习模块示意图;
图3示出了本发明一个实施例的同步的中心化网络拓扑结构示意图;
图4示出了本发明一个实施例的异步的中心化网络拓扑结构示意图;以及
图5示出了本发明一个实施例的去中心化网络拓扑结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
应注意,在本说明书中,第一、第二等的表述仅用于将一个特征与另一个特征区分开来,而不表示对特征的任何限制。因此,在不背离本申请的教导的情况下,下文中讨论的第一主体也可被称作第二主体。
在附图中,为了便于说明,已稍微夸大了物体的厚度、尺寸和形状。附图仅为示例而并非严格按比例绘制。
还应理解的是,用语“包括”、“包括有”、“具有”、“包含”和/或“包含有”,当在本说明书中使用时表示存在所陈述的特征、整体、步骤、操作、元件和/或部件,但不排除存在或附加有一个或多个其它特征、整体、步骤、操作、元件、部件和/或它们的组合。此外,当诸如“...中的至少一个”的表述出现在所列特征的列表之后时,修饰整个所列特征,而不是修饰列表中的单独元件。此外,当描述本申请的实施方式时,使用“可以”表示“本申请的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。
如在本文中使用的,用语“基本上”、“大约”以及类似的用语用作表近似的用语,而不用作表程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。
除非另外限定,否则本文中使用的所有用语(包括技术用语和科学用语)均具有与本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,用语(例如在常用词典中定义的用语)应被解释为具有与它们在相关技术的上下文中的含义一致的含义,并且将不被以理想化或过度正式意义解释,除非本文中明确如此限定。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本发明一个实施例的方法流程示意图,包括以下步骤:
S1,云服务器初始化,获取参与训练的局域网信息、初始全局模型以及多个终端设备的信息,根据局域网信息对多个终端设备进行分组,将初始全局模型作为当前全局模型;
S2,对于每个分组,从该分组内的终端设备中选择该分组当前轮次参与训练的终端设备;
S3,对于每个分组,确定该组终端的最优拓扑结构;
S4,云服务器将所述当前全局模型下发给每个分组;对于每个分组,该分组内参与训练的终端设备基于该组终端的最优拓扑结构对当前全局模型进行至少一次训练,得到全局模型更新量,将全局模型更新量经多次聚合后作为该分组当前轮次的训练结果上报给云服务器;
S5,云服务器根据每个分组上报的当前轮次的训练结果更新当前全局模型,并将更新后的模型作为当前全局模型,返回S2,直至当前全局模型收敛或达到预设的训练轮次。
下面通过具体实施例说明本申请的分层联邦学习场景下的网络拓扑构建方法。
参考图2,S1,云服务器初始化,获取参与训练的局域网信息、初始全局模型以及多个终端设备的信息,根据局域网信息对多个终端设备进行分组,将初始全局模型作为当前全局模型。
在一些实施方式中,云服务器可以是BBU-pool,可选地,在无线接入网中,服务器还可以是Cloud server的云端的集中式服务器。
在一些实施方式中,终端设备可以是本领域常见的支持与计算机服务器会话或处理的交互终端,如手机。
在一些实施方式中,初始全局模型可以是BP神经网络模型,也可以是nlp自然语言处理方面的有关模型,本文对此不做限制。
在本发明的实施方式中,根据局域网信息对多个终端设备进行分组可以对局域网内的所有联邦学习终端设备的通信能力和算力进行建模,考虑设备在分组内的带宽、通信时延、设备最高FLOPS(每秒浮点数运算次数)等因素,根据单轮训练和通信时长总和,选取参与联邦训练的N台设备中的K台作为局域网内部聚合的设备。
S2,对于每个分组,从该分组内的终端设备中选择该分组当前轮次参与训练的终端设备。
通过上述S1的处理已经完成了对所有终端的分组操作,接下来,可以利用各个分组进行组内设定次数的聚合训练,再将设定次数聚合训练结束后的最后一次训练结果上传给云服务器。
考虑到在联邦学习中,可以参与训练的终端设备数量可能非常大,并且分布不均衡,因此每一轮次可以只选取一部分参与方参与训练。本申请中,在各个分组内,不同轮次的训练可以分别选择参与本轮次训练的终端设备,且不同轮次选择的终端设备可以相同,也可以不同。传统的联邦学习采用随机策略对终端设备进行选择,本申请中在分组内为当前轮次选择参与终端时可以采用现有的方式来进行,例如随机选择的方式。或者,为了优化联邦学习的通信开销,本申请还提供了对终端选择策略的进一步优化方式,能够非常有效的提高计算效率和通信效率。
具体地,在本发明的实施方式中,在当前分组内选择当前轮次参与训练的终端方式包括:在当前分组的各个终端设备分别运算指定大小的预处理模型,通过预处理模型的运算量和运算时间获取该终端设备的设备算力,通过终端的设备算力和当前全局模型的运算量计算出当前需要训练的当前全局模型所需的预测运算时间,通过需要传输的数据总量和终端的总带宽计算出预测通信时长,将二者相加取所有所述终端中总时长最小的若干终端作为所述当前轮次的参与者,选取的终端数量可以根据实际情况需要做出相应调整。通过上述方式选择出的终端是计算和传输两方面综合能力较强的终端,因此利用这些终端设备能够尽可能快地完成分组内的训练过程,从而加速整个联邦学习的模型的训练过程,能够非常有效的提高计算效率和通信效率。
在本发明的实施方式中,在终端分组上,分层联邦学习为解决传统联邦学习的通信瓶颈,减少模型上传云端的通信次数,通过在局域网内进行部分聚合和本地更新的方式,加速联邦学习的收敛并减少了联邦学习的通信成本。以局域网作为分组条件首先在通信速度上相较于广域网有很大的优势,通过本地多轮聚合有效降低广域网通信次数,减少中心服务器通信瓶颈的同时,也提高了用户参与训练的意愿,因为局域网内通信不需要流量成本。
S3,对于每个分组,在多种分布式通信架构中确定该组终端的最优拓扑结构;S4,云服务器将当前全局模型下发给每个分组;对于每个分组,该分组内参与训练的终端设备基于该组终端的最优拓扑结构对当前全局模型进行至少一次训练,得到全局模型更新量,将全局模型更新量作为该分组当前轮次的训练结果上报给云服务器;
在本发明的实施方式中,对于每个分组,在多种分布式通信架构中确定该组终端的最优拓扑结构。其中,分布式通信架构是指每个分组内参与训练的终端设备联合进行模型训练时采用的网络拓扑结构。具体地,分布式通信架构可以是同步的中心化网络拓扑、异步的中心化网络拓扑以及去中心化环形拓扑中的一种。在不同的分布式通信架构下,分组内参与训练的终端设备进行训练的方式也有所不同。
参考图3,具体地,最优拓扑结构为同步的中心化网络拓扑时,该分组内参与训练的终端设备进行训练的方式可以包括:
S41,选取该分组中参与训练的、且带宽最大的一个终端作为终端服务器,云服务器将当前全局模型同步下发给终端服务器以及参与训练的其他终端设备;
S42,其他终端设备基于本地数据进行模型训练,并向终端服务器同步上报训练结果,所述终端服务器根据自身以及所有所述其他终端设备的训练结果对所述当前全局模型进行同步更新;
其中,对于其他终端设备进行模型训练的处理均相同,可以采用各种现有方式进行。终端服务器接收所有参与训练的终端设备的本次训练结果,利用这些训练结果对当前全局模型进行一次同步更新。
S43,再将更新后的模型作为所述当前全局模型同步下发给所述其他终端设备,返回S42,直到终端服务器以及所有所述其他终端设备均完成该分组的训练次数。
在上述同步的中心化网络拓扑中进行分组内的模型训练时,如果终端服务器接入大量参与训练的终端设备,那么终端服务器需要同时接收大量终端设备发来的模型反馈,可能会导致中心网络阻塞的问题。为解决该问题,可以采用下面异步的中心化网络拓扑或无中心网络拓扑的通信架构。
参考图4,具体地,最优拓扑结构为异步的中心化网络拓扑时,该分组内参与训练的终端设备进行训练的方式包括:
S41,选取该分组中参与训练的、且带宽最大的一个所述终端作为终端服务器,终端服务器将云服务器下发的当前全局模型异步下发给终端服务器以及参与训练的其他终端设备;
S42,终端服务器以及所述其他终端设备基于本地数据进行模型训练,并向终端服务器上报训练结果,终端服务器根据所述训练结果对当前全局模型进行更新;
S43,将更新后的模型作为所述当前全局模型下发给上报所述训练结果的终端设备,返回所述终端服务器以及所述其他终端设备基于本地数据进行模型训练的步骤,直到所述终端服务器以及所述其他终端设备均完成该分组的训练次数。
其中,对于其他终端设备进行模型训练的处理均相同,可以采用各种现有方式进行。终端服务器接收某参与训练的终端设备A的本次训练结果,利用该终端设备A的训练结果更新当前全局模型,并将更新后的模型作为当前全局模型下发至A,以此类推,在接收到下一个终端设备B的本次训练结果后,利用终端设备B的训练结果更新当前全局模型,将经由B更新后的模型作为当前全局模型下发给B,直到所有终端设备均完成该分组的训练次数N。
示例性地,假定分组内需要训练N次向云服务器上报一次训练结果,那么每个终端设备与终端服务器的交换需要执行N次。其中,N为设定的正整数。
参考图5,具体地,最优拓扑结构为异步的中心化网络拓扑时,该分组内参与训练的终端设备进行训练的方式包括:
该分组内所有参与训练的终端设备同时接收到云服务器下发的全局模型并进行模型训练,利用模型训练结果更新当前全局模型,将每个终端设备更新后的模型作为当前全局模型用于下一个终端设备的模型训练,直到该分组内所有参与训练的终端均完成至少两次训练。
示例性地,对于参与训练的k个终端设备,交换k-1次参数后最终每个设备都是最新的模型结果,即完成一轮训练。然后开始下一轮训练和参数交换,并重复N次,重复的次数N可根据实际情况需要进行设置。在一些实施方式中,对于不同分组,基于该组终端的最优拓扑结构对当前全局模型进行训练的次数N可以是相同的,也可以是不同的,具体的训练次数,可以根据实际情况需要进行设置。
本发明提供的实施方式中,对于每个分组,在不同的分布式通信架构中选择最优拓扑结构时可以是根据需求和经验等进行选择,也可以是接收指定的分布式通信架构。不同分组可以选择相同或不同的分布式架构。
或者优选地,选择最优拓扑结构的方式还可以为:在该分组中,选择参与训练的终端设备进行单轮聚合所花费时间最短的分布式通信架构作为该组终端的最优拓扑结构。具体地,计算分布式通信架构的局域网单轮聚合预测时长的方式可以包括:
Fi(M,u)+Ti(M,B,u)
其中,Fi表示第i种网络拓扑结构的计算耗时,Ti表示第i种网络拓扑的通信耗时,M表示终端设备的参数集,B表示终端设备的网络带宽参数,u=[D1,D2,D3…]为分组内参与训练的终端设备集合向量。
进一步地,第i种网络拓扑可以是同步的中心化网络拓扑、异步的中心化网络拓扑以及去中心化环形拓扑中的一种,第i种网络与拓扑结构类型的对应关系本文将不做限制。举例来说,同步的中心化网络拓扑可以是第一种网络拓扑,也可以是第二种或第三种网络拓扑,异步的中心化网络拓扑以及去中心化环形拓扑同理。
S5,云服务器根据每个分组上报的当前轮次的训练结果更新当前全局模型,并将更新后的模型作为当前全局模型,返回S2,直至当前全局模型收敛或达到预设的训练轮次。
在一些实施方式中,云服务器可以定时更新全局模型,也可以通过交互得到的指令来更新全局模型;各个分组本地聚合的训练结果可以是同步上传云服务器,也可以是异步上传给云服务器,本文对此将不做限定。
综上,本发明提供的实施例通过减少模型上传云服务器的通信次数,通过在局域网内进行部分聚合和本地更新的方式,加速联邦学习的收敛并减少了联邦学习的通信成本。分层联邦学习可以应用在广大的分布式训练的应用场景中,尤其是用户倾向于不分享自己数据的隐私保护的情况下。当训练模型为nlp自然语言处理的相关模型时,可以应用在用户终端设备的输入法进行分词、语意联想等场景的训练,用户在不共享自己使用输入法的输入数据的情况下,在只要有局域网的情况下,就可以通过局域网内通信和模型参数交互的方式与局域网内的其他设备进行联合训练和模型更新,使用户在使用输入法时有更佳的用户体验。类似这样的手机使用终端有很多训练场景,各软件的搜索、推荐等训练都可以采用联邦学习的方法进行隐私保护。
本发明的另一方面还提供了一种分层联邦学习场景下的网络拓扑构建装置,包括云服务器,用于确定初始全局模型,获取参与训练的局域网信息;至少一个终端,用于通过计算获取最优拓扑结构,以得到全局模型更新量;并且,云服务器还用于基于局域网信息,对终端进行分组并选取参与训练的终端,并通过终端上传的全局模型更新量,更新初始全局模型,直至当前全局模型收敛或达到预设的训练轮次;终端根据局域网信息被分为多组,对于每个分组,在不同的分布式通信架构中确定该组终端的最优拓扑结构;并基于该组终端的最优拓扑结构对当前全局模型进行至少一次训练,得到全局模型更新量,将全局模型更新量经多次聚合后作为该分组当前轮次的训练结果上报给云服务器。
在一些实施方式中,云服务器可以是BBU-pool,可选地,在无线接入网中,服务器还可以是Cloud server的云端的集中式服务器。
在一些实施方式中,终端可以是本领域常见的支持与计算机服务器会话或处理的交互终端,如手机等,本文在此将不做限制。
在一些实施方式中,初始全局模型可以是BP神经网络模型,也可以是nlp自然语言处理方面的有关模型,本文对此讲不做限制。
在一个实施方式中,分布式通信架构包括:同步的中心化网络拓扑;异步的中心化网络拓扑;以及去中心化环形拓扑。其选择方法以及具体的实际应用与上文提供的方法基于相同的思路,本文将不再赘述。
本发明的另一方面还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,处理器执行计算机程序时实现如上低精度整型表示下的联邦学习方法的步骤,其设计与该方法基于相同的思路,本文对此将不再赘述。
本发明的另一方面还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如如上所述低精度整型表示下的联邦学习方法的步骤,其设计与该方法基于相同的思路,本文对此将不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (18)
1.一种分层联邦学习场景下的网络拓扑构建方法,其特征在于,包括以下步骤:
S1,云服务器初始化,获取参与训练的局域网信息、初始全局模型以及多个终端设备的信息,根据所述局域网信息对所述多个终端设备进行分组,将所述初始全局模型作为当前全局模型;
S2,对于每个分组,从该分组内的所述终端设备中选择该分组当前轮次参与训练的终端设备;
S3,对于每个分组,在多种分布式通信架构中确定该组终端的最优拓扑结构;
S4,所述云服务器将所述当前全局模型下发给每个分组;对于每个分组,该分组内参与训练的终端设备基于该组终端的最优拓扑结构对所述当前全局模型进行至少一次训练,得到全局模型更新量,将所述全局模型更新量进行多次聚合后作为该分组当前轮次的训练结果上报给所述云服务器;
S5,所述云服务器根据每个分组上报的当前轮次的训练结果更新所述当前全局模型,并将更新后的模型作为所述当前全局模型,返回S2,直至所述当前全局模型收敛或达到预设的训练轮次。
2.根据权利要求1所述的方法,其特征在于,所述S2包括:
在所述终端运算指定大小的预处理模型,通过所述预处理模型的运算量和运算时间获取所述终端的设备算力,通过所述终端的所述设备算力和所述当前全局模型的运算量计算出当前需要训练的所述当前全局模型所需的预测运算时间,通过需要传输的数据总量和所述终端的总带宽计算出预测通信时长,将二者相加取所有所述终端中总时长最小的若干所述终端作为所述当前轮次的参与者。
3.根据权利要求1所述的方法,其特征在于,所述在多种分布式通信架构中确定该分组的最优拓扑结构包括:
对于每个分组内参与训练的终端设备,计算不同的分布式通信架构的局域网单轮聚合预测时长,选取所述单轮聚合预测时长最短的分布式通信架构作为该组终端的最优拓扑结构。
4.根据权利要求3所述的方法,其特征在于,所述分布式通信架构包括:
同步的中心化网络拓扑;
异步的中心化网络拓扑;以及
去中心化环形拓扑。
5.根据权利要求3所述的方法,其特征在于,计算分布式通信架构的局域网单轮聚合预测时长的方式包括:
Fi(M,u)+Ti(M,B,u)
其中,Fi表示第i种网络拓扑结构的计算耗时,Ti表示第i种网络拓扑的通信耗时,M表示终端设备的参数集,B表示终端设备的网络带宽参数,u=[D1,D2,D3…]为分组内参与训练的终端设备集合向量。
6.根据权利要求4所述的方法,其特征在于,对于任一分组,当该组终端的最优拓扑结构为所述同步的中心化网络拓扑时,该分组内参与训练的终端设备进行训练的方式包括:
S41,选取该分组中参与训练的、且带宽最大的一个所述终端作为终端服务器,所述云服务器将当前全局模型同步下发给所述终端服务器以及参与训练的其他终端设备;
S42,所述终端服务器以及其他终端设备基于本地数据进行模型训练,所述其他终端设备向所述终端服务器同步上报训练结果,所述终端服务器根据自身以及所有所述其他终端设备的训练结果对所述当前全局模型进行同步更新;
S43,将更新后的模型作为所述当前全局模型同步下发给所述其他终端设备,返回S42,直到所述终端服务器以及所述其他终端设备均完成该分组的训练次数。
7.根据权利要求4所述的方法,其特征在于,对于任一分组,当该组终端的最优拓扑结构为所述异步的中心化网络拓扑时,该分组内参与训练的终端设备进行训练的方式包括:
S41,选取该分组中参与训练的、且带宽最大的一个所述终端作为终端服务器,将所述云服务器下发的当前全局模型异步下发给所述终端服务器以及参与训练的其他终端设备;
S42,所述终端服务器以及其他终端设备基于本地数据进行模型训练,并向所述终端服务器异步上报训练结果,所述终端服务器根据所述训练结果对当前全局模型进行更新;
S43,将更新后的模型作为所述当前全局模型下发给上报所述训练结果的终端设备,返回S42,直到所述终端服务器以及所述其他终端设备均完成该分组的训练次数。
8.根据权利要求4所述的方法,其特征在于,对于任一分组,当该组终端的最优拓扑结构为所述去中心化环形拓扑时,该分组内参与训练的终端设备进行训练的方式包括:
该分组内所有参与训练的终端设备同时接收到所述云服务器下发的全局模型并进行模型训练,利用模型训练结果更新所述当前全局模型,将每个终端设备更新后的模型作为所述当前全局模型用于下一个终端设备的模型训练,直到该分组内所有参与训练的终端均完成至少两次训练。
9.根据权利要求1所述的方法,其特征在于,对于不同分组,基于该组终端的最优拓扑结构对所述当前全局模型进行训练的次数相同或不同。
10.一种分层联邦学习场景下的网络拓扑构建***,其特征在于,包括:
云服务器,用于确定初始全局模型,获取参与训练的局域网信息;
至少一个终端,用于通过计算获取最优拓扑结构,以得到所述全局模型更新量;
并且,所述云服务器还用于基于所述局域网信息,对所述终端进行分组并选取参与训练的所述终端,并通过所述终端上传的所述全局模型更新量,更新所述初始全局模型,直至所述当前全局模型收敛或达到预设的训练轮次;
所述终端根据所述局域网信息被分为多组,对于每个分组,在不同的分布式通信架构中确定该组终端的最优拓扑结构;并基于该组终端的最优拓扑结构对所述当前全局模型进行至少一次训练,得到全局模型更新量,将所述全局模型更新量进行多次聚合后作为该分组当前轮次的训练结果上报给所述云服务器。
11.根据权利要求10所述的***,其特征在于,所述分布式通信架构包括:
同步的中心化网络拓扑;
异步的中心化网络拓扑;以及
去中心化环形拓扑。
12.根据权利要求11所述的***,其特征在于,对于任一分组,当该组终端的最优拓扑结构为所述同步的中心化网络拓扑时,该分组内参与训练的终端设备进行训练的方式包括:
选取该分组中参与训练的、且带宽最大的一个所述终端作为终端服务器,所述云服务器将当前全局模型同步下发给所述终端服务器以及参与训练的其他终端设备;
所述终端服务器以及所述其他终端设备基于本地数据进行模型训练,并向所述终端服务器同步上报训练结果,所述终端服务器根据自身以及所述其他终端设备的训练结果对所述当前全局模型进行同步更新;
将更新后的模型作为所述当前全局模型同步下发给所述其他终端设备,返回至所述终端服务器以及所述其他终端设备基于本地数据进行模型训练的步骤,直到所述终端服务器以及所述其他终端设备均完成该分组的训练次数。
13.根据权利要求11所述的***,其特征在于,对于任一分组,当该组终端的最优拓扑结构为所述异步的中心化网络拓扑时,该分组内参与训练的终端设备进行训练的方式包括:
选取该分组中参与训练的、且带宽最大的一个所述终端作为终端服务器,将所述云服务器下发的当前全局模型异步下发给所述终端服务器以及参与训练的其他终端设备;
所述终端服务器以及所述其他终端设备基于本地数据进行模型训练,并向所述终端服务器异步上报训练结果,所述终端服务器根据所述训练结果对当前全局模型进行更新;
将更新后的模型作为所述当前全局模型下发给上报所述训练结果的终端设备,返回所述终端服务器以及所述其他终端设备基于本地数据进行模型训练的步骤,直到所述终端服务器以及所述其他终端设备均完成该分组的训练次数。
14.根据权利要求11所述的***,其特征在于,对于任一分组,当该组终端的最优拓扑结构为所述去中心化环形拓扑时,该分组内参与训练的终端设备进行训练的方式包括:
该分组内所有参与训练的终端设备同时接收到所述云服务器下发的全局模型并进行模型训练,利用模型训练结果更新所述当前全局模型,将每个终端设备更新后的模型作为所述当前全局模型用于下一个终端设备的模型训练,直到该分组内所有参与训练的终端均完成至少两次训练。
15.根据权利要求10所述的***,其特征在于,对于不同分组,基于该组终端的最优拓扑结构对所述当前全局模型进行训练的次数相同或不同。
16.根据权利要求10所述的***,其特征在于,计算分布式通信架构的局域网单轮聚合预测时长的方式包括:
Fi(M,u)+Ti(M,B,u)
其中,Fi表示第i种网络拓扑结构的计算耗时,Ti表示第i种网络拓扑的通信耗时,M表示终端设备的参数集,B表示终端设备的网络带宽参数,u=[D1,D2,D3…]为分组内参与训练的终端设备集合向量。
17.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述分层联邦学习场景下的网络拓扑构建方法的步骤。
18.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述分层联邦学习场景下的网络拓扑构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210100788.8A CN114650227B (zh) | 2022-01-27 | 2022-01-27 | 一种分层联邦学习场景下的网络拓扑构建方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210100788.8A CN114650227B (zh) | 2022-01-27 | 2022-01-27 | 一种分层联邦学习场景下的网络拓扑构建方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114650227A true CN114650227A (zh) | 2022-06-21 |
CN114650227B CN114650227B (zh) | 2023-08-18 |
Family
ID=81993832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210100788.8A Active CN114650227B (zh) | 2022-01-27 | 2022-01-27 | 一种分层联邦学习场景下的网络拓扑构建方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114650227B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277446A (zh) * | 2022-07-12 | 2022-11-01 | 中国信息通信研究院 | 一种节能的在网联邦学习网络和方法 |
CN116187473A (zh) * | 2023-01-19 | 2023-05-30 | 北京百度网讯科技有限公司 | 联邦学习方法、装置、电子设备和计算机可读存储介质 |
CN117076132A (zh) * | 2023-10-12 | 2023-11-17 | 北京邮电大学 | 分层联邦学习***的资源分配及聚合优化方法及装置 |
CN117540388A (zh) * | 2023-11-27 | 2024-02-09 | 广东电网有限责任公司 | 一种能源数据协同计算方法、装置和能源联邦学习*** |
CN117687800A (zh) * | 2024-02-02 | 2024-03-12 | 山东海量信息技术研究院 | 一种跨域分布式计算方法、***、存储介质和电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565331A (zh) * | 2020-11-02 | 2021-03-26 | 中山大学 | 一种基于边缘计算的端-边协同联邦学习优化方法 |
US20210150037A1 (en) * | 2019-11-15 | 2021-05-20 | International Business Machines Corporation | Secure Federation of Distributed Stochastic Gradient Descent |
US11017322B1 (en) * | 2021-01-28 | 2021-05-25 | Alipay Labs (singapore) Pte. Ltd. | Method and system for federated learning |
CN112929223A (zh) * | 2021-03-08 | 2021-06-08 | 北京邮电大学 | 一种基于联邦学习方式训练神经网络模型的方法及*** |
CN113033082A (zh) * | 2021-03-10 | 2021-06-25 | 中国科学技术大学苏州高等研究院 | 基于异构算力感知的去中心化联邦学习框架及建模方法 |
WO2021155671A1 (zh) * | 2020-08-24 | 2021-08-12 | 平安科技(深圳)有限公司 | 高延时网络环境鲁棒的联邦学习训练方法、装置、计算机设备及存储介质 |
WO2021179720A1 (zh) * | 2020-10-12 | 2021-09-16 | 平安科技(深圳)有限公司 | 基于联邦学习的用户数据分类方法、装置、设备及介质 |
WO2022001941A1 (zh) * | 2020-06-28 | 2022-01-06 | 中兴通讯股份有限公司 | 网元管理方法、网管***、独立计算节点、计算机设备、存储介质 |
-
2022
- 2022-01-27 CN CN202210100788.8A patent/CN114650227B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210150037A1 (en) * | 2019-11-15 | 2021-05-20 | International Business Machines Corporation | Secure Federation of Distributed Stochastic Gradient Descent |
WO2022001941A1 (zh) * | 2020-06-28 | 2022-01-06 | 中兴通讯股份有限公司 | 网元管理方法、网管***、独立计算节点、计算机设备、存储介质 |
WO2021155671A1 (zh) * | 2020-08-24 | 2021-08-12 | 平安科技(深圳)有限公司 | 高延时网络环境鲁棒的联邦学习训练方法、装置、计算机设备及存储介质 |
WO2021179720A1 (zh) * | 2020-10-12 | 2021-09-16 | 平安科技(深圳)有限公司 | 基于联邦学习的用户数据分类方法、装置、设备及介质 |
CN112565331A (zh) * | 2020-11-02 | 2021-03-26 | 中山大学 | 一种基于边缘计算的端-边协同联邦学习优化方法 |
US11017322B1 (en) * | 2021-01-28 | 2021-05-25 | Alipay Labs (singapore) Pte. Ltd. | Method and system for federated learning |
CN112929223A (zh) * | 2021-03-08 | 2021-06-08 | 北京邮电大学 | 一种基于联邦学习方式训练神经网络模型的方法及*** |
CN113033082A (zh) * | 2021-03-10 | 2021-06-25 | 中国科学技术大学苏州高等研究院 | 基于异构算力感知的去中心化联邦学习框架及建模方法 |
Non-Patent Citations (3)
Title |
---|
JINLIANG YUAN等: "Hierarchical Federated Learning through LAN-WAN Orchestration", 《ARXIV:2010.11612V1》 * |
JINLIANG YUAN等: "Hierarchical Federated Learning through LAN-WAN Orchestration", 《ARXIV:2010.11612V1》, 22 October 2020 (2020-10-22) * |
QIMING CAO等: "Layered Model Aggregation based Federated Learning in Mobile Edge Networks", 《 2021 IEEE/CIC INTERNATIONAL CONFERENCE ON COMMUNICATIONS IN CHINA (ICCC)》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277446A (zh) * | 2022-07-12 | 2022-11-01 | 中国信息通信研究院 | 一种节能的在网联邦学习网络和方法 |
CN116187473A (zh) * | 2023-01-19 | 2023-05-30 | 北京百度网讯科技有限公司 | 联邦学习方法、装置、电子设备和计算机可读存储介质 |
CN116187473B (zh) * | 2023-01-19 | 2024-02-06 | 北京百度网讯科技有限公司 | 联邦学习方法、装置、电子设备和计算机可读存储介质 |
CN117076132A (zh) * | 2023-10-12 | 2023-11-17 | 北京邮电大学 | 分层联邦学习***的资源分配及聚合优化方法及装置 |
CN117076132B (zh) * | 2023-10-12 | 2024-01-05 | 北京邮电大学 | 分层联邦学习***的资源分配及聚合优化方法及装置 |
CN117540388A (zh) * | 2023-11-27 | 2024-02-09 | 广东电网有限责任公司 | 一种能源数据协同计算方法、装置和能源联邦学习*** |
CN117540388B (zh) * | 2023-11-27 | 2024-07-23 | 广东电网有限责任公司 | 一种能源数据协同计算方法、装置和能源联邦学习*** |
CN117687800A (zh) * | 2024-02-02 | 2024-03-12 | 山东海量信息技术研究院 | 一种跨域分布式计算方法、***、存储介质和电子设备 |
CN117687800B (zh) * | 2024-02-02 | 2024-05-03 | 山东海量信息技术研究院 | 一种跨域分布式计算方法、***、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114650227B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114650227A (zh) | 一种分层联邦学习场景下的网络拓扑构建方法及*** | |
CN110443375B (zh) | 一种联邦学习方法及装置 | |
CN111030861B (zh) | 一种边缘计算分布式模型训练方法、终端和网络侧设备 | |
CN113543156B (zh) | 基于多智能体深度强化学习的工业无线网络资源分配方法 | |
CN111628855B (zh) | 基于深度强化学习的工业5g动态多优先级多接入方法 | |
CN111010341B (zh) | 一种基于深度学习的覆盖网络路由决策方法 | |
CN110856268A (zh) | 一种无线网络动态多信道接入方法 | |
CN116489708B (zh) | 面向元宇宙的云边端协同的移动边缘计算任务卸载方法 | |
CN116362327A (zh) | 一种模型训练方法、***及电子设备 | |
CN110996365A (zh) | 一种基于多目标优化模型的异构网络垂直切换算法及*** | |
CN114022731A (zh) | 基于drl的联邦学习节点选择方法 | |
CN115329985A (zh) | 无人集群智能模型训练方法、装置和电子设备 | |
Wang et al. | Deep reinforcement learning based resource allocation for cloud native wireless network | |
CN114580661A (zh) | 基于联邦学习的数据处理方法、装置和计算机设备 | |
Li et al. | Dynamic multi-channel access in wireless system with deep reinforcement learning | |
Yang et al. | Communication-efficient federated learning with cooperative filter selection | |
CN114422605A (zh) | 一种基于联邦学习的通信梯度自适应压缩方法 | |
CN113992595A (zh) | 一种基于优先经验回放dqn的sdn数据中心拥塞控制方法 | |
Dong et al. | Design and prototyping distributed CNN inference acceleration in edge computing | |
CN116957107A (zh) | 模型训练的方法、装置及电子设备 | |
CN117687801B (zh) | 一种跨域分布式计算***、方法、存储介质和电子设备 | |
JP7427134B1 (ja) | 通信装置、パラメータ生成装置、通信システム、方法及びコンピュータプログラム | |
CN113705634B (zh) | 一种基于分层自适应的联邦学习方法、装置、设备及介质 | |
CN117687800B (zh) | 一种跨域分布式计算方法、***、存储介质和电子设备 | |
CN113791896B (zh) | 连接路径确定方法、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |