CN113282411B - 一种基于边缘设备的分布式神经网络训练系统 - Google Patents
一种基于边缘设备的分布式神经网络训练系统 Download PDFInfo
- Publication number
- CN113282411B CN113282411B CN202110544084.5A CN202110544084A CN113282411B CN 113282411 B CN113282411 B CN 113282411B CN 202110544084 A CN202110544084 A CN 202110544084A CN 113282411 B CN113282411 B CN 113282411B
- Authority
- CN
- China
- Prior art keywords
- worker
- cluster
- distributed
- training
- performance
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及人工智能技术领域,具体是一种基于边缘设备的分布式神经网络训练系统,通过IoT边缘设备进行分布式联合训练的方式,以实现对边缘端产生的海量数据进行有效利用的功能;通过对Parameter Server分布式架构下机器学习分布式训练的设备优化组网配置进行以各设备间性能、带宽进行综合配比实现最优配置;通过对训练任务的模型大小、各设备性能和带宽之间进行优化分配,确定目前能最大发挥设备群性能的配置。本发明提供的方法不仅实现了将神经网络训练部署至IoT领域,同时对分布式组网任务配置方面进行了优化,有效地避免了集群间不必要的性能损耗,提高了分布式训练系统的计算性能。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于边缘设备的分布式神经网络训练系统。
背景技术
物联网(loT)和信息物理系统(CPSs)依靠从云端到边缘端的大量设备将采集到的大量物理信息传递至互联网中。未来电子设备的数量将会越来越多,其中设备所产生的数据量将会呈现爆炸性的增长,这种海量的数据量与大型云计算服务器流量之间的差距不断扩大,而数据量过大可能会导致云计算服务器不堪重负。这些爆炸性增长的数据与云计算服务器之间的效能差是目前急需解决的问题。目前随着物联网边缘端电子设备性能的快速增长,边缘计算的概念也逐步成为解决此类问题的关键,其能够实现本地化处理和快速响应来解决问题缓解云计算服务器的压力。
深度神经网络(DNNs)在loT领域中的应用为大数据和智能计算时代提出了全新的前景。然而,用于loT领域中的设备计算资源有限且分散,无法满足传统DNN的要求。分布式训练技术很好的将大量边缘设备的计算性能整合至一起,共同训练一个神经网络模型。这很好的解决了机器学习对高性能数据计算的问题。
目前国内外学术界针对分布式训练进行了许多相关研究,中心化参数管理的Parameter Server架构(PS架构)是一种典型的分布式架构,其对训练系统各节点性能的统一性要求不高,使得该形式的架构能够很好地适用于复杂多变的应用场景,尤其适合异构的边缘计算系统。然而,PS架构的计算性能容易受到中心节点的带宽限制,从而阻碍整体系统的性能发挥。 PS架构中设备间以每个训练迭代(step)完成后进行一次参数传输,计算工作设备(worker)的计算性能与完成step频率高度相关,worker与参数服务器(PS)进行参数传输过程的效率同样与完成step频率有关。
作为IoT领域的边缘设备,实际应用场景中很难保证所配置的设备都能够有较为良好的性能与运行环境。运行情况较差的设备容易在分布式系统中造成训练step的迟滞,从而干扰集群的计算资源并阻塞网络带宽,进而影响全局的训练过程。
对于一般集群组网来说,默认以高性能设备作为worker、高带宽设备作为PS进行任务分配。在已有设备限制下,过高的PS/worker配比会使得带宽富裕过剩而导致集群计算性能不足,过低的PS/worker配比则会引起集群大规模的网络阻塞从而引发分布式训练的带宽瓶颈。
发明内容
本发明的目的在于克服上述现有技术的问题,提出了一种基于边缘设备的分布式神经网络训练系统,通过IoT边缘设备进行分布式联合训练的方式,以实现对边缘端产生的海量数据的有效利用。
上述目的是通过以下技术方案来实现:
一种基于边缘设备的分布式神经网络训练系统,包括用于模型计算的 worker和用于维护和更新模型的PS,所述worker与所述PS构成集群;
在所述集群中,以所述PS作为多源中央节点,以所述worker作为计算边缘节点,每个所述worker与每个所述PS构成单一连接用于模型参数的传递;
以集群训练step频率最大的分配原则对所述worker和所述PS进行配置。
进一步地,所述worker与所述PS的选择满足如下条件:
a.所述集群step频率最大化,如下式:
p(S,α,β)=max(f)
其中,S表示模型大小,α表示集群中各设备计算性能,β表示网络带宽, f表示集群频率;
b.所述worker与所述PS之间的通信满足最低宽带需求,如下式:
进一步地,所述集群频率f为所述集群下worker群频率的累加,如下式:
进一步地,所述完整的训练step频率耗时由所述worker计算耗时TWK、更新参数过程中的最长传输时间Tcom和所述PS更新参数最长耗时TPS组成,如下式:
其中,i表示第i个Worker,j与第j个PS。
进一步地,所述集群为基于IoT边缘设备进行部署的分布式训练集群。
进一步地,所述集群内异构系统设备采用Docker容器技术来屏蔽各个异构设备之间底层架构和操作系统之间的差异性,确保分布式系统在边缘端的快速部署,并能够完整稳定运行。
有益效果
本发明所提供的一种基于边缘设备的分布式神经网络训练系统,将硬件架构及操作系统不一的异构设备整合至一起,实现了在IoT领域中对机器学习任务的部署;依据集群各设备间的计算性能、网络带宽、设备状态等信息,进行组网任务方案分配的优化,不仅提升了训练集群的运行效率,同时也有效地利用集群设备的计算性能、降低集群间不必要的性能消耗。
附图说明
图1为本发明所述一种基于边缘设备的分布式神经网络训练系统中N 个PS和M个worker组成的集群执行训练的运行过程;
图2为本发明所述一种基于边缘设备的分布式神经网络训练系统多 worker集群中动态任务分配的执行情况;
图3为本发明所述一种基于边缘设备的分布式神经网络训练系统通过集群各设备计算性能、网络带宽属性进行分配组网的实施情况。
具体实施方式
下面根据附图和实施例对本发明作进一步详细说明。所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明通过以step为单位的任务池管理方式,对分布式worker进行合理的动态分配;通过使用Docker容器技术(Docker虚拟化技术,Docker 容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级)对不同设备系统及计算架构之间差异进行屏蔽,实现边缘设备系统多样性及部署简易化;将异构设备联合在一起组建PS(Parameter Server)形式的分布式训练系统,使深度学习网络得已部署至IoT端边缘设备,从而实现在数据产生端直接进行本地计算处理,以有效利用物联网领域下产生的大量数据资源。
针对物联网领域的边缘环境下,异构设备的计算性能与网络带宽都因其所处环境或自身设备架构方面的影响而有所差异。因此在建立分布式组网系统时,系统的训练性能会因不同的设备组网方式而受影响。为了使分布式系统的性能得到最大限度的发挥,本发明还提出了一种基于PS分布式架构的优化组网任务分配部署方案,提高了分布式训练的性能。
一种基于边缘设备的分布式神经网络训练系统中,包括如下:
通过使用Docker容器技术,将系统各异构设备系统差异性进行系统性屏蔽;
通过数据集分割法,将训练所需任务等份划分至系统训练任务池中,并由各设备按任务抢占方式进入任务池获取执行指令;
通过构建Parameter Server分布式架构,将集群设备群按照多源星状网形式进行连接构建。
如图1所示,通过对集群构建Parameter Server分布式架构,本系统包括用于模型计算的worker和用于维护和更新模型的PS,所述worker 与所述PS构成集群;在所述集群中,以所述PS作为多源中央节点,以所述worker作为计算边缘节点,每个所述worker与每个所述PS构成单一连接用于模型参数的传递;以集群训练step频率最大的分配原则对所述worker和所述PS进行配置。
具体的,所述Parameter Server分布式架构对于模型计算都将交付于Worker负责,每个Worker将由自身收集而来的数据集Di,在进行第t 个step训练时以ωt-1的模型参数为基础,进行完整的模型计算处理f(·),从而获取当前step训练的完整偏置权重如下式:
式中,Di表示各个Worker自身所存储的数据集,ωt-1表示当前训练时Worker所保存的模型参数,f(·)表示自身训练的神经网络计算处理,表示为当前step完成后需要分别给各个PS所上传更新的部分偏置权重。
图1中,虚线框表示集群中单一链路的完整训练step过程。worker 完成一次模型计算后,将权重划分至等同于PS数量的M份打包并以 TCP形式发送至各个PS中,其中接收到权重的PS开始对自身相应的所维护的参数进行更新维护处理F(·),从而更新至目前step训练下的最新参数如下式:
作为本方案的进一步说明,集群worker在各自进行训练step时,系统采用动态任务抢占式的任务分配执行方式。
如图2所示,每个worker在系统启动初始期间共同启动,并于系统任务池中获取训练step请求,只有在worker完成当前step的计算并经由PS完成参数更新之后才能申请获得下一个任务step请求。
由于每个worker的计算能力和训练条件(如网络稳定性和带宽限制) 不同的因素,其完成step的时间也各异。动态的任务分配保证了空闲状态的尽可能缩短,从而利用每个参与者的使用率最大限度地提高了系统的训练速度。
进一步地,考虑到各worker节点对step完成速度的差异性所导致参数传输时间点存在一定的不可控性,PS在传输参数过程中自身带宽被占用,此时无法支持下一设备的传输通信,使得后续需要传输参数的worker进入了阻塞阶段。长期或高频率处于阻塞阶段的worker会严重影响到系统训练性能。
因此本发明提出了一种针对Parameter Server分布式架构的优化组网任务分配方案,具体实现如下:
系统运行完整step所包含步骤由图1可知,共分为worker对模型的计算步骤、PS对参数的更新以及针对参数上下行的两次传输通信。
worker对模型的计算耗时Twk与PS更新参数耗时TPS和两次参数传输时间Tcom共同组成完整执行一次step所消耗时间。
以数量为N个Worker规模的集群创建中,第i个Worker计算过程耗时主要表现在S大小的计算任务下以Worker设备自身的计算性能完成计算任务需要用时以及考虑自身计算外所产生的延迟耗时所构成。则Worker计算耗时如下式:
PS在参数更新过程中,多PS的集群下,参数将划分为与PS数量相等的分量,每个PS仅维护更新属于自身所分配的θiS大小的参数。以数量为 M个PS规模的集群创建中,第j个PS更新参数时,以自身的计算性能完成对应的参数更新任务所需要用时以及自身关于计算无关的其余配置延迟耗时共同组成PS更新参数过程耗时如下式:
参数传输时间主要分为worker上传参数至PS的过程以及worker从 PS下载参数至本地的过程。由于参数上下行所走的是相同的网路链路且前后两次维护的参数大小相同,所以这两个过程耗时基本相同,均与传输设备双方最小网络带宽β(t)有关。对于第i个Worker与第j个PS之间其相互上下行可用的网络带宽分别为则该Worker对此PS两次传输θjS大小的参数所耗时如下式:
其中,Worker完成step所耗时间Tstep由其计算耗时TWK与在更新参数过程中最长的传输时间Tcom以及PS更新参数耗时TPS组成,如下式:
则所述频率f公式为:
对于特定的深度学习场景,其模型大小S、总设备数K是固定的。对集群中有限的设备进行组网必须考虑到PS与worker的数量配比,过低或过高的数量配比都会对系统性能产生限制。如图3所示,设备根据其计算性能、网络带宽可划分为4个象限。具有出色的计算性能的设备可划分为优异的worker候选,对于性能低而带宽优异的设备则置于PS的候选项。处于象限2和象限4内性能与带宽平衡的设备的则是组网过程中通用的灵活分配项。
本发明通过在系统初始化期间获取集群内所有设备包含计算性能、网络带宽、设备运行状态等信息,针对部署设备任务前对设备按照以下分配原则进行合理安排:
a.在给定模型大小S、集群各设备计算性能α、网络带宽β的情况下,尽可能使得集群频率f最大化:
p(S,α,β)=max(f)
为了体现该分布式系统的优势,本发明在以Raspberry Pi 4B和 Nvidia JetsonNano上进行了实测实验。实验测试显示,8台Raspberry Pi 4B与8台Nvidia Jetson Nano组成的集群可达到每秒处理1167.3张图片的训练效率。作为对比,Intel I5-9300 CPU的训练效率为每秒处理43.4 张图、NVIDIA GeForce RTX 2060的训练效率为每秒处理493.6张图。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (3)
1.一种基于边缘设备的分布式神经网络训练系统,其特征在于,包括用于模型计算的worker和用于维护和更新模型的PS,所述worker与所述PS构成集群;
在所述集群中,以所述PS作为多源中央节点,以所述worker作为计算边缘节点,每个所述worker与每个所述PS构成单一连接用于模型参数的传递;
以集群训练step频率最大的分配原则对所述worker和所述PS进行配置;
所述worker与所述PS的选择满足如下条件:
a.所述集群训练step频率最大化,如下式:
p(S,α,β)=max(f)
其中,S表示模型大小,α表示集群中各设备计算性能,β表示网络带宽,f表示集群频率;
b.所述worker与所述PS之间的通信满足最低宽带需求,如下式:
所述集群频率f为所述集群下worker群频率的累加,如下式:
所述完整的训练step频率耗时由所述worker计算耗时TWK、更新参数过程中的最长传输时间Tcom和所述PS更新参数最长耗时TPS组成,如下式:
其中,i表示第i个Worker,j表示第j个PS;
其中,2θjS表示Worker对此PS两次传输计算任务的大小。
2.根据权利要求1所述的一种基于边缘设备的分布式神经网络训练系统,其特征在于,所述集群为基于IoT边缘设备进行部署的分布式训练集群。
3.根据权利要求1所述的一种基于边缘设备的分布式神经网络训练系统,其特征在于,所述集群内异构系统设备采用Docker容器技术来屏蔽各个异构设备之间底层架构和操作系统之间的差异性,确保分布式系统在边缘端的快速部署,并能够完整稳定运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110544084.5A CN113282411B (zh) | 2021-05-19 | 2021-05-19 | 一种基于边缘设备的分布式神经网络训练系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110544084.5A CN113282411B (zh) | 2021-05-19 | 2021-05-19 | 一种基于边缘设备的分布式神经网络训练系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282411A CN113282411A (zh) | 2021-08-20 |
CN113282411B true CN113282411B (zh) | 2022-03-22 |
Family
ID=77279850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110544084.5A Active CN113282411B (zh) | 2021-05-19 | 2021-05-19 | 一种基于边缘设备的分布式神经网络训练系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282411B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688992B (zh) * | 2021-10-25 | 2021-12-28 | 中电云数智科技有限公司 | 一种模型优化系统和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107578094A (zh) * | 2017-10-25 | 2018-01-12 | 济南浪潮高新科技投资发展有限公司 | 基于参数服务器和fpga实现神经网络分布式训练的方法 |
CN110490319A (zh) * | 2019-07-30 | 2019-11-22 | 成都蓉奥科技有限公司 | 基于融合神经网络参数的分布式深度强化学习 |
CN111274036A (zh) * | 2020-01-21 | 2020-06-12 | 南京大学 | 一种基于速度预测的深度学习任务的调度方法 |
CN112416573A (zh) * | 2020-10-28 | 2021-02-26 | 南京蹑波物联网科技有限公司 | 一种深度学习的边缘计算分配系统及方法 |
CN112702267A (zh) * | 2021-01-21 | 2021-04-23 | 广东工业大学 | 分布式训练路由方法、系统、储存介质及计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200410288A1 (en) * | 2019-06-26 | 2020-12-31 | Here Global B.V. | Managed edge learning in heterogeneous environments |
-
2021
- 2021-05-19 CN CN202110544084.5A patent/CN113282411B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107578094A (zh) * | 2017-10-25 | 2018-01-12 | 济南浪潮高新科技投资发展有限公司 | 基于参数服务器和fpga实现神经网络分布式训练的方法 |
CN110490319A (zh) * | 2019-07-30 | 2019-11-22 | 成都蓉奥科技有限公司 | 基于融合神经网络参数的分布式深度强化学习 |
CN111274036A (zh) * | 2020-01-21 | 2020-06-12 | 南京大学 | 一种基于速度预测的深度学习任务的调度方法 |
CN112416573A (zh) * | 2020-10-28 | 2021-02-26 | 南京蹑波物联网科技有限公司 | 一种深度学习的边缘计算分配系统及方法 |
CN112702267A (zh) * | 2021-01-21 | 2021-04-23 | 广东工业大学 | 分布式训练路由方法、系统、储存介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113282411A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pooranian et al. | A novel distributed fog-based networked architecture to preserve energy in fog data centers | |
CN109491790A (zh) | 基于容器的工业物联网边缘计算资源分配方法及系统 | |
CN107534583B (zh) | 在管理节点中实现的方法和相关装置 | |
CN112000481B (zh) | 一种d2d-mec系统计算能力最大化的任务卸载方法 | |
Almutairi et al. | Delay-optimal task offloading for UAV-enabled edge-cloud computing systems | |
CN102486739A (zh) | 高性能计算集群中分发数据的方法和系统 | |
CN113282411B (zh) | 一种基于边缘设备的分布式神经网络训练系统 | |
CN105323106A (zh) | 一种软件升级管理方法、设备及系统 | |
CN110109756A (zh) | 一种网络靶场构建方法、系统及存储介质 | |
CN107196806B (zh) | 基于子图辐射的拓扑临近匹配虚拟网络映射方法 | |
CN113312177B (zh) | 一种基于联邦学习的无线边缘计算系统、优化方法 | |
CN112685179A (zh) | 一种基于云上成本的资源部署系统及方法 | |
CN102510403B (zh) | 用于车辆数据接收和实时分析的集群分布式系统及方法 | |
CN114024970A (zh) | 基于边缘计算的电力物联网工作负载分配方法 | |
CN110048882A (zh) | 一种基于边缘计算的资源分配的方法和装置 | |
CN115802389A (zh) | 一种利用数字孪生辅助模型训练的联邦学习方法 | |
Ben-Ameur et al. | Cache allocation in multi-tenant edge computing via online reinforcement learning | |
CN115119233A (zh) | 一种分簇的无线通信方法和系统 | |
CN113159539B (zh) | 多层边缘计算系统中联合绿色能量调度和动态任务分配方法 | |
CN116755867B (zh) | 一种面向卫星云的计算资源调度系统、方法及存储介质 | |
CN107948330A (zh) | 一种云环境下基于动态优先级的负载均衡策略 | |
CN112579290A (zh) | 一种基于无人机的地面终端设备的计算任务迁移方法 | |
CN110290206A (zh) | 一种用于网吧环境的分布式计算系统及方法 | |
CN106385687B (zh) | 一种网络基带功能比例的分配方法及装置 | |
Deng et al. | RL-based radio resource slicing strategy for software-defined satellite networks |
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 |