CN116070720B - 基于分布式集群的数据处理方法、系统、设备及存储介质 - Google Patents
基于分布式集群的数据处理方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN116070720B CN116070720B CN202310288285.2A CN202310288285A CN116070720B CN 116070720 B CN116070720 B CN 116070720B CN 202310288285 A CN202310288285 A CN 202310288285A CN 116070720 B CN116070720 B CN 116070720B
- Authority
- CN
- China
- Prior art keywords
- matrix
- deep learning
- learning model
- data
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 239000011159 matrix material Substances 0.000 claims abstract description 264
- 238000013136 deep learning model Methods 0.000 claims abstract description 150
- 238000012549 training Methods 0.000 claims abstract description 127
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 238000005457 optimization Methods 0.000 claims abstract description 25
- 238000004891 communication Methods 0.000 claims description 38
- 238000000034 method Methods 0.000 claims description 34
- 238000004364 calculation method Methods 0.000 claims description 28
- 238000000354 decomposition reaction Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000011084 recovery Methods 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000013135 deep learning Methods 0.000 claims description 6
- 101100001672 Emericella variicolor andG gene Proteins 0.000 claims description 5
- 239000000463 material Substances 0.000 claims description 5
- 101100379079 Emericella variicolor andA gene Proteins 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 238000010801 machine learning Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002779 inactivation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001575 pathological effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Algebra (AREA)
- Operations Research (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种基于分布式集群的数据处理方法、系统、设备及存储介质,应用于机器学习技术领域,应用于分布式集群中的每一个终端设备中,包括:获取1个批次的训练样本并进行本地深度学习模型的训练,确定出每一层的输入数据及梯度数据;进行梯度数据的同步;基于本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,确定出海森矩阵的逆矩阵;通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,并返回训练直至模型训练结束;将待识别数据输入至训练完成的本地深度学习模型,并得到待识别数据的识别结果。应用本申请的方案,提高了深度学习模型的分布式训练收敛速度,也有利于降低训练时耗时。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种基于分布式集群的数据处理方法、系统、设备及存储介质。
背景技术
目前,人工智能正与5G、云计算、边缘计算等新一代信息技术互为支撑,推动生产生活方式和社会治理方式的智能化变革,而伴随而来的是人工智能落地场景日趋复杂化,融合云边端设备的跨域分布式人工智能占比越来越高。
深度学习模型的应用极为广泛,例如手机中的植物物种识别,语音识别并转换为文字等。部署在终端设备中的深度学习模型初期训练所需算力较为庞大,单个终端设备计算能力不足,并且单个终端设备所拥有的训练数据不足,因此,最常见的一种解决方案是联合边缘域内所有的终端设备实现分布式训练,共同更新模型参数,最终完成深度学习模型训练。
传统的跨域分布式优化算法,通常采用的是SGD(Stochastic Gradient Descent,随机梯度下降)算法,是一种简单但非常有效的方法,但是该算法收敛速度较慢。
综上所述,如何进行深度学习模型的分布式训练,提高收敛速度,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种基于分布式集群的数据处理方法、系统、设备及存储介质,以进行深度学习模型的分布式训练,提高收敛速度。
为解决上述技术问题,本发明提供如下技术方案:
一种基于分布式集群的数据处理方法,应用于分布式集群中的每一个终端设备中,包括:
获取1个批次的训练样本并进行本地深度学习模型的训练,确定出本地深度学习模型中的每一层的输入数据以及每一层的梯度数据;
将自身确定出的每一层的梯度数据广播至其余各个终端设备,并接收其余各个终端设备所广播的数据,通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据;
基于本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,确定出当前训练批次所使用的海森矩阵的逆矩阵;
基于确定出的所述海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,并返回执行所述获取1个批次的训练样本并进行本地深度学习模型的训练的操作,直至模型训练结束;
将待识别数据输入至训练完成的所述本地深度学习模型,并得到所述待识别数据的识别结果。
优选的,所述基于本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,确定出当前训练批次所使用的海森矩阵的逆矩阵,包括:
基于确定出当前训练批次所使用的海森矩阵的逆矩阵;
其中,F为当前训练批次所使用的海森矩阵,diag表示海森矩阵F是由第1矩阵F 1至第n矩阵F n 所构成的对角矩阵,1≤i≤n,第1矩阵F 1至第n矩阵F n 依次对应本地深度学习模型的第1至第n层,n为本地深度学习模型的总层数,a i-1为本地深度学习模型第i层的输入数据,T表示矩阵的转置,g i 为梯度数据同步之后的第i层的梯度数据,为克罗内克积,F i为构成海森矩阵F的第i矩阵,F i -1为F i的逆矩阵。
优选的,所述基于确定出的所述海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,包括:
基于x t+1=x t -ηt(F)-1▽L进行本地深度学习模型的参数更新;
其中,x t 为进行第t次训练之后的本地深度学习模型的参数,x t+1为进行第t+1次训练之后的本地深度学习模型的参数,η为学习率,λ为设定参数,I为单位矩阵,L表示损失函数,▽表示计算损失函数L的梯度。
优选的,所述基于确定出的所述海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,包括:
基于x t+1=x t -ηt(F+λI)-1▽L进行本地深度学习模型的参数更新;
其中,x t 为进行第t次训练之后的本地深度学习模型的参数,x t+1为进行第t+1次训练之后的本地深度学习模型的参数,η为学习率,λ为设定参数,I为单位矩阵,L表示损失函数,▽表示计算损失函数L的梯度。
优选的,在计算时,通过矩阵特征值分解的方式进行计算。
优选的,在计算时,通过矩阵的特征值分解的方式进行计算,包括:
对a i-1 a T i-1和g i g i T 均进行矩阵的特征值分解;
基于进行第i矩阵F i的计算;
其中,A i 和G i 均为设定的中间参数,且A i =a i-1 a T i-1,G i =g i g i T ,Q Ai 为对A i 进行矩阵的特征值分解之后所得到的特征值向量矩阵,Q Gi 为对G i 进行矩阵的特征值分解之后所得到的特征值向量矩阵,L表示损失函数,▽表示计算损失函数L的梯度,d g 为对角矩阵D Gi 中元素所组成的向量,D Gi 为G i 的特征值所构成的对角矩阵,d a 为对角矩阵D Ai 中元素所组成的向量,D Ai 为A i 的特征值所构成的对角矩阵。
优选的,所述本地深度学习模型为基于神经网络的本地深度学习模型。
优选的,所述通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,包括:
通过all reduce的通信方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
优选的,所述通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,包括:
通过去中心化梯度数据同步的通信方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
优选的,所述通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,包括:
通过取平均值的计算方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
优选的,所述将待识别数据输入至训练完成的所述本地深度学习模型,并得到所述待识别数据的识别结果,包括:
将待识别数据输入至训练完成的所述本地深度学习模型,进行计算机图像识别、或者进行自然语言识别、或者进行模式识别,得到所述待识别数据的识别结果。
优选的,所述模型训练结束的触发条件为:
本地深度学习模型收敛,和/或进行本地深度学习模型的训练次数达到了设定的次数阈值。
优选的,还包括:
当失去与任意1个终端设备的通信连接时,输出通信故障提示信息。
优选的,还包括:
当接收到第一删除指令时,将所述第一删除指令所指定的终端设备从所述分布式集群中进行删除。
优选的,还包括:
当接收到第一恢复指令时,将所述第一恢复指令所指定的终端设备添加至所述分布式集群中。
优选的,还包括:
进行故障事件的记录。
优选的,还包括:
对终端设备之间的通信耗时进行统计。
一种基于分布式集群的数据处理系统,应用于分布式集群中的每一个终端设备中,包括:
本地训练模块,用于获取1个批次的训练样本并进行本地深度学习模型的训练,确定出本地深度学习模型中的每一层的输入数据以及每一层的梯度数据;
梯度数据同步模块,用于将自身确定出的每一层的梯度数据广播至其余各个终端设备,并接收其余各个终端设备所广播的数据,通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据;
矩阵求解模块,用于基于本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,确定出当前训练批次所使用的海森矩阵的逆矩阵;
参数更新模块,用于基于确定出的所述海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,并触发所述本地训练模块,直至模型训练结束;
执行模块,用于将待识别数据输入至训练完成的所述本地深度学习模型,并得到所述待识别数据的识别结果。
一种基于分布式集群的数据处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述所述的基于分布式集群的数据处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的基于分布式集群的数据处理方法的步骤。
应用本发明实施例所提供的技术方案,应用于分布式集群中的每一个终端设备中,实现分布式训练。具体的,本申请的方案有益效果在于:是基于确定出的海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新。基于海森矩阵的二阶优化算法可以实现较快的收敛速度,能高度逼近最优值。但是,传统的基于海森矩阵的二阶优化算法在参数规模较大情况下,耗时较长,这是因为计算海森矩阵及其逆矩阵的计算量很大,因此影响了每次迭代的计算时间。对此,本申请的方案中,考虑到海森矩阵是由多个矩阵所构成的对角矩阵,这些矩阵对应的是本地深度学习模型中的相应层,因此,本申请的方案中,每当获取1个批次的训练样本并进行本地深度学习模型的训练之后,会确定出本地深度学习模型中的每一层的输入数据以及每一层的梯度数据,进而将自身确定出的每一层的梯度数据广播至其余各个终端设备,并接收其余各个终端设备所广播的数据,通过进行梯度数据的同步,可以确定出进行了梯度数据同步之后的每一层的梯度数据。由于得到了本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,因此,可以据此确定出当前训练批次所使用的海森矩阵的逆矩阵,即,相对于传统方案中直接求解较大海森矩阵的逆矩阵,本申请的方案中是基于构成海森矩阵的各层矩阵,按层分别求解,这样有利于降低计算的繁琐程度,也就有利于降低每次训练时的迭代耗时。
综上所述,本申请的方案可以有效地进行深度学习模型的分布式训练,提高了收敛速度,也有利于降低训练时耗时。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种基于分布式集群的数据处理方法的实施流程图;
图2为本发明一种具体实施方式中的本地深度学习模型的分层结构示意图;
图3为本发明中一种基于分布式集群的数据处理系统的结构示意图;
图4为本发明中一种基于分布式集群的数据处理设备的结构示意图;
图5为本发明中一种计算机可读存储介质的结构示意图。
具体实施方式
本发明的核心是提供一种基于分布式集群的数据处理方法,可以有效地进行深度学习模型的分布式训练,提高了收敛速度,也有利于降低训练时耗时。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明中一种基于分布式集群的数据处理方法的实施流程图,该基于分布式集群的数据处理方法可以应用于分布式集群中的每一个终端设备中,包括以下步骤:
步骤S101:获取1个批次的训练样本并进行本地深度学习模型的训练,确定出本地深度学习模型中的每一层的输入数据以及每一层的梯度数据。
具体的,本申请是进行深度学习模型的分布式训练,因此本申请的方案需要应用至分布式集群中的每一个终端设备中。分布式集群中的终端设备也可以称为跨域异质设备,此处的跨域指的是跨地理域,异质设备指的是可以包含各种不同形态的终端设备,例如手机,摄像头,个人电脑等具有一定的计算能力的终端设备。
对于任意1个终端设备而言,每次触发步骤S101时,该终端设备便可以获取1个批次的训练样本并进行本地深度学习模型的训练,得到本地的参数梯度。在1个批次的训练样本中,具体的训练数据的内容,可以根据需要进行设定和调整,例如部分场合中,深度学习模型用于进行图像识别,则在训练时,会设定1个批次的训练样本中包括若干张训练图像。在进行本地深度学习模型的训练时,通过前向计算和反向计算,可以得到本地的参数梯度。并且,由于本申请的后续步骤中需要通过分层计算的方式得到海森矩阵的逆矩阵,因此,在执行步骤S101时,需要确定出本地深度学习模型中的每一层的输入数据以及每一层的梯度数据。
例如图2为一种具体实施方式中的本地深度学习模型的分层结构示意图,图2中的本地深度学习模型为基于神经网络的本地深度学习模型,也是目前较为常用的实施方式,可应用范围广泛,可以进行大数据量的处理,也支持多种算法。
图2的本地深度学习模型划分为9个神经网络层,第一层至第九层具体为:卷积层,权重归一化层,Relu激活函数层,随机失活层也即Drop out层,卷积层,权重归一化层,Relu激活函数层,Drop out层,1*1卷积层。
此外需要说明的是,本地深度学习模型的具体类型可以有多种,例如用于进行图像识别的深度学习模型,具体例如可以进行植物物种识别,又如可以是用于进行人脸识别的深度学习模型,进行数据分类识别的深度学习模型,进行语义分析识别的深度学习模型等等。
步骤S102:将自身确定出的每一层的梯度数据广播至其余各个终端设备,并接收其余各个终端设备所广播的数据,通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
每一个终端设备均可以确定出本地深度学习模型中的每一层的输入数据以及每一层的梯度数据,进而进行梯度数据的同步,也即终端设备可以将自身确定出的每一层的梯度数据广播至其余各个终端设备,同时,也可以接收其余各个终端设备所广播的数据。
例如集群中有100个节点,即100个终端设备,以终端设备1为例,终端设备1会将自身确定出的每一层的梯度数据广播至其余99个终端设备。也会接收其余99个终端设备所广播的数据。
在本发明的一种具体实施方式中,步骤S102中描述的通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,可以具体包括:
通过all reduce的通信方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
在进行梯度数据的同步时,All-Reduce算法是一种较为常用的通信方法,因此该种实施方式中,可以通过all reduce的通信方式,进行梯度数据的同步。All-Reduce算法去除了中心节点,有效地利用了计算设备之间的带宽,实现了更好的并行性。
在本发明的一种具体实施方式中,步骤S102中描述的通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,可以具体包括:
通过去中心化梯度数据同步的通信方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
该种实施方式中,是通过去中心化梯度数据同步的通信方式,进行梯度数据的同步,去中心化梯度数据同步的通信方式既能提高通信效率,又能很好地容忍异质性,在异质集群环境中,可以很好地抵抗Straggler问题。
此外,在其他具体实施方式中,还可以采用其他通信方式实现梯度数据的同步,并不影响本发明的实施。
在进行梯度数据的同步时,通常采用的是取平均值的计算方式,即在本发明的一种具体实施方式中,步骤S102中描述的通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,可以具体包括:
通过取平均值的计算方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
取平均值的计算方式在实现上较为简单方便,易于实施。当然,在其他具体实施方式中,可以根据需要选用其他具体的梯度数据同步的计算方式,例如排除部分异常值之后再进行平均值的计算。
此外可以理解的是,由于在本申请的方案中,进行梯度数据同步时,每个终端设备是将自身确定出的每一层的梯度数据广播至其余各个终端设备,因此,取平均值时也是分层进行,例如,将上文例子中100个终端设备各自确定出的第1层的梯度数据进行求平均值的计算,从而得到进行了梯度数据同步之后的第1层的梯度数据,其它层与此同理,例如,将上文例子中100个终端设备各自确定出的第2层的梯度数据进行求平均值的计算,从而得到进行了梯度数据同步之后的第2层的梯度数据。
步骤S103:基于本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,确定出当前训练批次所使用的海森矩阵的逆矩阵。
在传统方案中是直接求解海森矩阵,并计算求解出的海森矩阵的逆矩阵,这2个操作均耗时很长,特别是在参数规模较大情况下,会明显地提高每次训练的耗时。
对此,本申请的方案中考虑到海森矩阵F是由第1矩阵F 1至第n矩阵F n 所构成的对角矩阵,此处的第1矩阵F 1至第n矩阵F n ,依次对应的是本地深度学习模型的第1至第n层,例如上文图2的实施方式中n=9。即海森矩阵F可以表示为:F=diag(F 1,F 2 ,...,F n )。因此,确定出第1矩阵F 1至第n矩阵F n 各自的逆矩阵,便可以确定出海森矩阵F的逆矩阵。而基于本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,确定出第1矩阵F 1至第n矩阵F n 的逆矩阵的计算量远低于传统方案,因此也就有利于降低每次训练的耗时。
在本发明的一种具体实施方式中,所步骤S103可以具体包括:
基于确定出当前训练批次所使用的海森矩阵的逆矩阵;
其中,F为当前训练批次所使用的海森矩阵,diag表示海森矩阵F是由第1矩阵F 1至第n矩阵F n 所构成的对角矩阵,1≤i≤n,第1矩阵F 1至第n矩阵F n 依次对应本地深度学习模型的第1至第n层,n为本地深度学习模型的总层数,a i-1为本地深度学习模型第i层的输入数据,T表示矩阵的转置,g i 为梯度数据同步之后的第i层的梯度数据,为克罗内克积,F i为构成海森矩阵F的第i矩阵,F i -1为F i的逆矩阵。
本申请的方案中,可以基于本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,确定出第1矩阵F 1至第n矩阵F n 的逆矩阵的计算,而该种实施方式中,是通过计算来确定出相应层的逆矩阵。
具体的,如上文的描述,海森矩阵F可以表示为:F=diag(F 1,F 2 ,...,F n )。构成海森矩阵F的第i矩阵F i可以表示为。以某个终端设备为例,则此时的a i-1为该终端设备的本地深度学习模型第i层的输入数据,g i 为梯度数据同步之后的第i层的梯度数据,例如上文的例子中,某个终端设备可以将包括自身在内的100个终端设备各自确定出的第1层的梯度数据求平均值,从而得到进行了梯度数据同步之后的第1层的梯度数据,即得到g 1。
由于,因此/>,可以看出,相较于传统方案,该种实施方式中,相当于是将传统方案中直接求解较大的海森矩阵F,转换为求解构成海森矩阵F的多层的矩阵,而对于每层的求解,只需要求解两个较小矩阵的逆即可。
进一步的,在本发明的一种具体实施方式中,考虑到确定出海森矩阵的逆矩阵,通过上述的方式,相较于传统方案有效地降低了计算的复杂度,但由于仍然需要确定出a i-1 a T i-1和g i g i T 的逆矩阵,因此计算上仍然较为繁琐,对此该种实施方式中,考虑到在计算/>时,可以通过矩阵特征值分解的方式进行计算,从而不需要进行矩阵的求逆,也就进一步地降低训练耗时。
在本发明的一种具体实施方式中,在计算时,通过矩阵的特征值分解的方式进行计算,可以具体包括:
对a i-1 a T i-1和g i g i T 均进行矩阵的特征值分解;
基于进行第i矩阵F i的计算;
其中,A i 和G i 均为设定的中间参数,且A i =a i-1 a T i-1,G i =g i g i T ,Q Ai 为对A i 进行矩阵的特征值分解之后所得到的特征值向量矩阵,Q Gi 为对G i 进行矩阵的特征值分解之后所得到的特征值向量矩阵,L表示损失函数,▽表示计算损失函数L的梯度,d g 为对角矩阵D Gi 中元素所组成的向量,d a 为对角矩阵D Ai 中元素所组成的向量。
该种实施方式中引入了中间参数A i 和G i ,A i 和G i 均为矩阵。且A i =a i-1 a T i-1,G i =g i g i T ,因此对a i-1 a T i-1和g i g i T 均进行矩阵的特征值分解,也就是对A i 和G i 进行矩阵的特征值分解,可以得到(Q Ai ,D Ai ,Q T Ai ,)=eigen(A i ),(Q Gi ,D Gi ,Q T Gi ,)=eigen(G i ),eigen表示的是进行矩阵的特征值分解的操作,D Ai 为A i 的特征值所构成的对角矩阵,D Gi 为G i 的特征值所构成的对角矩阵。
而由于,可以进一步转换为:
。
从而可以得到:。可以看出,该式的等号右边已经没有了矩阵求逆的操作,即求解/>,变成了求/>,有效地降低了计算量。
步骤S104:基于确定出的海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,并返回执行步骤S101的操作,直至模型训练结束。
基于确定出的海森矩阵的逆矩阵,便可以通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,此时1轮训练或者称为1轮迭代便执行完毕,可以返回执行步骤S101的操作,以开始下一轮训练。
在本发明的一种具体实施方式中,步骤S104描述的基于确定出的海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,可以具体包括:
基于x t+1=x t -ηt(F )-1▽L进行本地深度学习模型的参数更新;
其中,x t 为进行第t次训练之后的本地深度学习模型的参数,x t+1为进行第t+1次训练之后的本地深度学习模型的参数,η为学习率,λ为设定参数,I为单位矩阵,L表示损失函数,▽表示计算损失函数L的梯度。
该种实施方式中,基于海森矩阵的二阶优化算法具体为x t+1=x t -ηt(F )-1▽L是目前较为常用的二阶优化算法。损失函数L例如可以具体采用交叉熵损失函数。
在本发明的一种具体实施方式中,步骤S104描述的基于确定出的海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,可以具体包括:
基于x t+1=x t -ηt(F+λI)-1▽L进行本地深度学习模型的参数更新;
其中,x t 为进行第t次训练之后的本地深度学习模型的参数,x t+1为进行第t+1次训练之后的本地深度学习模型的参数,η为学习率,λ为设定参数,I为单位矩阵,L表示损失函数,▽表示计算损失函数L的梯度。
该种实施方式中,设定参数λ通常为很小的数值,加入预先设定参数的λI,可以避免求解的逆出现病态条件。当然,需要说明的是,如果采用上述的基于进行第i矩阵F i的计算的实施方式,由于该种实施方式并不需要求解矩阵的逆,因此可以无需加入λI,将二阶优化算法设置为上一种实施方式中的x t+1=x t -ηt(F)-1▽L即可。
模型训练结束的触发方式可以有多种,例如在本发明的一种具体实施方式中,模型训练结束的触发条件为:
本地深度学习模型收敛,和/或进行本地深度学习模型的训练次数达到了设定的次数阈值。
该种实施方式中,考虑到本地深度学习模型收敛时,说明训练得到的本地深度学习模型达到了较好的学习效果,因此可以将其作为模型训练结束的触发条件,或者作为模型训练结束的触发条件之一。此外,部分场合中,考虑到进行本地深度学习模型的训练次数达到了设定的次数阈值时,无论本地深度学习是否模型收敛,通常均可以结束训练,以避免过拟合,训练时长过长等问题。本申请中的t即表示的是训练次数,也可以称为迭代次数。
在实际应用中,通常是将本地深度学习模型收敛,或者进行本地深度学习模型的训练次数达到了设定的次数阈值,作为模型训练结束的触发条件。当然,少部分场合中,可以根据实际需要,将二者同时满足作为模型训练结束的触发条件。
步骤S105:将待识别数据输入至训练完成的本地深度学习模型,并得到待识别数据的识别结果。
得到了训练完成的本地深度学习模型之后,将待识别数据输入至训练完成的本地深度学习模型,便可以得到待识别数据的识别结果。
如上文的描述,本申请的本地深度学习模型具体的识别内容可以根据需要进行设定,在本发明的一种具体实施方式中,考虑到本申请的深度学习模型通常为基于神经网络的本地深度学习模型,而计算机图像识别,自然语言处理,以及数据统计分析是经典神经网络的应用场合,因此,步骤S105可以具体为:将待识别数据输入至训练完成的本地深度学习模型,进行计算机图像识别、或者进行自然语言识别、或者进行模式识别,得到待识别数据的识别结果。
基于本地深度学习模型,可以进行计算机图像识别,即识别出图像中的内容,进行自然语言识别即识别文字/语音内容,并且转换为文字进行输出,进行模式识别也就是进行数据分析,即进行数据的规律识别。
在本发明的一种具体实施方式中,还可以包括:
当失去与任意1个终端设备的通信连接时,输出通信故障提示信息。
由于是分布式训练,因此本申请的方案需要进行终端设备之间的数据交互,因此,对于某个终端设备而言,当失去与任意1个终端设备的通信连接时,可以输出故障提示信息,以便工作人员及时进行故障的处理。
进一步的,在本发明的一种具体实施方式中,还可以包括:
当接收到第一删除指令时,将第一删除指令所指定的终端设备从分布式集群中进行删除。
该种实施方式考虑到,部分场合中,当集群中的1个或者多个终端设备故障时,并不会严重影响训练的进行,因此,当某个终端设备接收到第一删除指令时,可以将第一删除指令所指定的终端设备删除,从而可以继续执行梯度数据的同步流程。也就是说,将失去通信连接的终端设备从集群中进行剔除,使得可以继续执行本申请的分布式训练方案。工作人员可以通过上位机发第一删除指令至各个通信正常的终端设备,以使得通信故障的终端设备被各个正常的终端设备进行剔除。
进一步的,在本发明的一种具体实施方式中,还可以包括:
当接收到第一恢复指令时,将第一恢复指令所指定的终端设备添加至分布式集群中。
该种实施方式进一步的考虑到,如果某个通信故障的终端设备重新恢复了正常,则可以允许其重新加入集群,因此,当某个终端设备接收到第一恢复指令时,可以将第一恢复指令所指定的终端设备添加至分布式集群中,即该终端设备由于接收了第一恢复指令,使得该终端设备可以恢复与第一恢复指令所指定的终端设备的通信。
进一步的,在实际应用中,还可以进行故障事件的记录,以便协助工作人员后续的故障分析、总结等工作。故障事件的记录中,可以记录下故障发生的时间,故障终端设备的ID,故障类型等多方面的信息。
在本发明的一种具体实施方式中,还包括:
对终端设备之间的通信耗时进行统计。
本申请的方案中,可以有效地降低训练耗时,保障较高的收敛速度。而在部分场合中,可能仍然会出现训练进度较慢的情况,通常是由于在梯度数据同步时,通信上的耗时较长导致的,对此,该种实施方式中可以对终端设备之间的通信耗时进行统计,使得如果终端设备之间的通信耗时出现异常,工作人员可以及时发现,并且,对终端设备之间的通信耗时进行统计,也有助工作人员后续的通信分析工作以及进行通信上的优化。
应用本发明实施例所提供的技术方案,应用于分布式集群中的每一个终端设备中,实现分布式训练。具体的,本申请的方案中,是基于确定出的海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新。基于海森矩阵的二阶优化算法可以实现较快的收敛速度,能高度逼近最优值。但是,传统的基于海森矩阵的二阶优化算法在参数规模较大情况下,耗时较长,这是因为计算海森矩阵及其逆矩阵的计算量很大,因此影响了每次迭代的计算时间。对此,本申请的方案中,考虑到海森矩阵是由多个矩阵所构成的对角矩阵,这些矩阵对应的是本地深度学习模型中的相应层,因此,本申请的方案中,每当获取1个批次的训练样本并进行本地深度学习模型的训练之后,会确定出本地深度学习模型中的每一层的输入数据以及每一层的梯度数据,进而将自身确定出的每一层的梯度数据广播至其余各个终端设备,并接收其余各个终端设备所广播的数据,通过进行梯度数据的同步,可以确定出进行了梯度数据同步之后的每一层的梯度数据。由于得到了本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,因此,可以据此确定出当前训练批次所使用的海森矩阵的逆矩阵,即,相对于传统方案中直接求解较大海森矩阵的逆矩阵,本申请的方案中是基于构成海森矩阵的各层矩阵,按层分别求解,这样有利于降低计算的繁琐程度,也就有利于降低每次训练时的迭代耗时。
综上所述,本申请的方案可以有效地进行深度学习模型的分布式训练,提高了收敛速度,也有利于降低训练时耗时。
相应于上面的方法实施例,本发明实施例还提供了一种基于分布式集群的数据处理系统,可与上文相互对应参照。
参见图3所示,为本发明中一种基于分布式集群的数据处理系统的结构示意图,应用于分布式集群中的每一个终端设备中,包括:
本地训练模块301,用于获取1个批次的训练样本并进行本地深度学习模型的训练,确定出本地深度学习模型中的每一层的输入数据以及每一层的梯度数据;
梯度数据同步模块302,用于将自身确定出的每一层的梯度数据广播至其余各个终端设备,并接收其余各个终端设备所广播的数据,通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据;
矩阵求解模块303,用于基于本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,确定出当前训练批次所使用的海森矩阵的逆矩阵;
参数更新模块304,用于基于确定出的海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,并触发本地训练模块,直至模型训练结束;
执行模块305,用于将待识别数据输入至训练完成的本地深度学习模型,并得到待识别数据的识别结果
在本发明的一种具体实施方式中,矩阵求解模块303具体用于:
基于确定出当前训练批次所使用的海森矩阵的逆矩阵;
其中,F为当前训练批次所使用的海森矩阵,diag表示海森矩阵F是由第1矩阵F 1至第n矩阵F n 所构成的对角矩阵,1≤i≤n,第1矩阵F 1至第n矩阵F n 依次对应本地深度学习模型的第1至第n层,n为本地深度学习模型的总层数,a i-1为本地深度学习模型第i层的输入数据,T表示矩阵的转置,g i 为梯度数据同步之后的第i层的梯度数据,为克罗内克积,F i为构成海森矩阵F的第i矩阵,F i -1为F i的逆矩阵。
在本发明的一种具体实施方式中,矩阵求解模块303具体用于:
基于x t+1=x t -ηt(F)-1▽L进行本地深度学习模型的参数更新;
其中,x t 为进行第t次训练之后的本地深度学习模型的参数,x t+1为进行第t+1次训练之后的本地深度学习模型的参数,η为学习率,λ为设定参数,I为单位矩阵,L表示损失函数,▽表示计算损失函数L的梯度。
在本发明的一种具体实施方式中,参数更新模块304,具体用于:
基于x t+1=x t -ηt(F+λI)-1▽L进行本地深度学习模型的参数更新;
其中,x t 为进行第t次训练之后的本地深度学习模型的参数,x t+1为进行第t+1次训练之后的本地深度学习模型的参数,η为学习率,λ为设定参数,I为单位矩阵,L表示损失函数,▽表示计算损失函数L的梯度。
在本发明的一种具体实施方式中,在计算时,通过矩阵特征值分解的方式进行计算。
在本发明的一种具体实施方式中,在计算时,通过矩阵的特征值分解的方式进行计算,包括:
对a i-1 a T i-1和g i g i T 均进行矩阵的特征值分解;
基于进行第i矩阵F i的计算;
其中,A i 和G i 均为设定的中间参数,且A i =a i-1 a T i-1,G i =g i g i T ,Q Ai 为对A i 进行矩阵的特征值分解之后所得到的特征值向量矩阵,Q Gi 为对G i 进行矩阵的特征值分解之后所得到的特征值向量矩阵,L表示损失函数,▽表示计算损失函数L的梯度,d g 为对角矩阵D Gi 中元素所组成的向量,D Gi 为G i 的特征值所构成的对角矩阵,d a 为对角矩阵D Ai 中元素所组成的向量,D Ai 为A i 的特征值所构成的对角矩阵。
在本发明的一种具体实施方式中,本地深度学习模型为基于神经网络的本地深度学习模型。
在本发明的一种具体实施方式中,梯度数据同步模块302通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,包括:
通过all reduce的通信方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
在本发明的一种具体实施方式中,梯度数据同步模块302通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,包括:
通过去中心化梯度数据同步的通信方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
在本发明的一种具体实施方式中,梯度数据同步模块302通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,包括:
通过取平均值的计算方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
在本发明的一种具体实施方式中,执行模块305具体用于:
将待识别数据输入至训练完成的本地深度学习模型,进行计算机图像识别、或者进行自然语言识别、或者进行模式识别,得到待识别数据的识别结果。
在本发明的一种具体实施方式中,模型训练结束的触发条件为:
本地深度学习模型收敛,和/或进行本地深度学习模型的训练次数达到了设定的次数阈值。
在本发明的一种具体实施方式中,还包括故障提示模块,用于:
当失去与任意1个终端设备的通信连接时,输出通信故障提示信息。
在本发明的一种具体实施方式中,还包括节点删除模块,用于:
当接收到第一删除指令时,将第一删除指令所指定的终端设备从分布式集群中进行删除。
在本发明的一种具体实施方式中,还包括节点恢复模块,用于:
当接收到第一恢复指令时,将第一恢复指令所指定的终端设备添加至分布式集群中。
在本发明的一种具体实施方式中,还包括记录模块,用于:
进行故障事件的记录。
在本发明的一种具体实施方式中,还包括通信耗时统计模块,用于:
对终端设备之间的通信耗时进行统计。
相应于上面的方法实施例,本发明实施例还提供了一种基于分布式集群的数据处理设备以及计算机可读存储介质,可与上文相互对应参照。
可参阅图4,该基于分布式集群的数据处理设备可以包括:
存储器401,用于存储计算机程序;
处理器402,用于执行计算机程序以实现如上述任一实施例中的基于分布式集群的数据处理方法的步骤。
可参阅图5,该计算机可读存储介质50上存储有计算机程序51,计算机程序51被处理器执行时实现如上述任一实施例中的基于分布式集群的数据处理方法的步骤。这里所说的计算机可读存储介质50包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。
Claims (18)
1.一种基于分布式集群的数据处理方法,其特征在于,应用于分布式集群中的每一个终端设备中,包括:
获取1个批次的训练样本并进行本地深度学习模型的训练,确定出本地深度学习模型中的每一层的输入数据以及每一层的梯度数据;
将自身确定出的每一层的梯度数据广播至其余各个终端设备,并接收其余各个终端设备所广播的数据,通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据;
基于本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,确定出当前训练批次所使用的海森矩阵的逆矩阵;
基于确定出的所述海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,并返回执行所述获取1个批次的训练样本并进行本地深度学习模型的训练的操作,直至模型训练结束;
将待识别数据输入至训练完成的所述本地深度学习模型,并得到所述待识别数据的识别结果;
所述基于本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,确定出当前训练批次所使用的海森矩阵的逆矩阵,包括:
基于确定出当前训练批次所使用的海森矩阵的逆矩阵;
其中,F为当前训练批次所使用的海森矩阵,diag表示海森矩阵F是由第1矩阵F 1至第n矩阵F n 所构成的对角矩阵,1≤i≤n,第1矩阵F 1至第n矩阵F n 依次对应本地深度学习模型的第1至第n层,n为本地深度学习模型的总层数,a i-1为本地深度学习模型第i层的输入数据,T表示矩阵的转置,g i 为梯度数据同步之后的第i层的梯度数据,为克罗内克积,F i为构成海森矩阵F的第i矩阵,F i -1为F i的逆矩阵;
在计算时,通过矩阵特征值分解的方式进行计算。
2.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,所述基于确定出的所述海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,包括:
基于x t+1=x t -ηt(F)-1▽L进行本地深度学习模型的参数更新;
其中,x t 为进行第t次训练之后的本地深度学习模型的参数,x t+1为进行第t+1次训练之后的本地深度学习模型的参数,η为学习率,λ为设定参数,L表示损失函数,▽表示计算损失函数L的梯度。
3.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,所述基于确定出的所述海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,包括:
基于x t+1=x t -ηt(F+λI)-1▽L进行本地深度学习模型的参数更新;
其中,x t 为进行第t次训练之后的本地深度学习模型的参数,x t+1为进行第t+1次训练之后的本地深度学习模型的参数,η为学习率,λ为设定参数,I为单位矩阵,L表示损失函数,▽表示计算损失函数L的梯度。
4.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,在计算时,通过矩阵的特征值分解的方式进行计算,包括:
对a i-1 a T i-1和g i g i T 均进行矩阵的特征值分解;
基于进行第i矩阵F i的计算;
其中,A i 和G i 均为设定的中间参数,且A i =a i-1 a T i-1,G i =g i g i T ,Q Ai 为对A i 进行矩阵的特征值分解之后所得到的特征值向量矩阵,Q Gi 为对G i 进行矩阵的特征值分解之后所得到的特征值向量矩阵,L表示损失函数,▽表示计算损失函数L的梯度,d g 为对角矩阵D Gi 中元素所组成的向量,D Gi 为G i 的特征值所构成的对角矩阵,d a 为对角矩阵D Ai 中元素所组成的向量,D Ai 为A i 的特征值所构成的对角矩阵。
5.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,所述本地深度学习模型为基于神经网络的本地深度学习模型。
6.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,所述通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,包括:
通过all reduce的通信方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
7.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,所述通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,包括:
通过去中心化梯度数据同步的通信方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
8.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,所述通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据,包括:
通过取平均值的计算方式,进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据。
9.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,所述将待识别数据输入至训练完成的所述本地深度学习模型,并得到所述待识别数据的识别结果,包括:
将待识别数据输入至训练完成的所述本地深度学习模型,进行计算机图像识别、或者进行自然语言识别、或者进行数据的规律识别,得到所述待识别数据的识别结果。
10.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,所述模型训练结束的触发条件为:
本地深度学习模型收敛,和/或进行本地深度学习模型的训练次数达到了设定的次数阈值。
11.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,还包括:
当失去与任意1个终端设备的通信连接时,输出通信故障提示信息。
12.根据权利要求9所述的基于分布式集群的数据处理方法,其特征在于,还包括:
当接收到第一删除指令时,将所述第一删除指令所指定的终端设备从所述分布式集群中进行删除。
13.根据权利要求12所述的基于分布式集群的数据处理方法,其特征在于,还包括:
当接收到第一恢复指令时,将所述第一恢复指令所指定的终端设备添加至所述分布式集群中。
14.根据权利要求9所述的基于分布式集群的数据处理方法,其特征在于,还包括:
进行故障事件的记录。
15.根据权利要求9所述的基于分布式集群的数据处理方法,其特征在于,还包括:
对终端设备之间的通信耗时进行统计。
16.一种基于分布式集群的数据处理系统,其特征在于,应用于分布式集群中的每一个终端设备中,包括:
本地训练模块,用于获取1个批次的训练样本并进行本地深度学习模型的训练,确定出本地深度学习模型中的每一层的输入数据以及每一层的梯度数据;
梯度数据同步模块,用于将自身确定出的每一层的梯度数据广播至其余各个终端设备,并接收其余各个终端设备所广播的数据,通过进行梯度数据的同步,确定出进行了梯度数据同步之后的每一层的梯度数据;
矩阵求解模块,用于基于本地深度学习模型中的每一层的输入数据,以及梯度数据同步之后的每一层的梯度数据,确定出当前训练批次所使用的海森矩阵的逆矩阵;
参数更新模块,用于基于确定出的所述海森矩阵的逆矩阵,通过基于海森矩阵的二阶优化算法,进行本地深度学习模型的参数更新,并触发所述本地训练模块,直至模型训练结束;
执行模块,用于将待识别数据输入至训练完成的所述本地深度学习模型,并得到所述待识别数据的识别结果;
所述矩阵求解模块具体用于:
基于确定出当前训练批次所使用的海森矩阵的逆矩阵;
其中,F为当前训练批次所使用的海森矩阵,diag表示海森矩阵F是由第1矩阵F 1至第n矩阵F n 所构成的对角矩阵,1≤i≤n,第1矩阵F 1至第n矩阵F n 依次对应本地深度学习模型的第1至第n层,n为本地深度学习模型的总层数,a i-1为本地深度学习模型第i层的输入数据,T表示矩阵的转置,g i 为梯度数据同步之后的第i层的梯度数据,为克罗内克积,F i为构成海森矩阵F的第i矩阵,F i -1为F i的逆矩阵;
在计算时,通过矩阵特征值分解的方式进行计算。
17.一种基于分布式集群的数据处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至15任一项所述的基于分布式集群的数据处理方法的步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至15任一项所述的基于分布式集群的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310288285.2A CN116070720B (zh) | 2023-03-23 | 2023-03-23 | 基于分布式集群的数据处理方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310288285.2A CN116070720B (zh) | 2023-03-23 | 2023-03-23 | 基于分布式集群的数据处理方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116070720A CN116070720A (zh) | 2023-05-05 |
CN116070720B true CN116070720B (zh) | 2023-07-21 |
Family
ID=86170047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310288285.2A Active CN116070720B (zh) | 2023-03-23 | 2023-03-23 | 基于分布式集群的数据处理方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116070720B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116955365B (zh) * | 2023-09-21 | 2024-02-09 | 浪潮电子信息产业股份有限公司 | 梯度数据同步方法、模型训练方法、系统、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110135573A (zh) * | 2018-02-02 | 2019-08-16 | 阿里巴巴集团控股有限公司 | 一种深度学习模型的训练方法、计算设备以及系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10628973B2 (en) * | 2017-01-06 | 2020-04-21 | General Electric Company | Hierarchical tomographic reconstruction |
JP7179835B2 (ja) * | 2018-04-12 | 2022-11-29 | 日本電信電話株式会社 | モデル生成装置、モデル生成方法、プログラム |
CN109299781B (zh) * | 2018-11-21 | 2021-12-03 | 安徽工业大学 | 基于动量和剪枝的分布式深度学习系统 |
CN110401626B (zh) * | 2019-03-14 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 一种黑客攻击分级检测方法及装置 |
CN110084378B (zh) * | 2019-05-07 | 2023-04-21 | 南京大学 | 一种基于本地学习策略的分布式机器学习方法 |
US10803184B2 (en) * | 2019-08-09 | 2020-10-13 | Alibaba Group Holding Limited | Generation of a model parameter |
EP3848836A1 (en) * | 2020-01-07 | 2021-07-14 | Robert Bosch GmbH | Processing a model trained based on a loss function |
CN111582494B (zh) * | 2020-04-17 | 2023-07-07 | 浙江大学 | 一种基于延迟处理的混合分布式机器学习更新方法 |
CN113642734A (zh) * | 2020-05-11 | 2021-11-12 | 阿里巴巴集团控股有限公司 | 一种深度学习模型的分布式训练方法、装置以及计算设备 |
CN111709533B (zh) * | 2020-08-19 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 机器学习模型的分布式训练方法、装置以及计算机设备 |
CN112862088B (zh) * | 2021-01-18 | 2023-11-07 | 中山大学 | 一种基于流水线环形参数通信的分布式深度学习方法 |
CN113886460A (zh) * | 2021-09-26 | 2022-01-04 | 中国空间技术研究院 | 低带宽分布式深度学习方法 |
CN114169534A (zh) * | 2021-12-09 | 2022-03-11 | 京东科技信息技术有限公司 | 分布式机器学习模型的训练方法、装置、设备及介质 |
CN115665174B (zh) * | 2022-12-13 | 2023-03-14 | 浪潮电子信息产业股份有限公司 | 一种梯度数据的同步方法、系统、设备及存储介质 |
-
2023
- 2023-03-23 CN CN202310288285.2A patent/CN116070720B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110135573A (zh) * | 2018-02-02 | 2019-08-16 | 阿里巴巴集团控股有限公司 | 一种深度学习模型的训练方法、计算设备以及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116070720A (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | Federated learning with non-iid data | |
JP6806412B2 (ja) | パターン認識に適用可能なモデルを最適化するための方法および装置ならびに端末デバイス | |
CN116070720B (zh) | 基于分布式集群的数据处理方法、系统、设备及存储介质 | |
CN112215353B (zh) | 一种基于变分结构优化网络的通道剪枝方法 | |
CN106296425A (zh) | 基于带权重联合非负矩阵分解的属性图聚类方法及系统 | |
CN107194415A (zh) | 一种基于拉普拉斯中心性的峰值聚类方法 | |
CN113886460A (zh) | 低带宽分布式深度学习方法 | |
Kanoria et al. | Tractable bayesian social learning on trees | |
CN118211268A (zh) | 基于扩散模型的异构联邦学习隐私保护方法及系统 | |
Xin et al. | Gradient tracking and variance reduction for decentralized optimization and machine learning | |
Lyu et al. | Personalized federated learning with multiple known clusters | |
CN117914690A (zh) | 一种基于深度学习gcn-lstm的边缘节点网络故障预测方法 | |
CN114254117A (zh) | 一种基于数据增强和自适应负采样技术的知识图谱推理方法 | |
Lee et al. | Communication-efficient parallelization strategy for deep convolutional neural network training | |
CN115953651B (zh) | 一种基于跨域设备的模型训练方法、装置、设备及介质 | |
WO2020168676A1 (zh) | 一种网络故障处理模型的构建方法、故障处理方法及系统 | |
CN113946424B (zh) | 基于图卷积网络的软硬件划分和任务调度模型及其方法 | |
Liu et al. | General decentralized federated learning for communication-computation tradeoff | |
CN115994590B (zh) | 基于分布式集群的数据处理方法、系统、设备及存储介质 | |
CN113033422A (zh) | 基于边缘计算的人脸检测方法、系统、设备和存储介质 | |
CN112000389A (zh) | 一种配置推荐方法、系统、装置及计算机存储介质 | |
CN113052712A (zh) | 社交数据的分析方法、系统及存储介质 | |
CN113609758B (zh) | 一种新建风电场的功率预测方法 | |
Song et al. | Ant colony clustering based on sampling for community detection | |
CN118380007B (zh) | 语音增强方法、模型训练方法、装置及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |