CN113657435A - 面向异构边缘计算平台的去中心化训练方法 - Google Patents

面向异构边缘计算平台的去中心化训练方法 Download PDF

Info

Publication number
CN113657435A
CN113657435A CN202110758089.8A CN202110758089A CN113657435A CN 113657435 A CN113657435 A CN 113657435A CN 202110758089 A CN202110758089 A CN 202110758089A CN 113657435 A CN113657435 A CN 113657435A
Authority
CN
China
Prior art keywords
training
edge computing
data
platform
computing platform
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.)
Pending
Application number
CN202110758089.8A
Other languages
English (en)
Inventor
韩锐
刘驰
辛高枫
李世林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202110758089.8A priority Critical patent/CN113657435A/zh
Publication of CN113657435A publication Critical patent/CN113657435A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种面向异构边缘计算平台的去中心化训练方法,包括:步骤1,训练前阶段,聚合数据点生成模块基于数据相似度将本地数据集Xe划分为Me(Me>1)个子集,并生成每个子集对应的聚合数据点
Figure DDA0003148582370000011
步骤2,迭代训练阶段,gossip训练平衡算法根据每个边缘计算平台的预测性能,计算每个边缘计算平台下一次epoch训练输入数据比例,每个边缘计算平台使本地数据集中与模型精度最相关的数据点最先参与训练。本发明通过平衡了不同边缘计算平台由于硬件和软件异质性导致的训练时间差异,从而降低由于训练时间差异性导致模型同步和收敛的一些额外的延迟损耗。

Description

面向异构边缘计算平台的去中心化训练方法
技术领域
本发明属于人工智能技术领域,具体涉及一种面向异构边缘计算平台的去中心化训练方法。
背景技术
近年来,快速发展的边缘计算平台将云服务能力扩展到网络的边缘端,例如移动设备和传感设备,边缘计算平台在工业界(如AWS Greengrass和Azure IoT Edge)和开源社区(如KubeEdge和Apache Edgent)中的普及,促进了深度学习模型在边缘设备上的应用。然而,以下两个原因,导致今天的边缘计算平台是高度异构的(大约200万种设备配置类型):第一,边缘计算平台具有各种类型的硬件(例如TITAN Xp或RTX 2080 Ti图形卡之类的加速器,或不同型号的CPU),以及不同大小的硬件资源(例如处理器内核的数量、内存大小和I/O带宽);第二,边缘计算平台的硬件资源会由深度学习训练任务及其同步运行的工作负载共享,这些工作负载通常运行时间很短,会间歇性影响深度学习模型的训练。以上原因导致的复杂异构性增加了深度学习模型训练的难度。
如图1所示,一个在异构边缘计算平台上进行深度学习模型训练的示例,三个参与者一起训练一个深度学习模型,每个参数这在各自的平台运行自己的训练任务,因此,每个任务都有一个不同的执行环境:平台1有一个GPU加速器,平台2和平台3具有不同型号的CPU类型和不同大小的内存,与训练任务同步运行的工作负载也会不断变化。每个平台首先处理本地的训练数据,更新模型参数,然后使用参数服务器或通过八卦协议以点对点方式同步信息(梯度或参数)。
为了在分布式环境中实现深度学习模型训练算法,现有技术利用数据并行性和模型并行性,或者为不稳定的网络开发异步训练算法,联邦学习范式进一步支持对分布在多个参与者之间的数据集进行训练,然而,上述大多数方法都依赖于一个中心调度节点,这很容易造成系统瓶颈和单点故障。
去中心化和基于gossip的深度学习训练算法是新兴的替代方案,这些方法提供不需要同步和中央服务器的去中心化解决方案,但是当前的研究方案普遍存在的基本假设是参与者节点是同质的,但是真实场景下却并非如此,事实上,在慢速平台上运行的任务会大大延迟整个去中心化训练过程。
现有方法存在如下缺点:
当前的去中心化训练过程中,由于边缘设备硬件和软件的异构性,导致不同边缘计算平台训练时间的高度差异,因此增加了模型同步和模型收敛的总时间。
基于现有技术存在如上的技术问题,边缘计算平台之间如此严重的性能差异需要一种新的解决方案,该解决方案能够加速基于gossip的训练过程,同时产生尽可能高的模型精度,有鉴于此,本发明提供一种面向异构边缘计算平台的去中心化训练方法。
发明内容
为解决现有技术存在的上述技术问题,本发明提供一种面向异构边缘计算平台的去中心化训练方法。
本发明采用以下技术方案:
一种面向异构边缘计算平台的去中心化训练方法,包括:
步骤1,训练前阶段,基于数据相似度将本地数据集Xe划分为Me(Me>1)个子集,并生成每个子集对应的聚合数据点
Figure BDA0003148582350000021
步骤2,迭代训练阶段,gossip训练平衡算法根据每个边缘计算平台的预测性能,计算每个边缘计算平台下一次epoch训练输入数据比例,每个边缘计算平台使本地数据集中与模型精度最相关的数据点最先参与训练。
进一步地,步骤1包括:
步骤1.1,采用数据降维技术将维度为Ne×d的本地数据集Xe转换成维度为Ne×d′(d′<<d)的降维数据集Xe′,Ne表示原始数据集含有的数据点总数,d和d′表示降维前和降维后每个数据点特征值个数;
步骤1.2,使用数据相似性算法将维度为Ne×de的降维数据集Xe划分为Me个子集
Figure BDA0003148582350000022
步骤1.3,基于降维数据集Xe′的划分结果将本地数据集Xe划分为Me个子集
Figure BDA0003148582350000023
步骤1.4,计算本地数据集Xe每个子集
Figure BDA0003148582350000024
的聚合数据点
Figure BDA0003148582350000025
进一步地,步骤2包括:
步骤2.1,启动一个服务器G,该服务器G负责与每个边缘计算平台进行通信以及运行训练平衡算法;
步骤2.2,每个边缘计算平台e与G建立通信连接;
步骤2.3,每个平台e将本地数据集Xe数据点总数|Xe|上传至G,每个平台e预估当前计算平台的训练性能pe,将pe上传至服务器G;
步骤2.4,服务器G判断每个平台e的性能pe是否小于阈值,则该平台被判定为故障平台;
步骤2.5,如果故障边缘计算平台比例大于10%,则在其他节点中执行故障平台的训练任务;
步骤2.6,依据|Xe|和pe,服务器G计算每个平台e的下一个epoch预估训练时间Te
步骤2.7,根据预估训练时间Te按升序排列所有边缘计算平台;
步骤2.8,依次计算排序后每个平台e下一个epoch保留的输入数据比率re,预估训练时间Te较短的平台处理较高比率的输入数据;
步骤2.9,每个平台e从G获取下一个epoch保留的输入数据比率re
步骤2.10,每个平台e估计Me个聚合数据点对当前训练模型精度的影响值
Figure BDA0003148582350000031
步骤2.11,根据影响值
Figure BDA0003148582350000032
对聚合数据点
Figure BDA0003148582350000033
进行降序排列;
步骤2.12,根据聚合数据点的排序结果对数据集Xe的Me个子集
Figure BDA0003148582350000034
进行降序排列,生成降序集Xe_sort
步骤2.13,依据保留的训练数据比例re,计算当前平台下一个epoch的训练集Xe _train
步骤2.14,每个平台e依据训练集Xe_train,执行一个epoch的训练;
步骤2.15,重复步骤2.3到2.14,重复L次,L表示整个训练过程中需要执行的epoch总数。
进一步地,步骤1.1中,采用的数据降维技术为奇异值分解SVD,增量奇异值分解Incremental SVD或哈希Hash。
进一步地,步骤1.2中,使用的数据相似性算法为k均值聚类k-means clustering或LSH局部敏感哈希算法。
进一步地,步骤1.4中,边缘计算平台e的每个子集
Figure BDA0003148582350000035
的聚合数据点
Figure BDA0003148582350000036
的第j个特征值
Figure BDA0003148582350000037
计算公式如下:
Figure BDA0003148582350000038
上式中,
Figure BDA0003148582350000039
表示边缘平台e本地数据集Xe划分的第i个子集;
Figure BDA00031485823500000310
表示每个子集
Figure BDA00031485823500000311
中数据点的总数;k表示子集
Figure BDA00031485823500000312
中的第k个数据点;
Figure BDA00031485823500000313
表示子集
Figure BDA00031485823500000314
中的第k个数据点的第j个特征值;
Figure BDA00031485823500000315
表示子集
Figure BDA00031485823500000316
对应的聚合数据点第i个数据点
Figure BDA00031485823500000317
的第j个特征值。
进一步地,步骤2中,在每个训练epoch之前,每个边缘计算平台中的性能预测器模块将其预估性能报告给训练平衡器模块,训练平衡器模块通过为下一个epoch设置不同的输入的训练数据比例以减少不同边缘计算平台训练时间的差异,使性能更高或输入数据总量更小的边缘计算平台被设置为处理更大比例的输入数据。
进一步地,步骤2中,精度感知训练器模块移除与模型精度最不相关的输入数据而降低精度损失。
1、本发明所述面向异构边缘计算平台的去中心化训练方法,平衡了不同边缘计算平台由于硬件和软件异质性导致的训练时间差异,从而降低由于训练时间差异性导致模型同步和收敛的一些额外的延迟损耗;
2、本发明所述面向异构边缘计算平台的去中心化训练方法,能够根据不同边缘计算平台的预测性能,动态设置每个边缘计算平台每个训练epoch参与训练的本地数据量,从而平衡不同边缘计算平台的训练时间,加速每个训练周期的完成;
3、本发明所述面向异构边缘计算平台的去中心化训练方法,在每个边缘计算平台上,快速评估本地数据集各个数据点与模型精度之间的影响,并首先处理每个边缘计算平台上与输入数据最相关的部分,从而降低精度损失。
附图说明
图1是现有技术中异构边缘计算平台上进行深度学习模型训练的示意图;
图2是本发明实施例所述方法的整体架构图;
图3是本发明实施例所述方法的步骤1的示意图;
图4是本发明实施例所述方法的步骤1的流程图;
图5是本发明实施例所述方法的步骤2的流程图;
图6是本发明实施例中EdgeGossip和GoSGD训练时间和模型精度对比;
图7是本发明实施例中不同数量的边缘计算平台下训练时间和模型精度对比;
图8是本发明实施例中不同资源差异下训练时间和模型精度的对比;
图9是本发明实施例中不同聚合比率下训练时间和模型精度的对比。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合说明书附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在本发明中,涉及的缩略语和关键术语定义如下:
SVD:Singular Value Decomposition,奇异值分解,是在机器学习领域广泛使用的算法,主要用于降维算法中的特征分解;
Incremental SVD:Incremental Singular Value Decomposition,增量奇异值分解,SVD的一种改进算法;
Hash:哈希,一种基于哈希原理的降维方法;
k-means clustering:k均值聚类,一种迭代求解的聚类分析算法,能够根据数据之间的相似性将数据集划分为多个子集;
LSH:Locality Sensitive Hashing,局部敏感哈希算法,衡量数据相似度的算法,能够根据数据之间的相似性将数据集划分为多个子集;
Gossip:去中心化模型训练中的一种主要算法,该算法最初是针对分布式平均问题开发的,该问题迭代计算对等网络拓扑中所有节点的平均向量。将Gossip应用于深度模型训练时,所有训练参与者(边缘计算平台)按照一个混合矩阵进行信息交流,最终收敛到相同的极小值;
GoSGD:一种基于Gossip的标准的去中心化训练算法;
edgeGossip:本文提出的面向异构边缘计算平台的去中心化深度学习训练算法;
epoch:深度学习模型训练的一种概念,当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一次epoch,也就是说,所有训练样本在神经网络中都进行了一次正向传播和一次反向传播。
实施例
如图3-5所示,所述面向异构边缘计算平台的去中心化训练方法,包括:
S1,训练前阶段,聚合数据点生成模块基于数据相似度将本地数据集Xe划分为Me(Me>1)个子集,并生成每个子集对应的聚合数据点
Figure BDA0003148582350000051
S11,采用数据降维技术将维度为Ne×d的本地数据集Xe转换成维度为Ne×d′(d′<<d)的降维数据集Xe′,Ne表示原始数据集含有的数据点总数,d和d′表示降维前和降维后每个数据点特征值个数;
S12,使用数据相似性算法将维度为Ne×de′的降维数据集Xe′划分为Me个子集
Figure BDA0003148582350000052
S13,基于降维数据集Xe′的划分结果将本地数据集Xe划分为Me个子集
Figure BDA0003148582350000053
S14,计算本地数据集Xe每个子集
Figure BDA0003148582350000061
的聚合数据点
Figure BDA0003148582350000062
S2,迭代训练阶段,gossip训练平衡算法根据每个边缘计算平台的预测性能,计算每个边缘计算平台下一次epoch训练输入数据比例,每个边缘计算平台使本地数据集中与模型精度最相关的数据点最先参与训练;
S21,启动一个服务器G,该服务器G负责与每个边缘计算平台进行通信以及运行训练平衡算法;
S22,每个边缘计算平台e与G建立通信连接,每个平台e将本地数据集Xe数据点总数|Xe|上传至G;
S23,每个平台e预估当前计算平台的训练总吞吐量pe,将pe上传至服务器G;
S24,服务器G判断每个平台e的性能pe是否小于阈值(例如0.001),则该平台被判定为故障平台;
S25,如果故障边缘计算平台比例大于阈值(例如10%),则在其他节点中执行故障平台的训练任务;
S26,依据|Xe|和pe,服务器G计算每个平台e的下一个epoch预估训练时间Te
S27,根据预估训练时间Te按升序排列所有边缘计算平台;
S28,依次计算排序后每个平台e下一个epoch保留的输入数据比率re,预估训练时间Te较短的平台处理较高比率的输入数据;
S29,每个平台e从G获取下一个epoch保留的输入数据比率re
S210,每个平台e估计Me个聚合数据点对当前训练模型精度的影响值
Figure BDA0003148582350000063
S211,根据影响值
Figure BDA0003148582350000064
对聚合数据点
Figure BDA0003148582350000065
进行降序排列;
S212,根据聚合数据点的排序结果对数据集Xe的Me个子集
Figure BDA0003148582350000066
进行降序排列,生成降序集Xe_sort
S213,依据保留的训练数据比例re,计算当前平台下一个epoch的训练集Xe_train
S214,每个平台e依据训练集Xe_train,执行一个epoch的训练;若执行完训练epoch总数,结束训练,若未执行完训练epoch总数,回到S21。
在上述实施例中降维技术选用SVD、Incremental SVD或者Hash,基于数据相似度划分数据集的算法选用k-means clustering或LSH算法,边缘计算平台e的每个子集
Figure BDA0003148582350000067
Figure BDA0003148582350000068
的聚合数据点
Figure BDA0003148582350000069
的第j个特征值
Figure BDA00031485823500000610
计算公式如下:
Figure BDA00031485823500000611
上式中,
Figure BDA00031485823500000612
表示边缘平台e本地数据集Xe划分的第i个子集;
Figure BDA00031485823500000613
表示每个子集
Figure BDA00031485823500000614
中数据点的总数;k表示子集
Figure BDA00031485823500000615
中的第k个数据点;
Figure BDA00031485823500000616
表示子集
Figure BDA00031485823500000617
中的第k个数据点的第j个特征值;
Figure BDA0003148582350000071
表示子集
Figure BDA0003148582350000072
对应的聚合数据点第i个数据点
Figure BDA0003148582350000073
的第j个特征值;例如,设边缘平台e的本地数据集Xe有4个数据点为{(1,2),(3,4),(5,6),(7,8)},假设根据数据相似度能够划分为两个子集:
Figure BDA0003148582350000074
Figure BDA0003148582350000075
对于
Figure BDA0003148582350000076
对于
Figure BDA0003148582350000077
Figure BDA0003148582350000078
对应于两个聚合数据点
Figure BDA0003148582350000079
整个公式表示
Figure BDA00031485823500000710
Figure BDA00031485823500000711
中每个
Figure BDA00031485823500000712
的计算过程,i=1且j=1是表示
Figure BDA00031485823500000713
中的
Figure BDA00031485823500000714
i=1且j=2表示
Figure BDA00031485823500000715
中的
Figure BDA00031485823500000716
i=2且j=1是表示
Figure BDA00031485823500000717
中的
Figure BDA00031485823500000718
i=2且j=2表示
Figure BDA00031485823500000719
中的
Figure BDA00031485823500000720
具体计算过程如下:
Figure BDA00031485823500000721
在上式中,i=1,k=1,j=1时
Figure BDA00031485823500000722
表示子集
Figure BDA00031485823500000723
的第1个数据点的第1个特征值,即为1,同理i=1,k=2,j=1时
Figure BDA00031485823500000724
表示子集
Figure BDA00031485823500000725
的第1个数据点的第2个特征值,即为3;
Figure BDA00031485823500000726
Figure BDA00031485823500000727
Figure BDA00031485823500000728
所以
Figure BDA00031485823500000729
对应的聚合数据点为
Figure BDA00031485823500000730
在上述实施例的S14中,关于最相关的数据点:在神经网络训练中,每个数据点对模型精度的影响通常设置为神经网络的损失函数的值,一般损失函数的值越大,对模型精度影响越高,与模型精度越相关;
同理,在神经网络训练中,每个数据点对模型精度的影响通常设置为神经网络的损失函数的值,一般损失函数的值越小,对模型精度影响越小,与模型精度越不相关;
在上述实施例的S24中,性能pe的定义方式是通过设置pe为每个边缘计算平台模型训练过程中每秒能够处理的输入数据点个数,然后根据自身的训练环境定义故障阈值,如设定为0.001,意思是当前边缘计算平台每秒钟至少应该能处理0.001个数据点,少于0.001则意味着该平台故障。
如图2所示,上述实施例实现FdgeGossip每个边缘计算平台的总体架构,分为训练前阶段和迭代训练阶段,在训练前阶段,使用三个步骤将输入数据集X转换为多个聚合数据点,先将数据集X转换为低维数据集X′;再将数据点X′划为多个子集,并在划分过程中保持数据的相似性,最后将每个子集中原始输入数据点的信息进行聚合,生成聚合数据点;其中,上述创建过程仅在模型训练之前应用一次;
在迭代训练阶段,设计了三个模块来加速模型训练过程,在每个训练epoch之前,每个平台中的性能预测器将其预估性能报告给训练平衡器,该均衡器通过为下一个epoch设置不同的输入的训练数据比例来减少不同平台训练时间的差异;
例如,有五个边缘计算平台,编号从1到5的边缘计算平台预估性能分别为500,400,300,200,100,每个边缘计算平台数据集中数据点总数均为600000,则预估处理时间分别为1200,1500,2000,3000,6000,假设指定第1个边缘计算平台为性能基准平台,则编号从1到5的边缘计算平台下一个epoch的输入数据比例分别为1.0,0.8,0.6,0.4,0.2;
具体计算过程:1.0,1200/1500=0.8,1200/2000=0.6,1200/3000=0.4,1200/6000=0.2;
也可以指定第2个边缘计算平台为基准平台,下一个epoch的输入数据比例分别为1.0,1.0,0.75,0.5,0.25;
具体计算过程:1.0,1.0,1500/2000=0.75,2000/6000=0.5,1500/6000=0.25;
如此设置,能够使性能更高或输入数据总量更小的平台被设置为处理更大比例的输入数据,此外,精度感知训练器模块将移除与精度最不相关的输入数据而将精度损失降至最低,这是通过聚合数据点来定义并优先处理与精度最相关的输入数据实现的。
结合实际的面向异构边缘计算平台的去中心化训练场景,在上述实施例实现的EdgeGossip按照以下流程进行部署运行:
1、首先启动一个Redis服务器,然后启动每个边缘计算平台的训练进程,初始化各进程的参数设置,包括Redis客户端设置、模型训练超参数设置以及初始化训练模型参数(所有边缘计算节点相同),同时每个边缘计算平台的Redis客户端向Redis服务器注册当前节点的存在,并初始化Gossip通信拓扑结构、每个Gossip节点(边缘计算平台)模型权重;
2、每个边缘计算节点在本地模型训练开始之前利用数据降维、划分、聚合技术生成聚合数据点;
3、每个边缘计算平台同步进行一个模型训练周期,当所有平台完成一个训练周期之后,所有平台将本次训练周期的训练时间和更新后的本地模型参数及其权重发送至Redis服务器;
4、所有边缘平台根据Gossip通信拓扑结构从Redis服务器下载其它边缘计算平台的模型参数和权重,并根据这些模型参数和权重更新本地模型参数和权重;
5、每个边缘计算平台获取Redis服务器中存储的所有平台上一个训练周期的训练时间的最大值和最小值,并利用其和当前平台上一个训练周期的训练时间计算当前平台下一个训练周期参与训练的输入数据点比例;
6、每个边缘计算节点利用更新过的本地模型计算本地聚合数据点的反向传播损失值,并根据损失值确定每个聚合数据点的重要度,然后根据输入数据点比例按照重要度从大到小选择最重要的输入数据点;
7、使用根据重要度采样的输入数据点,重复步骤3~6,直到模型训练结果;
8、将所有的边缘计算平台训练完成的深度模型合并,从而生成最终的深度学习模型。
上述实施例在三种异构边缘计算平台上进行,包括一个CPU平台和两个GPU平台:
在CPU平台上,配备了18核Intel E5-2695 v4处理器和256GB的内存;
第一个GPU平台拥有12核Intel(R)core(TM)i7-8700K处理器、12GB TITAN Xp图形显卡和64GB内存;
第二个GPU平台拥有88核Intel(R)Xeon(R)Gold 6238处理器、11GB GeForce RTX2080Ti显卡和512GB内存;
所有节点都运行Linux Ubuntu 18.04。在CPU平台上的Spark集群中,JDK、Spark和KubeEdge版本分别是1.8.0.181、2.4.3和v1.15.3,在PyTorch集群中,python、PyTorch、cuda、cudnn和redis版本分别是3.7.7、1.6.0、10.1、7.6.3和4.0.9,在CPU服务器资源上,每个边缘计算平台运行基于Intel BigDL的深度模型训练;在GPU服务器资源上,每个边缘计算平台运行基于PyTorch的深度模型训练,需要说明是,为了模拟真实的边缘计算平台中会有其它进程争用资源的情况,每个边缘计算平台上,除了运行深度学习模型训练任务和EdgeGossip的所有功能外,也会同步运行MapReduce工作负载(WordCount和Sort,其输入数据大小从1MB到10GB)。
在上述实施例中,测试过程中采用的不同的深度学习模型和数据集进行详细的对比测试。在模拟的边缘计算平台去中心化训练中,采用两种流行的深度学习模型(LeNet-5和AlexNet),LeNet-5有60k个参数,使用MNIST数据集进行测试;AlexNet有6150万个参数,它使用Cifar10数据集和经过下采样ImageNet8x8数据集进行测试,针对Cifar10数据集,还测试了两种广泛应用于边缘计算平台和移动设备的典型深度学习模型:Squeezenet和MobileNets-v2,这两种模型的精度与AlexNet相当,但参数数量要少得多,因此推理时间较短,MNIST和Cifar10数据集都有60k个数据点,训练点和测试点的数量分别为50k和1Ok,ImageNet数据集有来自1000个类的128万个数据点和50k个测试点(每个类50个)。
在上述实施例的测试过程中为保证测试的公平性和准确性,所有边缘计算平台的模型训练均采用小批量梯度下降法,模型学习率、动量、训练样本的批量大小分别为0.01、0.9、64。需要说明的是,在所有的比较评估中,使用相同的超参数和初始模型参数。
在上述实施例中,具体评价形式为如下2个指标:
其一,性能:性能是指不同周期的模型训练时间,在本实施例实现的EdgeGossip中,这个时间还包括聚合数据点的生成和处理时间。
其二,准确度:准确度度量是测试集上的Top-1分类准确度。
如图6所示,EdgeGossip和GoSGD在训练时间(x轴)和top-1精度(y轴)方面的比较结果,可以观察到,在迭代训练过程中,应用GossipEdge来平衡不同边缘计算平台的训练时间大大加快了训练速度,此外,这两种方法在收敛后获得了相似的精度,这些结果证明,使用聚合数据点,GossipEdge可以正确识别和删除精度较低的输入数据,并且在慢速边缘计算平台中保留的输入数据很好地保证了模型的精度;
如图7所示,进一步示出了不同部署规模下的比较结果,对于这两种深度学习模型,当规模变大,不同边缘计算平台之间的通信量增加时,训练所需的时间都会变长。图7中a1到b4表明,LeNet-5加速的训练时间比其它模型小,这是因为在这个简单的模型中,当部署规模增加时,精度很快增加到0.95,因此在EdgeGossip和GoSGD中的训练时间是相似的;
此外,图6中c和d与图7中b1对比结果表明,在处理相同的数据集(Cifar10)时,Squeezenet和MobileNets-v2比AlexNet有更长的训练时间,这是因为两个模型都通过增加使用3×3和1×1卷积层的特征映射的数量来减少参数,因此在模型训练中卷积层的计算要昂贵得多;
综上所述,上述实施例实现的EdgeGossip适用于训练复杂度较高的模型(如Squeezenet和MobileNets-v2),因为这会导致不同边缘计算平台的训练时间存在较大差异,但EdgeGossip能减少这种性能差异从而加速模型训练,EdgeGossip的有效性也受到训练部署规模的影响,原因与此类似,因为规模的增加可能会使边缘计算平台具有更高的异质性,从而增加这些平台之间训练时间的差异。
在上述实施例中,测试了两个较大的不平衡情况:快速CPU平台的资源容量是慢速CPU平台的3倍和5倍,如图8所示,增加的不平衡有两方面的影响,首先,GoSGD算法需要更长的时间来完成训练过程,因为较慢的平台会导致每个epoch的同步延迟更长,其次,GossipEdge仍然可以保持相似的模型训练时间,但也会导致稍大的精度损失,因为在较慢的平台上处理的输入数据较少;
聚合比率的测试,聚集比率是决定聚集数据点模拟输入数据粒度的关键参数,除了之前的比率(10),在上述实施例中测试了两个新的聚合比率(5和20),如图9中的结果显示,选择较大的比率(20)导致较少数量的聚合数据点,因此需要较短的聚合数据点处理时间,但也导致稍微较低的模型精度,但是减少的处理时间对总模型训练时间的影响非常小,因为此时间在每个epoch上所占的训练时间不到3%;
综合以上考虑,在考虑不同的训练模型和不同数量的边缘计算平台设置的情况下,上述实施例实现的EdgeGossip将标准的Gossip训练时间平均加快了2.70倍,而且精度损失很小,仅为0.78%。
本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书界定。

Claims (8)

1.一种面向异构边缘计算平台的去中心化训练方法,其特征在于,包括:
步骤1,聚合数据点生成模块基于数据相似度将本地数据集Xe划分为Me(Me>1)个子集,并生成每个子集对应的聚合数据点
Figure FDA0003148582340000011
步骤2,gossip训练平衡算法根据每个边缘计算平台的预测性能,计算每个边缘计算平台下一次epoch训练输入数据比例,每个边缘计算平台使本地数据集中与模型精度最相关的数据点最先参与训练。
2.根据权利要求1所述的面向异构边缘计算平台的去中心化训练方法,其特征在于,步骤1包括:
步骤1.1,采用数据降维技术将维度为Ne×d的本地数据集Xe转换成维度为Ne×d′(d′<<d)的降维数据集Xe′,Ne表示原始数据集含有的数据点总数,d和d′表示降维前和降维后每个数据点特征值个数;
步骤1.2,使用数据相似性算法将维度为Ne×de的降维数据集Xe划分为Me个子集
Figure FDA0003148582340000012
步骤1.3,基于降维数据集Xe′的划分结果将本地数据集Xe划分为Me个子集
Figure FDA0003148582340000013
步骤1.4,计算本地数据集Xe每个子集
Figure FDA0003148582340000014
的聚合数据点
Figure FDA0003148582340000015
3.根据权利要求2所述的面向异构边缘计算平台的去中心化训练方法,其特征在于,步骤2包括:
步骤2.1,启动一个服务器G,该服务器G负责与每个边缘计算平台进行通信以及运行训练平衡算法;
步骤2.2,每个边缘计算平台e与G建立通信连接,每个平台e将本地数据集Xe数据点总数|Xe|上传至G;
步骤2.3,每个平台e预估当前计算平台的训练总吞吐量pe,将pe上传至服务器G;
步骤2.4,服务器G判断每个平台e的性能pe是否小于阈值,则该平台被判定为故障平台;
步骤2.5,如果故障边缘计算平台比例大于10%,则在其他节点中执行故障平台的训练任务;
步骤2.6,依据|Xe|和pe,服务器G计算每个平台e的下一个epoch预估训练时间Te
步骤2.7,根据预估训练时间Te按升序排列所有边缘计算平台;
步骤2.8,依次计算排序后每个平台e下一个epoch保留的输入数据比率re,预估训练时间Te较短的平台处理较高比率的输入数据;
步骤2.9,每个平台e从G获取下一个epoch保留的输入数据比率re
步骤2.10,每个平台e估计Me个聚合数据点对当前训练模型精度的影响值
Figure FDA0003148582340000021
步骤2.11,根据影响值
Figure FDA0003148582340000022
对聚合数据点
Figure FDA0003148582340000023
进行降序排列;
步骤2.12,根据聚合数据点的排序结果对数据集Xe的Me个子集
Figure FDA0003148582340000024
进行降序排列,生成降序集Xe_sort
步骤2.13,依据保留的训练数据比例re,计算当前平台下一个epoch的训练集Xe_train
步骤2.14,每个平台e依据训练集xe_train,执行一个epoch的训练;
步骤2.15,重复步骤2.3到2.14,重复L次,L表示整个训练过程中需要执行的epoch总数。
4.根据权利要求2所述的面向异构边缘计算平台的去中心化训练方法,其特征在于,步骤1.1中,采用的数据降维技术为奇异值分解SVD,增量奇异值分解Incremental SVD或哈希Hash。
5.根据权利要求2所述的面向异构边缘计算平台的去中心化训练方法,其特征在于,步骤1.2中,使用的数据相似性算法为k均值聚类k-means clustering或LSH局部敏感哈希算法。
6.根据权利要求2所述的面向异构边缘计算平台的去中心化训练方法,其特征在于,步骤1.4中,边缘计算平台e的每个子集
Figure FDA0003148582340000025
的聚合数据点
Figure FDA0003148582340000026
的第j个特征值
Figure FDA0003148582340000027
计算公式如下:
Figure FDA0003148582340000028
上式中,
Figure FDA0003148582340000029
表示边缘平台e本地数据集Xe划分的第i个子集;
Figure FDA00031485823400000210
表示每个子集
Figure FDA00031485823400000211
中数据点的总数;k表示子集
Figure FDA00031485823400000212
中的第k个数据点;
Figure FDA00031485823400000213
表示子集
Figure FDA00031485823400000214
中的第k个数据点的第j个特征值;
Figure FDA00031485823400000215
表示子集
Figure FDA00031485823400000216
对应的聚合数据点第i个数据点
Figure FDA00031485823400000217
的第j个特征值。
7.根据权利要求1所述的面向异构边缘计算平台的去中心化训练方法,其特征在于,步骤2中,在每个训练epoch之前,每个边缘计算平台中的性能预测器模块将其预估性能报告给训练平衡器模块,训练平衡器模块通过为下一个epoch设置不同的输入的训练数据比例以减少不同边缘计算平台训练时间的差异。
8.根据权利要求7所述的面向异构边缘计算平台的去中心化训练方法,其特征在于,步骤2中,精度感知训练器模块移除与模型精度最不相关的输入数据而降低精度损失。
CN202110758089.8A 2021-07-05 2021-07-05 面向异构边缘计算平台的去中心化训练方法 Pending CN113657435A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110758089.8A CN113657435A (zh) 2021-07-05 2021-07-05 面向异构边缘计算平台的去中心化训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110758089.8A CN113657435A (zh) 2021-07-05 2021-07-05 面向异构边缘计算平台的去中心化训练方法

Publications (1)

Publication Number Publication Date
CN113657435A true CN113657435A (zh) 2021-11-16

Family

ID=78477920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110758089.8A Pending CN113657435A (zh) 2021-07-05 2021-07-05 面向异构边缘计算平台的去中心化训练方法

Country Status (1)

Country Link
CN (1) CN113657435A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117522350A (zh) * 2024-01-04 2024-02-06 深圳市毅霖建设集团有限公司 一种绿色建筑设计装饰工程智能管理方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117522350A (zh) * 2024-01-04 2024-02-06 深圳市毅霖建设集团有限公司 一种绿色建筑设计装饰工程智能管理方法及系统
CN117522350B (zh) * 2024-01-04 2024-04-26 深圳市毅霖建设集团有限公司 一种绿色建筑设计装饰工程智能管理方法及系统

Similar Documents

Publication Publication Date Title
EP3540652B1 (en) Method, device, chip and system for training neural network model
CN112116090B (zh) 神经网络结构搜索方法、装置、计算机设备及存储介质
CN110610242A (zh) 一种联邦学习中参与者权重的设置方法及装置
CN110515739A (zh) 深度学习神经网络模型负载计算方法、装置、设备及介质
CN108446770B (zh) 一种基于采样的分布式机器学习慢节点处理系统及方法
CN110889509A (zh) 一种基于梯度动量加速的联合学习方法及装置
CN108108814A (zh) 一种深度神经网络的训练方法
CN106778015A (zh) 一种基于云平台中fpga异构加速基因计算方法
CN113778691B (zh) 一种任务迁移决策的方法、装置及系统
Lin et al. A model-based approach to streamlining distributed training for asynchronous SGD
CN113971090B (zh) 分布式深度神经网络的分层联邦学习方法及装置
CN113657435A (zh) 面向异构边缘计算平台的去中心化训练方法
CN117785490B (zh) 一种图神经网络模型的训练架构、方法、系统及服务器
CN109871942B (zh) 神经网络的训练方法和装置、系统、存储介质
CN106611021B (zh) 一种数据处理方法和设备
CN117829307A (zh) 一种面向数据异构性的联邦学习方法及系统
Wang et al. Nexus: Bringing efficient and scalable training to deep learning frameworks
CN106844024B (zh) 一种自学习运行时间预测模型的gpu/cpu调度方法及系统
US20170372214A1 (en) Updates to a prediction model using statistical analysis groups
CN113867882A (zh) 容器资源调度方法和装置、计算机可读存储介质
CN113541984A (zh) 网络切片业务体验预测方法、装置和设备
CN110928683B (zh) 基于两类密集型虚拟机的边缘计算资源分配方法
CN115100124A (zh) 一种基于云服务的图像缺陷检测系统
CN113656494A (zh) 参数服务器的同步方法、系统及可读存储介质
WO2021051920A1 (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