CN111241204B - 一种梯度数据的同步方法、装置、设备及存储介质 - Google Patents
一种梯度数据的同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111241204B CN111241204B CN202010093643.0A CN202010093643A CN111241204B CN 111241204 B CN111241204 B CN 111241204B CN 202010093643 A CN202010093643 A CN 202010093643A CN 111241204 B CN111241204 B CN 111241204B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- type
- target data
- gradient
- 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 65
- 238000013507 mapping Methods 0.000 claims abstract description 55
- 230000001360 synchronised effect Effects 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000007667 floating Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 abstract description 35
- 238000012549 training Methods 0.000 abstract description 30
- 238000013136 deep learning model Methods 0.000 abstract description 29
- 238000013135 deep learning Methods 0.000 description 9
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 5
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种梯度数据的同步方法、装置、设备及存储介质,该方法包括:确定需实现同步的梯度数据为目标数据,将目标数据裁剪至预设范围内;其中,预设范围小于目标数据实际位于的范围;确定梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至目标类型所表征的数据范围内;将映射后得到的目标数据在对应设备之间实现同步,并指示得到目标数据的设备将目标数据映射至原类型所表征的数据范围内;其中,原类型为裁剪前目标数据的数据类型,且原类型的数据位宽大于目标类型的数据位宽。减少梯度数据在实现同步的过程中的通信量,以通过这种方式使得通信资源满足深度学习模型训练时的实际需求。
Description
技术领域
本发明涉及深度学习技术领域,更具体地说,涉及一种梯度数据的同步方法、装置、设备及存储介质。
背景技术
目前,深度学习技术在多个应用领域取得了长足的发展,展现出广阔的应用前景;这些应用领域包括人脸识别、推荐系统、智能语音助手、无人驾驶等等。但是,无论上述哪一个领域,应用落地的前提都是设计和训练复杂的深度学习模型,尽管现有硬件计算设备的计算能力与日俱增,比如现行通用的V100 GPU的单卡计算能力达到了120TFlops,但是这也不足以满足所有深度学习模型的训练需求,比如目前在自然语言处理(NLP)领域广泛使用的bert模型,其如果使用单张V100 GPU卡进行训练的话,整个训练时间估计会在一年以上。
因此,需要更大规模的分布式深度学习计算来解决上述模型的训练问题。分布式深度学习,顾名思义即为在多个计算设备上同时对一个深度学习模型进行训练的方法。目前深度学习领域提出了不同的算法及实现,常见的算法主要包括模型并行和数据并行,其中,数据并行的思路由于其实现相对简单,计算效率高,是应用更为普遍的一种算法。
数据并行的实现策略在每个计算设备上都有一个完整的深度学习模型,然后分别给每个模型提供不同的训练数据进行计算。并且训练过程中的每个迭代步,都对分布式中的每个计算设备上的模型的梯度信息进行一次同步,并根据同步后的梯度信息来更新每个设备上模型的网络参数。因此数据并行算法中每个迭代步都需要进行一次梯度数据的通信,在常见的计算设备上,每秒钟通常能完成数次到数十次的计算迭代;从而带来了频繁的数据通信需求。和硬件计算性能的飞速发展相比,计算设备间的通信技术的发展则相对缓慢,目前高性能计算领域主流的通信网络是mellanox EDR 100Gbps;而目前互联网数据中心中主流的网络环境大多采用25Gbps的互联带宽,这个带宽和深度学习模型训练的实际需求是有一定的差距的。因此,如何使得通信资源能够满足深度学习模型训练的实际需求,则是目前本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种梯度数据的同步方法、装置、设备及存储介质,减少梯度数据在实现同步的过程中的通信量,以通过这种方式使得通信资源满足深度学习模型训练时的实际需求。
为了实现上述目的,本发明提供如下技术方案:
一种梯度数据的同步方法,包括:
确定需实现同步的梯度数据为目标数据,将所述目标数据裁剪至预设范围内;其中,所述预设范围小于所述目标数据实际位于的范围;
确定所述梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内;
将映射后得到的目标数据在对应设备之间实现同步,并指示得到所述目标数据的设备将所述目标数据映射至原类型所表征的数据范围内;其中,所述原类型为裁剪前所述目标数据的数据类型,且所述原类型的数据位宽大于所述目标类型的数据位宽。
优选的,将所述目标数据裁剪至预设范围内,包括:
将大于预设范围内最大值的目标数据修改为该最大值,将小于所述预设范围内最小值的目标数据修改为该最小值,实现对所述目标数据的裁剪。
优选的,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内之后,还包括:
将映射后得到的目标数据均使用所述目标类型对应的格式进行存储。
优选的,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内,包括:
将裁剪后得到的目标数据均除以0.0008得到相应计算结果,将所述计算结果进行取整运算,得到映射至所述目标类型所表征的数据范围内的目标数据;其中,所述原类型为32位浮点数据,所述目标类型为8位整型数据,所述预设范围为-0.1到0.1之间,包括端点值。
一种梯度数据的同步装置,包括:
裁剪模块,用于:确定需实现同步的梯度数据为目标数据,将所述目标数据裁剪至预设范围内;其中,所述预设范围小于所述目标数据实际位于的范围;
映射模块,用于:确定所述梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内;
同步模块,用于:将映射后得到的目标数据在对应设备之间实现同步,并指示得到所述目标数据的设备将所述目标数据映射至原类型所表征的数据范围内;其中,所述原类型为裁剪前所述目标数据的数据类型,且所述原类型的数据位宽大于所述目标类型的数据位宽。
优选的,所述裁剪模块包括:
裁剪单元,用于:将大于预设范围内最大值的目标数据修改为该最大值,将小于所述预设范围内最小值的目标数据修改为该最小值,实现对所述目标数据的裁剪。
优选的,还包括:
存储模块,用于:将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内之后,将映射后得到的目标数据均使用所述目标类型对应的格式进行存储。
优选的,所述映射模块包括:
映射单元,用于:将裁剪后得到的目标数据均除以0.0008得到相应计算结果,将所述计算结果进行取整运算,得到映射至所述目标类型所表征的数据范围内的目标数据;其中,所述原类型为32位浮点数据,所述目标类型为8位整型数据,所述预设范围为-0.1到0.1之间,包括端点值。
一种梯度数据的同步设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一项所述梯度数据的同步方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述梯度数据的同步方法的步骤。
本发明提供了一种梯度数据的同步方法、装置、设备及存储介质,该方法包括:确定需实现同步的梯度数据为目标数据,将所述目标数据裁剪至预设范围内;其中,所述预设范围小于所述目标数据实际位于的范围;确定所述梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内;将映射后得到的目标数据在对应设备之间实现同步,并指示得到所述目标数据的设备将所述目标数据映射至原类型所表征的数据范围内;其中,所述原类型为裁剪前所述目标数据的数据类型,且所述原类型的数据位宽大于所述目标类型的数据位宽。本申请在实现梯度数据的同步前,首先对梯度数据进行裁剪及映射,得到梯度数据映射至同步过程中采用的数据类型的数据范围,然后对梯度数据实现同步,供相应设备将其还原至未裁剪及映射前的梯度数据后进行使用;而同步过程中采用的数据类型的数据位宽小于梯度数据未进行裁剪前的数据数据位宽,从而通过这种量化的技术压缩梯度数据的数据位宽,降低梯度数据在实现同步的过程中的数据位宽,也即减少梯度数据在实现同步的过程中的通信量,降低深度学习模型训练时的通信压力,以通过这种方式使得通信资源满足深度学习模型训练时的实际需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种梯度数据的同步方法的流程图;
图2为本发明实施例提供的一种梯度数据的同步方法中深度学习模型分布式训练流程图;
图3为本发明实施例提供的一种梯度数据的同步方法中梯度数据映射的示意图;
图4为本发明实施例提供的不同通信方式下深度学习模型训练过程中loss随迭代步变化的比对图;
图5为本发明实施例提供的一种梯度数据的同步装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种梯度数据的同步方法的流程图,可以包括:
S11:确定需实现同步的梯度数据为目标数据,将目标数据裁剪至预设范围内;其中,预设范围小于目标数据实际位于的范围。
需要说明的是,本发明实施例提供的一种梯度数据的同步方法的执行主体可以为对应的同步装置或同步设备,本实施例中以该同步方法的执行主体为同步装置进行说明。
一般情况下,深度学习的分布式训练采用如图2所示的流程,对于每一个迭代步,先向深度学习模型中输入一个batch的数据,然后进行深度学习模型的前向计算,之后是各个设备间进行深度学习模型的梯度数据的同步,也就是整个迭代中的通信部分,接着是深度学习模型的反向计算,更新模型的权值参数等;再回到第一步进行下一个迭代步的计算。其中,梯度数据与现有技术中对应概念的含义相同,是在反向计算中确定出的张量类型的数据(因此梯度数据也可以称为梯度向量),进而基于梯度数据更新深度学习模型的权值参数等。在对梯度数据进行同步前,可以先将需要实现同步的梯度数据裁剪至预设范围内;其中,预设范围可以根据实际需要进行设定,且预设范围小于目标数据实际位于的范围,因此,将梯度数据裁剪至预设范围内也即缩小梯度数据所属的范围;实验证明,在对梯度数据进行步骤S12及后续步骤之前先将梯度数据进行所属范围的缩小,能够有效提高步骤S13中设备将获取的梯度数据映射至原类型后所得数据与进行裁剪之前梯度数据的一致性,进而保证基于梯度数据实现深度学习模型训练的有效性。
S12:确定梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至目标类型所表征的数据范围内。
为了使得通信资源能够满足深度学习模型训练时的实际需求,本实施例中选择缩小需同步的梯度的数据位宽的方式,从而减小深度学习模型训练时的实际需求,降低深度学习模型训练时的通信压力。具体来说,可以选取出其数据位宽小于与梯度数据进行裁剪前的数据类型的数据位宽的数据类型,作为梯度数据在同步过程中所采用的数据类型;进而将裁剪后得到的梯度数据均映射至梯度数据在同步过程中所采用的数据类型所表征的数据范围(或者说数据空间);其中,不同的数据类型表征的数据范围不同,这与现有技术中对应概念的含义相同,如Int8整型数据所能表征的数据范围则为[-127,128]。
本实施例在确定出梯度数据在同步过程中所采用的数据类型后,可以将梯度数据均映射到该数据类型的数据范围内,从而使得梯度数据成为该数据类型的数据,进而实现对梯度数据的同步,达到减小梯度数据的数据位宽,进而减小所需通信资源的目的。
S13:将映射后得到的目标数据在对应设备之间实现同步,并指示得到目标数据的设备将目标数据映射至原类型所表征的数据范围内;其中,原类型为裁剪前目标数据的数据类型,且原类型的数据位宽大于目标类型的数据位宽。
在将梯度数据映射到需采用的数据类型对应的数据范围后,则可以将梯度数据在对应的设备(可以为计算设备)之间进行同步,并且每个设备在接收到梯度数据之后,需要先将接收的梯度数据映射至梯度数据未进行裁剪、映射等之前的数据类型所表征的数据范围内,也即步骤S13中涉及的映射为步骤S12中涉及的映射的逆过程,从而得到未进行裁剪、映射等之前的梯度数据,以供使用。
本申请在实现梯度数据的同步前,首先对梯度数据进行裁剪及映射,得到梯度数据映射至同步过程中采用的数据类型的数据范围,然后对梯度数据实现同步,供相应设备将其还原至未裁剪及映射前的梯度数据后进行使用;而同步过程中采用的数据类型的数据位宽小于梯度数据未进行裁剪前的数据数据位宽,从而通过这种量化的技术压缩梯度数据的数据位宽,降低梯度数据在实现同步的过程中的数据位宽,也即减少梯度数据在实现同步的过程中的通信量,降低深度学习模型训练时的通信压力,以通过这种方式使得通信资源满足深度学习模型训练时的实际需求。
另外,实验证明本申请公开的上述技术方案不仅能够降低通信压力,而且能够实现和传统梯度数据同步一样的模型训练收敛效果,并没有导致深度学习模型的收敛变慢,更没有带来额外的计算需求。
本发明实施例提供的一种梯度数据的同步方法,将目标数据裁剪至预设范围内,可以包括:
将大于预设范围内最大值的目标数据修改为该最大值,将小于预设范围内最小值的目标数据修改为该最小值,实现对目标数据的裁剪。
在实现梯度数据的裁剪时,可以是将全部梯度数据均除以一个特定的整数值,以达到缩小其所处范围的目的,也可以是将大于预设范围内最大值的梯度数据取值该最大值,而小于预设范围内最小值的梯度数据取值该最小值,从而通过这种固定边界值(预设范围内的最大值及最小值)的裁剪方式,保证所有的梯度数据都位于预设范围内;本实施例中优先选取上述第二种方式,能够在达到缩小梯度数据所处范围的同时,减少需要处理的数据量。
本发明实施例提供的一种梯度数据的同步方法,将裁剪后得到的目标数据映射至目标类型所表征的数据范围内之后,还可以包括:
将映射后得到的目标数据均使用目标类型对应的格式进行存储。
在将梯度数据映射至同步时需采用的数据类型所表征的数据范围之后,在对梯度数据进行同步之前,还可以按照需采用的数据类型的格式对梯度数据进行存储,从而能够在需要对梯度数据实现同步时方便获取相应的梯度数据,也能够在需要同步的梯度数据过多时,通过存储的方式等待被同步缓解通信拥挤,还能够在梯度数据传输失败时,能够重新读取存储的梯度数据进而实现相应的同步,因此,本实施例中对梯度数据按照相应格式进行存储能够避免数据丢失、缓解通信拥挤的情况。本发明实施例提供的一种梯度数据的同步方法,将裁剪后得到的目标数据映射至目标类型所表征的数据范围内,可以包括:
将裁剪后得到的目标数据均除以0.0008得到相应计算结果,将计算结果进行取整运算,得到映射至目标类型所表征的数据范围内的目标数据;其中,原类型为32位浮点数据,目标类型为8位整型数据,所述预设范围为-0.1到0.1之间,包括端点值。
需要说明的是,现有技术中常用的梯度数据的类型则为32位浮点数据(32bit浮点数据),本实施例中为了尽可能减少梯度数据同步的通信压力,可以设置梯度数据在实现同步过程中采用的数据类型为8位整型数据(8bit整型数据,也即Int8整型数据),由此在将梯度数据映射到int8整型数据所表征的数据范围时,由于Int8整型数据能表征的数据范围为[-127,128],预设范围为【-0.1,0.1】,0.2/256=0.00078125,本实施例中对该值近似使用0.0008,由此实际上【-0.1,0.1】是被映射到了【-124,125】,这种取近似值的方式能够防止映射过程中造成数据越界。因此本实施例可以将所有的梯度数据均除以0.0008,然后对除法所得计算结果取整(可根据实际需要选择向上取整或者向下取整),从而得到数据格式为Int8整型数据的梯度数据;这种计算机方式简便易于实现,且所得结果满足对梯度数据的映射需求。
对应不同情况实现梯度数据的映射可以总结为:在将第一数据范围内的梯度数据映射到第二数据范围时,确定第一数据范围包含的数据量为第一数据量,确定第二数据范围包含的数据量为第二数据量,利用第一数据量除以第二数据量则可以得到映射参数,进而将梯度数据均除以映射参数,则可以实现梯度数据由第一数据范围到第二数据范围的映射;其中,第一数据量为利用第一数据范围内的最大值减去第一数据范围内的最小值,再将减法所得结果加1所得的值,第二数据量为利用第二数据范围内的最大值减去第二数据范围内的最小值,再将减法所得结果加1所得的值;在本申请实施例中,如果第一数据范围为需要将梯度数据裁剪至的预设范围,第二数据范围则为梯度数据同步过程中需采用的数据类型所表征的数据范围,如果第一数据范围为梯度数据同步过程中需采用的数据类型所表征的数据范围,第二数据范围则为梯度数据进行裁剪前的数据类型所表征的数据范围。在一种具体应用场景中,本申请实施例提供的一种梯度数据的同步方法可以包括以下步骤:
a)裁剪梯度数据。本实施例中采用固定边界值的裁剪方式,固定的边界值对应的预设范围为[-0.1,0.1];具体来说,设定一个梯度数据的上界值和下界值(分别对应预设范围内的最大值及最小值),比如0.1和-0.1,大于0.1的梯度数据全部修改为0.1,小于-0.1的梯度数据全部修改为-0.1,从而保证所有的梯度数据的范围都位于[-0.1,0.1]。
b)把梯度数据映射到int8整型数据所表征的数据范围。Int8整型数据能表征的数据范围为[-127,128],本实施例中则是把[-0.1,0.1]的梯度数据映射到[-127,128],如图3所示;映射后的梯度数据皆采用了int8整型数据的数据格式;一个可选的映射方案是把所有的梯度数据除以0.0008,然后取整,再把取整后的梯度数据使用int8格式存储。
c)梯度数据通信,多个设备间同步int8格式的梯度数据。
d)把梯度数据映射到32bit浮点数据所表征的数据范围,这一过程是上述步骤b)的逆过程。
本发明降低了深度学习模型分布式训练中的通信压力,相比传统32bit浮点数据通信方式通信带宽可以降为原来的1/4,从而在大多数的分布式训练场景下,都可以通过减少通信带宽的方式来提升并行计算的效率;并且,基于上述方式能够保证深度学习模型训练的收敛过程和默认32bit浮点数据时一致,图4即为基于上述过程的一个案例,在该案例中,采用的训练数据集为cifar10,深度学习模型为mobilenetV2,深度学习框架为pytorch;其中的两条线分别表示8bit通信的分布式训练深度学习模型过程中loss随迭代步的变化和使用32bit默认通信方式的分布式训练深度学习模型过程中loss随迭代步的变化,可见两条线基本一致,因此可知利用上述方式对梯度数据进行处理后同步的方案能够保证其收敛效果基本不受影响。综上,本发明不仅实现了基于8bit整型数据的通信,也实现了和传统32bit浮点型数据通信一样的模型训练收敛效果,并没有导致模型的收敛变慢,在把通信带宽降为原来1/4的基础上,并没有带来额外的计算需求。
另外,本发明可以基于常见深度学习框架(比如tensorflow、pytorch、horovod)进行实施,并对常见的深度学习应用场景比如计算机视觉、自然语言处理等领域也具有广泛的适用性。
本发明实施例还提供了一种梯度数据的同步装置,如图5所示,具体可以包括:
裁剪模块11,用于:确定需实现同步的梯度数据为目标数据,将目标数据裁剪至预设范围内;其中,预设范围小于目标数据实际位于的范围;
映射模块12,用于:确定梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至目标类型所表征的数据范围内;
同步模块13,用于:将映射后得到的目标数据在对应设备之间实现同步,并指示得到目标数据的设备将目标数据映射至原类型所表征的数据范围内;其中,原类型为裁剪前目标数据的数据类型,且原类型的数据位宽大于目标类型的数据位宽。
本发明实施例提供的一种梯度数据的同步装置,裁剪模块可以包括:
裁剪单元,用于:将大于预设范围内最大值的目标数据修改为该最大值,将小于预设范围内最小值的目标数据修改为该最小值,实现对目标数据的裁剪。
本发明实施例提供的一种梯度数据的同步装置,还可以包括:
存储模块,用于:将裁剪后得到的目标数据映射至目标类型所表征的数据范围内之后,将映射后得到的目标数据均使用目标类型对应的格式进行存储。
本发明实施例提供的一种梯度数据的同步装置,映射模块可以包括:
映射单元,用于:将裁剪后得到的目标数据均除以0.0008得到相应计算结果,将计算结果进行取整运算,得到映射至目标类型所表征的数据范围内的目标数据;其中,原类型为32位浮点数据,目标类型为8位整型数据,所述预设范围为-0.1到0.1之间,包括端点值。
本发明实施例还提供了一种梯度数据的同步设备,可以包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上任一项梯度数据的同步方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现如上任一项梯度数据的同步方法的步骤。
需要说明的是,本发明实施例提供的一种梯度数据的同步装置、设备及存储介质中相关部分的说明请参见本发明实施例提供的一种梯度数据的同步方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种梯度数据的同步方法,其特征在于,包括:
确定需实现同步的梯度数据为目标数据,将所述目标数据裁剪至预设范围内;其中,所述预设范围小于所述目标数据实际位于的范围;
确定所述梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内;
将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内,包括:
将裁剪后得到的目标数据均除以0.0008得到相应计算结果,将所述计算结果进行取整运算,得到映射至所述目标类型所表征的数据范围内的目标数据;
将映射后得到的目标数据均使用所述目标类型对应的格式进行存储;
将映射后得到的目标数据在对应设备之间实现同步,并指示得到所述目标数据的设备将所述目标数据映射至原类型所表征的数据范围内;其中,所述原类型为裁剪前所述目标数据的数据类型,且所述原类型的数据位宽大于所述目标类型的数据位宽,所述原类型为32位浮点数据,所述目标类型为8位整型数据,所述预设范围为-0.1到0.1之间,包括端点值。
2.根据权利要求1所述的方法,其特征在于,将所述目标数据裁剪至预设范围内,包括:
将大于预设范围内最大值的目标数据修改为该最大值,将小于所述预设范围内最小值的目标数据修改为该最小值,实现对所述目标数据的裁剪。
3.一种梯度数据的同步装置,其特征在于,包括:
裁剪模块,用于:确定需实现同步的梯度数据为目标数据,将所述目标数据裁剪至预设范围内;其中,所述预设范围小于所述目标数据实际位于的范围;
映射模块,用于:确定所述梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内;
所述映射模块包括:映射单元,用于:将裁剪后得到的目标数据均除以0.0008得到相应计算结果,将所述计算结果进行取整运算,得到映射至所述目标类型所表征的数据范围内的目标数据;
存储模块,用于:将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内之后,将映射后得到的目标数据均使用所述目标类型对应的格式进行存储;
同步模块,用于:将映射后得到的目标数据在对应设备之间实现同步,并指示得到所述目标数据的设备将所述目标数据映射至原类型所表征的数据范围内;其中,所述原类型为裁剪前所述目标数据的数据类型,且所述原类型的数据位宽大于所述目标类型的数据位宽,所述原类型为32位浮点数据,所述目标类型为8位整型数据,所述预设范围为-0.1到0.1之间,包括端点值。
4.根据权利要求3所述的装置,其特征在于,所述裁剪模块包括:
裁剪单元,用于:将大于预设范围内最大值的目标数据修改为该最大值,将小于所述预设范围内最小值的目标数据修改为该最小值,实现对所述目标数据的裁剪。
5.一种梯度数据的同步设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至2任一项所述梯度数据的同步方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至2任一项所述梯度数据的同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010093643.0A CN111241204B (zh) | 2020-02-14 | 2020-02-14 | 一种梯度数据的同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010093643.0A CN111241204B (zh) | 2020-02-14 | 2020-02-14 | 一种梯度数据的同步方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111241204A CN111241204A (zh) | 2020-06-05 |
CN111241204B true CN111241204B (zh) | 2023-01-10 |
Family
ID=70880038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010093643.0A Active CN111241204B (zh) | 2020-02-14 | 2020-02-14 | 一种梯度数据的同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111241204B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546905B (zh) * | 2022-01-20 | 2024-05-14 | 广州广电五舟科技股份有限公司 | 一种多路cpu的通道同步控制方法及装置 |
CN117435168A (zh) * | 2022-07-15 | 2024-01-23 | 华为技术有限公司 | 一种数据类型的处理方法及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109360210A (zh) * | 2018-10-16 | 2019-02-19 | 腾讯科技(深圳)有限公司 | 图像分割方法、装置、计算机设备及存储介质 |
CN109726806A (zh) * | 2017-10-30 | 2019-05-07 | 上海寒武纪信息科技有限公司 | 信息处理方法及终端设备 |
-
2020
- 2020-02-14 CN CN202010093643.0A patent/CN111241204B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726806A (zh) * | 2017-10-30 | 2019-05-07 | 上海寒武纪信息科技有限公司 | 信息处理方法及终端设备 |
CN109360210A (zh) * | 2018-10-16 | 2019-02-19 | 腾讯科技(深圳)有限公司 | 图像分割方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于FPGA的浮点LMS自适应滤波算法的设计与实现;齐志强;《数码设计》;20170630(第6期);第75-77页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111241204A (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10289451B2 (en) | Method, apparatus, and system for adjusting deployment location of virtual machine | |
CN112884086B (zh) | 模型训练方法、装置、设备、存储介质以及程序产品 | |
CN111241204B (zh) | 一种梯度数据的同步方法、装置、设备及存储介质 | |
CN109583586B (zh) | 一种语音识别或图像识别中的卷积核处理方法及装置 | |
US11615607B2 (en) | Convolution calculation method, convolution calculation apparatus, and terminal device | |
US20240062469A1 (en) | Data processing method, apparatus, device, and medium | |
CN110795235B (zh) | 一种移动web深度学习协作的方法及系统 | |
WO2021248937A1 (zh) | 一种基于差分隐私的地理分布式图计算方法及系统 | |
CN112783807A (zh) | 一种模型计算方法及系统 | |
CN116227599A (zh) | 一种推理模型的优化方法、装置、电子设备及存储介质 | |
CN116128019A (zh) | Transformer模型的并行训练方法及装置 | |
CN114463551A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN114339891A (zh) | 一种基于q学习的边缘卸载资源分配方法及系统 | |
CN116820577B (zh) | 模型的并行处理方法、装置、第一计算设备和电子设备 | |
TWI740725B (zh) | 資料傳遞及合併的方法 | |
CN115130672B (zh) | 一种软硬件协同优化卷积神经网络计算的方法及装置 | |
CN116505954A (zh) | 一种霍夫曼编码方法、系统、装置及介质 | |
US12094084B2 (en) | Multi-channel feature map fusion | |
CN110399881A (zh) | 一种端到端的基于双目立体图像的质量增强方法及装置 | |
CN117371498A (zh) | 数据处理方法、乘累加器、计算架构、设备及存储介质 | |
CN115205411A (zh) | 一种遮挡体生成方法、装置、电子设备和介质 | |
CN118297950B (zh) | 基于立体视觉感知机制的立体图像质量评价方法和装置 | |
CN115391727B (zh) | 一种神经网络模型的计算方法、装置、设备及存储介质 | |
CN115147669B (zh) | 基于视觉转换器模型的图像处理方法、训练方法和设备 | |
US12147901B2 (en) | Training and application method of a multi-layer neural network model, apparatus and storage medium |
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 |