CN114492152A - 更新网络模型的方法、图像分类的方法、语言建模的方法 - Google Patents
更新网络模型的方法、图像分类的方法、语言建模的方法 Download PDFInfo
- Publication number
- CN114492152A CN114492152A CN202011157840.0A CN202011157840A CN114492152A CN 114492152 A CN114492152 A CN 114492152A CN 202011157840 A CN202011157840 A CN 202011157840A CN 114492152 A CN114492152 A CN 114492152A
- Authority
- CN
- China
- Prior art keywords
- network model
- global
- trained
- model
- distributed 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种更新网络模型的方法、图像分类的方法、语言建模的方法。其中,该更新网络模型的方法包括:确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。本申请解决了相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种更新网络模型的方法、图像分类的方法、语言建模的方法。
背景技术
相关技术中,由于深度学习的进步和数据集的爆炸性增长,大数据模型及大数据集在计算机视觉、自然语言处理等场景的任务中的性能显著提升,传统的单机训练已经远远满足不了当前的数据量要求,使用并行SGD算法的大规模分布式训练(多机并行)被工业界以及学术界广泛应用,基于All-Reduce的参数同步虽然解决了参数服务器存在的中心通信拥塞,但是单All-reduce在所有节点之间进行精细的流水线通信,容易导致大量的同步开销和延迟,由于这些原因,在大规模计算集群中并行SGD的分布式训练系统扩展性仍然存在很大的提升空间。
为了提高并行SGD算法的分布式训练系统扩展性,相关技术中提出采用GossipSGD算法的处理方式受到广泛的关注,较基于All-Reduce的并行SGD算法相比,Gossip SGD算法仅需要节点与近邻之间的同步信息,在特定的拓扑结构下,也能和all-reduce一样充分利用带宽,从而减少单次信息通信量以及次数。
但是,由于Gossip SGD算法的收敛速度受到拓扑以及节点数量的影响,在大规模训练中往往较基于All-Reduce的并行SGD算法存在精度损失,无法兼顾大规模分布式训练任务的收敛性;即相关技术中存在无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种更新网络模型的方法、图像分类的方法、语言建模的方法,以至少解决相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
根据本申请实施例的一个方面,提供了一种更新网络模型的方法,包括:确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
根据本申请实施例的另一方面,还提供了一种图像分类的方法,包括:获取待分类图像;将上述待分类图像输入至神经网络模型进行图像分类处理,输出图像分类结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
根据本申请实施例的另一方面,还提供了另一种图像分类的方法,包括:接收来自于客户端的待分类图像;将上述待分类图像输入至神经网络模型进行图像分类处理,输出图像分类结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机;将上述图像分类结果反馈至上述客户端。
根据本申请实施例的另一方面,还提供了又一种图像分类的方法,包括:向服务端发送待分类图像;接收上述服务端反馈的图像分类结果,其中,上述图像分类结果由上述服务端将上述待分类图像输入至神经网络模型进行图像分类处理后得到,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
根据本申请实施例的另一方面,还提供了一种语言建模的方法,包括:获取待处理的词序列;将上述待处理的词序列输入至神经网络模型进行语言建模处理,输出语言建模结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
根据本申请实施例的另一方面,还提供了另一种语言建模的方法,包括:接收来自于客户端的待处理的词序列;将上述待处理的词序列输入至神经网络模型进行语言建模处理,输出语言建模结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机;将上述语言建模结果反馈至上述客户端。
根据本申请实施例的另一方面,还提供了又一种语言建模的方法,包括:向服务端发送待处理的词序列;接收上述服务端反馈的语言建模结果,其中,上述语言建模结果由上述服务端将上述待处理的词序列输入至神经网络模型进行语言建模处理后得到,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行任意一项上述的更新网络模型的方法,上述的图像分类的方法,以及上述的语言建模的方法。
根据本申请实施例的另一方面,还提供了一种更新网络模型的设备,包括:处理器;以及存储器,与上述处理器连接,用于为上述处理器提供处理以下处理步骤的指令:确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
在本申请实施例中,通过确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
本申请实施例提出了一种结合全局同步加速收敛的去中心化分布式训练算法,通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,训练得到神经网络模型,可以解决去中心化分布式训练算法带来的收敛变慢的问题,并且,在相同迭代次数下,本申请实施例提出的更新网络模型的方法,针对大规模分布式训练任务的收敛性优于去中心化分布式训练算法,与同步分布式训练算法相比不仅可以达到相近的收敛性,而且大幅减少训练耗时并提升通信速度。
由此,本申请实施例通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,达到了提升分布式训练任务的收敛性和训练耗时的目的,从而实现了在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术效果,进而解决了相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了一种用于实现更新网络模型的方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种更新网络模型的方法的流程图;
图3是根据本申请实施例的一种图像分类的方法的流程图;
图4是根据本申请实施例的另一种图像分类的方法的流程图;
图5是根据本申请实施例的又一种图像分类的方法的流程图;
图6是根据本申请实施例的一种语言建模的方法的流程图;
图7是根据本申请实施例的另一种语言建模的方法的流程图;
图8是根据本申请实施例的又一种语言建模的方法的流程图;
图9是根据本申请实施例的一种更新网络模型的装置的结构示意图;
图10是根据本申请实施例的一种图像分类的装置的结构示意图;
图11是根据本申请实施例的一种语言建模的装置的结构示意图;
图12是根据本申请实施例的一种更新网络模型的设备的结构示意图;
图13是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
All-reduce:分布式训练中常用的通信算子(primitives),不同节点间通过一定拓扑规则(Ring/Tree),实现信息的全同步,如不同节点的梯度求平均。
Gossip:流言算法,在大规模训练里指的是在一轮迭代中,每个节点仅和自己的近邻交换信息,较All-reduce/Parameter Server等方式相比,节点间的信息并不完全同步,从全局上看,流言算法通过多次局部同步从而最终实现全局同步。
Imagenet-1K:是指图像分类领域内常用的公开数据集,进行1000分类,训练数据量约128万图片。
Wikipedia、Bookcorps:自然语言处理中常用的英文语言库,常用于语言建模预训练等任务。
SGD:是指机器学习中常见的一种优化算法,即异步随机梯度下降算法,在深度学习中被广为应用。
Local SGD:又称为model average,在分布式训练中,各个节点每做若干次局部参数更新之后,全局做一次参数同步,其优点在于减少了通信的频率,缺点在于收敛较差,最终训练得到的模型精度不佳。
Gossip SGD:是指基于流言算法的优化算法,Gossip SGD仅需要节点与近邻之间同步信息,在特定的拓扑结构下可以类似All-reduce充分利用带宽,从而减少单次信息通信量以及次数。但是,其收敛速度收到拓扑以及节点数量的影响,在大规模训练中往往较基于All-reduce的并行SGD算法有精度损失。
Parallel SGD:在分布式训练中,各个节点在每次迭代中同步梯度/参数,收敛性较好,但是速度较慢,分布式系统扩展性不佳。
实施例1
根据本申请实施例,提供了一种更新网络模型的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现更新网络模型的方法的计算机终端(或移动设备)的硬件结构框图,如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的更新网络模型的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的更新网络模型的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
需要说明的是,相较于相关技术中通过All-Reduce算法等进行数据并行训练的更新网络模型的方式,在Gossip训练中,训练节点间通过某个逻辑拓扑结构相连接,假设有n个节点,可以采用一个n×n的拓扑矩阵W来描述节点间的连接关系,即wij表示从node j到node i信息流动的权重。若wij为0,则表示node j到node i不发生信息的流动,在本申请实施例的训练场景下特指模型参数的传递。
对于第k次Gossip迭代中,对于node i而言,首先跟常见的数据并行训练一样通过模型前向和反向训练得到梯度在Gossip训练中,首先根据梯度更新本地的模型:在更新模型后,根据当前的拓扑矩阵W将当前节点的模型发送到某些节点,并接受某些节点发送来的模型参数,进行加权求和得到本轮训练最终的模型
在每次迭代中,各个节点根据拓扑矩阵W进行节点间局部通信,也就导致了不同节点之间的模型参数存在差异,由于节点间的通信拓扑越稀疏,通信总节点数越多,节点间的模型方差越大,而模型之间存在方差,会导致收敛速率变慢,从而在相同的超参数设定(训练周期,学习率调节等)下,通过Gossip SGD算法进行训练得到的网络模型在验证集上存在精度下降的问题。
在上述运行环境下,为了解决上述Gossip SGD算法无法实现在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题,本申请提供了如图2所示的一种更新网络模型的方法,图2是根据本申请实施例的一种更新网络模型的方法的流程图,如图2所示,该更新网络模型的方法包括:
步骤S202,确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;
步骤S204,在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
在本申请实施例中,通过确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
本申请实施例提出了一种结合全局同步加速收敛的去中心化分布式训练算法,通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,训练得到神经网络模型,可以解决去中心化分布式训练算法带来的收敛变慢的问题,并且,在相同迭代次数下,本申请实施例提出的更新网络模型的方法,针对大规模分布式训练任务的收敛性优于去中心化分布式训练算法,与同步分布式训练算法相比不仅可以达到相近的收敛性,而且大幅减少训练耗时并提升通信速度。
由此,本申请实施例通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,达到了提升分布式训练任务的收敛性和训练耗时的目的,从而实现了在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术效果,进而解决了相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
在一种可选的实施例中,上述方法适用于在分布式训练场景中更新不同节点的网络模型,可以广泛应用于各种分布式训练场景,例如:图像分类领域内的物体分类任务场景;自然语言处理中的语言建模任务场景。
通过本申请实施例,通过全局同步周期在分布式训练中控制待训练网络模型的全局模型参数的更新时机,通过增加全局同步周期可以提升收敛速度,在图像分类领域内的物体分类(Imagenet)以及自然语言处理中的语言建模(Wikipedia)等任务上均验证了本申请实施例所提出算法的优越性。
在本申请实施中,通过引入周期性全局同步思路,虽然周期性全局同步的轮次用时等同于All-reduce算法,但由于全局同步周期可以取得比较大,以及在引入自适应进行局部模型参数同步或全局模型参数同步后,可以减少全同步的轮次,在训练时间维度,并没有比纯Gossip SGD算法慢很多,如在物体分类的任务场景中,引入全局同步在完成相同次迭代,在耗费时间仅多出7%的情况下,但完成弥补了纯Gossip SGD算法的训练带来的精度损失。
需要说明的是,虽然适当延长训练的周期,也能弥补收敛速度变慢的带来的精度损失,但基于本申请实施例的实验结果来看,还是引入自适应周期全局同步的训练方法的总训练用时较短。本申请实施例在去中心化分布式训练中引入自适应的周期性全局同步方式来加速收敛性,在理论以及实验中均可以证明本申请实施例所提供的更新网络模型的方法的优势。
在一种可选的实施例中,对上述待训练网络模型进行局部模型参数同步包括:
步骤S302,采用第一随机梯度下降算法对上述待训练网络模型中根据拓扑矩阵进行局部通信的节点进行局部模型参数同步,其中,上述第一随机梯度下降算法是基于流言算法的异步随机梯度下降算法。
作为一种可选的实施例,基于分布式训练中通信算法的并行随机梯度下降算法(算法1)Gossip-PGA(Periodic Global Averaging)如下所示:
本申请实施例在上述Gossip SGD算法训练的基础上,引入了一个超参数H,即全局同步周期,该全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机,例如,每H-1次Gossip SGD算法的通信后通过All-Reduce算法进行一次全局模型参数同步,训练得到神经网络模型:该神经网络模型可以消除节点间的模型方差,从而起到加速收敛的作用(如上算法1的代码中4-7行所示)。
在一种可选的实施例中,对上述待训练网络模型进行全局模型参数同步包括:
步骤S402,采用第二随机梯度下降算法对上述待训练网络模型进行全局模型参数同步,其中,上述第二随机梯度下降算法是基于分布式训练中通信算法的并行随机梯度下降算法。
本申请实施例的发明人在实际训练中观察到,由于模型间的方差在训练的初期较大,随着学习率降低以及模型逐渐收敛,模型间的方差逐渐降低,而如上述提到的模型方差会降低收敛速度,所以在训练前期全局模型参数同步频率应该较为频繁,随着训练的进行,可以逐渐减少全局模型参数同步的频率。
因此,本申请实施例进一步提出了基于流言算法的异步随机梯度下降算法(算法2)Gossip-AGA(Adaptive Global Averaging)来避免人为选择最佳的全通信周期H,以及在不影响模型收敛的前提下尽量减少全通信的频次,该算法2如下所示:
在一种可选的实施例中,上述方法还包括:
步骤S502,在预设迭代次数中进行初始损失函数估计,得到第一估计结果;
步骤S504,通过当前模型参数和当前采样数据进行当前损失函数估计,得到第二估计结果;
步骤S506,采用上述第一估计结果、上述第二估计结果以及上述全局同步周期的初始值,获取上述全局同步周期的目标值。
在训练初期,本申请实施例会选择预设迭代次数Kw进行初始损失函数F的估计(如上算法2的代码中10-11行所示),得到第一估计结果;通过当前模型参数x_i和当前采样数据ξ_i进行当前损失函数估计,得到第二估计结果;采用上述第一估计结果、上述第二估计结果以及上述全局同步周期的初始值,在后续的训练中,根据如下计算公式来自适应调节迭代的全局同步周期H:
在一种可选的实施例中,上述方法还包括:
步骤S602,设置计数器的计数值;
步骤S604,将上述计数值与上述目标值进行比较;
步骤S606,当上述计数值不等于上述目标值时,采用第一随机梯度下降算法对上述待训练网络模型中根据拓扑矩阵进行局部通信的节点进行局部模型参数同步;当上述计数值等于上述目标值时,采用第二随机梯度下降算法对上述待训练网络模型进行全局模型参数同步,并将上述计数值清零。
可选的,上述计数器用于统计自上一次全局同步以来的Gossip通信次数,即当前的Gossip通信次数,只有当计数值等于目标值时,才采用第二随机梯度下降算法对上述待训练网络模型进行全局模型参数同步,并将上述计数值清零。
本申请实施例中,采用一个计数器C来统计自上一次全局同步以来的Gossip通信次数(如上算法2的代码中2、7行所示),全局同步周期H初始化为一个比较小的值Hinit(如上算法2的代码中2-4行所示),当计数器的计数值等于全局同步周期H的当前周期数(即目标值),本申请实施例会进行一次全局同步(如上算法2的代码中6-13行所示)。
例如,当上述计数值不等于上述目标值时,采用第一随机梯度下降算法对上述待训练网络模型中根据拓扑矩阵进行局部通信的节点进行局部模型参数同步;当上述计数值等于上述目标值时,采用第二随机梯度下降算法对上述待训练网络模型进行全局模型参数同步,并将上述计数值清零。
在上述运行环境下,本申请提供了如图3所示的一种图像分类的方法,图3是根据本申请实施例的一种图像分类的方法的流程图,如图3所示,该图像分类的方法,包括:
步骤S702,获取待分类图像;
步骤S704,将上述待分类图像输入至神经网络模型进行图像分类处理,输出图像分类结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
在一种可选的实施例中,上述方法可以但不限于适用于以下场景:图像分类领域内的物体分类任务场景,通过全局同步周期在分布式训练中控制待训练网络模型的全局模型参数的更新时机,通过增加全局同步周期可以提升收敛速度,在图像分类领域内的物体分类(Imagnet)的任务场景中,验证了本申请实施例所提供的图像分类算法的优越性。
本申请实施例提出了一种结合全局同步加速收敛的去中心化分布式训练算法,通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,训练得到神经网络模型,可以解决去中心化分布式训练算法带来的收敛变慢的问题,并且,在相同迭代次数下,本申请实施例针对大规模分布式训练任务的收敛性优于去中心化分布式训练算法,与同步分布式训练算法相比不仅可以达到相近的收敛性,而且大幅减少训练耗时并提升通信速度,进而将上述待分类图像输入至神经网络模型进行图像分类处理,可以提升输出图像分类结果的准确性并减少图像分类处理的时间。
由此,本申请实施例达到了在训练神经网络模型时提升分布式训练任务的收敛性和训练耗时的目的,从而实现了提升输出图像分类结果的准确性并减少图像分类处理的时间的技术效果,进而解决了相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
在上述运行环境下,本申请提供了如图4所示的另一种图像分类的方法,图4是根据本申请实施例的另一种图像分类的方法的流程图,如图4所示,该图像分类的方法,包括:
步骤S802,接收来自于客户端的待分类图像;
步骤S804,将上述待分类图像输入至神经网络模型进行图像分类处理,输出图像分类结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机;
步骤S806,将上述图像分类结果反馈至上述客户端。
需要说明的是,上述步骤S802至步骤S806所提供的图像分类的方法的执行主体为服务端,该图像分类方法可以但不限于适用于以下场景:图像分类领域内的物体分类任务场景,通过全局同步周期在分布式训练中控制待训练网络模型的全局模型参数的更新时机,通过增加全局同步周期可以提升收敛速度,在图像分类领域内的物体分类(Imagnet)的任务场景中,验证了本申请实施例所提供的图像分类算法的优越性。
本申请实施例提出了一种结合全局同步加速收敛的去中心化分布式训练算法,服务端通过接收来自于客户端的待分类图像,将上述待分类图像输入至神经网络模型进行图像分类处理,并将输出的图像分类结果反馈至客户端。
由于上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机,通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,训练得到神经网络模型,可以解决去中心化分布式训练算法带来的收敛变慢的问题。
并且,在相同迭代次数下,本申请实施例针对大规模分布式训练任务的收敛性优于去中心化分布式训练算法,与同步分布式训练算法相比不仅可以达到相近的收敛性,而且大幅减少训练耗时并提升通信速度,进而将上述待分类图像输入至神经网络模型进行图像分类处理,可以提升输出的图像分类结果的准确性并减少图像分类处理的时间。
由此,本申请实施例达到了在训练神经网络模型时提升分布式训练任务的收敛性和训练耗时的目的,从而实现了提升输出图像分类结果的准确性并减少图像分类处理的时间的技术效果,进而解决了相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
在上述运行环境下,本申请提供了如图5所示的另一种图像分类的方法,图5是根据本申请实施例的另一种图像分类的方法的流程图,如图5所示,该图像分类的方法,包括:
步骤S902,向服务端发送待分类图像;
步骤S904,接收上述服务端反馈的图像分类结果,其中,上述图像分类结果由上述服务端将上述待分类图像输入至神经网络模型进行图像分类处理后得到,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
需要说明的是,上述步骤S902至步骤S906所提供的图像分类的方法的执行主体为客户端,该图像分类方法可以但不限于适用于以下场景:图像分类领域内的物体分类任务场景,通过全局同步周期在分布式训练中控制待训练网络模型的全局模型参数的更新时机,通过增加全局同步周期可以提升收敛速度,在图像分类领域内的物体分类(Imagnet)的任务场景中,验证了本申请实施例所提供的图像分类算法的优越性。
本申请实施例提出了一种结合全局同步加速收敛的去中心化分布式训练算法,客户端向服务端发送待分类图像;服务端将上述待分类图像输入至神经网络模型进行图像分类处理,并将输出的图像分类结果反馈至客户端。
由于上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机,通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,训练得到神经网络模型,可以解决去中心化分布式训练算法带来的收敛变慢的问题。
并且,在相同迭代次数下,本申请实施例针对大规模分布式训练任务的收敛性优于去中心化分布式训练算法,与同步分布式训练算法相比不仅可以达到相近的收敛性,而且大幅减少训练耗时并提升通信速度,进而将上述待分类图像输入至神经网络模型进行图像分类处理,可以提升输出的图像分类结果的准确性并减少图像分类处理的时间。
由此,本申请实施例达到了在训练神经网络模型时提升分布式训练任务的收敛性和训练耗时的目的,从而实现了提升输出图像分类结果的准确性并减少图像分类处理的时间的技术效果,进而解决了相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
还需要说明的是,上述图像分类方法实施例的优选实施方式可以参见更新网络模型的方法实施例中的相关描述,此处不再赘述。
在上述运行环境下,本申请提供了如图6所示的一种语言建模的方法,图6是根据本申请实施例的一种语言建模的方法的流程图,如图6所示,该语言建模的方法,包括:
步骤S1002,获取待处理的词序列;
步骤S1004,将上述待处理的词序列输入至神经网络模型进行语言建模处理,输出语言建模结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
在一种可选的实施例中,上述方法适用于以下场景:自然语言处理中的语言建模任务场景,通过全局同步周期在分布式训练中控制待训练网络模型的全局模型参数的更新时机,通过增加全局同步周期可以提升收敛速度,在自然语言处理中的语言建模(Wikipedia)的任务场景中,验证了本申请实施例所提供的语言建模算法的优越性。
本申请实施例提出了一种结合全局同步加速收敛的去中心化分布式训练算法,通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,训练得到神经网络模型,可以解决去中心化分布式训练算法带来的收敛变慢的问题,并且,在相同迭代次数下,本申请实施例针对大规模分布式训练任务的收敛性优于去中心化分布式训练算法,与同步分布式训练算法相比不仅可以达到相近的收敛性,而且大幅减少训练耗时并提升通信速度,进而将上述待处理的词序列输入至神经网络模型进行语言建模处理,可以提升输出语言建模结果的准确性并减少语言建模处理的时间。
由此,本申请实施例达到了在训练神经网络模型时提升分布式训练任务的收敛性和训练耗时的目的,从而实现了提升语言建模结果的准确性并减少语言建模处理的时间的技术效果,进而解决了相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
在上述运行环境下,本申请提供了如图7所示的另一种语言建模的方法,图6是根据本申请实施例的另一种语言建模的方法的流程图,如图7所示,该语言建模的方法,包括:
步骤S1102,接收来自于客户端的待处理的词序列;
步骤S1104,将上述待处理的词序列输入至神经网络模型进行语言建模处理,输出语言建模结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机;
步骤S1106,将上述语言建模结果反馈至上述客户端。
需要说明的是,上述步骤S1102至步骤S1106所提供的语言建模方法的执行主体为服务端,该语言建模方法可以但不限于适用于以下场景:自然语言处理中的语言建模任务场景,通过全局同步周期在分布式训练中控制待训练网络模型的全局模型参数的更新时机,通过增加全局同步周期可以提升收敛速度,在自然语言处理中的语言建模(Wikipedia)的任务场景中,验证了本申请实施例所提供的语言建模算法的优越性。
本申请实施例提出了一种结合全局同步加速收敛的去中心化分布式训练算法,服务端通过接收来自于客户端的待处理的词序列;将上述待处理的词序列输入至神经网络模型进行语言建模处理,并将输出的语言建模结果反馈至客户端。
由于上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机,通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,训练得到神经网络模型,可以解决去中心化分布式训练算法带来的收敛变慢的问题。
并且,在相同迭代次数下,本申请实施例针对大规模分布式训练任务的收敛性优于去中心化分布式训练算法,与同步分布式训练算法相比不仅可以达到相近的收敛性,而且大幅减少训练耗时并提升通信速度,进而将上述待处理的词序列输入至神经网络模型进行语言建模处理,可以提升输出语言建模结果的准确性并减少语言建模处理的时间。
由此,本申请实施例达到了在训练神经网络模型时提升分布式训练任务的收敛性和训练耗时的目的,从而实现了提升语言建模结果的准确性并减少语言建模处理的时间的技术效果,进而解决了相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
在上述运行环境下,本申请提供了如图8所示的又一种语言建模的方法,图8是根据本申请实施例的又一种语言建模的方法的流程图,如图8所示,该语言建模的方法,包括:
步骤S1202,向服务端发送待处理的词序列;
步骤S1204,接收上述服务端反馈的语言建模结果,其中,上述语言建模结果由上述服务端将上述待处理的词序列输入至神经网络模型进行语言建模处理后得到,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
需要说明的是,上述步骤S1202至步骤S1206所提供的语言建模方法的执行主体为客户端,该语言建模方法可以但不限于适用于以下场景:自然语言处理中的语言建模任务场景,通过全局同步周期在分布式训练中控制待训练网络模型的全局模型参数的更新时机,通过增加全局同步周期可以提升收敛速度,在自然语言处理中的语言建模(Wikipedia)的任务场景中,验证了本申请实施例所提供的语言建模算法的优越性。
本申请实施例提出了一种结合全局同步加速收敛的去中心化分布式训练算法,客户端向服务端发送待处理的词序列至服务端;服务端将上述待处理的词序列输入至神经网络模型进行语言建模处理,并将输出的语言建模结果反馈至客户端。
由于上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机,通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,训练得到神经网络模型,可以解决去中心化分布式训练算法带来的收敛变慢的问题。
并且,在相同迭代次数下,本申请实施例针对大规模分布式训练任务的收敛性优于去中心化分布式训练算法,与同步分布式训练算法相比不仅可以达到相近的收敛性,而且大幅减少训练耗时并提升通信速度,进而将上述待处理的词序列输入至神经网络模型进行语言建模处理,可以提升输出语言建模结果的准确性并减少语言建模处理的时间。
由此,本申请实施例达到了在训练神经网络模型时提升分布式训练任务的收敛性和训练耗时的目的,从而实现了提升语言建模结果的准确性并减少语言建模处理的时间的技术效果,进而解决了相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
还需要说明的是,上述语言建模的方法实施例的优选实施方式可以参见更新网络模型的方法实施例中的相关描述,此处不再赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例上述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述更新网络模型的方法的装置实施例,图9是根据本申请实施例的一种更新网络模型的装置的结构示意图,如图9所示,该更新网络模型的装置包括:确定模块500、更新模块502,其中:
确定模块500,用于确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;更新模块502,用于在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
此处需要说明的是,上述确定模块500、更新模块502对应于实施例1中的步骤S202至步骤S204,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
根据本申请实施例,还提供了一种用于实施上述图像分类的方法的装置实施例,图10是根据本申请实施例的一种图像分类的装置的结构示意图,如图10所示,该图像分类的装置包括:图像获取模块600、分类处理模块602,其中:
图像获取模块600,用于获取待分类图像;分类处理模块602,用于将上述待分类图像输入至神经网络模型进行图像分类处理,输出图像分类结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
此处需要说明的是,上述图像获取模块600、分类处理模块602对应于实施例1中的步骤S702至步骤S704,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
根据本申请实施例,还提供了一种用于实施上述语言建模的方法的装置实施例,图11是根据本申请实施例的一种语言建模的装置的结构示意图,如图11所示,该语言建模的装置包括:序列获取模块700、建模处理模块702,其中:
序列获取模块700,用于获取待处理的词序列;建模处理模块702,用于将上述待处理的词序列输入至神经网络模型进行语言建模处理,输出语言建模结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
此处需要说明的是,上述序列获取模块700、建模处理模块702对应于实施例1中的步骤S1002至步骤S1004,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
还需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例3
根据本申请实施例,还提供了一种更新网络模型的设备的实施例,该更新网络模型的设备可以是计算设备群中的任意一个计算设备。图12是根据本申请实施例的一种更新网络模型的设备的结构示意图,如图12所示,该更新网络模型的设备包括:处理器800和存储器802,其中:
处理器800;以及存储器802,与上述处理器800连接,用于为上述处理器提供处理以下处理步骤的指令:确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
在本申请实施例中,通过确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
本申请实施例提出了一种结合全局同步加速收敛的去中心化分布式训练算法,通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,训练得到神经网络模型,可以解决去中心化分布式训练算法带来的收敛变慢的问题,并且,在相同迭代次数下,本申请实施例提出的更新网络模型的方法,针对大规模分布式训练任务的收敛性优于去中心化分布式训练算法,与同步分布式训练算法相比不仅可以达到相近的收敛性,而且大幅减少训练耗时并提升通信速度。
由此,本申请实施例通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,达到了提升分布式训练任务的收敛性和训练耗时的目的,从而实现了在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术效果,进而解决了相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
还需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例4
根据本申请的实施例,还提供了一种计算机终端的实施例,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行更新网络模型的方法中以下步骤的程序代码:确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
可选地,图13是根据本申请实施例的一种计算机终端的结构框图,如图13所示,该计算机终端可以包括:一个或多个(图中仅示出一个)处理器902、存储器904、以及外设接口906。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的更新网络模型的方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的更新网络模型的方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
可选的,上述处理器还可以执行如下步骤的程序代码:采用第一随机梯度下降算法对上述待训练网络模型中根据拓扑矩阵进行局部通信的节点进行局部模型参数同步,其中,上述第一随机梯度下降算法是基于流言算法的异步随机梯度下降算法。
可选的,上述处理器还可以执行如下步骤的程序代码:采用第二随机梯度下降算法对上述待训练网络模型进行全局模型参数同步,其中,上述第二随机梯度下降算法是基于分布式训练中通信算法的并行随机梯度下降算法。
可选的,上述处理器还可以执行如下步骤的程序代码:在预设迭代次数中进行初始损失函数估计,得到第一估计结果;通过当前模型参数和当前采样数据进行当前损失函数估计,得到第二估计结果;采用上述第一估计结果、上述第二估计结果以及上述全局同步周期的初始值,获取上述全局同步周期的目标值。
可选的,上述处理器还可以执行如下步骤的程序代码:设置计数器的计数值;将上述计数值与上述目标值进行比较;当上述计数值不等于上述目标值时,采用第一随机梯度下降算法对上述待训练网络模型中根据拓扑矩阵进行局部通信的节点进行局部模型参数同步;当上述计数值等于上述目标值时,采用第二随机梯度下降算法对上述待训练网络模型进行全局模型参数同步,并将上述计数值清零。
可选的,上述处理器还可以执行如下步骤的程序代码:获取待分类图像;将上述待分类图像输入至神经网络模型进行图像分类处理,输出图像分类结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
可选的,上述处理器还可以执行如下步骤的程序代码:获取待处理的词序列;将上述待处理的词序列输入至神经网络模型进行语言建模处理,输出语言建模结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
采用本申请实施例,提供了一种更新网络模型的方案。通过确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
本申请实施例提出了一种结合全局同步加速收敛的去中心化分布式训练算法,通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,训练得到神经网络模型,可以解决去中心化分布式训练算法带来的收敛变慢的问题,并且,在相同迭代次数下,本申请实施例提出的更新网络模型的方法,针对大规模分布式训练任务的收敛性优于去中心化分布式训练算法,与同步分布式训练算法相比不仅可以达到相近的收敛性,而且大幅减少训练耗时并提升通信速度。
由此,本申请实施例通过确定全局同步周期以及自适应进行全局模型参数同步或局部模型参数同步,达到了提升分布式训练任务的收敛性和训练耗时的目的,从而实现了在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术效果,进而解决了相关技术中在训练神经网络模型时,无法在保证分布式系统的通信速度的基础上,兼顾大规模分布式训练任务的收敛性的技术问题。
可选的,上述处理器还可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收来自于客户端的待分类图像;将上述待分类图像输入至神经网络模型进行图像分类处理,输出图像分类结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机;将上述图像分类结果反馈至上述客户端。
可选的,上述处理器还可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:向服务端发送待分类图像;接收上述服务端反馈的图像分类结果,其中,上述图像分类结果由上述服务端将上述待分类图像输入至神经网络模型进行图像分类处理后得到,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
可选的,上述处理器还可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收来自于客户端的待处理的词序列;将上述待处理的词序列输入至神经网络模型进行语言建模处理,输出语言建模结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机;将上述语言建模结果反馈至上述客户端。
可选的,上述处理器还可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:向服务端发送待处理的词序列;接收上述服务端反馈的语言建模结果,其中,上述语言建模结果由上述服务端将上述待处理的词序列输入至神经网络模型进行语言建模处理后得到,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
本领域普通技术人员可以理解,图13所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图13其并不对上述电子装置的结构造成限定。例如,计算机终端还可包括比图13中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图13所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读非易失性存储介质中,非易失性存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
实施例5
根据本申请的实施例,还提供了一种非易失性存储介质的实施例。可选地,在本实施例中,上述非易失性存储介质可以用于保存上述实施例1所提供的更新网络模型的方法、图像分类的方法、语言建模的方法所执行的程序代码。
可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:确定全局同步周期,其中,上述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;在未达到上述全局同步周期时,对上述待训练网络模型进行局部模型参数同步,以及在达到上述全局同步周期时,对上述待训练网络模型进行全局模型参数同步。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:采用第一随机梯度下降算法对上述待训练网络模型中根据拓扑矩阵进行局部通信的节点进行局部模型参数同步,其中,上述第一随机梯度下降算法是基于流言算法的异步随机梯度下降算法。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:采用第二随机梯度下降算法对上述待训练网络模型进行全局模型参数同步,其中,上述第二随机梯度下降算法是基于分布式训练中通信算法的并行随机梯度下降算法。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在预设迭代次数中进行初始损失函数估计,得到第一估计结果;通过当前模型参数和当前采样数据进行当前损失函数估计,得到第二估计结果;采用上述第一估计结果、上述第二估计结果以及上述全局同步周期的初始值,获取上述全局同步周期的目标值。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:设置计数器的计数值;将上述计数值与上述目标值进行比较;当上述计数值不等于上述目标值时,采用第一随机梯度下降算法对上述待训练网络模型中根据拓扑矩阵进行局部通信的节点进行局部模型参数同步;当上述计数值等于上述目标值时,采用第二随机梯度下降算法对上述待训练网络模型进行全局模型参数同步,并将上述计数值清零。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:获取待分类图像;将上述待分类图像输入至神经网络模型进行图像分类处理,输出图像分类结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:获取待处理的词序列;将上述待处理的词序列输入至神经网络模型进行语言建模处理,输出语言建模结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于客户端的待分类图像;将上述待分类图像输入至神经网络模型进行图像分类处理,输出图像分类结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机;将上述图像分类结果反馈至上述客户端。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:向服务端发送待分类图像;接收上述服务端反馈的图像分类结果,其中,上述图像分类结果由上述服务端将上述待分类图像输入至神经网络模型进行图像分类处理后得到,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于客户端的待处理的词序列;将上述待处理的词序列输入至神经网络模型进行语言建模处理,输出语言建模结果,其中,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机;将上述语言建模结果反馈至上述客户端。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:向服务端发送待处理的词序列;接收上述服务端反馈的语言建模结果,其中,上述语言建模结果由上述服务端将上述待处理的词序列输入至神经网络模型进行语言建模处理后得到,上述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在上述分布式训练中控制上述待训练网络模型的全局模型参数的更新时机。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上上述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (14)
1.一种更新网络模型的方法,其特征在于,包括:
确定全局同步周期,其中,所述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;
在未达到所述全局同步周期时,对所述待训练网络模型进行局部模型参数同步,以及在达到所述全局同步周期时,对所述待训练网络模型进行全局模型参数同步。
2.根据权利要求1所述的方法,其特征在于,对所述待训练网络模型进行局部模型参数同步包括:
采用第一随机梯度下降算法对所述待训练网络模型中根据拓扑矩阵进行局部通信的节点进行局部模型参数同步,其中,所述第一随机梯度下降算法是基于流言算法的异步随机梯度下降算法。
3.根据权利要求1所述的方法,其特征在于,对所述待训练网络模型进行全局模型参数同步包括:
采用第二随机梯度下降算法对所述待训练网络模型进行全局模型参数同步,其中,所述第二随机梯度下降算法是基于分布式训练中通信算法的并行随机梯度下降算法。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在预设迭代次数中进行初始损失函数估计,得到第一估计结果;
通过当前模型参数和当前采样数据进行当前损失函数估计,得到第二估计结果;
采用所述第一估计结果、所述第二估计结果以及所述全局同步周期的初始值,获取所述全局同步周期的目标值。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
设置计数器的计数值;
将所述计数值与所述目标值进行比较;
当所述计数值不等于所述目标值时,采用第一随机梯度下降算法对所述待训练网络模型中根据拓扑矩阵进行局部通信的节点进行局部模型参数同步;当所述计数值等于所述目标值时,采用第二随机梯度下降算法对所述待训练网络模型进行全局模型参数同步,并将所述计数值清零。
6.根据权利要求1所述的方法,其特征在于,所述方法适用于以下场景:
图像分类领域内的物体分类任务场景;
自然语言处理中的语言建模任务场景。
7.一种图像分类的方法,其特征在于,包括:
获取待分类图像;
将所述待分类图像输入至神经网络模型进行图像分类处理,输出图像分类结果,其中,所述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在所述分布式训练中控制所述待训练网络模型的全局模型参数的更新时机。
8.一种图像分类的方法,其特征在于,包括:
接收来自于客户端的待分类图像;
将所述待分类图像输入至神经网络模型进行图像分类处理,输出图像分类结果,其中,所述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在所述分布式训练中控制所述待训练网络模型的全局模型参数的更新时机;
将所述图像分类结果反馈至所述客户端。
9.一种图像分类的方法,其特征在于,包括:
向服务端发送待分类图像;
接收所述服务端反馈的图像分类结果,其中,所述图像分类结果由所述服务端将所述待分类图像输入至神经网络模型进行图像分类处理后得到,所述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在所述分布式训练中控制所述待训练网络模型的全局模型参数的更新时机。
10.一种语言建模的方法,其特征在于,包括:
获取待处理的词序列;
将所述待处理的词序列输入至神经网络模型进行语言建模处理,输出语言建模结果,其中,所述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在所述分布式训练中控制所述待训练网络模型的全局模型参数的更新时机。
11.一种语言建模的方法,其特征在于,包括:
接收来自于客户端的待处理的词序列;
将所述待处理的词序列输入至神经网络模型进行语言建模处理,输出语言建模结果,其中,所述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在所述分布式训练中控制所述待训练网络模型的全局模型参数的更新时机;
将所述语言建模结果反馈至所述客户端。
12.一种语言建模的方法,其特征在于,包括:
向服务端发送待处理的词序列;
接收所述服务端反馈的语言建模结果,其中,所述语言建模结果由所述服务端将所述待处理的词序列输入至神经网络模型进行语言建模处理后得到,所述神经网络模型是通过在分布式训练中对待训练网络模型进行更新后得到的模型,并且通过全局同步周期在所述分布式训练中控制所述待训练网络模型的全局模型参数的更新时机。
13.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至6中任意一项所述的更新网络模型的方法,权利要求7至9中任意一项所述的图像分类的方法,以及权利要求10至12中任意一项所述的语言建模的方法。
14.一种更新网络模型的设备,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
确定全局同步周期,其中,所述全局同步周期用于在分布式训练中,控制待训练网络模型的全局模型参数的更新时机;
在未达到所述全局同步周期时,对所述待训练网络模型进行局部模型参数同步,以及在达到所述全局同步周期时,对所述待训练网络模型进行全局模型参数同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011157840.0A CN114492152A (zh) | 2020-10-26 | 2020-10-26 | 更新网络模型的方法、图像分类的方法、语言建模的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011157840.0A CN114492152A (zh) | 2020-10-26 | 2020-10-26 | 更新网络模型的方法、图像分类的方法、语言建模的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114492152A true CN114492152A (zh) | 2022-05-13 |
Family
ID=81470802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011157840.0A Pending CN114492152A (zh) | 2020-10-26 | 2020-10-26 | 更新网络模型的方法、图像分类的方法、语言建模的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114492152A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190226A (zh) * | 2022-05-31 | 2022-10-14 | 华为技术有限公司 | 参数调整的方法、训练神经网络模型的方法及相关装置 |
CN115250253A (zh) * | 2022-06-22 | 2022-10-28 | 西南交通大学 | 带宽感知的归约处理方法以及ai模型的训练方法 |
-
2020
- 2020-10-26 CN CN202011157840.0A patent/CN114492152A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190226A (zh) * | 2022-05-31 | 2022-10-14 | 华为技术有限公司 | 参数调整的方法、训练神经网络模型的方法及相关装置 |
CN115190226B (zh) * | 2022-05-31 | 2024-04-16 | 华为技术有限公司 | 参数调整的方法、训练神经网络模型的方法及相关装置 |
CN115250253A (zh) * | 2022-06-22 | 2022-10-28 | 西南交通大学 | 带宽感知的归约处理方法以及ai模型的训练方法 |
CN115250253B (zh) * | 2022-06-22 | 2024-02-27 | 西南交通大学 | 带宽感知的归约处理方法以及ai模型的训练方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109685202B (zh) | 数据处理方法及装置、存储介质和电子装置 | |
CN110443375B (zh) | 一种联邦学习方法及装置 | |
US20200327680A1 (en) | Visual target tracking method and apparatus based on deep adversarial training | |
CN112532451A (zh) | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 | |
EP3779891A1 (en) | Method and device for training neural network model, and method and device for generating time-lapse photography video | |
CN114492152A (zh) | 更新网络模型的方法、图像分类的方法、语言建模的方法 | |
CN111291869B (zh) | 并行训练业务模型的方法及装置 | |
CN108713306A (zh) | 用于接收机校准和模式数据信令的多相前导码数据序列 | |
AU2007336337A1 (en) | System and method for optimizing changes of data sets | |
TW202147188A (zh) | 神經網路模型的訓練方法和相關産品 | |
CN105247487A (zh) | 用于非平稳数据的凝聚群集的并行方法 | |
CN106940880A (zh) | 一种美颜处理方法、装置和终端设备 | |
GB2572537A (en) | Generating or obtaining an updated neural network | |
CN103401941B (zh) | 一种gis场景信息处理方法、系统、节点机和服务端 | |
CN115829055A (zh) | 联邦学习模型训练方法、装置、计算机设备及存储介质 | |
CN115660115A (zh) | 一种联邦学习模型训练方法、装置、设备及存储介质 | |
CN114428907B (zh) | 信息搜索方法、装置、电子设备及存储介质 | |
CN109510681B (zh) | 一种通信网络时间同步级数最小的基准节点选择方法 | |
CN114021017A (zh) | 信息推送方法、装置及存储介质 | |
CN103297598B (zh) | 信息处理设备、系统和方法 | |
CN113850372A (zh) | 神经网络模型训练方法、装置、系统和存储介质 | |
CN110232393B (zh) | 数据的处理方法、装置、存储介质和电子装置 | |
CN114528893A (zh) | 机器学习模型训练方法、电子设备及存储介质 | |
CN111292171A (zh) | 金融理财产品推送方法及装置 | |
CN111901500A (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 |