一种梯度数据的同步方法、装置、设备及存储介质制造方法及图纸

技术编号:24409916 阅读:26 留言:0更新日期:2020-06-06 08:44
本发明专利技术公开了一种梯度数据的同步方法、装置、设备及存储介质,该方法包括:确定需实现同步的梯度数据为目标数据,将目标数据裁剪至预设范围内;其中,预设范围小于目标数据实际位于的范围;确定梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至目标类型所表征的数据范围内;将映射后得到的目标数据在对应设备之间实现同步,并指示得到目标数据的设备将目标数据映射至原类型所表征的数据范围内;其中,原类型为裁剪前目标数据的数据类型,且原类型的数据位宽大于目标类型的数据位宽。减少梯度数据在实现同步的过程中的通信量,以通过这种方式使得通信资源满足深度学习模型训练时的实际需求。

A method, device, device and storage medium of gradient data synchronization

【技术实现步骤摘要】
一种梯度数据的同步方法、装置、设备及存储介质
本专利技术涉及深度学习
,更具体地说,涉及一种梯度数据的同步方法、装置、设备及存储介质。
技术介绍
目前,深度学习技术在多个应用领域取得了长足的发展,展现出广阔的应用前景;这些应用领域包括人脸识别、推荐系统、智能语音助手、无人驾驶等等。但是,无论上述哪一个领域,应用落地的前提都是设计和训练复杂的深度学习模型,尽管现有硬件计算设备的计算能力与日俱增,比如现行通用的V100GPU的单卡计算能力达到了120TFlops,但是这也不足以满足所有深度学习模型的训练需求,比如目前在自然语言处理(NLP)领域广泛使用的bert模型,其如果使用单张V100GPU卡进行训练的话,整个训练时间估计会在一年以上。因此,需要更大规模的分布式深度学习计算来解决上述模型的训练问题。分布式深度学习,顾名思义即为在多个计算设备上同时对一个深度学习模型进行训练的方法。目前深度学习领域提出了不同的算法及实现,常见的算法主要包括模型并行和数据并行,其中,数据并行的思路由于其实现相对简单,计算效率高,是应用更为普遍的一种算法。数据并行的实现策略在每个计算设备上都有一个完整的深度学习模型,然后分别给每个模型提供不同的训练数据进行计算。并且训练过程中的每个迭代步,都对分布式中的每个计算设备上的模型的梯度信息进行一次同步,并根据同步后的梯度信息来更新每个设备上模型的网络参数。因此数据并行算法中每个迭代步都需要进行一次梯度数据的通信,在常见的计算设备上,每秒钟通常能完成数次到数十次的计算迭代;从而带来了频繁的数据通信需求。和硬件计算性能的飞速发展相比,计算设备间的通信技术的发展则相对缓慢,目前高性能计算领域主流的通信网络是mellanoxEDR100Gbps;而目前互联网数据中心中主流的网络环境大多采用25Gbps的互联带宽,这个带宽和深度学习模型训练的实际需求是有一定的差距的。因此,如何使得通信资源能够满足深度学习模型训练的实际需求,则是目前本领域技术人员亟待解决的问题。
技术实现思路
本专利技术的目的是提供一种梯度数据的同步方法、装置、设备及存储介质,减少梯度数据在实现同步的过程中的通信量,以通过这种方式使得通信资源满足深度学习模型训练时的实际需求。为了实现上述目的,本专利技术提供如下技术方案:一种梯度数据的同步方法,包括:确定需实现同步的梯度数据为目标数据,将所述目标数据裁剪至预设范围内;其中,所述预设范围小于所述目标数据实际位于的范围;确定所述梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内;将映射后得到的目标数据在对应设备之间实现同步,并指示得到所述目标数据的设备将所述目标数据映射至原类型所表征的数据范围内;其中,所述原类型为裁剪前所述目标数据的数据类型,且所述原类型的数据位宽大于所述目标类型的数据位宽。优选的,将所述目标数据裁剪至预设范围内,包括:将大于预设范围内最大值的目标数据修改为该最大值,将小于所述预设范围内最小值的目标数据修改为该最小值,实现对所述目标数据的裁剪。优选的,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内之后,还包括:将映射后得到的目标数据均使用所述目标类型对应的格式进行存储。优选的,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内,包括:将裁剪后得到的目标数据均除以0.0008得到相应计算结果,将所述计算结果进行取整运算,得到映射至所述目标类型所表征的数据范围内的目标数据;其中,所述原类型为32位浮点数据,所述目标类型为8位整型数据,所述预设范围为-0.1到0.1之间,包括端点值。一种梯度数据的同步装置,包括:裁剪模块,用于:确定需实现同步的梯度数据为目标数据,将所述目标数据裁剪至预设范围内;其中,所述预设范围小于所述目标数据实际位于的范围;映射模块,用于:确定所述梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内;同步模块,用于:将映射后得到的目标数据在对应设备之间实现同步,并指示得到所述目标数据的设备将所述目标数据映射至原类型所表征的数据范围内;其中,所述原类型为裁剪前所述目标数据的数据类型,且所述原类型的数据位宽大于所述目标类型的数据位宽。优选的,所述裁剪模块包括:裁剪单元,用于:将大于预设范围内最大值的目标数据修改为该最大值,将小于所述预设范围内最小值的目标数据修改为该最小值,实现对所述目标数据的裁剪。优选的,还包括:存储模块,用于:将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内之后,将映射后得到的目标数据均使用所述目标类型对应的格式进行存储。优选的,所述映射模块包括:映射单元,用于:将裁剪后得到的目标数据均除以0.0008得到相应计算结果,将所述计算结果进行取整运算,得到映射至所述目标类型所表征的数据范围内的目标数据;其中,所述原类型为32位浮点数据,所述目标类型为8位整型数据,所述预设范围为-0.1到0.1之间,包括端点值。一种梯度数据的同步设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上任一项所述梯度数据的同步方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述梯度数据的同步方法的步骤。本专利技术提供了一种梯度数据的同步方法、装置、设备及存储介质,该方法包括:确定需实现同步的梯度数据为目标数据,将所述目标数据裁剪至预设范围内;其中,所述预设范围小于所述目标数据实际位于的范围;确定所述梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内;将映射后得到的目标数据在对应设备之间实现同步,并指示得到所述目标数据的设备将所述目标数据映射至原类型所表征的数据范围内;其中,所述原类型为裁剪前所述目标数据的数据类型,且所述原类型的数据位宽大于所述目标类型的数据位宽。本申请在实现梯度数据的同步前,首先对梯度数据进行裁剪及映射,得到梯度数据映射至同步过程中采用的数据类型的数据范围,然后对梯度数据实现同步,供相应设备将其还原至未裁剪及映射前的梯度数据后进行使用;而同步过程中采用的数据类型的数据位宽小于梯度数据未进行裁剪前的数据数据位宽,从而通过这种量化的技术压缩梯度数据的数据位宽,降低梯度数据在实现同步的过程中的数据位宽,也即减少梯度数据在实现同步的过程中的通信量,降低深度学习模型训练时的通信压力,以通过这种方式使得通信资源满足深度学习模型训练时的实际需求。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的本文档来自技高网
...

【技术保护点】
1.一种梯度数据的同步方法,其特征在于,包括:/n确定需实现同步的梯度数据为目标数据,将所述目标数据裁剪至预设范围内;其中,所述预设范围小于所述目标数据实际位于的范围;/n确定所述梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内;/n将映射后得到的目标数据在对应设备之间实现同步,并指示得到所述目标数据的设备将所述目标数据映射至原类型所表征的数据范围内;其中,所述原类型为裁剪前所述目标数据的数据类型,且所述原类型的数据位宽大于所述目标类型的数据位宽。/n

【技术特征摘要】
1.一种梯度数据的同步方法,其特征在于,包括:
确定需实现同步的梯度数据为目标数据,将所述目标数据裁剪至预设范围内;其中,所述预设范围小于所述目标数据实际位于的范围;
确定所述梯度数据在实现同步时需采用的数据类型为目标类型,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内;
将映射后得到的目标数据在对应设备之间实现同步,并指示得到所述目标数据的设备将所述目标数据映射至原类型所表征的数据范围内;其中,所述原类型为裁剪前所述目标数据的数据类型,且所述原类型的数据位宽大于所述目标类型的数据位宽。


2.根据权利要求1所述的方法,其特征在于,将所述目标数据裁剪至预设范围内,包括:
将大于预设范围内最大值的目标数据修改为该最大值,将小于所述预设范围内最小值的目标数据修改为该最小值,实现对所述目标数据的裁剪。


3.根据权利要求2所述的方法,其特征在于,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内之后,还包括:
将映射后得到的目标数据均使用所述目标类型对应的格式进行存储。


4.根据权利要求3所述的方法,其特征在于,将裁剪后得到的目标数据映射至所述目标类型所表征的数据范围内,包括:
将裁剪后得到的目标数据均除以0.0008得到相应计算结果,将所述计算结果进行取整运算,得到映射至所述目标类型所表征的数据范围内的目标数据;其中,所述原类型为32位浮点数据,所述目标类型为8位整型数据,所述预设范围为-0.1到0.1之间,包括端点值。


5.一种梯度数据的同步装置,其特征在于,包括:
裁剪模块,用于:确定需实现同步的梯度数据为目标数据,将所述目标数据裁剪至预设范围内;其中,所述预设范围小于所述目标数据实际位于的范围;
映...

【专利技术属性】
技术研发人员:朱红赵旭东
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1