CN117687801B - 一种跨域分布式计算系统、方法、存储介质和电子设备 - Google Patents
一种跨域分布式计算系统、方法、存储介质和电子设备 Download PDFInfo
- Publication number
- CN117687801B CN117687801B CN202410146915.7A CN202410146915A CN117687801B CN 117687801 B CN117687801 B CN 117687801B CN 202410146915 A CN202410146915 A CN 202410146915A CN 117687801 B CN117687801 B CN 117687801B
- Authority
- CN
- China
- Prior art keywords
- matrix
- diagonal
- training
- distributed computing
- diagonal block
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003860 storage Methods 0.000 title claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims abstract description 421
- 238000012549 training Methods 0.000 claims abstract description 133
- 238000003062 neural network model Methods 0.000 claims abstract description 48
- 238000005457 optimization Methods 0.000 claims abstract description 38
- 230000008859 change Effects 0.000 claims description 48
- 238000004364 calculation method Methods 0.000 claims description 39
- 238000013528 artificial neural network Methods 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 33
- 210000002569 neuron Anatomy 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 39
- 230000004044 response Effects 0.000 abstract description 3
- 238000010801 machine learning Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 21
- 230000008901 benefit Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 230000002776 aggregation Effects 0.000 description 8
- 238000004220 aggregation Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000006467 substitution reaction Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101100153586 Caenorhabditis elegans top-1 gene Proteins 0.000 description 1
- 101100370075 Mus musculus Top1 gene Proteins 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Algebra (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供一种跨域分布式计算系统、方法、存储介质和电子设备,涉及机器学习领域,包括:任务获取模块,用于获取分布式计算任务;任务训练模块,用于利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练,并在所述二阶优化训练时设定矩阵更新阈值,以加速所述分布式神经网络模型的所述二阶优化训练;结果输出模块,用于整合各所述分布式神经网络模型的训练结果,并输出全局模型参数;所述全局模型参数为所述分布式计算任务对应训练模型的模型参数。本发明能够降低算法运算复杂度。提高训练效率,在训练或推理之前将模型和数据加载到内存中,减少IO开销,从而减少对远程域的访问频率,提高系统的响应速度和性能。
Description
技术领域
本发明涉及机器学习领域,特别涉及一种跨域分布式计算系统、方法、存储介质和电子设备。
背景技术
现有应用于分布式计算的二阶优化算法,在各次迭代中需要计算大规模海森矩阵或费歇尔信息矩阵及其逆矩阵或特征值矩阵,导致算法本身计算开销过大。因此,如何降低大规模矩阵的逆运算、特征值运算、矩阵乘法的计算复杂度,减少矩阵的存储开销,突破异构计算节点(进程)间的通信瓶颈是本领域技术人员亟需解决的技术问题。
发明内容
本发明的目的是提供一种跨域分布式计算系统、方法、存储介质和电子设备,通过分布式二级并行训练降低算法运算复杂度,并采用矩阵更新阈值减少重复计算,提高训练效率。
为解决上述技术问题,本发明还提供一种跨域分布式计算系统,包括:
任务获取模块,用于获取分布式计算任务;
任务训练模块,用于利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练,并在所述二阶优化训练时设定矩阵更新阈值,以加速所述分布式神经网络模型的所述二阶优化训练;
结果输出模块,用于整合各所述分布式神经网络模型的训练结果,并输出全局模型参数;所述全局模型参数为所述分布式计算任务对应训练模型的模型参数。
可选的,任务训练模块包括:
对角块近似处理子模块,用于对全局海森矩阵及费歇尔信息矩阵进行对角块近似处理;
对角线元素替换子模块,用于对每个对角块采用对角线元素替换。
可选的,所述对角块近似处理子模块包括:
拆分单元,用于根据原始神经网络的层数将矩阵拆分为多个小矩阵;所述矩阵包括全局海森矩阵及费歇尔信息矩阵。
可选的,拆分单元包括:
拆分子单元,用于将矩阵拆分为与原始神经网络的层数相同个数的小矩阵;其中,各所述小矩阵等于所述神经网络对应层的神经元数量。
可选的,对角线元素替换子模块包括:
提取单元,用于提取所述对角块中的元素,构成替换矩阵,并利用近似系数弥补信息损失;所述近似系数为所述对角块的非对角线元素之和与所有元素之和的比值。
可选的,还包括:
近似系数确定单元,用于利用近似系数计算公式确定所述近似系数;
所述近似系数计算公式为:
;
其中:
;
;
;
其中,L1为所述原始神经网络第一层的神经元数量,L2为所述原始神经网络第二层的神经元数量,原始矩阵的对角线元素提取出来构成矩阵,矩阵的规模为,表示矩阵对角线以下所有元素之和,表示矩阵对角线以上所有元素之和,表示矩阵中第行第列的元素,表示矩阵中第行第列的元素。
可选的,还包括:
存储空间计算单元,用于计算所述替换矩阵的存储空间;所述替换矩阵的存储空间为所述原始矩阵占用存储空间的开方。
可选的,还包括:
量和求逆计算量计算单元,用于确定所述替换矩阵的矩阵乘法计算量和求逆计算量。
可选的,任务训练模块包括:
判断子模块,用于判断本次迭代训练中的第一对角块矩阵和上一次迭代训练中的第二对角块矩阵的差距是否小于所述矩阵更新阈值;
更新子模块,用于若本次迭代训练中的第一对角块矩阵和上一次迭代训练中的第二对角块矩阵的差距大于或等于所述矩阵更新阈值,对所述对角块矩阵进行更新。
可选的,更新子模块包括:
第一对角块矩阵更新单元,用于基于所述对角块矩阵的迹的变化率更新所述对角块矩阵。
可选的,更新子模块包括:
第二对角块矩阵更新单元,用于基于所述对角块矩阵的矩阵范数更新所述对角块矩阵。
可选的,还包括:
第一获取单元,用于获取所述第一对角块矩阵的第一迹和所述第二对角块矩阵的第二迹;
第一确定单元,用于确定所述第一迹和所述第二迹之间的第一差值;
第二确定单元,用于根据所述第一差值和所述第一迹的比值确定所述变化率。
可选的,还包括:
第二获取单元,用于获取矩阵的迹的定义公式;
所述定义公式为;
所述表示原始矩阵的迹。
可选的,第二对角块矩阵更新单元包括:
范数定义公式获取子单元,用于获取所述矩阵范数的范数定义公式;
第一确定子单元,用于根据所述范数定义公式确定所述第一对角块矩阵的第一范数和所述第二对角块矩阵的第二范数;
第二确定子单元,用于确定所述第一范数和所述第二范数之间的第二差值;
第三确定子单元,用于根据所述第二差值和所述第一范数的比值确定矩阵变化率;
矩阵更新阈值更新子单元,用于根据所述矩阵变化率更新所述对角块矩阵。
可选的,第一对角块矩阵更新单元用于执行如下步骤:
若所述变化率小于预设变化率区间,在包括本次迭代的此后预设迭代次数内,保持所述对角块矩阵不变;
若所述变化率等于所述预设变化率区间,保持所述对角块矩阵不变;
若所述变化率大于所述预设变化率区间,对所述对角块矩阵进行更新。
可选的,第二对角块矩阵更新单元用于执行如下步骤:
若所述矩阵范数小于预设范数区间,在包括本次迭代的此后预设迭代次数内,保持所述对角块矩阵不变;
若所述矩阵范数等于所述预设范数区间,本次迭代训练中保持所述对角块矩阵不变;
若所述矩阵范数大于所述预设范数区间,对所述对角块矩阵进行更新。
可选的,还包括:
配置模块,用于配置所述分布式神经网络模型的通信拓扑结构;所述通信拓扑结构包含若干训练域,每个所述训练域包含一个局部头节点和若干边缘计算节点。
可选的,所述通信拓扑结构中每个所述训练域中所述局部头节点和各所述边缘计算节点构成树形拓扑。
可选的,各所述训练域中的所述局部头节点构成环形拓扑。
本发明提供一种跨域分布式计算方法,包括:
获取分布式计算任务;
利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练,并在所述二阶优化训练时设定矩阵更新阈值,以加速所述分布式神经网络模型的所述二阶优化训练;
整合各所述分布式神经网络模型的训练结果,并输出全局模型参数;所述全局模型参数为所述分布式计算任务对应训练模型的模型参数。
可选的,利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练包括:
对全局海森矩阵及费歇尔信息矩阵进行对角块近似处理;
对每个对角块采用对角线元素替换。
可选的,对全局海森矩阵及费歇尔信息矩阵进行对角块近似处理包括:
根据原始神经网络的层数将矩阵拆分为多个小矩阵;所述矩阵包括全局海森矩阵及费歇尔信息矩阵。
可选的,根据原始神经网络的层数将矩阵拆分为多个小矩阵包括:
将矩阵拆分为与原始神经网络的层数相同个数的小矩阵;其中,各所述小矩阵等于所述神经网络对应层的神经元数量。
可选的,所述对每个对角块采用对角线元素替换包括:
提取所述对角块中的元素,构成替换矩阵,并利用近似系数弥补信息损失;所述近似系数为所述对角块的非对角线元素之和与所有元素之和的比值。
可选的,利用近似系数弥补信息损失之前,还包括:
利用近似系数计算公式确定所述近似系数;
所述近似系数计算公式为:
;
其中:
;
;
;
其中,L1为所述原始神经网络第一层的神经元数量,L2为所述原始神经网络第二层的神经元数量,原始矩阵的对角线元素提取出来构成矩阵,矩阵的规模为,表示矩阵对角线以下所有元素之和,表示矩阵对角线以上所有元素之和,表示矩阵中第行第列的元素,表示矩阵中第行第列的元素。
可选的,提取所述对角块中的元素,构成替换矩阵之后,还包括:
计算所述替换矩阵的存储空间;所述替换矩阵的存储空间为所述原始矩阵占用存储空间的开方。
可选的,提取所述对角块中的元素,构成替换矩阵之后,还包括:
确定所述替换矩阵的矩阵乘法计算量和求逆计算量。
可选的,在训练时采用矩阵更新阈值对所述分布式神经网络模型进行加速包括:
判断本次迭代训练中的第一对角块矩阵和上一次迭代训练中的第二对角块矩阵的差距是否小于所述矩阵更新阈值;
若否,对所述对角块矩阵进行更新。
可选的,对所述对角块矩阵进行更新包括:
基于所述对角块矩阵的迹的变化率更新所述对角块矩阵。
可选的,对所述对角块矩阵进行更新包括:
基于所述对角块矩阵的矩阵范数更新所述对角块矩阵。
可选的,所述基于所述对角块矩阵的迹的变化率更新所述对角块矩阵之前,还包括:
获取所述第一对角块矩阵的第一迹和所述第二对角块矩阵的第二迹;
确定所述第一迹和所述第二迹之间的第一差值;
根据所述第一差值和所述第一迹的比值确定所述变化率。
可选的,获取所述第一对角块矩阵的第一迹和所述第二对角块矩阵的第二迹之前,还包括:
获取矩阵的迹的定义公式;
所述定义公式为;
所述表示原始矩阵的迹。
可选的,基于所述对角块矩阵的矩阵范数更新所述对角块矩阵包括:
获取所述矩阵范数的范数定义公式;
根据所述范数定义公式确定所述第一对角块矩阵的第一范数和所述第二对角块矩阵的第二范数;
确定所述第一范数和所述第二范数之间的第二差值;
根据所述第二差值和所述第一范数的比值确定矩阵变化率;
根据所述矩阵变化率更新所述对角块矩阵。
可选的,基于所述对角块矩阵的迹的变化率更新所述对角块矩阵包括:
若所述变化率小于预设变化率区间,在包括本次迭代的此后预设迭代次数内,保持所述对角块矩阵不变;
若所述变化率等于所述预设变化率区间,保持所述对角块矩阵不变;
若所述变化率大于所述预设变化率区间,对所述对角块矩阵进行更新。
可选的,基于所述对角块矩阵的矩阵范数更新所述对角块矩阵包括:
若所述矩阵范数小于预设范数区间,在包括本次迭代的此后预设迭代次数内,保持所述对角块矩阵不变;
若所述矩阵范数等于所述预设范数区间,本次迭代训练中保持所述对角块矩阵不变;
若所述矩阵范数大于所述预设范数区间,对所述对角块矩阵进行更新。
可选的,利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练之前,还包括:
配置所述分布式神经网络模型的通信拓扑结构;所述通信拓扑结构包含若干训练域,每个所述训练域包含一个局部头节点和若干边缘计算节点。
可选的,所述通信拓扑结构中每个所述训练域中所述局部头节点和各所述边缘计算节点构成树形拓扑。
可选的,各所述训练域中的所述局部头节点构成环形拓扑。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的跨域分布式计算方法的步骤。
本发明还提供一种电子设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的跨域分布式计算方法的步骤。
本发明提供一种跨域分布式计算系统,包括:任务获取模块,用于获取分布式计算任务;任务训练模块,用于利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练,并在所述二阶优化训练时设定矩阵更新阈值,以加速所述分布式神经网络模型的所述二阶优化训练;结果输出模块,用于整合各所述分布式神经网络模型的训练结果,并输出全局模型参数;所述全局模型参数为所述分布式计算任务对应训练模型的模型参数。
本发明提出新型二阶优化算法以及矩阵更新评估指标,降低算法运算复杂度。在矩阵更新阈值设计方面,通过缓存模型参数、中间计算结果等来减少重复计算,提高训练效率,在训练或推理之前将模型和数据加载到内存中,减少IO开销,从而减少对远程域的访问频率,提高系统的响应速度和性能。
本发明还提供一种跨域分布式计算方法、存储介质和电子设备,具有上述有益效果,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种跨域分布式计算系统结构图;
图2为本发明实施例所提供的高效优化器示意图;
图3为本发明实施例所提供的一种分布式计算系统的拓扑结构图;
图4为本发明实施例所提供的树形拓扑的拓扑结构图;
图5为本发明实施例所提供的参数服务器拓扑的拓扑结构图;
图6为本发明实施例所提供的一种跨域分布式计算方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的一种跨域分布式计算系统结构图,该系统包括:
任务获取模块,用于获取分布式计算任务;
任务训练模块,用于利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练,并在所述二阶优化训练时设定矩阵更新阈值,以加速所述分布式神经网络模型的所述二阶优化训练;
结果输出模块,用于整合各所述分布式神经网络模型的训练结果,并输出全局模型参数;所述全局模型参数为所述分布式计算任务对应训练模型的模型参数。
现有面向分布式计算的优化器,包括一阶优化器以及二阶优化器。一阶优化器具有计算相对简单,大多算法仅需计算目标函数的梯度信息,但是由于随机采样计算的随机梯度导致分布式计算算法收敛缓慢,严重时甚至发散。为了解决这个问题,本发明实施例提出了二阶优化器,其核心思想是利用梯度的高阶信息(曲率矩阵),搜索更为合适的参数更新步长与方向,使得算法加快收敛速率。通常,与一阶算法相比,收敛至相同Top-1验证精度(神经网络图像分类任务的基准),二阶算法比一阶算法的迭代epoch数目(在模型训练的过程中,运行模型对全部数据完成一次前向传播和反向传播的完整过程称为一个epoch,在梯度下降的模型训练的过程中,神经网络逐渐从不拟合状态到优化拟合状态,达到最优状态之后会进入过拟合状态,因此epoch并非越大越好,一般是指在50到200之间。数据越多样,相应epoch就越大。)要至少减少1/3-1/2。因此,二阶算法是非常具有潜力的优化器。
(1)。
(2)。
公式(1)表示二阶牛顿迭代法的参数更新规则,表示模型在第次迭代中的参数,表示学习率,表示海森矩阵的逆矩阵,表示目标函数的一阶梯度。类似地,公式(2)表示二阶自然梯度下降法的参数更新规则,表示模型在第次迭代中的参数,表示学习率,表示费歇尔信息的逆矩阵,表示目标函数的一阶梯度。
但是,由于现有Newton算法(牛顿迭代算法)及自然梯度下降算法各次迭代,均需要计算目标函数的海森矩阵及其逆矩阵、费歇尔信息矩阵及其逆局、特殊情况下还要计算海森矩阵和费歇尔信息矩阵的特征值分解矩阵等,导致二阶优化器单次迭代耗时较一阶优化器更高。
矩阵H及F近似设计原理:由于经典Newton或自然梯度下降算法在各次迭代中,均需要基于新样本计算存储和运算量巨大的海森矩阵H和费歇尔信息矩阵F及其逆矩阵,随着矩阵规模的增长,存储和计算开销过大。因此,本发明利用神经网络的分层特性首先对全局海森矩阵及费歇尔信息矩阵实施对角块近似,其次针对每个规模相对较小的对角块采用对角线元素替换以降低矩阵求逆的复杂度。下面分别阐述对较块近似与对角线元素体化策略。
参见图2,图2展示了高效优化器设计的示意图。图2包括大规模全局海森矩阵及费歇尔信息矩阵的对角块近似技术组件与小规模对角块矩阵的对角线元素替换技术。下面详细阐述上述组件。
本发明在任务获取模块获取分布式计算任务后,通过任务训练模块利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练,并在所述二阶优化训练时设定矩阵更新阈值,以加速所述分布式神经网络模型的所述二阶优化训练。具体的,任务训练模块可以包括:
对角块近似处理子模块,用于对全局海森矩阵及费歇尔信息矩阵进行对角块近似处理;
对角线元素替换子模块,用于对每个对角块采用对角线元素替换。
对角块近似处理子模块和对角线元素替换子模块均为执行二阶优化训练的时应用的具体子模块。
本实施例可以将全局海森矩阵H和费歇尔信息矩阵F进行对角块近似。更具体的,对角块近似处理子模块可以包括拆分单元,用于根据原始神经网络的层数将矩阵拆分为多个小矩阵。例如将规模为n*n的矩阵拆分成3个规模较小的矩阵M1、M2、以及M3。需要指出的是:将一个大规模矩阵拆分成多个小矩阵的规则是原始神经网络的层数。一种可行的实施例,拆分单元可以包括拆分子单元,用于将矩阵拆分为与原始神经网络的层数相同个数的小矩阵,且各所述小矩阵等于所述神经网络对应层的神经元数量。如果原始神经网络具有3层结构,那么就将全局海森矩阵H和费歇尔信息矩阵F拆分成3个规模较小的矩阵,并且每个小矩阵的规模等同于神经网络对应层的神经元数目。例如,在本实例中,原始3层神经网络,第一层有L1个神经元、第二层有L2个神经元、第三层有L3个神经元,则全局矩阵H或F将被拆分成三个矩阵M1、M2、M3,并且M1的规模为L1*L1的方阵、M2的规模为L2*L2的方阵、M3的规模为L3*L3。矩阵其他部分都置为0。
优势1:有效降低存储开销。原始全矩阵需要占用的存储空间为。块对角近似后矩阵所占用的空间为:。由于,因此,。故拆分后的矩阵占用存储空间少于原始矩阵,即该方法降低了存储开销。
优势2:有效降低了矩阵乘法及矩阵求逆计算量。原始全矩阵计算矩阵乘法以及矩阵求逆的计算量为。块对角近似后矩阵所需计算量为:。由于,因此,。故拆分后的矩阵计算量少于原始矩阵计算量,即该方法降低了矩阵运算的计算量。
考虑到获得的对角块矩阵规模在某些场景中仍然过大的问题,例如神经网络对应的某一层宽度较宽(神经元数目多),使得计算小规模对角块矩阵的矩阵乘法以及矩阵求逆等运算计算量大。为此,本发明提出了对角块矩阵的对角线元素替换技术。
具体而言,在图2中,将矩阵的对角线元素提取出来构成矩阵。此外,考虑到由全矩阵向转化的过程中会有信息损失。为了弥补上述信息损失,本发明提出了如下的近似系数λ。
;
;
;
;
其中,近似系数λ定义为矩阵的非对角线元素之和与矩阵所有元素之和的比值,并且矩阵的规模为,表示矩阵对角线以下所有元素之和,表示矩阵对角线以上所有元素之和,表示矩阵中第行第列的元素,表示矩阵中第行第列的元素。
上述对角块矩阵采用对角线元素替换的优势在于以下两个方面:
优势1:有效降低了存储开销。原始全矩阵M1需要占用的存储空间为。对角线替换后矩阵所占用的空间为:,实现了指数级的降低。即该方法降低了存储开销。
优势2:有效降低了矩阵乘法及矩阵求逆计算量。原始全矩阵计算矩阵乘法以及矩阵求逆的计算量为。对角线替换后矩阵所需计算量为。这是因为对角线矩阵的逆运算等于对角线元素的倒数,因此,对角线矩阵逆运算可由立方规模降至线性规模。故替换后的矩阵计算量指数级降低,从而使得训练速度大大提升。
二阶算法中最耗时部分即为频繁地进行矩阵运算。为此,本发明提出矩阵阈值更新机制,即只有当矩阵满足一定条件才进行更新,否则不进行更新。例如,第t次迭代中对角块矩阵与第t+1次迭代中的对角块矩阵,两者之间的差距或变化小于某个预先定义的阈值,则算法无需在每次迭代中对其更新。
本发明提出两种矩阵阈值更新策略:
策略1:基于块对角矩阵迹的更新策略。
注意到矩阵的迹定义为:,即矩阵的所有对角线元素之和,并且矩阵的规模为。
因此,本发明定义的基于块对角矩阵迹的更新策略S1如下:
;
策略表示矩阵的迹的变化率,通过与矩阵迹的差值,判断矩阵变化情况。
策略2:基于块对角矩阵F范数的更新策略。
注意到矩阵的F范数的定义为:,即矩阵的所有对角元素的平方和,并且矩阵的规模为。
因此,本发明定义的基于块对角矩阵F范数的更新策略S2如下:
;
策略表示矩阵的F范数差值,通过与矩阵的F范数差值比较,判断矩阵变化情况。
根据应用场景的不同,可以选择适合的策略或策略。策略侧重对角线元素本身的特性,策略关注对角线元素绝对值平方的特性。
综上所述,本发明定义如下两种对角块矩阵更新方法:
基于策略的对角块更新方法:
步骤1:输入预先设定的参数、,并且它们将[0,+∞)分成三段,即[0, )、[,θ_1]、(,+∞);
步骤2.1:如果第在第t次迭代中,落在区间(,+∞),即∈(,+∞),即说明块对角矩阵迹的变化较大,因此需要对对角块进行更新;
步骤2.2:如果第在第t次迭代中,落在区间[,],即∈[,],即说明块对角矩阵迹的变化不大,因此令;
步骤2.3:如果第在第t次迭代中,落在区间[0,),即∈[0,),即说明块对角矩阵迹的变化非常小,因此令 (从t次迭代后,K个迭代之内,矩阵保持不变,也就是不更新矩阵),其中k=1,2,…K。
基于策略的对角块更新方法如下:
步骤1:输入预先设定的参数、,并且它们将[0,+∞)分成三段,即[0,)、[,]、(,+∞)。
步骤2.1:如果第在第t次迭代中,落在区间(,+∞),即∈(,+∞),即说明块对角矩阵矩阵范数的变化较大,因此需要对对角块进行更新;
步骤2.2:如果第在第t次迭代中,落在区间[,],即∈[,],即说明块对角矩阵矩阵范数的变化不大,因此令;
步骤3:如果第在第t次迭代中,落在区间[0,),即∈[0,),即说明块对角矩阵矩阵范数的变化非常小,因此令 (从t次迭代后,K个迭代之内,矩阵保持不变,也就是不更新矩阵),其中k=1,2,…K。
一般地,对于深度卷积神经网络而言,设定参考值为0.001,设定参考值为0.01。通过设计矩阵更新阈值,一方面保证算法收敛,另一方面,有效降低矩阵运算量,从而加速训练过程。
与环形通信后的局部梯度配置进行聚合,给出全局的分布式计算最终结果。下面分别给出树形节点分布式计算算法、环形节点分布式计算算法,以及整体分布式计算算法的算法过程。
树形节点分布式计算算法:
输入:初始模型局部参数,学习率η,阈值参数、;
输出:模型局部参数;
步骤1:k=0;
步骤2:如果模型参数不收敛,执行如下操作:
步骤3:节点i随机采B个样本并计算随机梯度:
;
步骤4:计算节点i的全局矩阵H或费歇尔信息矩阵F,并按照神经网络层数Q,全矩阵H或F划分成Q个对角块矩阵;
步骤5:分别针对每个对较块矩阵实施取对角线元素,获得如下矩阵:
;
步骤6:计算与;
步骤7:利用算法1和算法2,判断是否需要更新,并且如果上述对角线矩阵需要更新,同时计算它们的逆矩阵;
步骤8:将更新后的矩阵顺序拼接成大矩阵,实现原海森矩阵及费歇尔信息矩阵的近似,拼接过程如下:
;
步骤9:将局部模型参数更新:
;
步骤10:当算法收敛时输出节点i模型局部参数。
本发明提出了高效的优化器设计模块,设计了关键矩阵的块对角化近似、对角线元素替代、矩阵阈值更新方法。这些措施或方法的核心作用在于有效降低了系统的存储与计算开销,从而达到加速计算的目的。
本发明可以广泛应用于任务密集型和计算密集型的应用场景,如人工智能模型训练、数据中心、智能网络系统、分布式计算系统,无线传感器网络等。本发明可以应用于人工智能、数据中心、云计算、网络流量调度等众多领域,可以在内存占用与通信开销在并行训练过程中实现动态平衡,从而更好的解决领域内的同类问题。
在上述实施例的基础上,考虑到跨域场景下,由于数据分布在训练域隔离的不同计算节点之上,不同域之间的数据可能需要进行同步,确保数据的一致性。通常,可使用同步或异步方式进行数据复制、数据缓存等操作,以确保数据在不同域之间的准确性和一致性。另一方面,在跨域场景下,系统的负载可能会不均衡,需要设计负载均衡机制来平衡不同域之间的负载。同时,还需要考虑系统的扩展性,使其能够根据需求进行水平或垂直扩展,以适应不断增长的数据和用户量。综上,本发明采用如上分布式系统的通信拓扑。
参见图3,图3为本发明实施例所提供的一种分布式计算系统的拓扑结构图,本发明提出本地树形拓扑与全局环形拓扑相结合的分布式通信拓扑架构。
具体而言,在本地(同一训练域内)的计算节点以多层级树形拓扑排列,并选择出一个局部头节点。例如,在训练域A内,6个计算节点1、11、12、13、14、15树形排列。考虑到地理位置的关系,边缘端节点为计算节点13、14、15,边缘端汇聚节点为计算节点11、12,域内局部头节点为计算节点1。同理,训练域B中包含域内的局部头节点为计算节点3,计算节点31和计算节点32为训练域内的汇聚节点,计算节点33、34和35为边缘端的计算节点。而在训练域C和训练域D中,仅分别示出计算节点2和计算节点4作为各自域内局部头节点参与形成全局环形拓扑。
注意到现有域内计算节点的组织方式大都也参数服务器架构为主。例如,一个中心服务器连接域内所有计算节点,这种架构的典型问题为中心服务器节点的通信拥塞问题与延迟问题。下面通过一个具体实例阐述上述问题,如图4和图5所示,图4为本发明实施例所提供的树形拓扑的拓扑结构图,图5为本发明实施例所提供的参数服务器拓扑的拓扑结构图。
在图4中,假定所有计算节点的通信带宽均为2,并且如果任意两个节点相连则记为1个通信带宽,现考虑上述两种架构下,将边缘计算节点信息发送至局部头节点的延迟分析如下:
针对树形拓扑:
步骤1:节点4、节点5首先将它们各自的信息发送至节点2,同时节点6将其信息发送至节点3。因此,步骤1可在1个单位时间内完成;
步骤2:节点2、节点3可同时将它们的信息发送至节点1。因此,步骤2可在1个单位时间内完成。综上,树形拓扑一共需要2个单位时间完成了边缘节点的信息发送至局部头节点。
针对参数服务器拓扑:
步骤1:按照节点编号顺序依次发送信息。首先,节点8、节点9同时将它们各自的信息发送至节点7,其他节点保持静止状态。因此,步骤1可在1个单位时间内完成;
步骤2:节点10、节点11将它们各自的信息同时发送至节点7,其他节点保持静止状态。因此,步骤2可在1个单位时间内完成;
步骤3:节点12将其信息发送至节点7。因此步骤3也可在1个单位时间内完成。综上,参数服务器拓扑一共要3个单位时间完成边缘节点的信息发送至局部头节点。
由此看见,在边缘节点数目相同且带宽受限的条件下,树形拓扑的通信延迟要比参数服务器拓扑更具优势。
此外,树形拓扑在跨域通信和信息传递方面,树形拓扑结构可以用于组织和管理跨域场景中的节点和数据,提供有效的信息交换和传递机制。
树形拓扑结构可以实现跨域之间的逻辑隔离和安全性控制。通过在树的不同层级设置安全策略和权限控制,可以限制域之间的访问和交互。
树形拓扑结构可以通过冗余和备份来增加系统的容错能力。当某个域或节点发生故障时,树形拓扑结构可以自动路由流量到其他可用的节点,保证系统的稳定性和可用性。
在跨域场景下,树形拓扑结构可以用于在不同域之间同步和更新数据,确保数据的一致性。树形拓扑结构可以提供跨域场景下的可视化和管理界面,方便用户监控和管理系统的状态和性能。通过树形拓扑结构的层级结构,可以方便地添加新的域和节点,实现系统的扩展。同时在性能和效率方面,树形拓扑结构可以通过分布式计算和任务调度来优化资源利用和计算效率。
在图2中,不同训练域内的局部头节点构成了一个环形网络。换言之,训练域A内的节点1,训练域C内的节点2,训练域B内的节点3,以及训练域D内的节点4共同构成了环形拓扑。环形拓扑的最显著优势是可执行同步环形分发全规约操作以便充分利用有限的网络带宽。具体而言,环形分发全规约用于在多个计算节点之间进行数据的全局归约操作。它主要用于并行计算框架中,如深度学习训练中的模型参数更新过程。
在环形分发全规约中,计算节点被组织成一个环形拓扑结构。数据在环形的节点之间按照一定的顺序传递和聚合,最终得到全局的归约结果。整个过程分为多个阶段,每个阶段涉及到数据的发送、接收和聚合。
下面是环形分发全规约的基本步骤:
步骤1:初始化:每个计算节点首先将自己的本地数据准备好,例如待归约的局部数据或模型参数。
步骤2:环形通信:开始一个循环,每个计算节点将自己的数据发送给下一个节点,并接收来自上一个节点的数据。数据按照固定的顺序在环上流动。
步骤3:聚合操作:每个计算节点接收到数据后,进行一定的聚合操作,例如求和或平均。具体的聚合操作根据应用场景和需求而定。
步骤4:传递和聚合:数据继续在环上传递,每个节点将接收到的数据再传递给下一个节点,并进行聚合操作。这个过程重复多次,直到数据完成一轮的环形传递。
步骤5:完成:当数据完成一轮的环形传递后,每个计算节点都会获得最终的全局归约结果。
环形分发全规约的优势在于其通信模式的简单性和可扩展性。由于数据的传递是按照固定的顺序在环上进行,不涉及大规模的数据交换和同步操作,因此具有较低的通信开销。同时,环形结构可以很好地适应不同规模的计算节点,具有良好的可扩展性。通过将计算节点组织成环形结构,并利用环形通信和聚合操作,可以高效地实现模型参数的全局更新,加速训练过程并提高并行计算的效率。
此外,在树形拓扑中存在异常边缘计算节点时,将归属于异常边缘计算节点的计算数据分配至可用边缘计算节点,或者在树形拓扑中新增边缘计算节点作为冗余节点或者备份节点。如此在所述树形拓扑中存在异常边缘计算节点时,利用冗余节点或者备份节点替代异常边缘计算节点。
同时还可以对环形拓扑结构中的跨域数据进行同步监控,并在检测到数据同步异常时进行跨域数据的一致性同步。
综上,全局环形拓扑具有以下优势:
在跨域通信和信息传递方面,环形网络可以支持域之间的直接通信,便于在跨域场景下进行信息传递和共享;
在安全性和隔离性方面,环形网络可以提供跨域间的授权和认证机制,确保安全的数据传输和共享;
在故障容错和冗余性方面,环形网络可以用于监控和管理整个系统的状态和健康状况。
在跨域数据一致性和同步方面,环形网络可以提供跨域数据的监控和同步机制,及时检测和修复数据的不一致性;
在可视化和可管理性方面,环形网络可以用于构建跨域间的指标和报告,帮助用户了解系统的整体运行情况;
在扩展性和可维护性方面,环形网络可以提供跨域间的监控和故障诊断功能,简化系统的维护和管理工作;
在性能和效率方面,环形网络可以减少跨域通信的延迟,提高系统的响应速度和性能。
综上所述,分布式通信拓扑设计模块将环形网络与树形网络相结合可以充分发挥它们各自的优势,满足跨域场景下系统的需求。通过合理设计和配置网络结构,可以提高系统的灵活性、可扩展性、安全性、性能和效率,促进跨域间的通信、协作和数据一致性以及负载均衡。
而环形拓扑中局部头节点分布式计算算法过程可以如下:
输入:各个局部头节点的局部模型参数、、…、(假定有N个局部头节点)。
输出:全局模型参数。
步骤1:从第一个节点开始,计算节点1至节点N的累计局部模型参数之和,即:
;
步骤2:计算全局平均模型参数:
;
步骤3:将全局平均模型参数发送至,各个局部头节点。
综上所述,基于“树形+环形”拓扑的分布式计算整体算法如下:
步骤1:树形节点基于算法3开展分布式计算过程,并将局部模型参数发送至局部头节点处,输出该树形结构的局部模型参数;
步骤2:环形节点基于树形局部头节点的局部模型参数,汇总并得到全局平均模型参数,并将全局平均模型参数发送至各个局部头节点;
步骤3:局部头节点收到全局平均模型参数后下发至其管辖的边缘计算节点,这些节点以新的全局平均参数为起点,重新进行下一轮迭代计算;
步骤4:重复执行上述步骤,直至模型收敛。
为便于理解本发明的具体执行流程与效果,下面给出一个具体实施过程:
本实例以应用训练一个视觉神深度经网络模型Resnet50为例,完成图像的分类任务。
整体算法的输入模型为Resnet50模型,数据集为Imagenet-1K。
整体算法的输出为模型训练收敛后的参数并应用后续分类任务。
首先,本发明首先根据计算节点所处的训练域情况将它们组织成多个树形结构,每个树形结构中选择性能最强的计算节点作为局部头节点。其次,将这些局部头节点组织成环状结构;
其次,按照训练数据集按照各个树形节点的硬件特性(如,存储容量等),将完整的数据集拆分成若干个子数据集,各子数据集存放在树形结构的各个边缘计算节点。同时,将模型分别部署到各个边缘计算节点。
此外,执行具体的模型训练过程。具体流程如下:
步骤1、边缘计算节点在每轮中基于分配到的局部数据与模型计算梯度值与近似海森矩阵或费歇尔信息矩阵;
步骤2、边缘计算节点将各自的上述信息,同步发送至不同训练域内的局部头节点处;
步骤3、处于环形拓扑结构上的局部头节点执行环形分发全规约操作,实现局部信息的全局化同步,得到全局模型参数;
步骤4、各局部头节点再将全局模型参数下发至边缘计算节点;
步骤5、边缘计算节点依据当前最新的全局模型参数再次进行迭代计算,重复上述步骤1至步骤5,直至模型收敛;
步骤6、将训练好的模型参数输出,即输出一个具有分类能力的神经网络模型并且用于后续图像类别的判断任务。
本发明考虑到跨域场景下,数据的同步性、一致性以及负载均衡等特性,提出了“树形+环形”的分布式计算系统架构设计。一方面,树形拓扑具有低延迟、数据隔离、可扩展等优势,规避了参数电子设备架构的通信拥塞问题。另一方面,环形拓扑由于数据的传递是按照固定的顺序在环上进行,不涉及大规模的数据交换和同步操作,因此具有较低的通信开销。同时,环形结构可以很好地适应不同规模的计算节点,具有良好的可扩展性。通过将计算节点组织成环形结构,并利用环形通信和聚合操作,可以高效地实现模型参数的全局更新,加速训练过程并提高并行计算的效率。同时本发明提供了基于“树形+环形拓扑”架构的分布式计算算法,保证算法收敛的同时,提升分布式系统训练的效率。
以本发明应用于至云计算为例,在获取到分布式计算任务后,在云端利用分布式神经网络模型对分布式计算任务进行迭代的二阶优化训练,并在所述二阶优化训练时设定矩阵更新阈值,以加速所述分布式神经网络模型的所述二阶优化训练。
具体的,对于每个云服务器,可部署至少一个分布式神经网络模型。各云服务器通过以太网或者无线网等方式构成分布式计云计算集群。在处理分布式计算任务时,对于分布式训练过程中的优化器,采用如上文所述的二阶优化器,利用神经网络的分层特性首先对全局海森矩阵及费歇尔信息矩阵实施对角块近似,其次为了解决对角阵矩阵规模可能较大导致运算计算量大的问题,针对对角块采用对角线元素替换以降低矩阵求逆的复杂度。拆分后的矩阵占用存储空间少于原始矩阵,降低了存储开销,同时有效降低了矩阵乘法及矩阵求逆计算量。
为了降低矩阵更新频率,在训练时采用矩阵更新阈值对所述分布式神经网络模型进行加速。具体的,可以采用基于块对角矩阵迹的更新策略和基于块对角矩阵F范数的更新策略中的任一种进行更新,仅两者之间的差距较小,即变化小于矩阵更新阈值时执行矩阵更新,使得分布式训练过程中的矩阵无需在每次迭代中均进行更新。
如此,降低了每个云服务器上分布式神经网络模型的运算复杂度和运算量,提高了跨域分布式计算效率。
下面对本发明实施例提供的一种跨域分布式计算系统进行介绍,下文描述的跨域分布式计算系统与上文描述的跨域分布式计算方法可相互对应参照。
参见图6,图6为本发明实施例所提供的一种跨域分布式计算方法的流程图,本发明提供一种跨域分布式计算方法,包括:
S101:获取分布式计算任务;
S102:利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练,并在所述二阶优化训练时设定矩阵更新阈值,以加速所述分布式神经网络模型的所述二阶优化训练;
S103:整合各所述分布式神经网络模型的训练结果,并输出全局模型参数。
所述全局模型参数为所述分布式计算任务对应训练模型的模型参数。
基于上述实施例,作为优选的实施例,利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练包括:
对全局海森矩阵及费歇尔信息矩阵进行对角块近似处理;
对每个对角块采用对角线元素替换。
基于上述实施例,作为优选的实施例,对全局海森矩阵及费歇尔信息矩阵进行对角块近似处理包括:
根据原始神经网络的层数将矩阵拆分为多个小矩阵;所述矩阵包括全局海森矩阵及费歇尔信息矩阵。
基于上述实施例,作为优选的实施例,根据原始神经网络的层数将矩阵拆分为多个小矩阵包括:
将矩阵拆分为与原始神经网络的层数相同个数的小矩阵;其中,各所述小矩阵等于所述神经网络对应层的神经元数量。
基于上述实施例,作为优选的实施例,所述对每个对角块采用对角线元素替换包括:
提取所述对角块中的元素,构成替换矩阵,并利用近似系数弥补信息损失;所述近似系数为所述对角块的非对角线元素之和与所有元素之和的比值。
基于上述实施例,作为优选的实施例,利用近似系数弥补信息损失之前,还包括:
利用近似系数计算公式确定所述近似系数;
所述近似系数计算公式为:
;
其中:
;
;
;
其中,L1为所述原始神经网络第一层的神经元数量,L2为所述原始神经网络第二层的神经元数量,原始矩阵的对角线元素提取出来构成矩阵,矩阵的规模为,表示矩阵对角线以下所有元素之和,表示矩阵对角线以上所有元素之和。
基于上述实施例,作为优选的实施例,提取所述对角块中的元素,构成替换矩阵之后,还包括:
计算所述替换矩阵的存储空间;所述替换矩阵的存储空间为所述原始矩阵占用存储空间的开方。
基于上述实施例,作为优选的实施例,提取所述对角块中的元素,构成替换矩阵之后,还包括:
确定所述替换矩阵的矩阵乘法计算量和求逆计算量。
基于上述实施例,作为优选的实施例,在训练时采用矩阵更新阈值对所述分布式神经网络模型进行加速包括:
判断本次迭代训练中的第一对角块矩阵和上一次迭代训练中的第二对角块矩阵的差距是否小于所述矩阵更新阈值;
若否,对所述对角块矩阵进行更新。
基于上述实施例,作为优选的实施例,对所述对角块矩阵进行更新包括:
基于所述对角块矩阵的迹的变化率更新所述对角块矩阵。
基于上述实施例,作为优选的实施例,对所述对角块矩阵进行更新包括:
基于所述对角块矩阵的矩阵范数更新所述对角块矩阵。
基于上述实施例,作为优选的实施例,所述基于所述对角块矩阵的迹的变化率更新所述对角块矩阵之前,还包括:
获取所述第一对角块矩阵的第一迹和所述第二对角块矩阵的第二迹;
确定所述第一迹和所述第二迹之间的第一差值;
根据所述第一差值和所述第一迹的比值确定所述变化率。
基于上述实施例,作为优选的实施例,获取所述第一对角块矩阵的第一迹和所述第二对角块矩阵的第二迹之前,还包括:
获取矩阵的迹的定义公式;
所述定义公式为;
所述表示原始矩阵的迹。
基于上述实施例,作为优选的实施例,基于所述对角块矩阵的矩阵范数更新所述对角块矩阵包括:
获取所述矩阵范数的范数定义公式;
根据所述范数定义公式确定所述第一对角块矩阵的第一范数和所述第二对角块矩阵的第二范数;
确定所述第一范数和所述第二范数之间的第二差值;
根据所述第二差值和所述第一范数的比值确定矩阵变化率;
根据所述矩阵变化率更新所述对角块矩阵。
基于上述实施例,作为优选的实施例,基于所述对角块矩阵的迹的变化率更新所述对角块矩阵包括:
若所述变化率小于预设变化率区间,在包括本次迭代的此后预设迭代次数内,保持所述对角块矩阵不变;
若所述变化率等于所述预设变化率区间,保持所述对角块矩阵不变;
若所述变化率大于所述预设变化率区间,对所述对角块矩阵进行更新。
基于上述实施例,作为优选的实施例,基于所述对角块矩阵的矩阵范数更新所述对角块矩阵包括:
若所述矩阵范数小于预设范数区间,在包括本次迭代的此后预设迭代次数内,保持所述对角块矩阵不变;
若所述矩阵范数等于所述预设范数区间,本次迭代训练中保持所述对角块矩阵不变;
若所述矩阵范数大于所述预设范数区间,对所述对角块矩阵进行更新。
基于上述实施例,作为优选的实施例,利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练之前,还包括:
配置所述分布式神经网络模型的通信拓扑结构;所述通信拓扑结构包含若干训练域,每个所述训练域包含一个局部头节点和若干边缘计算节点。
基于上述实施例,作为优选的实施例,所述通信拓扑结构中每个所述训练域中所述局部头节点和各所述边缘计算节点构成树形拓扑。
基于上述实施例,作为优选的实施例,各所述训练域中的所述局部头节点构成环形拓扑。
本发明还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory ,ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (19)
1.一种跨域分布式计算系统,其特征在于,包括:
任务获取模块,用于获取分布式计算任务;所述分布式计算任务用于完成图像的分类;
任务训练模块,用于利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练,并在所述二阶优化训练时设定矩阵更新阈值,以加速所述分布式神经网络模型的所述二阶优化训练;所述分布式神经网络模型为视觉深度神经网络模型;
结果输出模块,用于整合各所述分布式神经网络模型的训练结果,并输出全局模型参数;所述全局模型参数为所述分布式计算任务对应训练模型的模型参数,所述全局模型参数用于后续图像类别的判断;
所述任务训练模块包括:
对角块近似处理子模块,用于对全局海森矩阵及费歇尔信息矩阵进行对角块近似处理;
对角线元素替换子模块,用于对每个对角块采用对角线元素替换;
所述对角线元素替换子模块包括:
提取单元,用于提取所述对角块中的元素,构成替换矩阵,并利用近似系数弥补信息损失;近似系数确定单元,用于在利用近似系数弥补信息损失之前,利用近似系数计算公式确定所述近似系数;
所述近似系数计算公式为:
;
其中:
;
;
;
其中,L1为原始神经网络第一层的神经元数量,原始矩阵的对角线元素提取出来构成矩阵,矩阵的规模为,表示矩阵对角线以下所有元素之和,表示矩阵对角线以上所有元素之和,表示矩阵中第行第列的元素,表示矩阵中第行第列的元素。
2.根据权利要求1所述的跨域分布式计算系统,其特征在于,所述对角块近似处理子模块包括:
拆分单元,用于根据原始神经网络的层数将矩阵拆分为多个小矩阵;所述矩阵包括全局海森矩阵及费歇尔信息矩阵。
3.根据权利要求2所述的跨域分布式计算系统,其特征在于,所述拆分单元包括:
拆分子单元,用于将矩阵拆分为与原始神经网络的层数相同个数的小矩阵;其中,各所述小矩阵等于所述神经网络对应层的神经元数量。
4.根据权利要求1所述的跨域分布式计算系统,其特征在于,还包括:
存储空间计算单元,用于计算所述替换矩阵的存储空间;所述替换矩阵的存储空间为所述原始矩阵占用存储空间的开方。
5.根据权利要求1所述的跨域分布式计算系统,其特征在于,还包括:
量和求逆计算量计算单元,用于确定所述替换矩阵的矩阵乘法计算量和求逆计算量。
6.根据权利要求5所述的跨域分布式计算系统,其特征在于,所述任务训练模块包括:
判断子模块,用于判断本次迭代训练中的第一对角块矩阵和上一次迭代训练中的第二对角块矩阵的差距是否小于所述矩阵更新阈值;
更新子模块,用于若本次迭代训练中的第一对角块矩阵和上一次迭代训练中的第二对角块矩阵的差距大于或等于所述矩阵更新阈值,对所述对角块矩阵进行更新。
7.根据权利要求6所述的跨域分布式计算系统,其特征在于,所述更新子模块包括:
第一对角块矩阵更新单元,用于基于所述对角块矩阵的迹的变化率更新所述对角块矩阵。
8.根据权利要求6所述的跨域分布式计算系统,其特征在于,所述更新子模块包括:
第二对角块矩阵更新单元,用于基于所述对角块矩阵的矩阵范数更新所述对角块矩阵。
9.根据权利要求7所述的跨域分布式计算系统,其特征在于,还包括:
第一获取单元,用于进入所述第一对角块矩阵更新单元之前,获取所述第一对角块矩阵的第一迹和所述第二对角块矩阵的第二迹;
第一确定单元,用于确定所述第一迹和所述第二迹之间的第一差值;
第二确定单元,用于根据所述第一差值和所述第一迹的比值确定所述变化率。
10.根据权利要求9所述的跨域分布式计算系统,其特征在于,还包括:
第二获取单元,用于进入所述获取单元前,获取矩阵的迹的定义公式;
所述定义公式为;
所述表示原始矩阵的迹。
11.根据权利要求8所述的跨域分布式计算系统,其特征在于,所述第二对角块矩阵更新单元包括:
范数定义公式获取子单元,用于获取所述矩阵范数的范数定义公式;
第一确定子单元,用于根据所述范数定义公式确定所述第一对角块矩阵的第一范数和所述第二对角块矩阵的第二范数;
第二确定子单元,用于确定所述第一范数和所述第二范数之间的第二差值;
第三确定子单元,用于根据所述第二差值和所述第一范数的比值确定矩阵变化率;
矩阵更新阈值更新子单元,用于根据所述矩阵变化率更新所述对角块矩阵。
12.根据权利要求7所述的跨域分布式计算系统,其特征在于,所述第一对角块矩阵更新单元用于执行如下步骤:
若所述变化率小于预设变化率区间,在包括本次迭代的此后预设迭代次数内,保持所述对角块矩阵不变;
若所述变化率等于所述预设变化率区间,保持所述对角块矩阵不变;
若所述变化率大于所述预设变化率区间,对所述对角块矩阵进行更新。
13.根据权利要求8所述的跨域分布式计算系统,其特征在于,所述第二对角块矩阵更新单元用于执行如下步骤:
若所述矩阵范数小于预设范数区间,在包括本次迭代的此后预设迭代次数内,保持所述对角块矩阵不变;
若所述矩阵范数等于所述预设范数区间,本次迭代训练中保持所述对角块矩阵不变;若所述矩阵范数大于所述预设范数区间,对所述对角块矩阵进行更新。
14.根据权利要求1所述的跨域分布式计算系统,其特征在于,还包括:
配置模块,用于配置所述分布式神经网络模型的通信拓扑结构;所述通信拓扑结构包含若干训练域,每个所述训练域包含一个局部头节点和若干边缘计算节点。
15.根据权利要求14所述的跨域分布式计算系统,其特征在于,所述通信拓扑结构中每个所述训练域中所述局部头节点和各所述边缘计算节点构成树形拓扑。
16.根据权利要求14所述的跨域分布式计算系统,其特征在于,各所述训练域中的所述局部头节点构成环形拓扑。
17.一种跨域分布式计算方法,其特征在于,包括:
获取分布式计算任务;所述分布式计算任务用于完成图像的分类;
利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练,并在所述二阶优化训练时设定矩阵更新阈值,以加速所述分布式神经网络模型的所述二阶优化训练;所述分布式神经网络模型为视觉深度神经网络模型;
整合各所述分布式神经网络模型的训练结果,并输出全局模型参数;所述全局模型参数为所述分布式计算任务对应训练模型的模型参数,所述全局模型参数用于后续图像类别的判断;
利用分布式神经网络模型对所述分布式计算任务进行迭代的二阶优化训练,包括:
对全局海森矩阵及费歇尔信息矩阵进行对角块近似处理;
对每个对角块采用对角线元素替换;
对每个对角块采用对角线元素替换,包括:
利用近似系数计算公式确定所述近似系数;
所述近似系数计算公式为:
;
其中:
;
;
;
其中,L1为原始神经网络第一层的神经元数量,原始矩阵的对角线元素提取出来构成矩阵,矩阵的规模为,表示矩阵对角线以下所有元素之和,表示矩阵对角线以上所有元素之和,表示矩阵中第行第列的元素,表示矩阵中第行第列的元素;
提取所述对角块中的元素,构成替换矩阵,并利用近似系数弥补信息损失。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求17所述的跨域分布式计算方法的步骤。
19.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求17所述的跨域分布式计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410146915.7A CN117687801B (zh) | 2024-02-02 | 2024-02-02 | 一种跨域分布式计算系统、方法、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410146915.7A CN117687801B (zh) | 2024-02-02 | 2024-02-02 | 一种跨域分布式计算系统、方法、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117687801A CN117687801A (zh) | 2024-03-12 |
CN117687801B true CN117687801B (zh) | 2024-05-10 |
Family
ID=90137519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410146915.7A Active CN117687801B (zh) | 2024-02-02 | 2024-02-02 | 一种跨域分布式计算系统、方法、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687801B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020084618A1 (en) * | 2018-10-24 | 2020-04-30 | Technion Research & Development Foundation Limited | System and method for distributed training of a neural network |
CN115660078A (zh) * | 2022-12-29 | 2023-01-31 | 浪潮电子信息产业股份有限公司 | 一种分布式计算方法、系统、存储介质和电子设备 |
CN115860100A (zh) * | 2021-09-23 | 2023-03-28 | 华为技术有限公司 | 一种神经网络模型训练方法、装置及计算设备 |
CN115953651A (zh) * | 2023-03-13 | 2023-04-11 | 浪潮电子信息产业股份有限公司 | 一种基于跨域设备的模型训练方法、装置、设备及介质 |
CN116644804A (zh) * | 2023-07-27 | 2023-08-25 | 浪潮电子信息产业股份有限公司 | 分布式训练系统、神经网络模型训练方法、设备和介质 |
CN116681127A (zh) * | 2023-07-27 | 2023-09-01 | 山东海量信息技术研究院 | 一种神经网络模型训练方法、装置及电子设备和存储介质 |
CN116861153A (zh) * | 2023-07-05 | 2023-10-10 | 中国人民解放军国防科技大学 | 一种基于多核处理器的计算及访存加速的方法和装置 |
CN116894855A (zh) * | 2023-07-14 | 2023-10-17 | 重庆邮电大学 | 一种基于重叠视野下交叉路口多目标跨域跟踪方法 |
-
2024
- 2024-02-02 CN CN202410146915.7A patent/CN117687801B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020084618A1 (en) * | 2018-10-24 | 2020-04-30 | Technion Research & Development Foundation Limited | System and method for distributed training of a neural network |
CN115860100A (zh) * | 2021-09-23 | 2023-03-28 | 华为技术有限公司 | 一种神经网络模型训练方法、装置及计算设备 |
CN115660078A (zh) * | 2022-12-29 | 2023-01-31 | 浪潮电子信息产业股份有限公司 | 一种分布式计算方法、系统、存储介质和电子设备 |
CN115953651A (zh) * | 2023-03-13 | 2023-04-11 | 浪潮电子信息产业股份有限公司 | 一种基于跨域设备的模型训练方法、装置、设备及介质 |
CN116861153A (zh) * | 2023-07-05 | 2023-10-10 | 中国人民解放军国防科技大学 | 一种基于多核处理器的计算及访存加速的方法和装置 |
CN116894855A (zh) * | 2023-07-14 | 2023-10-17 | 重庆邮电大学 | 一种基于重叠视野下交叉路口多目标跨域跟踪方法 |
CN116644804A (zh) * | 2023-07-27 | 2023-08-25 | 浪潮电子信息产业股份有限公司 | 分布式训练系统、神经网络模型训练方法、设备和介质 |
CN116681127A (zh) * | 2023-07-27 | 2023-09-01 | 山东海量信息技术研究院 | 一种神经网络模型训练方法、装置及电子设备和存储介质 |
Non-Patent Citations (4)
Title |
---|
Minyu Chen.Stochastic Gradient Descent Combines Second-Order Information for Training Neural Network.《ICoMS '18: Proceedings of the 2018 1st International Conference on Mathematics and Statistics》.2018,全文. * |
Scalable K-FAC Training for Deep Neural Networks With Distributed Preconditioning;Lin Zhang;《IEEE Transactions on Cloud Computing 》;20220912;第11卷(第3期);全文 * |
分布式训练系统及其优化算法综述;王恩东,闫瑞栋;《计算机学报》;20230406;第47卷(第1期);全文 * |
基于分布式神经网络递推预报误差算法的非线性系统建模;熊智华, 王雄, 徐用懋;信息与控制;20001023(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117687801A (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Almasan et al. | Digital twin network: Opportunities and challenges | |
CN105550323B (zh) | 一种分布式数据库负载均衡预测方法和预测分析器 | |
CN115051926A (zh) | 一种数字孪生架构、模型评价体系以及模型运行方法 | |
CN113435472A (zh) | 车载算力网络用户需求预测方法、系统、设备、介质 | |
CN109949160A (zh) | 一种区块链的分片方法及装置 | |
CN113341712B (zh) | 无人机自主控制系统智能分层递阶控制选择方法 | |
CN110858973A (zh) | 小区网络流量预测方法及装置 | |
CN116662010B (zh) | 基于分布式系统环境下的动态资源分配方法及系统 | |
CN111556173B (zh) | 一种基于强化学习的服务链映射方法 | |
CN115329985B (zh) | 无人集群智能模型训练方法、装置和电子设备 | |
Napoli et al. | A mathematical model for file fragment diffusion and a neural predictor to manage priority queues over BitTorrent | |
CN115907038A (zh) | 一种基于联邦拆分学习框架的多元控制决策方法 | |
Li et al. | Respipe: Resilient model-distributed dnn training at edge networks | |
CN117936080B (zh) | 基于联邦大模型的实体恶性肿瘤临床辅助决策方法及系统 | |
CN111324429B (zh) | 一种基于多代血统参考距离的微服务组合调度方法 | |
CN112600697A (zh) | 基于联邦学习的QoS预测方法及系统、客户端和服务端 | |
CN116112175A (zh) | 基于区块链的数字孪生网络的业务处理方法、装置及介质 | |
CN107528731B (zh) | 应用于ns3并行仿真的网络分割优化算法 | |
CN102624596B (zh) | 一种p2p直播覆盖网的可靠性最优树状核心拓扑求解方法 | |
CN112215326A (zh) | 一种分布式ai系统 | |
CN117221251B (zh) | 面向软件定义算力网络的算力感知及路由方法、系统 | |
CN117687801B (zh) | 一种跨域分布式计算系统、方法、存储介质和电子设备 | |
CN117687800B (zh) | 一种跨域分布式计算方法、系统、存储介质和电子设备 | |
CN109889573B (zh) | 混合云中基于ngsa多目标的副本放置方法 | |
CN115034356B (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 |