CN116341628A - 分布式训练的梯度稀疏化方法、系统、设备及存储介质 - Google Patents
分布式训练的梯度稀疏化方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN116341628A CN116341628A CN202310162148.4A CN202310162148A CN116341628A CN 116341628 A CN116341628 A CN 116341628A CN 202310162148 A CN202310162148 A CN 202310162148A CN 116341628 A CN116341628 A CN 116341628A
- Authority
- CN
- China
- Prior art keywords
- training
- gradient
- sparsification
- value
- parameter
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 140
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000011156 evaluation Methods 0.000 claims description 58
- 230000008569 process Effects 0.000 claims description 48
- 238000012360 testing method Methods 0.000 claims description 38
- 238000004458 analytical method Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 20
- 238000000605 extraction Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 claims description 13
- 238000003491 array Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 5
- 230000000903 blocking effect Effects 0.000 abstract description 3
- 230000001133 acceleration Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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/0495—Quantised networks; Sparse networks; Compressed 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/098—Distributed learning, e.g. federated learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种面向分布式训练的高效梯度稀疏化方法及系统,其中方法包括:将以稠密格式存储的梯度划分为若干个子块,每个子块的大小为第一数值;在每个子块的块内取固定的前第二数值的个数的元素;使用两个数组分别存储提取的元素的下标及值;其中,第二数值的值为第一数值的值乘以预设的参数。本发明面向分布式训练的高效梯度稀疏化方法,将均衡分块方法引入梯度稀疏化中,可以实现天然的均衡负载划分,并通过转化为批量运算充分利用异构硬件平台的高并行性,提高梯度稀疏化的计算性能。
Description
技术领域
本发明涉及神经网络模型训练技术领域,特别涉及一种分布式训练的梯度稀疏化方法、系统、设备及存储介质。
背景技术
人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能的核心为深度学习神经网络。训练出的深度学习神经模型越准确,在应用到图像识别领域时,图像识别效果越好。随着深度学习领域的发展,研究人员发现模型越大训练出来的效果越好,因此模型越来越大成为深度学习领域的一个显著特征。但是越大的模型对设备的要求越高,即需要单卡的算力更强,内存空间更大。当单卡运行不能满足模型的要求时,往往需要多卡甚至多台机器协调工作,共同完成训练工作。如何协调多卡/多机来完成大模型的训练,就要应用到大规模分布式训练技术。
在大规模分布式训练存在通信开销问题,基于稀疏梯度的训练方法可以通过压缩冗余梯度信息在不影响模型精度的情况下减少通信量,提升训练性能。梯度稀疏化是影响稀疏梯度训练性能的一个关键因素之一。目前主要有两类稀疏化方法:精确方法和近似方法。TopkA,gTopk和TopkDSA使用的是精确稀疏化方法,通过使用top-k操作挑选出前k个绝对值最大的梯度元素。对于top-k的实现,可以先排序然后取前k个元素,也可以直接使用top-k算子获取前k个元素。另一类是近似方法。Gaussiank将梯度值的分布假设为高斯分布,然后根据估计的阈值来挑选近似非零梯度。近期,Ok-Topk观察到连续的训练迭代步之间梯度的变化比较缓慢,提出了一种更加有效的近似化方法,每隔一定间隔的迭代步精确计算一次top-k非零梯度,并得到一个阈值,然后让区间内的迭代重用阈值,以减少top-k的调用次数,降低稀疏化开销。
上述稀疏化方法,精确计算方法往往开销比较大,有时甚至超过稀疏梯度训练带来的收益;已有的近似化方法存在一些负载不均衡的问题,虽然Ok-Topk提出了一些解决方案,但在处理过程中引入的不同设备上的非零元个数同步,带来了一些不可忽略的额外通信开销。以BERT模型为例,额外开销达到总时间的24%。因此,急需要设计一种更加高效的梯度稀疏化方法。
发明内容
本发明目的之一在于提供了一种面向分布式训练的高效梯度稀疏化方法,将均衡分块方法引入梯度稀疏化中,可以实现天然的均衡负载划分,并通过转化为批量运算充分利用异构硬件平台的高并行性,提高梯度稀疏化的计算性能。
本发明实施例提供的一种面向分布式训练的高效梯度稀疏化方法,包括:
将以稠密格式存储的梯度划分为若干个子块,每个子块的大小为第一数值;
在每个子块的块内取固定的前第二数值的个数的元素;
使用两个数组分别存储提取的元素的下标及值;
其中,第二数值的值为第一数值的值乘以预设的参数。
优选的,面向分布式训练的高效梯度稀疏化方法,还包括:
在将梯度传递到下一节点之前,基于两个数组和预设的编码库,确定各个子块对应的编码;
将编码传递至下一节点。
优选的,第一数值通过如下步骤确定:
基于梯度的数据参数信息、待训练模型的类型、梯度对应的工作在大型分布式模型训练中的位置编码和预设的第一数值确定库,确定所述第一数值。
优选的,大型分布式模型训练的工作分配规则确定步骤如下:
基于各个节点的第一参数信息、各个节点之间的通讯参数信息、训练样本的第二参数信息和待训练模型的模型信息,构建分析参数集;
基于分析参数集和预设的工作分配库,确定工作分配数据集;
解析工作分配数据集,确定各个节点的工作分配规则。
优选的,面向分布式训练的高效梯度稀疏化方法,还包括:
基于第一数值和参数,对稀疏化效果进行预测性评价,并输出评价结果;
其中,基于第一数值和参数,对稀疏化效果进行预测性评价,并输出评价结果,包括:
基于分析参数集、第一数值和参数,构建预测参数集;
将预测参数集与预测库中各个评价结果对应的评价参数集进行匹配;
获取与预测参数集匹配的评价参数集对应的评价结果。
优选的,预测库通过如下步骤构建:
获取各个类型的待训练模型;
获取多种大型分布式训练网络;
获取多组训练数据;
基于多组训练数据及各组训练数据对应的测试数据;
在各个大型分布式训练网络中,基于多组训练数据对各个待训练模型进行训练,在训练过程中不采用稀疏化方法,作为基础训练过程;
基于测试数据对基础训练过程训练后的模型进行测试,获取参考测试结果;
基于预设的评价指标提取模板,对基础训练过程中的参数进行提取,获得各个评价指标的参考值;
在各个大型分布式训练网络中,基于多组训练数据对各个待训练模型进行训练,在训练过程中采用不同的第一数值和参数的组合进行稀疏化处理,作为多个比较训练过程;
基于测试数据对比较训练过程训练后的模型进行测试,获取比较测试结果;
基于预设的评价指标提取模板,对各个基础训练过程中的参数进行提取,获得各个评价指标的比较值;
将一个比较训练过程与其对应的基础训练过程作为构建预测库中一个数据组;
基于参考值、比较值、参考测试结果和比较测试结果,生成评价结果;
基于比较训练过程对应的第一数值、参数以及大型分布式训练网络,确定评价参数集。
本发明还提供一种面向分布式训练的高效梯度稀疏化系统,包括:
分块模块,用于将原始的以稠密格式存储的梯度划分为若干个子块,每个子块的大小为第一数值;
提取模块,用于在每个子块的块内取固定的前第二数值的个数的元素;
表示模块,用于使用两个数组分别存储提取的元素的下标及值;
其中,第二数值的值为第一数值的值乘以预设的参数。
优选的,面向分布式训练的高效梯度稀疏化系统,还包括:
编码模块,用于在将梯度传递到下一节点之前,基于两个数组和预设的编码库,确定各个子块对应的编码;
传递模块,用于将编码传递至下一节点。
优选的,第一数值通过如下步骤确定:
确定梯度对应的工作在大型分布式模型训练中的位置编码;
确定待训练模型的类型;
确定梯度的数据参数信息;
基于数据参数信息、类型、位置编码和预设的第一数值确定库,确定第一数值。
优选的,大型分布式模型训练的工作分配规则确定步骤如下:
获取各个节点的第一参数信息;
获取各个节点之间的通讯参数信息;
获取训练样本的第二参数信息;
获取待训练模型的模型信息;
基于第一参数信息、通讯参数信息、第二参数信息和模型信息,构建分析参数集;
基于分析参数集和预设的工作分配库,确定工作分配数据集;
解析工作分配数据集,确定各个节点的工作分配规则。
本发明还提供一种面向分布式训练的高效梯度稀疏化的设备,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行上述任一种方法的计算机程序。
本发明还提供一种计算机可读存储介质,存储有能够被处理器加载并执行上述任一种方法的计算机程序。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种面向分布式训练的高效梯度稀疏化方法的示意图;
图2为应用面向分布式训练的高效梯度稀疏化方法的过程示意图;
图3为应用本发明的稀疏化方法的实例的效果对比图;
图4为本发明实施例中一种面向分布式训练的高效梯度稀疏化方法的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供了一种面向分布式训练的高效梯度稀疏化方法,如图1所示,包括:
步骤一:将以稠密格式存储的梯度划分为若干个子块,每个子块的大小为第一数值;
步骤二:在每个子块的块内取固定的前第二数值的个数的元素;
步骤三:使用两个数组分别存储提取的元素的下标及值;
其中,第二数值的值为第一数值的值乘以预设的参数。
上述技术方案的工作原理及有益效果为:
本发明的原理是将原始的以稠密格式存储的梯度划分成若干个子块,每个子块的大小为b(即第一数值)。然后,在每个块内取固定的前k′个元素(即批量top-k运算)。k′的具体数值可以通过ρ*b计算得出,其中ρ代表稠密度(即预设的参数,训练时由用户设置)。通过固定的分块批量取值,每个进程可以得到均衡数量的非零梯度。图2以分块大小为2,k′为1给出了分块稀疏化的示意图。稀疏化后的梯度存储格式可以使用两个数组分别存储下标和值。分块后,每个块内的非零元下标的数值范围会变小。可以使用存储空间更少的数据类型来表示非零梯度下标,压缩下标的存储量,减少访存开销。基于分块的梯度稀疏化方法具有很多优点,它可以实现天然的负载均衡,且批量top-k运算引入了更多并行性,更容易在GPU等异构处理器上获得更高性能,提升稀疏化的计算性能。
本发明的梯度稀疏化方法,可以取得较好的性能效果。选取几种来自不同应用的常用深度学习模型(来自计算机视觉领域图像分类的VGG-16模型;自然语言处理领域的BERT模型和LSTM模型)来对比不同稀疏化方法的性能情况。实验测试平台是2机4卡的分布式环境,每张卡配置的是NVIDIA A100 GPU。对比对象分别是TopkA和gTopk的精确top-k计算方法和目前最好的近似方法Ok-Topk的阈值周期性重用方法。图3展示了不同方法的耗时和我们的方法相比其他方法的加速比情况。可以看到,相比已有方法,本发现提出的方法在各种模型中都可以取得更好的性能加速效果。相比TopkA中的精确计算方法,在VGG-16,BERT和LSTM中分别获得215x,6645.8x和28x的性能加速;相比gTopk的精确近似方法,在VGG-16,BERT和LSTM中分别获得217.5x,6604.2x和27.7x的加速;相比Ok-Topk的阈值周期性重用方法,在VGG-16,BERT和LSTM中分别获得14.4x,225x和2.3x的性能加速。
在一个实施例中,面向分布式训练的高效梯度稀疏化方法,还包括:
步骤四:在将梯度传递到下一节点之前,基于两个数组和预设的编码库,确定各个子块对应的编码;
步骤五:将编码传递至下一节点。
上述技术方案的工作原理及有益效果为:
在需要将梯度进行节点间的传递时,通过编码库对稀疏化获得两个数组进行编码,进一步减少了需要传递的数据量,降低了通信消费,下一个节点依据与编码库对应的解码库进行解码。其中,编码库为事先经过专业人员分析构建。
在一个实施例中,第一数值通过如下步骤确定:
基于梯度的数据参数信息、待训练模型的类型、梯度对应的工作在大型分布式模型训练中的位置编码和预设的第一数值确定库,确定所述第一数值。
上述技术方案的工作原理及有益效果:
除了由用户自行设置第一数值,也可采用系统自动生成的方式确定第一数值,在自动生成时主要通过第一数值确定库综合分析待训练的模型的类型、梯度对应的工作在大型分布式模型训练中的位置编码、梯度的数据参数信息(数据量的大小等)等因素进行自动确定,其中,位置编码主要包括:模型训练的迭代次数、神经元编号等,以迭代次数和神经元编号为例,位置编码分为两部分,第一部分为代表迭代次数的次数参数、第二部分为神经元编号对应的编号参数。第一数值确定库也为事先经由专业人员分析构建。通过自动生成的第一数值可以根据模型的类型、产生的梯度数据参数信息的不同、以及梯度对应的工作对应位置编码自适应地选取较佳的第一数值,保证获得较佳的稀疏化效果。
在一个实施例中,大型分布式模型训练的工作分配规则确定步骤如下:
基于各个节点的第一参数信息、各个节点之间的通讯参数信息、训练样本的第二参数信息和待训练模型的模型信息,构建分析参数集;
基于分析参数集和预设的工作分配库,确定工作分配数据集;
解析工作分配数据集,确定各个节点的工作分配规则。
上述技术方案的工作原理及有益效果为:
综合分析各个节点的第一参数信息(包括:运算速度、内存等)、各个节点之间的通讯参数信息(包括:带宽、最大传输速度等)、训练样本的第二参数信息(包括:样本大小等)、待训练的模型信息(包括:模型的类型),构建分析参数集,然后通过工作分配库,确定各个节点的工作分配规则,进而实现合理的工作分配,其中,构建分析参数集时,通过第一参数信息、通讯参数信息、第二参数信息和模型信息各自对应的量化模型,将其量化,获得量化参数,然后将量化参数按序排列形成分析参数集。工作分配库为事先由专业人员分析构建,其中,每个工作分配数据集对应一个调取参数集;将调取参数集与分析参数集匹配,调取匹配符合的调取参数集对应的工作分配数据集。工作分配数据集由每个节点对应的工作分配规则编号组成,通过工作分配规则编号从工作分配规则库中直接调取对应的工作分配规则即可;通过各个节点的工作分配规则进行工作分配,工作分配规则包括:样本数据的提取方式(随机提取、按序提取等)、提取的样本数据量以及进行的工作内容等。
此外,在一个实施例中,在确定各个节点的工作分配之前,先要确定作为统筹的中央节点;中央节点的确定方式如下:
获取节点的第一参数信息;第一参数信息包括:运算速度、内存等;
基于第一参数信息,确定第一优先值;通过第一参数信息查询预设的第一优先值确定表确定第一优先值;
获取节点与其他节点的通讯参数信息;通讯参数信息包括:最大传输带宽、最短路径等;
基于通讯参数信息,确定第二优先值;基于通讯参数信息,构建通讯参数集,然后查询预设的第二优先值确定库,确定第二优先值;节点与其他节点之间的最大传输带宽越大以及最短路径越小,对应的第二优先值越高;
将第一优先值和第二优先值的和值最大的节点作为中央节点。通过综合分析节点的自身性能以及与其他节点之间的传输性能,优化选择中央节点,提高分布式训练的效率。
在一个实施例中,面向分布式训练的高效梯度稀疏化方法,还包括:
基于第一数值和参数,对稀疏化效果进行预测性评价,并输出评价结果;
其中,基于第一数值和参数,对稀疏化效果进行预测性评价,并输出评价结果,包括:
基于分析参数集、第一数值和参数,构建预测参数集;
将预测参数集与预测库中各个评价结果对应的评价参数集进行匹配;
获取与预测参数集匹配的评价参数集对应的评价结果。
其中,预测库通过如下步骤构建:
获取各个类型的待训练模型;
获取多种大型分布式训练网络;各个大型分布式训练网络的节点构成不一,当然大型分布式训练网络的种类越多,预测库的准确率越高。
获取多组训练数据;
基于多组训练数据及各组训练数据对应的测试数据;
在各个大型分布式训练网络中,基于多组训练数据对各个待训练模型进行训练,在训练过程中不采用稀疏化方法,作为基础训练过程;
基于测试数据对基础训练过程训练后的模型进行测试,获取参考测试结果;
基于预设的评价指标提取模板,对基础训练过程中的参数进行提取,获得各个评价指标的参考值;
在各个大型分布式训练网络中,基于多组训练数据对各个待训练模型进行训练,在训练过程中采用不同的第一数值和参数的组合进行稀疏化处理,作为多个比较训练过程;
基于测试数据对比较训练过程训练后的模型进行测试,获取比较测试结果;
基于预设的评价指标提取模板,对各个基础训练过程中的参数进行提取,获得各个评价指标的比较值;
将一个比较训练过程与其对应的基础训练过程作为构建预测库中一个数据组;
基于参考值、比较值、参考测试结果和比较测试结果,生成评价结果;
基于比较训练过程对应的第一数值、参数以及大型分布式训练网络,确定评价参数集。
上述技术方案的工作原理及有益效果为:
在用户自行设置第一数值和参数时,进行稀疏化预测性评价,有助于指导用户对第一数值和参数的设置,使用户选取较好的第一数值以及参数;其中,评价结果包括:通信节约率(稀疏化优化前后的通信情况与优化前的通信情况的量化比值)、模型准确率的影响参数(稀疏化优化前后的模型的测试结果对应的准确率的差值)等。
本发明还提供一种面向分布式训练的高效梯度稀疏化系统,如图3所示,包括:
分块模块1,用于将原始的以稠密格式存储的梯度划分为若干个子块,每个子块的大小为第一数值;
提取模块2,用于在每个子块的块内取固定的前第二数值的个数的元素;
表示模块3,用于使用两个数组分别存储提取的元素的下标及值;
其中,第二数值的值为第一数值的值乘以预设的参数。
在一个实施例中,面向分布式训练的高效梯度稀疏化系统,还包括:
编码模块,用于在将梯度传递到下一节点之前,基于两个数组和预设的编码库,确定各个子块对应的编码;
传递模块,用于将编码传递至下一节点。
在一个实施例中,第一数值通过如下步骤确定:
基于梯度的数据参数信息、待训练模型的类型、梯度对应的工作在大型分布式模型训练中的位置编码和预设的第一数值确定库,确定所述第一数值。
在一个实施例中,大型分布式模型训练的工作分配规则确定步骤如下:
基于各个节点的第一参数信息、各个节点之间的通讯参数信息、训练样本的第二参数信息和待训练模型的模型信息,构建分析参数集;
基于分析参数集和预设的工作分配库,确定工作分配数据集;
解析工作分配数据集,确定各个节点的工作分配规则。
在一个实施例中,面向分布式训练的高效梯度稀疏化系统,还包括:
预测模块,用于基于第一数值和参数,对稀疏化效果进行预测性评价,并输出评价结果;
其中,基于第一数值和参数,对稀疏化效果进行预测性评价,并输出评价结果,包括:
基于分析参数集、第一数值和参数,构建预测参数集;
将预测参数集与预测库中各个评价结果对应的评价参数集进行匹配;
获取与预测参数集匹配的评价参数集对应的评价结果。
其中,预测库通过如下步骤构建:
获取各个类型的待训练模型;
获取多种大型分布式训练网络;
获取多组训练数据;
基于多组训练数据及各组训练数据对应的测试数据;
在各个大型分布式训练网络中,基于多组训练数据对各个待训练模型进行训练,在训练过程中不采用稀疏化方法,作为基础训练过程;
基于测试数据对基础训练过程训练后的模型进行测试,获取参考测试结果;
基于预设的评价指标提取模板,对基础训练过程中的参数进行提取,获得各个评价指标的参考值;
在各个大型分布式训练网络中,基于多组训练数据对各个待训练模型进行训练,在训练过程中采用不同的第一数值和参数的组合进行稀疏化处理,作为多个比较训练过程;
基于测试数据对比较训练过程训练后的模型进行测试,获取比较测试结果;
基于预设的评价指标提取模板,对各个基础训练过程中的参数进行提取,获得各个评价指标的比较值;
将一个比较训练过程与其对应的基础训练过程作为构建预测库中一个数据组;
基于参考值、比较值、参考测试结果和比较测试结果,生成评价结果;
基于比较训练过程对应的第一数值、参数以及大型分布式训练网络,确定评价参数集。
本发明还提供一种面向分布式训练的高效梯度稀疏化的设备,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行上述任一实施例中方法的计算机程序。
本发明还提供一种计算机可读存储介质,存储有能够被处理器加载并执行上述任一实施例中方法的计算机程序。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种面向分布式训练的高效梯度稀疏化方法,其特征在于,包括:
将以稠密格式存储的梯度划分为若干个子块,每个子块的大小为第一数值;
在每个子块的块内取固定的前第二数值的个数的元素;
使用两个数组分别存储提取的元素的下标及值;
其中,第二数值的值为第一数值的值乘以预设的参数。
2.如权利要求1所述的面向分布式训练的高效梯度稀疏化方法,其特征在于,还包括:
在将梯度传递到下一节点之前,基于两个所述数组和预设的编码库,确定各个子块对应的编码;
将所述编码传递至下一节点。
3.如权利要求1所述的面向分布式训练的高效梯度稀疏化方法,其特征在于,所述第一数值通过如下步骤确定:
基于梯度的数据参数信息、待训练模型的类型、梯度对应的工作在大型分布式模型训练中的位置编码和预设的第一数值确定库,确定所述第一数值。
4.如权利要求1所述的面向分布式训练的高效梯度稀疏化方法,其特征在于,大型分布式模型训练的工作分配规则确定步骤如下:
基于各个节点的第一参数信息、各个节点之间的通讯参数信息、训练样本的第二参数信息和待训练模型的模型信息,构建分析参数集;
基于所述分析参数集和预设的工作分配库,确定工作分配数据集;
解析所述工作分配数据集,确定各个节点的工作分配规则。
5.如权利要求4所述的面向分布式训练的高效梯度稀疏化方法,其特征在于,还包括:
基于所述第一数值和所述参数,对稀疏化效果进行预测性评价,并输出评价结果;
其中,基于所述第一数值和所述参数,对稀疏化效果进行预测性评价,并输出评价结果,包括:
基于所述分析参数集、所述第一数值和所述参数,构建预测参数集;
将所述预测参数集与预测库中各个评价结果对应的评价参数集进行匹配;
获取与所述预测参数集匹配的所述评价参数集对应的所述评价结果。
6.如权利要求5所述的面向分布式训练的高效梯度稀疏化方法,其特征在于,所述预测库通过如下步骤构建:
获取各个类型的待训练模型;
获取多种大型分布式训练网络;
获取多组训练数据;
基于多组训练数据及各组训练数据对应的测试数据;
在各个大型分布式训练网络中,基于多组训练数据对各个所述待训练模型进行训练,在训练过程中不采用稀疏化方法,作为基础训练过程;
基于测试数据对基础训练过程训练后的模型进行测试,获取参考测试结果;
基于预设的评价指标提取模板,对基础训练过程中的参数进行提取,获得各个评价指标的参考值;
在各个大型分布式训练网络中,基于多组训练数据对各个所述待训练模型进行训练,在训练过程中采用不同的第一数值和参数的组合进行稀疏化处理,作为多个比较训练过程;
基于测试数据对比较训练过程训练后的模型进行测试,获取比较测试结果;
基于预设的评价指标提取模板,对各个基础训练过程中的参数进行提取,获得各个评价指标的比较值;
将一个比较训练过程与其对应的基础训练过程作为构建预测库中一个数据组;
基于所述参考值、所述比较值、所述参考测试结果和所述比较测试结果,生成所述评价结果;
基于所述比较训练过程对应的第一数值、参数以及大型分布式训练网络,确定所述评价参数集。
7.一种面向分布式训练的高效梯度稀疏化系统,其特征在于,包括:
分块模块,用于将原始的以稠密格式存储的梯度划分为若干个子块,每个子块的大小为第一数值;
提取模块,用于在每个子块的块内取固定的前第二数值的个数的元素;
表示模块,用于使用两个数组分别存储提取的元素的下标及值;
其中,第二数值的值为第一数值的值乘以预设的参数。
8.如权利要求7所述的面向分布式训练的高效梯度稀疏化系统,其特征在于,还包括:
编码模块,用于在将梯度传递到下一节点之前,基于两个数组和预设的编码库,确定各个子块对应的编码;
传递模块,用于将所述编码传递至下一节点。
9.一种面向分布式训练的高效梯度稀疏化的设备,其特征在于,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如权利要求1至6中任一种方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至6中任一种方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310162148.4A CN116341628B (zh) | 2023-02-24 | 2023-02-24 | 分布式训练的梯度稀疏化方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310162148.4A CN116341628B (zh) | 2023-02-24 | 2023-02-24 | 分布式训练的梯度稀疏化方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116341628A true CN116341628A (zh) | 2023-06-27 |
CN116341628B CN116341628B (zh) | 2024-02-13 |
Family
ID=86888521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310162148.4A Active CN116341628B (zh) | 2023-02-24 | 2023-02-24 | 分布式训练的梯度稀疏化方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116341628B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109951438A (zh) * | 2019-01-15 | 2019-06-28 | 中国科学院信息工程研究所 | 一种分布式深度学习的通信优化方法及系统 |
CN112380003A (zh) * | 2020-09-18 | 2021-02-19 | 北京大学 | 一种gpu处理器上的k-nn的高性能并行实现装置 |
US20210200610A1 (en) * | 2019-12-31 | 2021-07-01 | Hong Kong Baptist University | System for efficient large-scale data distribution in distributed and parallel processing environment |
CN113159287A (zh) * | 2021-04-16 | 2021-07-23 | 中山大学 | 一种基于梯度稀疏的分布式深度学习方法 |
CN113452655A (zh) * | 2020-03-25 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 一种分布式训练方法、梯度通信方法、装置以及计算设备 |
CN113660113A (zh) * | 2021-07-27 | 2021-11-16 | 上海大学 | 面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法 |
CN114118381A (zh) * | 2021-12-03 | 2022-03-01 | 中国人民解放军国防科技大学 | 基于自适应聚合稀疏通信的学习方法、装置、设备及介质 |
CN114328360A (zh) * | 2021-11-30 | 2022-04-12 | 浪潮电子信息产业股份有限公司 | 一种数据传输方法、装置、电子设备和介质 |
-
2023
- 2023-02-24 CN CN202310162148.4A patent/CN116341628B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109951438A (zh) * | 2019-01-15 | 2019-06-28 | 中国科学院信息工程研究所 | 一种分布式深度学习的通信优化方法及系统 |
US20210200610A1 (en) * | 2019-12-31 | 2021-07-01 | Hong Kong Baptist University | System for efficient large-scale data distribution in distributed and parallel processing environment |
CN113452655A (zh) * | 2020-03-25 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 一种分布式训练方法、梯度通信方法、装置以及计算设备 |
CN112380003A (zh) * | 2020-09-18 | 2021-02-19 | 北京大学 | 一种gpu处理器上的k-nn的高性能并行实现装置 |
CN113159287A (zh) * | 2021-04-16 | 2021-07-23 | 中山大学 | 一种基于梯度稀疏的分布式深度学习方法 |
CN113660113A (zh) * | 2021-07-27 | 2021-11-16 | 上海大学 | 面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法 |
CN114328360A (zh) * | 2021-11-30 | 2022-04-12 | 浪潮电子信息产业股份有限公司 | 一种数据传输方法、装置、电子设备和介质 |
CN114118381A (zh) * | 2021-12-03 | 2022-03-01 | 中国人民解放军国防科技大学 | 基于自适应聚合稀疏通信的学习方法、装置、设备及介质 |
Non-Patent Citations (3)
Title |
---|
ANDERSON, E.;SAAD, Y.: "Solving sparse triangular linear systems on parallel computers", INTERNATIONAL JOURNAL OF HIGH SPEED COMPUTING, vol. 1, no. 1, pages 73 - 95 * |
程凯;田瑾;马瑞琳: "基于GPU的高效稀疏矩阵存储格式研究", 计算机工程, no. 08, pages 60 - 66 * |
邬贵明;王淼;谢向辉;窦勇;郭松: "面向定制结构的稀疏矩阵分块方法", 计算机科学, no. 11, pages 69 - 70 * |
Also Published As
Publication number | Publication date |
---|---|
CN116341628B (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110110851A (zh) | 一种lstm神经网络的fpga加速器及其加速方法 | |
CN111753948A (zh) | 模型处理方法及相关设备 | |
CN112200300B (zh) | 卷积神经网络运算方法及装置 | |
CN112633419A (zh) | 小样本学习方法、装置、电子设备和存储介质 | |
CN112101525A (zh) | 一种通过nas设计神经网络的方法、装置和系统 | |
CN111008693A (zh) | 一种基于数据压缩的网络模型构建方法、系统和介质 | |
CN111651668A (zh) | 用户画像的标签生成方法及装置、存储介质、终端 | |
CN115659175A (zh) | 一种面向微服务资源的多模态数据分析方法、装置及介质 | |
CN115437760A (zh) | 计算资源分配方法、电子设备、存储介质及程序产品 | |
CN114742211B (zh) | 一种面向微控制器的卷积神经网络部署和优化方法 | |
CN116341628B (zh) | 分布式训练的梯度稀疏化方法、系统、设备及存储介质 | |
CN111984418B (zh) | 稀疏矩阵向量乘并行任务粒度参数自动调优方法和装置 | |
CN113158134B (zh) | 非侵入式负荷辨识模型的构建方法、装置和存储介质 | |
CN111797984B (zh) | 一种用于多任务神经网络的量化和硬件加速方法及装置 | |
CN115409195A (zh) | 一种基于qasm编程架构的量子程序可视化推演方法及装置 | |
CN112612762A (zh) | 数据处理方法及相关设备 | |
CN111767980A (zh) | 模型优化方法、装置及设备 | |
KR102572429B1 (ko) | 압축된 다차원 행렬 곱셈 방법, 연산 장치 및 프로그램을 저장하는 저장매체 | |
CN115146596B (zh) | 召回文本的生成方法、装置、电子设备及存储介质 | |
CN118155227B (zh) | 基于智能化技术的核电设备维护决策方法及系统 | |
CN113849592B (zh) | 文本情感分类方法及装置、电子设备、存储介质 | |
CN111767204A (zh) | 溢出风险检测方法、装置及设备 | |
CN118410051B (zh) | 基于云计算的建筑测绘数据管理系统及方法 | |
CN114118085B (zh) | 一种文本信息的处理方法、装置及设备 | |
US20220414457A1 (en) | Selective data structure encoding for deep neural network training |
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 |