CN111784002B - 分布式数据处理方法、装置、计算机设备及存储介质 - Google Patents

分布式数据处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111784002B
CN111784002B CN202010926437.3A CN202010926437A CN111784002B CN 111784002 B CN111784002 B CN 111784002B CN 202010926437 A CN202010926437 A CN 202010926437A CN 111784002 B CN111784002 B CN 111784002B
Authority
CN
China
Prior art keywords
gradient
edge node
sparse
model
training
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
Application number
CN202010926437.3A
Other languages
English (en)
Other versions
CN111784002A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010926437.3A priority Critical patent/CN111784002B/zh
Publication of CN111784002A publication Critical patent/CN111784002A/zh
Application granted granted Critical
Publication of CN111784002B publication Critical patent/CN111784002B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2136Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on sparsity criteria, e.g. with an overcomplete basis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请是关于一种分布式数据处理方法、装置、计算机设备及存储介质,涉及人工智能技术领域。所述方法包括:向至少两个边缘节点设备发送全局模型参数;该全局模型参数是部署于中心节点设备的第一模型的参数;获取该至少两个边缘节点设备分别通过异步通信方式发送的稀疏梯度;基于梯度权重,以及该至少两个边缘节点设备分别发送的稀疏梯度,对该全局模型参数进行更新;该梯度权重用于指示该稀疏梯度对该全局模型参数进行更新时所占的比重。在基于云服务器的分布式数据处理场景中,上述方案能够在保证模型训练的准确性的同时,节约云服务器的带宽资源。

Description

分布式数据处理方法、装置、计算机设备及存储介质
技术领域
本申请涉及人工智能技术领域,特别涉及一种分布式数据处理方法、装置、计算机设备及存储介质。
背景技术
随着人工智能的不断发展,以及用户隐私要求的不断提高,基于分布式系统的机器学习模型训练的应用也越来越广泛。
联邦学习是一种基于云技术的分布式系统的机器学习方式。在联邦学习架构中,包含中心节点设备和多个边缘节点设备,每个边缘节点设备在本地存储有各自的训练数据,且中心节点设备和各个边缘节点设备中都设置有模型架构相同的模型。在联邦学习过程中,各个边缘节点设备基于初始化的模型参数,对本地的模型进行训练,将训练得到的梯度数据上传至中心节点设备,由中心节点设备融合各个边缘节点设备的梯度数据来更新中心节点设备中的模型参数。
然而,上述各个边缘节点设备在联邦学习过程中,在相同的时间点上同步上传本地的梯度数据,这对分布式系统的带宽要求较高,同时由于各个边缘节点设备在集中上传的时间段之外,对分布式系统的带宽的利用率较低,导致分布式系统的带宽资源的浪费。
发明内容
本申请实施例提供了一种分布式数据处理方法、装置、计算机设备及存储介质,可以在保证模型训练的准确性的同时,提高通信传输效率,减小通信传输消耗的资源,该技术方案如下。
一方面,提供了一种分布式数据处理方法,所述方法由分布式系统中的中心节点设备执行,所述分布式系统中包含所述中心节点设备与至少两个边缘节点设备;所述方法包括:
向所述至少两个边缘节点设备发送全局模型参数;所述全局模型参数是部署于所述中心节点设备的第一模型的参数;
接收所述至少两个边缘节点设备分别通过异步通信方式发送的稀疏梯度;所述稀疏梯度是所述至少两个边缘节点设备对各自的边缘节点梯度进行稀疏化处理得到的;所述边缘节点梯度是对应的边缘节点设备基于所述全局模型参数对第二模型进行初始化后,通过对应边缘节点设备上的训练数据集对所述第二模型进行训练得到的梯度;
基于梯度权重,以及所述至少两个边缘节点设备分别发送的稀疏梯度,对所述全局模型参数进行更新;所述梯度权重用于指示所述稀疏梯度对所述全局模型参数进行更新时所占的比重。
一方面,提供了一种分布式数据处理方法,所述方法由分布式系统中的边缘节点设备执行,所述分布式系统中包含中心节点设备与所述至少两个边缘节点设备,所述方法包括:
接收所述中心节点设备发送的全局模型参数,所述全局模型参数是部署于所述中心节点设备的第一模型的参数;
基于所述全局模型参数对第二模型进行初始化;
通过所述边缘节点设备上的训练数据集对所述第二模型进行训练,获得边缘节点梯度;
对所述边缘节点梯度进行稀疏化处理,得到稀疏梯度;
通过异步通信方式向所述中心节点设备发送所述稀疏梯度,以便所述中心节点设备基于所述至少两个边缘节点设备分别发送的稀疏梯度以及梯度权重,更新所述全局模型参数;所述梯度权重用于指示所述稀疏梯度对所述全局模型参数的更新比重。
又一方面,提供了一种分布式数据处理装置,所述装置用于分布式系统中的中心节点设备,所述分布式系统中包含所述中心节点设备与至少两个边缘节点设备,所述装置包括:
第一参数发送模块,用于向所述至少两个边缘节点设备发送全局模型参数;所述全局模型参数是部署于所述中心节点设备的第一模型的参数;
稀疏梯度接收模块,用于接收所述至少两个边缘节点设备分别通过异步通信方式发送的稀疏梯度;所述稀疏梯度是所述至少两个边缘节点设备对各自的边缘节点梯度进行稀疏化处理得到的;所述边缘节点梯度是对应的边缘节点设备基于所述全局模型参数对第二模型进行初始化后,通过对应边缘节点设备上的训练数据集对所述第二模型进行训练得到的梯度;
模型参数更新模块,用于基于梯度权重,以及所述至少两个边缘节点设备分别发送的稀疏梯度,对所述全局模型参数进行更新;所述梯度权重用于指示所述稀疏梯度对所述全局模型参数进行更新时所占的比重。
在一种可能的实现方式中,所述模型参数更新模块,包括:
中间参数获取单元,用于基于所述至少两个边缘节点设备分别发送的稀疏梯度获取中间模型参数;
梯度加权单元,用于基于所述梯度权重,对更新前的所述全局模型参数以及所述中间模型参数进行加权处理,获得更新后的所述全局模型参数。
在一种可能的实现方式中,所述中间参数获取单元,用于,
对所述至少两个边缘节点设备分别发送的稀疏梯度进行累加,获得累加稀疏梯度;
基于所述累加稀疏梯度以及学习率,获得所述中间模型参数。
在一种可能的实现方式中,所述装置还包括:
模型验证模块,用于响应于所述全局模型参数的更新次数达到第一次数阈值,通过所述中心节点设备中的验证集对所述第一模型进行验证,获得验证误差;所述验证误差用于指示所述第二模型的预测结果与所述验证集中的标签之间的误差;
第一权重更新模型,用于根据所述验证误差,更新所述梯度权重。
在另一种可能的实现方式中,所述装置还包括:
第二权重更新模块,用于基于所述至少两个边缘节点设备分别发送的稀疏梯度,更新所述梯度权重。
在一种可能的实现方式中,所述装置还包括:
第二参数发送模块,用于响应于所述全局模型参数的更新次数达到第二次数阈值,向所述至少两个边缘节点设备发送更新后的所述全局模型参数。
再一方面,提供了一种分布式数据处理装置,所述装置用于分布式系统中的节点设备,所述分布式系统中包含中心节点设备与所述至少两个边缘节点设备,所述装置包括:
模型参数接收模块,用于接收所述中心节点设备发送的全局模型参数,所述全局模型参数是部署于所述中心节点设备的第一模型的参数;
模型初始化模块,用于基于所述全局模型参数对第二模型进行初始化;
第二模型训练模块,用于通过所述边缘节点设备上的训练数据集对所述第二模型进行训练,获得边缘节点梯度;
稀疏模块,用于对所述边缘节点梯度进行稀疏化处理,得到稀疏梯度;
稀疏梯度发送模块,用于通过异步通信方式向所述中心节点设备发送所述稀疏梯度,以便所述中心节点设备基于所述至少两个边缘节点设备分别发送的稀疏梯度以及梯度权重,更新所述全局模型参数;所述梯度权重用于指示所述稀疏梯度对所述全局模型参数的更新比重。
在一种可能的实现方式中,所述边缘节点梯度包含至少两次迭代训练得到的梯度数据;
所述稀疏模块,包括:
梯度累加单元,用于将至少两次迭代训练得到的所述梯度数据进行累加处理,获得累加梯度;
稀疏化单元,用于对所述累加梯度进行稀疏化处理,获得所述稀疏梯度。
在一种可能的实现方式中,所述梯度累加单元,用于,
按照对应的迭代训练的顺序,基于权重参数对至少两次迭代训练得到的所述梯度数据依次进行累加,获得所述累加梯度;所述权重参数用于指示所述梯度数据对所述全局模型参数进行更新时所占的比重。
在一种可能的实现方式中,所述梯度累加单元,还用于,
在按照对应的迭代训练的顺序对至少两次迭代训练得到的所述梯度数据依次进行累加的过程中,基于所述权重参数对各次累加过程进行动量修正,获得所述累加梯度。
在一种可能的实现方式中,所述累加梯度包含至少两个模型参数分别对应的累加梯度数据;
所述稀疏化单元,用于,
将所述至少两个模型参数分别对应的累加梯度数据按照从大到小的顺序进行排列;
将所述累加梯度中,位于排序结果中的后N个累加梯度数据置零,获得所述稀疏梯度。
再一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的分布式数据处理方法。
又一方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述分布式数据处理方法。
再一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述分布式数据处理方法。
本申请提供的技术方案可以包括以下有益效果:
在分布式数据处理过程中,中心节点设备将全局模型参数下发至各个边缘节点设备,由各个边缘节点设备基于该全局模型参数进行训练,并接收各个边缘节点设备异步上传的稀疏化后的梯度数据;在云端聚合时,中心节点设备根据稀疏化后的梯度数据在参数更新时所占的比重,对全局模型参数进行更新;一方面,各个边缘节点设备对训练过程中得到的梯度数据进行稀疏化之后异步上传,能够降低对分布式系统的带宽需求,节约带宽资源;另一方面,根据稀疏化后的梯度数据在参数更新时所占的比重,对中心节点设备的参数更新过程进行权重处理,避免稀疏化后的梯度数据导致全局模型参数的不平衡,保证中心节点设备侧的模型参数更新的准确性;因此,上述方案能够在保证模型训练的准确性的同时,节约分布式系统的带宽资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种分布式系统的结构示意图;
图2是根据一示例性实施例示出的一种基于联邦学习框架设置的分布式系统的结构示意图;
图3是根据一示例性实施例示出的一种分布式数据处理方法的流程示意图;
图4是图3所示实施例涉及的一种异步通信方式示意图;
图5是根据一示例性实施例示出的一种分布式数据处理方法的流程示意图;
图6是根据一示例性实施例示出的一种基于分布式数据处理方法的模型训练及模型应用框架示意图;
图7是根据一示例性实施例提供的一种分布式数据处理方法的方法流程图;
图8是图7所示实施例涉及的模型训练的流程示意图;
图9是图7所示实施例涉及的异步梯度压缩的模型性能对比图;
图10是图7所示实施例涉及的异步梯度压缩的模型通信开销的对比图;
图11是根据一示例性实施例示出的一种基于分布式数据处理方法的模型训练及模型应用框架示意图;
图12是根据一示例性实施例示出的一种分布式数据处理装置的结构方框图;
图13是根据一示例性实施例示出的一种分布式数据处理装置的结构方框图;
图14是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在对本申请所示的各个实施例进行说明之前,首先对本申请涉及到的几个概念进行介绍。
1)人工智能(Artificial Intelligence,AI)
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
2)机器学习(Machine Learning,ML)
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
3)联邦学习(Federated Learning)
联邦学习又名联邦机器学习、联合学习、联盟学习。联邦学习是一种分布式系统的机器学习框架, 在联邦学习架构中,包含中心节点设备和多个边缘节点设备,每个边缘节点设备在本地存储有各自的训练数据,且中心节点设备和各个边缘节点设备中都设置有模型架构相同的模型,通过联邦学习架构进行机器学习模型的训练,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现AI协作。
4)云技术(Cloud technology)
云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
图1是根据一示例性实施例示出的一种分布式系统的结构示意图。该系统包括:中心节点设备120以及和至少两个边缘节点设备140。中心节点设备120将全局模型参数下发至边缘节点设备140,通过边缘节点设备140中存储的训练数据集,对该全局模型参数进行更新。
中心节点设备120可以是服务器,在某些场景中该中心节点设备可以被称为中心服务器,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。边缘节点设备140可以是终端,该终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。中心节点设备以及边缘节点设备可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
可选的,该系统还可以包括管理设备(图1未示出),该管理设备与中心节点设备120之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
请参考图2,其是一示例性实施例示出的一种基于联邦学习框架设置的分布式系统的结构示意图。请参考图2,该分布式系统由边缘节点设备140与中心节点设备120构成。边缘节点设备140中至少包含终端141、数据存储器142,数据存储器142用于存储终端141产生的数据,并根据该数据构建训练数据集,对节点模型143进行训练。该节点模型143可以是预先设置的学习模型,也可以是在训练过程中根据中心节点设备120下发的模型参数构建的学习模型。节点模型143根据数据存储器中存储的训练数据集进行训练,并将训练得出的梯度数据上传至中心节点设备120中。中心节点设备120中至少包含模型参数存储器121,根据模型参数存储器121中存储的全局模型参数,构建全局模型122,该全局模型122根据各个边缘节点设备中上传的各个节点模型训练得出的梯度数据,进行全局模型参数的更新,更新后的全局模型作为训练好的机器学习模型部署在应用场景中。
联邦学习是一种分布式协作学习范式,它允许边缘节点设备保持数据在本地来协作训练一个全局深度学习模型来达到模型学习和保护隐私的目的。具体来说,该框架通过使用分布式的随机梯度下降算法来迭代和训练全局模型,在每轮迭代
Figure DEST_PATH_IMAGE001
中,联邦学习的学习过程可以描述为如下步骤。
步骤1,初始化:
所有参与本轮训练的边缘节点设备发送信息给中心节点设备以表示登记参与联邦学习,中心节点设备去除存在网络故障或者网络不佳的边缘节点设备。中心节点设备将从所有参与的边缘节点设备中随机抽取部分边缘节点设备参加本轮训练,并将预训练(或者初始化)的全局模型
Figure DEST_PATH_IMAGE002
发送给相应的边缘节点设备。
步骤2,本地训练:
每个边缘节点设备收到全局模型
Figure DEST_PATH_IMAGE003
,并对自己的本地模型
Figure DEST_PATH_IMAGE004
进行初始化,其中
Figure DEST_PATH_IMAGE005
表示边缘节点设备的数目,初始化过程为
Figure DEST_PATH_IMAGE006
然后,边缘节点设备开始使用自己的本地数据集
Figure DEST_PATH_IMAGE007
进行训练,其中数据集的大小为
Figure DEST_PATH_IMAGE008
,由训练数据集,即输入-输出对
Figure DEST_PATH_IMAGE009
组成,本地训练需要优化的损失函数定义如下:
Figure DEST_PATH_IMAGE010
其中,
Figure DEST_PATH_IMAGE011
是指模型的参数,
Figure DEST_PATH_IMAGE012
是指本地损失函数(例如
Figure DEST_PATH_IMAGE013
),
Figure DEST_PATH_IMAGE014
收敛之后可以更新本地模型
Figure DEST_PATH_IMAGE015
如下:
Figure DEST_PATH_IMAGE016
其中,
Figure DEST_PATH_IMAGE017
为模型的学习率,
Figure DEST_PATH_IMAGE018
为对权值的求导即梯度。
步骤3,模型更新聚合:
边缘节点设备进行本地训练之后将自己的本地模型更新上传给中心节点设备,中心节点设备对收到的本地模型更新执行聚合操作得到新的全局模型
Figure DEST_PATH_IMAGE019
,其定义如下:
Figure DEST_PATH_IMAGE020
上述三个步骤周而复始,直至全局模型达到收敛。值得注意的是,整个过程中边缘节点设备的本地数据集保留在本地并未分享或者泄露给中心节点设备。
请参考图3,其是根据一示例性实施例示出的一种分布式数据处理方法的流程示意图。该方法由分布式系统中的中心节点设备执行,其中,该中心节点设备可以是上述图1所示的实施例中的中心节点设备120。如图3所示,该分布式数据处理方法的流程可以包括如下步骤。
步骤301,向至少两个边缘节点设备发送全局模型参数;该全局模型参数是部署于中心节点设备的第一模型的参数。
步骤302,获取该至少两个边缘节点设备分别通过异步通信方式发送的稀疏梯度;该稀疏梯度是该至少两个边缘节点设备对各自的边缘节点梯度进行稀疏化处理得到的;该边缘节点梯度是对应的边缘节点设备基于该全局模型参数对第二模型进行初始化后,通过对应边缘节点设备上的训练数据集对该第二模型进行训练得到的梯度。
步骤303,基于梯度权重,以及该至少两个边缘节点设备分别发送的稀疏梯度,对该全局模型参数进行更新;该梯度权重用于指示该稀疏梯度对该全局模型参数进行更新时所占的比重。
在本申请实施例中,上述至少两个边缘节点设备采取异步通信的方式,将各自的稀疏梯度发送至中心节点设备。由于不同边缘节点设备各自使用本地的训练数据进行训练,不同边缘节点设备的本地的训练数据不同,且不同边缘节点设备的计算能力也可能不同,因此不同边缘节点设备的第二模型的训练进度通常也不同,请参考图4,其示出了本申请实施例涉及的一种异步通信方式示意图。如图4所示,边缘节点设备1至边缘节点设备i的每一次模型训练的时间各不相同。令
Figure DEST_PATH_IMAGE021
代表通信时间,
Figure DEST_PATH_IMAGE022
代表计算时间,则通信效率k如下公式所示:
Figure DEST_PATH_IMAGE023
由于计算时间
Figure DEST_PATH_IMAGE024
减少了,因此通信效率k在一定程度上得到了提高。因此采取异步通信方式,可以使训练快的边缘节点设备提前将训练好的稀疏梯度发送至中心节点设备,从而提前进入下一次训练过程,不需要等待训练速度较慢的其它边缘节点设备,提高了联邦学习框架的通信效率。
该异步通信的过程如下。
各个边缘节点设备从中心节点设备得到最新的全局模型参数;各个边缘节点设备中的训练器利用边缘节点设备中的训练数据集和最新的全局模型参数计算当前边缘节点设备中全局模型参数的各个参数的梯度;向中心节点设备发送该梯度;
中心节点设备从执行更新完毕的训练器上获得该梯度;当获得预定个数的梯度时,根据该预定个数的梯度对全局模型参数进行更新,再将更新后的全局模型参数发送给各个边缘节点设备的训练器。
在本申请实施例中,至少两个边缘节点设备根据各自的训练数据训练得出的边缘节点梯度进行稀疏化处理,得到稀疏梯度。在一种可能的实现方式中,该稀疏梯度与稀疏化处理前对应的边缘节点梯度相比,其中保留了相对重要的梯度(即根据预设的稀疏化原则稀疏后的梯度),边缘节点设备通过异步通信方式将该稀疏化后的稀疏梯度传递给中心节点设备,减少了边缘节点设备向中心节点设备传输的数据总量,削减了梯度数据传递所需的通信开销。
但在异步通信方式的基础上对边缘节点梯度进行更新的方案中,中心节点设备的全局模型获取部分边缘节点设备的稀疏梯度进行参数更新时,该部分边缘节点设备的稀疏梯度对全局模型参数中部分模型参数进行更新,此时由于梯度稀疏化过程置零了部分参数对应的梯度信息,如果直接应用该稀疏梯度进行全局模型的更新,可能会造成模型训练效果较差,偏离预计的训练方向,因此本申请实施例中,中心节点设备在基于稀疏梯度对全局模型参数进行更新时,引入了梯度权重对该稀疏梯度进行加权处理,适当地减小稀疏后的梯度对全局模型的更新比重,使稀疏梯度更容易将全局模型参数朝更好的方向进行更新,从而保证模型训练的准确性。
综上所述,在分布式数据处理过程中,中心节点设备将全局模型参数下发至各个边缘节点设备,由各个边缘节点设备基于该全局模型参数进行训练,并接收各个边缘节点设备异步上传的稀疏化后的梯度数据;在云端聚合时,中心节点设备根据稀疏化后的梯度数据在参数更新时所占的比重,对全局模型参数进行更新;一方面,各个边缘节点设备对训练过程中得到的梯度数据进行稀疏化之后异步上传,能够降低对分布式系统的带宽需求,节约带宽资源;另一方面,根据稀疏化后的梯度数据在参数更新时所占的比重,对中心节点设备的参数更新过程进行权重处理,避免稀疏化后的梯度数据导致全局模型参数的不平衡,保证中心节点设备侧的模型参数更新的准确性;因此,上述方案能够在保证模型训练的准确性的同时,节约分布式系统的带宽资源。
请参考图5,其是根据一示例性实施例示出的一种分布式数据处理方法的流程示意图。该方法由分布式系统中的边缘节点设备执行,其中,该边缘节点设备可以是上述图1或图2所示系统中的边缘节点设备140。如图5所示,该分布式数据处理方法的流程可以包括如下步骤。
步骤501,获取中心节点设备发送的全局模型参数,该全局模型参数是部署于中心节点设备的第一模型的参数。
步骤502,基于该全局模型参数对第二模型进行初始化。
在一种可能的实现方式中,该第二模型与该第一模型的模型结构相同。即基于该全局模型参数更新后的第二模型与该第一模型是相同的模型。
步骤503,通过该边缘节点设备上的训练数据集对该第二模型进行训练,获得边缘节点梯度。
在一种可能的实现方式中,不同边缘节点设备的训练数据集互不相同。
因此,根据不同边缘节点设备上的不同的训练数据集对初始化的第二模型进行训练,可以得到不同的边缘节点梯度。
步骤504,对该边缘节点梯度进行稀疏化处理,得到稀疏梯度。
在一种可能的实现方式中,通过稀疏化处理得到后的稀疏梯度,保留了该边缘节点梯度中的部分特征(相对重要的特征),对边缘节点梯度进行稀疏化后得到的稀疏梯度,具有比该边缘节点梯度更少的数据量与数据特征。
步骤505,通过异步通信方式向该中心节点设备发送该稀疏梯度,以便该中心节点设备基于该至少两个边缘节点设备分别发送的稀疏梯度以及梯度权重,更新该全局模型参数;该梯度权重用于指示该稀疏梯度对该全局模型参数的更新比重。
综上所述,在分布式数据处理过程中,中心节点设备将全局模型参数下发至各个边缘节点设备,由各个边缘节点设备基于该全局模型参数进行训练,并接收各个边缘节点设备异步上传的稀疏化后的梯度数据;在云端聚合时,中心节点设备根据稀疏化后的梯度数据在参数更新时所占的比重,对全局模型参数进行更新;一方面,各个边缘节点设备对训练过程中得到的梯度数据进行稀疏化之后异步上传,能够降低对分布式系统的带宽需求,节约带宽资源;另一方面,根据稀疏化后的梯度数据在参数更新时所占的比重,对中心节点设备的参数更新过程进行权重处理,避免稀疏化后的梯度数据导致全局模型参数的不平衡,保证中心节点设备侧的模型参数更新的准确性;因此,上述方案能够在保证模型训练的准确性的同时,节约分布式系统的带宽资源。
根据图3与图5所示实施例示出的分布式数据处理方法训练得出的模型,可以用于图像处理、金融分析、医疗诊断等各个领域。以图像处理为例,请参考图6,其是根据一示例性实施例示出的一种基于分布式数据处理方法的模型训练及模型应用框架示意图。该分布式系统可以是基于联邦学习框架设置的系统。如图6所示,模型训练系统600中包含中心节点设备601与边缘节点设备602,当联邦模型训练流程开始时,中心节点设备601将全局模型参数下发至各个边缘节点设备,该全局模型参数是此时中心节点设备中的第一模型的模型参数,通过各个边缘节点设备对该全局模型参数进行训练更新。以边缘节点设备1为例,边缘节点设备1根据下发的全局模型参数初始化第二模型603,该第二模型是与该第一模型相同的模型,并通过边缘节点设备602中的数据存储器存储的训练数据集对该第二模型603进行训练,得到该边缘节点设备1对应的边缘节点梯度604,该边缘节点梯度中包含全局模型参数的各个模型参数对应的梯度数据。边缘节点设备1对该边缘节点梯度进行稀疏化处理,得到保留了边缘节点梯度中重要部分的稀疏梯度605,并通过异步通信的方式将该稀疏梯度传输至中心节点设备601。
中心节点设备601接收到至少两个边缘节点设备通过异步通信方式发送的稀疏梯度后,对接收到的稀疏梯度进行聚合累加,并根据梯度权重,对该聚合累加的稀疏梯度进行加权后更新全局模型参数,得到更新后的第一模型。该更新后的第一模型具有更新后的全局模型参数,中心节点设备601将该全局模型参数保存至中心节点设备601中的参数存储器(图中未示出)中,当分布式系统进行对该第一模型进行下一轮更新时,将更新后的全局模型参数下发至各个边缘节点设备,迭代以上操作,直至达到预设训练结束条件为止,得到训练好的第一模型。
当模型训练系统600中训练过程结束后,即该第一模型训练完毕之后,可以将该第一模型部署于模型应用设备610中,以图像处理设备为例,将该第一模型部署与该图像处理设备610中,将输入图像611输入该第一模型中,得到输出结果612,该输入图像611与输出结果612与边缘节点设备中的训练数据集是同类型的数据。
请参考图7,其是根据一示例性实施例提供的一种分布式数据处理方法的方法流程图,该方法可以由分布式系统中的中心节点设备和边缘节点设备共同执行,该分布式系统可以是基于联邦学习框架设置的系统。如图7所示,该分布式数据处理方法可以包括如下步骤。
步骤701,中心节点设备向至少两个边缘节点设备发送全局模型参数;该全局模型参数是部署于该中心节点设备的第一模型的参数。
请参考图8,其示出了本申请实施例涉及的模型训练的流程示意图。在一种可能的实现方式中,开发人员通过分布式系统中的中心节点设备中的调度程序801,触发联邦学习全局模型训练任务,中心节点设备中的调度程序801通过中心节点设备中的协调器802触发联邦全局模型训练任务,并向该联邦学习框架中的全部或部分边缘节点设备下发延迟的全局模型参数
Figure DEST_PATH_IMAGE025
在一种可能的实现方式中,该延迟的全局模型即为上一轮联邦全局模型训练任务完成得到的全局模型;或者,该延迟的全局模型参数为预设的全局模型参数。
步骤702,边缘节点设备接收中心节点设备发送的全局模型参数。
对于上述至少两个边缘节点设备中的任意一个边缘节点设备,以图8为例,边缘节点设备中的协调器803接收到中心节点设备通过中心节点设备中的协调器802下发的联邦学习模型训练任务,以及该联邦学习模型训练任务对应的延迟全局模型参数
Figure DEST_PATH_IMAGE026
,触发本地训练流程。
步骤703,边缘节点设备基于该全局模型参数对第二模型进行初始化。
边缘节点设备根据接收到的延迟的全局模型参数
Figure 864773DEST_PATH_IMAGE026
,对第二模型进行初始化,也就是将该边缘节点设备中的第二模型的参数设置为接收到的延迟的全局模型参数
Figure DEST_PATH_IMAGE027
在一种可能的实现方式中,该第二模型与该部署于中心节点设备的第一模型是相同结构的模型。
即该第二模型通过接收到的延迟的全局模型参数
Figure 126121DEST_PATH_IMAGE026
进行初始化后得到的模型与第一模型相同。
步骤704,边缘节点设备通过该边缘节点设备上的训练数据集对该第二模型进行训练,获得边缘节点梯度。
在图8中,边缘节点设备中的训练器804通过该边缘节点设备上的数据集存储器805中存储的训练数据集对该第二模型进行训练,将训练预测结果与该训练数据集中的结果数据输入该边缘节点设备对应的损失函数,再通过该损失函数值对全局模型参数
Figure 453328DEST_PATH_IMAGE026
中包含的各个参数进行偏导求解,得到该
Figure 645275DEST_PATH_IMAGE027
中包含的各个参数的边缘节点梯度,即该边缘节点梯度中包含各个参数对应的梯度数据,在一次训练完成后,第二模型参数根据该边缘节点梯度进行参数更新。
在一种可能的实现方式中,根据边缘节点设备的可用性,训练器中的工作进程可以在两种状态之间切换:工作态和空闲态。边缘节点设备执行对第二模型的训练步骤,并将得到的边缘节点梯度连续上传到局部缓冲区中的梯度累积容器806,直到工作人员指示停止训练命令为止。
在一种可能的实现方式中,边缘节点设备可以将训练数据集中的数据进行分批训练,提升训练效率。例如,边缘节点设备通过本地的训练数据集中一个batch(批次)的数据对该第二模型进行训练(一个batch中包含若干个训练数据以及该若干个训练数据对应的训练结果),得到该batch对应的若干个训练预测结果,将该若干个训练预测结果与对应的训练结果代入预设的损失函数,得到若干个训练预测结果对应的损失函数值,根据该损失函数值,对全局模型参数中的各个模型参数进行偏导求解,获得边缘节点梯度,并根据该边缘节点梯度更新该第二模型。
步骤705,边缘节点设备将至少两次迭代训练得到的梯度数据进行累加处理,获得累加梯度。
其中,上述边缘节点梯度中包含至少两次迭代训练得到的梯度数据。
在一种可能的实现方式中,边缘节点设备按照对应的迭代训练的顺序,基于权重参数对至少两次迭代训练得到的梯度数据依次进行累加,获得该累加梯度;该权重参数用于指示该梯度数据对该全局模型参数进行更新时所占的比重。
其中,一次迭代训练指该第二模型通过一个训练数据或者一个batch的训练数据完成了一次训练,得到梯度数据,并根据该梯度数据对该第二模型的参数进行更新的过程。
在一种可能的实现方式中,在按照对应的迭代训练的顺序对至少两次迭代训练得到的该梯度数据依次进行累加的过程中,基于该权重参数对各次累加过程进行动量修正,获得该累加梯度。
该权重参数又称为动量参数,该动量参数m用于在各次累加过程中进行动量修正,即在各次的梯度累加过程中,对本次将要累加的梯度数据与之前累加得到的梯度数据进行加权求和。
在一种可能的实现方式中,动量修正过程可以表示为:
在N个边缘节点设备上使用引入动量参数的vanilla(朴素) SGD(StochasticGradient Descent,随机梯度下降)进行分布式训练,如下公式所示:
Figure DEST_PATH_IMAGE028
其中m是动量参数,N是边缘节点设备的数量,并且
Figure DEST_PATH_IMAGE029
,即
Figure DEST_PATH_IMAGE030
是所有参与训练的边缘节点设备的边缘节点梯度的平均值,b代表一个batch中的训练次数,
Figure DEST_PATH_IMAGE031
为梯度的累加和。
考虑全局模型参数
Figure DEST_PATH_IMAGE032
中第
Figure DEST_PATH_IMAGE033
个位置的全局模型参数值
Figure DEST_PATH_IMAGE034
。经过
Figure DEST_PATH_IMAGE035
次迭代后的结果可以通过如下公式表示:
Figure DEST_PATH_IMAGE036
从公式直观的来看,在梯度累加的过程中,每一次累加后的梯度值,都更容易受到之前累加得到的梯度数据的影响,从物理意义上看,即在梯度累加的过程中保持了一个惯性,因此该过程被称为动量修正过程。通过该权重参数对该累加过程进行动量修正,得到的累加梯度值中包含有之前偏导所得的梯度值特征,因此更能从整体上体现从该边缘节点设备对应的训练数据集中获得的训练收益。
步骤706,边缘节点设备对累加梯度进行稀疏化处理,获得稀疏梯度。
其中,上述累加梯度中包含第二模型中的至少两个模型参数分别对应的累加梯度数据,在对累加梯度进行稀疏化处理时,边缘节点设备将该至少两个模型参数分别对应的累加梯度数据按照从大到小的顺序进行排列,将该累加梯度中,位于该排序结果中的后N个累加梯度数据置零,获得该稀疏梯度。
在本申请实施例中,使用的是基于TOP-K的稀疏化方案,具体来说,设定稀疏化阈值
Figure DEST_PATH_IMAGE037
Figure DEST_PATH_IMAGE038
表示在所有梯度值中排名前
Figure DEST_PATH_IMAGE039
的梯度值,大于
Figure 909248DEST_PATH_IMAGE037
的梯度可上传,小于
Figure 528448DEST_PATH_IMAGE037
的梯度值置零处理,换句话说,即将该边缘节点设备中的各个模型参数对应的累加梯度值从大到小进行排序,取该累加梯度中,位于该排序结果的前
Figure 857798DEST_PATH_IMAGE039
的梯度值,没有位于前
Figure 604168DEST_PATH_IMAGE039
的N个累加梯度数据置零,得到稀疏化后的稀疏梯度。
本申请实施例中,对该累加梯度进行压缩,还可以使用三元压缩、差分压缩等其他压缩方案,本申请对此不设限制。
在一种可能的实现方式中,当该累加梯度大于梯度阈值时,对该累加梯度进行本地梯度裁剪。
该梯度阈值是预先设置在边缘节点设备的梯度阈值,当该累加梯度中的某一累加梯度数据(L2范数)大于梯度阈值时,则说明通过该累加梯度数据,不满足该模型预先设定的梯度数据范围,应用该数据时会造成超出预期的影响,例如可能导致梯度爆炸问题,因此需要对该累加梯度进行整体缩放(本地梯度裁剪),并通过稀疏化后得到该稀疏梯度。
步骤707,边缘节点设备通过异步通信方式向中心节点设备发送该稀疏梯度。
该梯度权重用于指示该稀疏梯度对该全局模型参数的更新比重。
以图8为例,该至少两个边缘节点设备通过边缘节点设备中的协调器803向中心节点设备发送稀疏梯度;中心节点设备中的协调器802接收到该稀疏梯度,并将该稀疏梯度传递至中心节点设备中的更新器807,并在该更新器807中基于该至少两个边缘节点设备分别发送的稀疏梯度以及梯度权重进行的梯度聚合,并更新该全局模型参数。
在一种可能的实现方式中,边缘节点设备通过异步通信方式向中心节点设备发送该稀疏梯度后,根据该边缘节点设备对应的训练数据集继续训练该第二模型。
本申请实施例中,多个边缘节点设备可以通过异步通信方式对该中心节点设备发送该稀疏梯度。由于每个边缘节点设备中模型的训练速度可以不一致,采用异步通信方式进行上传时,训练快的边缘节点设备训练完预定次数之后,将得到的稀疏梯度上传中心节点设备,此时该边缘节点设备可以通过该边缘节点设备中的训练数据集继续对该第二模型进行训练,直到接收到停止训练指令,该边缘节点设备停止训练。通过异步通信方式,可以避免因多个边缘节点设备中模型训练的速率不一致导致的效率过低问题,提高了分布式系统的模型训练效率。
步骤708,中心节点设备获取该至少两个边缘节点设备分别通过异步通信方式发送的稀疏梯度;基于该至少两个边缘节点设备分别发送的稀疏梯度获取中间模型参数。
在一种可能的实现方式中,响应于中心节点设备接收到预定个数的边缘节点设备通过异步通信方式发送的稀疏梯度,基于该稀疏梯度获取中间模型参数。
当中心节点设备接收到预定个数的稀疏梯度时,触发中心节点设备基于该预定个数的稀疏梯度获取中间模型参数,该中间模型参数用于对全局模型参数进行更新。
在一种可能的实现方式中,中心节点设备对该至少两个边缘节点设备分别发送的稀疏梯度进行累加,获得累加稀疏梯度;基于该累加稀疏梯度以及学习率,获得该中间模型参数。
累加稀疏梯度是通过至少两个边缘节点设备分别发送的稀疏梯度进行累加后得到的,即累加稀疏梯度同时具有多个边缘节点设备发送的稀疏梯度的特征,基于该累加稀疏梯度以及学习率,获得中间模型参数。
步骤709,基于梯度权重,对更新前的该全局模型参数以及该中间模型参数进行加权处理,获得更新后的该全局模型参数。
该梯度权重用于指示更新前的全局模型参数与该中间模型参数的加权比重,换句话说,当使用该中间模型参数对该更新前的全局模型参数进行更新时,该梯度权重可以确定该中间模型参数在此次全局模型参数更新中的重要程度,当该梯度权重越大,则说明该中间模型参数在此次全局模型参数更新中重要性越大,因此该中间全局模型参数在此次全局模型参数更新中权重占比也越大,全局模型参数更新更容易受到该中间模型参数的影响。
在一种可能的实现方式中,响应于该全局模型参数的更新次数达到第一次数阈值,通过中心节点设备中的验证集对该第一模型进行验证,获得验证误差;该验证误差用于指示该第二模型的预测结果与该验证集中的标签之间的误差;根据该验证误差,更新该梯度权重。
该梯度权重用于指示中间模型参数在全局模型参数更新中的所占比重,当全局模型参数更新完预定次数时,通过中心节点设备中的验证集对更新全局模型参数后的第一模型进行验证,获得验证误差,根据该验证误差的大小更新该梯度权重值,该验证集与该训练数据集是相同类型的数据集。
另一种可能的实现方式中,中心节点设备基于该至少两个边缘节点设备分别发送的稀疏梯度,更新该梯度权重。
该梯度权重也可以是通过该至少两个边缘节点设备分别发送的稀疏梯度进行更新的,即每轮全局模型参数更新过程中,该稀疏权重先根据至少两个边缘节点设备分别发送至中心节点设备的稀疏梯度进行更新,再根据更新后的梯度权重,对更新前的该全局模型参数以及该中间模型参数进行加权处理,获得更新后的该全局模型参数。
在一种可能的实现方式中,该梯度权重与该至少两个边缘节点设备分别发送的稀疏梯度的平均值成反相关。即该至少两个边缘节点设备分别发送至中心节点设备的稀疏梯度的平均值越大时,则说明根据该稀疏梯度产生的中间模型参数更大,更容易对该全局模型参数的更新造成更大的影响,容易使模型朝错误的方向更新。此时通过该稀疏梯度的平均值对该梯度权重进行缩放处理,得到缩小后的梯度权重,该缩小后的梯度权重用于缩放该至少两个边缘节点设备分别发送至中心节点设备的稀疏梯度,减小该稀疏梯度对该全局模型参数更新的影响,使模型朝更合适的方向更新。
一种可能的实现方式中,响应于该全局模型参数的更新次数达到第二次数阈值,向该至少两个边缘节点设备发送更新后的该全局模型参数。
中心节点设备将在更新器807中更新后得到的新的全局模型参数发送至协调器802,响应于该全局模型参数的更新次数达到第二次数阈值,协调器将更新后的全局模型参数再次下发至该至少两个边缘节点设备。
当该全局模型参数的更新次数达到第二次数阈值时,则说明该联邦学习框架完成了一轮更新过程,此时将更新后的全局模型参数下发至该至少两个边缘节点设备,该至少两个边缘节点设备通过该更新后的全局模型参数,构建新的第二模型,并通过该边缘节点设备对应的训练数据集对该新的第二模型进行第二轮训练,并将得出的稀疏梯度上传至中心节点设备。换句话说,当该全局模型参数的更新次数达到第二次阈值时,该联邦学习框架根据更新后的全局模型参数进行第二轮模型更新过程,且当该第二轮模型更新过程开始时,重置该全局模型参数的更新次数,当该第二轮模型更新过程中,全局模型参数的更新次数再次达到第二次数阈值时,重复以上步骤,直到满足某一预定条件为止,例如,中心节点设备接收到停止训练的命令,或者更新后的第一模型对预设验证集的误差小于某一阈值。
在本申请实施例的一种可能的实现方式中,该稀疏梯度是通过对该累加梯度进行优化后的动量修正的稀疏化处理后得到的。
边缘节点设备通过上传重要的梯度(即稀疏化后的梯度)来减少通信开销。比如,边缘节点设备仅传输大于指定阈值的梯度(TOP-K稀疏化)。为了避免丢失信息,在各个边缘节点设备设置了缓冲区累积了产生的历史梯度信息,最终,这些梯度变得足够大时就可以由边缘节点设备上传。
在一种可能的实现方式中,可以利用
Figure DEST_PATH_IMAGE040
函数压缩边缘节点设备训练所产生的32位非零梯度值和16位梯度零值。令
Figure DEST_PATH_IMAGE041
为需要被优化的损失函数。
若采用异步分布式SGD对总共
Figure DEST_PATH_IMAGE042
个边缘节点设备采取训练时,执行以下更新:
Figure DEST_PATH_IMAGE043
其中
Figure DEST_PATH_IMAGE044
表示数据集,
Figure DEST_PATH_IMAGE045
是网络的权重,
Figure DEST_PATH_IMAGE046
是从样本
Figure DEST_PATH_IMAGE047
计算出的损失,
Figure DEST_PATH_IMAGE048
是学习率,
Figure DEST_PATH_IMAGE049
是边缘节点设备的数量,
Figure DEST_PATH_IMAGE050
为从迭代
Figure DEST_PATH_IMAGE051
次采样的
Figure DEST_PATH_IMAGE052
个小批的序列
Figure DEST_PATH_IMAGE053
,每个小批的大小为
Figure DEST_PATH_IMAGE054
上述公式的直观解释为,将边缘节点设备中的训练数据集分批次进行训练得出的损失函数值进行加权平均,并根据该加权平均值对各个参数进行偏导求解,求得各个参数对应的梯度值,根据该各个参数对应的梯度值进行累加,得到累加梯度数据,最后根基该累加梯度数据进行全局模型参数的更新。
考虑稀疏化后的权重
Figure DEST_PATH_IMAGE055
中第
Figure DEST_PATH_IMAGE056
个位置的权重值
Figure DEST_PATH_IMAGE057
。经过
Figure DEST_PATH_IMAGE058
次迭代,因此迭代后的权重更新公式如下所示:
Figure DEST_PATH_IMAGE059
但在稀疏化过程后,由于信息损失和稀疏化过度,累加得到的梯度对全局模型进行更新时,难以使模型达到收敛,因此需要引入步骤705中所示的动量修正方法,在梯度累加的过程中,通过动量修正,缓解稀疏化导致的信息损失与稀疏化过度问题。
在一种可能的实现方式中,对该累加梯度进行优化后的动量修正的稀疏化处理,获得该稀疏梯度。
若将步骤705中所示的动量修正方法直接应用于稀疏化过程中,得到公式如下:
Figure DEST_PATH_IMAGE060
其中第一项是边缘节点设备
Figure DEST_PATH_IMAGE061
上的局部梯度累积。一旦累积结果
Figure DEST_PATH_IMAGE062
大于阈值,它将在
Figure DEST_PATH_IMAGE063
函数即稀疏函数中通过阈值处理,并在第二项中被编码并通过网络发送至中心节点设备。稀疏更新间隔
Figure DEST_PATH_IMAGE064
之后的第i个位置的全局模型参数值
Figure DEST_PATH_IMAGE065
的变化为:
Figure DEST_PATH_IMAGE066
(1)
即当更新间隔为
Figure DEST_PATH_IMAGE067
时,该间隔为
Figure 122367DEST_PATH_IMAGE067
的累计梯度值为每一次梯度值的直接求和,因此该动量参数在本次对第
Figure DEST_PATH_IMAGE068
个位置的全局模型参数值的更新过程中并未起到动量修正的作用,因此,本申请实施例需要对该公式(1)进行优化,优化后的公式(2)如下所示:
Figure DEST_PATH_IMAGE069
(2)
其中,其中m是动量参数,
Figure DEST_PATH_IMAGE070
是第t次累加后得到的累加梯度,
Figure DEST_PATH_IMAGE071
是第t-1次累加后得到的累加梯度,
Figure DEST_PATH_IMAGE072
为第t次训练得出的梯度数据,即其中前两项是修正后的局部梯度累积,累积结果
Figure DEST_PATH_IMAGE073
用于随后的稀疏化和通信。上述公式(2)即将动量修正过程放在了梯度累加的过程中,每一次梯度的累加,都带上了之前求出梯度的特征,因此本申请实施例采用公式(2)所示方案对梯度进行累加并采取动量修正,累加后得到的累积结果
Figure DEST_PATH_IMAGE074
稀疏化后通过异步通信方式传递至中心节点设备,即通过异步梯度压缩的方式将梯度传递至中心节点设备,中心节点设备根据该稀疏化后的动量修正得出的稀疏梯度进行全局模型参数的更新,尽量保证了稀疏化后的数据的准确性。
通过上述方法得到的稀疏梯度,通过自适应性优化引入调优参数,即梯度权重
Figure DEST_PATH_IMAGE075
使得边缘节点设备可以自适应性全局模型的更新,梯度权重的引入公式如下:
Figure DEST_PATH_IMAGE076
上述公式中
Figure DEST_PATH_IMAGE077
即为中间模型参数,
Figure DEST_PATH_IMAGE078
为上次更新的全局模型参数,
Figure DEST_PATH_IMAGE079
为更新后的全局模型参数,即通过梯度权重对该稀疏梯度进行加权处理,适当地减小稀疏后的梯度对全局模型的更新比重,使稀疏梯度更容易将全局模型朝更好的方向进行更新。
最后将该梯度权重与该稀疏化的动量修正结果进行结合,得到以下公式:
Figure DEST_PATH_IMAGE080
通过上述公式对梯度进行动量修正后的梯度累加,并对该结果进行稀疏化得到稀疏梯度,根据该稀疏梯度,基于梯度权重对全局模型参数进行更新,在模型的更新过程中,在保证联邦学习框架的训练准确性的情况下,提高了通信的效率,节省了通信消耗的资源。
全局模型的损失函数在平滑函数的基础上,在强凸和弱凸的两种情况下,假定单个节点的梯度与全局模型的梯度之差的期望是收敛的,以及单个节点的梯度的期望是收敛的(即某一节点与该节点之外的梯度是收敛的,证明该节点与该节点之外的梯度之和即全局梯度是收敛的),可以证明T轮全局更新后的全局模型的梯度之差的期望,小于某一常数值(即证明T轮全局更新后的全局模型的梯度之差的期望是收敛的),当该T轮全局更新后的全局模型的梯度之差的期望是收敛的,则代表该T轮更新后的全局模型最终能够收敛,即该方案最终能优化出一个最终的模型。
图9示出了本申请实施例涉及的异步梯度压缩的模型性能对比图。图9是在MNIST和CIFAR-10数据集上进行提议的框架上进行的性能分析,所有模拟都在使用Pytorch和PySyft的相同计算环境(Linux Ubuntu 18.04,Intel i5-4210M CPU,16GB RAM和512GBSSD)上实现,在此实验中,为了构建可以轻松部署在边缘节点设备中的模型,本申请使用简单的深度学习网络(即具有2个卷积层和1个完全连接层的CNN(Convolutional NeuralNetworks,卷积神经网络))对MNIST和CIFAR-10数据集进行分类任务所有数据集中图像的像素值均归一化为[0,1]。
在模拟过程中,边缘节点设备的数量K = 10,学习率= 0.001,训练时期E = 1000,最小批量B =128。
在深度学习中,适当的超参数选择,即如何确定梯度压缩中稀疏化的阈值
Figure DEST_PATH_IMAGE081
,是确定框架性能的重要因素。因此需要调查具有不同阈值情况下框架的性能,并尝试找到最佳阈值。特别地,使用
Figure DEST_PATH_IMAGE082
调整框架稀疏化的最佳阈值,并使用MNIST和CIFAR-10数据集以选定的阈值评估框架的性能,其中
Figure DEST_PATH_IMAGE083
表示不进行稀疏化。如图9所示,s越大,框架的性能越高。这意味着上传的梯度越多框架的性能越好。但是由于通信开销的限制,需要选择稀疏化程度较高且性能较好的框架。结果表明,
Figure DEST_PATH_IMAGE084
时框架的综合性能最好,其意义为本申请可将梯度压缩300倍而不损害精度。
图10示出了本申请实施例涉及的异步梯度压缩的模型通信开销的对比图。如图10所示,其示出了带有异步梯度压缩机制(GCM)的联邦学习框架和没有GCM的联邦学习框架之间的通信效率。本专利在框架中应用了相同的模型(即CNN-LSTM(Convolutional NeuralNetworks -Long Short-Term Memory,卷积-长短期记忆神经网络),LSTM(Long Short-Term Memory,长短期记忆网络),GRU(Gated Recurrent Unit,门循环单元),SAE(StackedAutoencoder,堆叠自动编码器)和SVM(Support Vector Machine,支持向量机))。请注意,实验中固定了每个回合的通信开销,因此可以使用模型的运行时间来比较通信效率。如图9所示,观察到带有GCM的联邦学习框架的运行时间约为不带有GCM的框架的运行时间的50%。原因是GCM可以减少边缘节点设备和中心节点设备之间交换的梯度数量。在上一个实验中表明GCM可以将梯度压缩300倍而不会影响精度。因此,提出的通信有效框架在实际应用中是实用且有效的。
综上所述,在分布式数据处理过程中,中心节点设备将全局模型参数下发至各个边缘节点设备,由各个边缘节点设备基于该全局模型参数进行训练,并接收各个边缘节点设备异步上传的稀疏化后的梯度数据;在云端聚合时,中心节点设备根据稀疏化后的梯度数据在参数更新时所占的比重,对全局模型参数进行更新;一方面,各个边缘节点设备对训练过程中得到的梯度数据进行稀疏化之后异步上传,能够降低对分布式系统的带宽需求,节约带宽资源;另一方面,根据稀疏化后的梯度数据在参数更新时所占的比重,对中心节点设备的参数更新过程进行权重处理,避免稀疏化后的梯度数据导致全局模型参数的不平衡,保证中心节点设备侧的模型参数更新的准确性;因此,上述方案能够在保证模型训练的准确性的同时,节约分布式系统的带宽资源。
请参考图11,其是根据一示例性实施例示出的一种基于分布式数据处理方法的模型训练及模型应用框架示意图。
如图11所示,在模型训练系统1100中包含中心节点设备1101与边缘节点设备1102,当联邦模型训练流程开始时,中心节点设备1101将全局模型参数下发至各个边缘节点设备,该全局模型参数是此时中心节点设备中第一模型的模型参数,通过各个边缘节点设备对该全局模型参数进行训练更新。以边缘节点设备1为例,边缘节点设备1根据下发的全局模型参数初始化第二模型1103,该第二模型是与该第一模型相同的模型,并通过边缘节点设备1102中数据存储器存储的训练数据集对该第二模型1103进行训练,得到该边缘节点设备1对应的边缘节点梯度1104,该边缘节点梯度中包含全局模型参数的各个模型参数对应的梯度数据。将该训练数据集中的多个批次(batch)的数据对该第二模型1103进行训练,得到该多个批次对应的多个边缘节点梯度,对该多个边缘节点梯度通过权重参数进行加权(即动量修正),得到该多个边缘节点梯度的累加梯度,再对该累加梯度进行稀疏化处理得到稀疏梯度。例如,可以利用TOP-K算法对该累加梯度进行稀疏化处理,取其中大于阈值的梯度,将小于阈值的梯度置零,得到稀疏梯度。
中心节点设备1101接收到至少两个边缘节点设备通过异步通信方式发送的的稀疏梯度后,对接收到的稀疏梯度进行聚合累加,得到中间模型参数1107,并根据梯度权重,对该聚合累加得到的中间模型参数1107与此时中心节点设备中第一模型的全局模型参数1108,根据梯度权重进行更新,得到更新后的第一模型。该更新后的第一模型具有更新后的全局模型参数,中心节点设备将该全局模型参数保存至中心节点设备中的参数存储器(图中未示出)中,当联邦学习架构进行对该第一模型进行下一轮更新时,将更新后的全局模型参数下发至各个边缘节点设备,迭代以上操作,直至达到预设训练结束条件为止,得到训练好的第一模型。
当模型训练系统1100中训练过程结束后,即该第一模型训练完毕之后,可以将该第一模型部署于模型应用设备1110中,以图像处理设备为例,将该第一模型部署与该图像处理设备1110中,将输入图像1111输入该第一模型中,得到输出结果1112,该输入图像1111与输出结果1112与边缘节点设备中的训练数据集是同类型的数据。
本申请实施例中的图像处理应用仅仅是一种示例性的应用场景,通过本申请实施例所示方法训练得到的机器学习模型,还可以应用于金融分析,图像分割,语义识别等各个应用领域,本申请对此不设限制。
图12是根据一示例性实施例示出的一种分布式数据处理装置的结构方框图。该分布式数据处理装置用于分布式系统中的中心节点设备,可以实现图3或图7所示实施例提供的方法中的全部或部分步骤,该分布式数据处理装置包括:
第一参数发送模块1201,用于向所述至少两个边缘节点设备发送全局模型参数;所述全局模型参数是部署于所述中心节点设备的第一模型的参数;
稀疏梯度获取模块1202,用于接收所述至少两个边缘节点设备分别通过异步通信方式发送的稀疏梯度;所述稀疏梯度是所述至少两个边缘节点设备对各自的边缘节点梯度进行稀疏化处理得到的;所述边缘节点梯度是对应的边缘节点设备基于所述全局模型参数对第二模型进行初始化后,通过对应边缘节点设备上的训练数据集对所述第二模型进行训练得到的梯度;
模型参数更新模块1203,用于基于梯度权重,以及该至少两个边缘节点设备分别发送的稀疏梯度,对该全局模型参数进行更新;该梯度权重用于指示该稀疏梯度对该全局模型参数进行更新时所占的比重。
在一种可能的实现方式中,该模型参数更新模块1203,包括:
中间参数获取单元,用于基于该至少两个边缘节点设备分别发送的稀疏梯度获取中间模型参数;
梯度加权单元,用于基于该梯度权重,对更新前的该全局模型参数以及该中间模型参数进行加权处理,获得更新后的该全局模型参数。
在一种可能的实现方式中,该中间参数获取单元,用于,
对该至少两个边缘节点设备分别发送的稀疏梯度进行累加,获得累加稀疏梯度;
基于该累加稀疏梯度以及学习率,获得该中间模型参数。
在一种可能的实现方式中,该装置还包括:
模型验证模块,用于响应于该全局模型参数的更新次数达到第一次数阈值,通过所述中心节点设备中的验证集对该第一模型进行验证,获得验证误差;该验证误差用于指示该第二模型的预测结果与该验证集中的标签之间的误差;
第一权重更新模型,用于根据该验证误差,更新该梯度权重。
在另一种可能的实现方式中,该装置还包括:
第二权重更新模块,用于基于该至少两个节点分别发送的稀疏梯度,更新该梯度权重。
在一种可能的实现方式中,该装置还包括:
第二参数发送模块,用于响应于该全局模型参数的更新次数达到第二次数阈值,向该至少两个边缘节点设备发送更新后的该全局模型参数。
综上所述,在分布式数据处理过程中,中心节点设备将全局模型参数下发至各个边缘节点设备,由各个边缘节点设备基于该全局模型参数进行训练,并接收各个边缘节点设备异步上传的稀疏化后的梯度数据;在云端聚合时,中心节点设备根据稀疏化后的梯度数据在参数更新时所占的比重,对全局模型参数进行更新;一方面,各个边缘节点设备对训练过程中得到的梯度数据进行稀疏化之后异步上传,能够降低对分布式系统的带宽需求,节约带宽资源;另一方面,根据稀疏化后的梯度数据在参数更新时所占的比重,对中心节点设备的参数更新过程进行权重处理,避免稀疏化后的梯度数据导致全局模型参数的不平衡,保证中心节点设备侧的模型参数更新的准确性;因此,上述方案能够在保证模型训练的准确性的同时,节约分布式系统的带宽资源。
图13是根据一示例性实施例示出的一种分布式数据处理装置的结构方框图。该分布式数据处理装置用于分布式系统中的边缘节点设备,该分布式系统中包含中心节点设备与所述至少两个边缘节点设备,,该分布式数据处理装置可以实现图4或图7所示实施例提供的方法中的全部或部分步骤,该分布式数据处理装置包括:
模型参数接收模块1301,用于接收所述中心节点设备发送的全局模型参数,所述全局模型参数是部署于所述中心节点设备的第一模型的参数;
模型初始化模块1302,用于基于该全局模型参数对第二模型进行初始化;
第二模型训练模块1303,用于通过该边缘节点设备上的训练数据集对该第二模型进行训练,获得边缘节点梯度;
稀疏模块1304,用于对该边缘节点梯度进行稀疏化处理,得到稀疏梯度;
稀疏梯度发送模块1305,用于通过异步通信方式向该中心节点设备发送该稀疏梯度,以便该中心节点设备基于该至少两个边缘节点设备分别发送的稀疏梯度以及梯度权重,更新该全局模型参数;该梯度权重用于指示该稀疏梯度对该全局模型参数的更新比重。
在一种可能的实现方式中,该边缘节点梯度包含至少两次迭代训练得到的梯度数据;
该稀疏模块1304,包括:
梯度累加单元,用于将至少两次迭代训练得到的该梯度数据进行累加处理,获得累加梯度;
稀疏化单元,用于对该累加梯度进行稀疏化处理,获得该稀疏梯度。
在一种可能的实现方式中,该梯度累加单元,用于,
按照对应的迭代训练的顺序,基于权重参数对至少两次迭代训练得到的该梯度数据依次进行累加,获得该累加梯度;该权重参数用于指示该梯度数据对该全局模型参数进行更新时所占的比重。
在一种可能的实现方式中,该梯度累加单元,还用于,在按照对应的迭代训练的顺序对至少两次迭代训练得到的该梯度数据依次进行累加的过程中,基于该权重参数对各次累加过程进行动量修正,获得该累加梯度。
在一种可能的实现方式中,该累加梯度包含至少两个模型参数分别对应的累加梯度数据;
该稀疏化单元,用于,将该至少两个模型参数分别对应的累加梯度数据按照从大到小的顺序进行排列;
将该累加梯度中,位于该排序结果中的后N个累加梯度数据置零,获得该稀疏梯度。
综上所述,在分布式数据处理过程中,中心节点设备将全局模型参数下发至各个边缘节点设备,由各个边缘节点设备基于该全局模型参数进行训练,并接收各个边缘节点设备异步上传的稀疏化后的梯度数据;在云端聚合时,中心节点设备根据稀疏化后的梯度数据在参数更新时所占的比重,对全局模型参数进行更新;一方面,各个边缘节点设备对训练过程中得到的梯度数据进行稀疏化之后异步上传,能够降低对分布式系统的带宽需求,节约带宽资源;另一方面,根据稀疏化后的梯度数据在参数更新时所占的比重,对中心节点设备的参数更新过程进行权重处理,避免稀疏化后的梯度数据导致全局模型参数的不平衡,保证中心节点设备侧的模型参数更新的准确性;因此,上述方案能够在保证模型训练的准确性的同时,节约分布式系统的带宽资源。
图14是根据一示例性实施例示出的一种计算机设备的结构示意图。该计算机设备可以实现为上述各个方法实施例中的分布式系统。所述计算机设备1400包括中央处理单元(CPU,Central Processing Unit)1401、包括随机存取存储器(Random Access Memory,RAM)1402和只读存储器(Read-Only Memory,ROM)1403的系统存储器1404,以及连接系统存储器1404和中央处理单元1401的系统总线1405。所述计算机设备1400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统1406,和用于存储操作系统1413、应用程序1414和其他程序模块1415的大容量存储设备1407。
所述大容量存储设备1407通过连接到系统总线1405的大容量存储控制器(未示出)连接到中央处理单元1401。所述大容量存储设备1407及其相关联的计算机可读介质为计算机设备1400提供非易失性存储。也就是说,所述大容量存储设备1407可以包括诸如硬盘或者光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、闪存或其他固态存储其技术,CD-ROM、或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1404和大容量存储设备1407可以统称为存储器。
计算机设备1400可以通过连接在所述系统总线1405上的网络接口单元1411连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1401通过执行该一个或一个以上程序来实现图3、图5或图7所示的方法的全部或者部分步骤。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法。例如,所述非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例所示的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (14)

1.一种分布式数据处理方法,其特征在于,所述方法由分布式系统中的中心节点设备执行,所述分布式系统中包含所述中心节点设备与至少两个边缘节点设备;所述方法包括:
向所述至少两个边缘节点设备发送全局模型参数;所述全局模型参数是部署于所述中心节点设备的第一模型的参数;
接收所述至少两个边缘节点设备分别通过异步通信方式发送的稀疏梯度;所述稀疏梯度是所述至少两个边缘节点设备对各自的边缘节点梯度进行稀疏化处理得到的;所述边缘节点梯度是对应的边缘节点设备基于所述全局模型参数对第二模型进行初始化后,通过对应边缘节点设备上的训练数据集对所述第二模型进行训练得到的梯度;所述边缘节点梯度用于,当一次训练完成后对所述第二模型的参数进行更新;
基于所述至少两个边缘节点设备分别发送的稀疏梯度获取中间模型参数;
基于梯度权重,对更新前的全局模型参数以及所述中间模型参数进行加权处理,获得更新后的所述全局模型参数;所述梯度权重用于指示更新前的所述全局模型参数与所述中间模型参数的加权比重。
2.根据权利要求1所述的方法,其特征在于,所述基于所述至少两个边缘节点设备分别发送的稀疏梯度获取中间模型参数,包括:
对所述至少两个边缘节点设备分别发送的稀疏梯度进行累加,获得累加稀疏梯度;
基于所述累加稀疏梯度以及学习率,获得所述中间模型参数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述全局模型参数的更新次数达到第一次数阈值,通过中心节点设备中的验证集对所述第一模型进行验证,获得验证误差;所述验证误差用于指示所述第二模型的预测结果与所述验证集中的标签之间的误差;
根据所述验证误差,更新所述梯度权重。
4.根据权利要求1所述的方法,其特征在于,所述基于梯度权重,对更新前的所述全局模型参数以及所述中间模型参数进行加权处理,获得更新后的所述全局模型参数之前,还包括:
基于所述至少两个边缘节点设备分别发送的稀疏梯度,更新所述梯度权重。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
响应于所述全局模型参数的更新次数达到第二次数阈值,向所述至少两个边缘节点设备发送更新后的所述全局模型参数。
6.一种分布式数据处理方法,其特征在于,所述方法由分布式系统中的边缘节点设备执行,所述分布式系统中包含中心节点设备与至少两个边缘节点设备,所述方法包括:
接收所述中心节点设备发送的全局模型参数,所述全局模型参数是部署于所述中心节点设备的第一模型的参数;
基于所述全局模型参数对第二模型进行初始化;
通过所述边缘节点设备上的训练数据集对所述第二模型进行训练,获得边缘节点梯度;所述边缘节点梯度用于,当一次训练完成后对所述第二模型的参数进行更新;
对所述边缘节点梯度进行稀疏化处理,得到稀疏梯度;
通过异步通信方式向所述中心节点设备发送所述稀疏梯度,以便所述中心节点设备基于所述至少两个边缘节点设备分别发送的稀疏梯度获取中间模型参数;基于梯度权重,对更新前的全局模型参数以及所述中间模型参数进行加权处理,获得更新后的所述全局模型参数;所述梯度权重用于指示更新前的所述全局模型参数与所述中间模型参数的加权比重。
7.根据权利要求6所述的方法,其特征在于,所述边缘节点梯度包含至少两次迭代训练得到的梯度数据;
所述对所述边缘节点梯度进行稀疏化处理,得到稀疏梯度,包括:
将至少两次迭代训练得到的所述梯度数据进行累加处理,获得累加梯度;
对所述累加梯度进行稀疏化处理,获得所述稀疏梯度。
8.根据权利要求7所述的方法,其特征在于,所述将至少两次迭代训练得到的所述梯度数据进行累加处理,获得累加梯度,包括:
按照对应的迭代训练的顺序,基于权重参数对至少两次迭代训练得到的所述梯度数据依次进行累加,获得所述累加梯度;所述权重参数用于指示所述梯度数据对所述全局模型参数进行更新时所占的比重。
9.根据权利要求8所述的方法,其特征在于,所述按照对应的迭代训练的顺序,基于权重参数对至少两次迭代训练得到的所述梯度数据依次进行累加,获得所述累加梯度,包括:
在按照对应的迭代训练的顺序对至少两次迭代训练得到的所述梯度数据依次进行累加的过程中,基于所述权重参数对各次累加过程进行动量修正,获得所述累加梯度。
10.根据权利要求7所述的方法,其特征在于,所述累加梯度包含至少两个模型参数分别对应的累加梯度数据;
所述对所述累加梯度进行稀疏化处理,获得所述稀疏梯度,包括:
将所述至少两个模型参数分别对应的累加梯度数据按照从大到小的顺序进行排列;
将所述累加梯度中,位于排序结果中的后N个累加梯度数据置零,获得所述稀疏梯度。
11.一种分布式数据处理装置,其特征在于,所述装置用于分布式系统中的中心节点设备,所述分布式系统中包含所述中心节点设备与至少两个边缘节点设备,所述装置包括:
模型参数发送模块,用于向所述至少两个边缘节点设备发送全局模型参数;所述全局模型参数是部署于中心节点设备的第一模型的参数;
稀疏梯度接收模块,用于接收所述至少两个边缘节点设备分别通过异步通信方式发送的稀疏梯度;所述稀疏梯度是所述至少两个边缘节点设备对各自的边缘节点梯度进行稀疏化处理得到的;所述边缘节点梯度是对应的边缘节点设备基于所述全局模型参数对第二模型进行初始化后,通过对应边缘节点设备上的训练数据集对所述第二模型进行训练得到的梯度;
中间参数获取模块,用于基于所述至少两个边缘节点设备分别发送的稀疏梯度获取中间模型参数;
全局参数获取模块,用于基于梯度权重,对更新前的全局模型参数以及所述中间模型参数进行加权处理,获得更新后的所述全局模型参数;所述梯度权重用于指示更新前的所述全局模型参数与所述中间模型参数的加权比重。
12.一种分布式数据处理装置,其特征在于,所述装置用于分布式系统中的边缘节点设备,所述分布式系统中包含中心节点设备与至少两个边缘节点设备,所述装置包括:
模型参数接收模块,用于接收所述中心节点设备发送的全局模型参数,所述全局模型参数是部署于所述中心节点设备的第一模型的参数;
模型初始化模块,用于基于所述全局模型参数对第二模型进行初始化;
第二模型训练模块,用于通过所述边缘节点设备上的训练数据集对所述第二模型进行训练,获得边缘节点梯度;
稀疏模块,用于对所述边缘节点梯度进行稀疏化处理,得到稀疏梯度;
稀疏梯度发送模块,用于通过异步通信方式向所述中心节点设备发送所述稀疏梯度,以便所述中心节点设备基于所述至少两个边缘节点设备分别发送的稀疏梯度获取中间模型参数;基于梯度权重,对更新前的全局模型参数以及所述中间模型参数进行加权处理,获得更新后的所述全局模型参数;所述梯度权重用于指示更新前的所述全局模型参数与所述中间模型参数的加权比重。
13.一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一所述的分布式数据处理方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至10任一所述的分布式数据处理方法。
CN202010926437.3A 2020-09-07 2020-09-07 分布式数据处理方法、装置、计算机设备及存储介质 Active CN111784002B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010926437.3A CN111784002B (zh) 2020-09-07 2020-09-07 分布式数据处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010926437.3A CN111784002B (zh) 2020-09-07 2020-09-07 分布式数据处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN111784002A CN111784002A (zh) 2020-10-16
CN111784002B true CN111784002B (zh) 2021-01-19

Family

ID=72763007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010926437.3A Active CN111784002B (zh) 2020-09-07 2020-09-07 分布式数据处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111784002B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112101489A (zh) * 2020-11-18 2020-12-18 天津开发区精诺瀚海数据科技有限公司 一种联邦学习与深度学习融合驱动的设备故障诊断方法
CN112700014B (zh) * 2020-11-18 2023-09-29 脸萌有限公司 部署联邦学习应用的方法、装置、系统和电子设备
CN112464278B (zh) * 2020-11-24 2023-07-21 平安科技(深圳)有限公司 基于非均匀分布数据的联邦建模方法及相关设备
CN112447299A (zh) * 2020-12-01 2021-03-05 平安科技(深圳)有限公司 医护资源预测模型训练方法、装置、设备及存储介质
CN114629930A (zh) * 2020-12-10 2022-06-14 华为技术有限公司 半异步联邦学习的方法和通信装置
WO2022126307A1 (en) * 2020-12-14 2022-06-23 Qualcomm Incorporated Gradient dataset aware configuration for over-the-air (ota) model aggregation in federated learning
CN112231742B (zh) * 2020-12-14 2021-06-18 支付宝(杭州)信息技术有限公司 基于隐私保护的模型联合训练方法及装置
CN112738035B (zh) * 2020-12-17 2022-04-29 杭州趣链科技有限公司 一种基于区块链技术的垂直联邦下模型窃取防御方法
CN112561078B (zh) * 2020-12-18 2021-12-28 北京百度网讯科技有限公司 分布式的模型训练方法及相关装置
CN112990483B (zh) * 2021-03-17 2022-11-08 北京理工大学 一种基于概率性抽样的大规模边缘机器学习训练方法
CN112862111B (zh) * 2021-04-26 2021-08-24 之江实验室 一种加速分布式机器学习梯度汇聚的方法和装置
CN113159289B (zh) * 2021-04-26 2023-08-25 平安科技(深圳)有限公司 基于神经网络的联邦模型的训练方法、装置及计算机设备
CN114118381B (zh) * 2021-12-03 2024-02-02 中国人民解放军国防科技大学 基于自适应聚合稀疏通信的学习方法、装置、设备及介质
CN114827289B (zh) * 2022-06-01 2023-06-13 深圳大学 一种通信压缩方法、系统、电子装置和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611610A (zh) * 2020-04-12 2020-09-01 西安电子科技大学 联邦学习信息处理方法、系统、存储介质、程序、终端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11170320B2 (en) * 2018-07-19 2021-11-09 Adobe Inc. Updating machine learning models on edge servers
CN110167176B (zh) * 2019-04-25 2021-06-01 北京科技大学 一种基于分布式机器学习的无线网络资源分配方法
CN110287031B (zh) * 2019-07-01 2023-05-09 南京大学 一种减少分布式机器学习通信开销的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611610A (zh) * 2020-04-12 2020-09-01 西安电子科技大学 联邦学习信息处理方法、系统、存储介质、程序、终端

Also Published As

Publication number Publication date
CN111784002A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN111784002B (zh) 分布式数据处理方法、装置、计算机设备及存储介质
CN112235384B (zh) 分布式系统中的数据传输方法、装置、设备及存储介质
US20230281445A1 (en) Population based training of neural networks
CN111222628B (zh) 循环神经网络训练优化方法、设备、系统及可读存储介质
CN113705610B (zh) 一种基于联邦学习的异构模型聚合方法和系统
JP2020091922A (ja) 畳み込みニューラルネットワークにおける構造学習
WO2019144892A1 (zh) 数据处理方法、装置、存储介质和电子装置
CN110880036A (zh) 神经网络压缩方法、装置、计算机设备及存储介质
CN110659723B (zh) 基于人工智能的数据处理方法、装置、介质及电子设备
CN111602148A (zh) 正则化神经网络架构搜索
Baram et al. Model-based adversarial imitation learning
WO2022108523A1 (en) Method and apparatus for compressing data, computer device and storage medium
Djigal et al. Machine and deep learning for resource allocation in multi-access edge computing: A survey
US20200234118A1 (en) Greedy approach for obtaining an artificial intelligence model in a parallel configuration
CN111563663B (zh) 一种机器人、服务质量评价方法及系统
US20210065011A1 (en) Training and application method apparatus system and stroage medium of neural network model
CN113408209A (zh) 跨样本联邦分类建模方法及装置、存储介质、电子设备
CN113159283A (zh) 一种基于联邦迁移学习的模型训练方法及计算节点
US20220237917A1 (en) Video comparison method and apparatus, computer device, and storage medium
CN112053327B (zh) 视频目标物检测方法、系统及存储介质和服务器
WO2023174036A1 (zh) 联邦学习模型训练方法、电子设备及存储介质
WO2023142316A1 (zh) 飞行决策生成方法和装置、计算机设备、存储介质
CN113516227A (zh) 一种基于联邦学习的神经网络训练方法及设备
CN115587633A (zh) 一种基于参数分层的个性化联邦学习方法
Nguyen et al. HCFL: A high compression approach for communication-efficient federated learning in very large scale IoT 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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40030764

Country of ref document: HK