【技术实现步骤摘要】
分布式深度学习的梯度量化方法和系统
[0001]本申请涉及计算机
,特别是涉及一种分布式深度学习的梯度量化方法和系统。
技术介绍
[0002]近些年来,深度学习技术给人工智能带来了再一次的复兴,并且带动了计算机视觉、自动驾驶、神经翻译等新兴技术产业化。同时,针对深度学习,学术界和工业界研发了多种深度学习系统框架,如TensorFlow,MxNet,Pytorch等,极大方便了研究人员开发和部署深度学习应用。这些深度学习框架可以支持数据并行和模型并行,许多应用受益于这种并行性,可以处理大数据和大模型的训练,例如,模型参数量方面,谷歌BERT模型达到了30个参数,预训练ImageNet的VGG16模型包括了13.8亿个模型,同时在数据量方面,图像数据集OpenImage有18TB,视频数据集YouTube8M占用1PB存储。深度学习模型的训练过程需要在这些大数据上计算大模型长达几十个Epoch(训练回合),消耗的时间常常难以承受。
[0003]目前解决这个问题主要从提高大规模分布式深度学习的可扩展性的角度进行研究。 ...
【技术保护点】
【技术特征摘要】
1.一种分布式深度学习的梯度量化方法,所述方法包括:获取各个分布式的worker节点计算得到的梯度值,根据所述梯度值建立一维梯度数组;其中,所述一维梯度数组中每个梯度值对应一个数组序号;对所述一维梯度数组中进行随机采样,对采样得到的梯度值进行聚类;根据聚类结果,建立多个哈希表;其中,所述哈希表包括多个类簇对应的哈希桶;根据所述梯度值对应的类簇,将所述一维梯度数组中的梯度值插入所述多个哈希表的哈希桶中;根据所述梯度值对应的数组序号和所述梯度值存入所述哈希桶的类簇,生成映射关系表;将插入梯度值的所述多个哈希表和所述映射关系表发送给参数服务器完成深度学习的梯度量化。2.根据权利要求1所述的方法,其特征在于,所述获取各个分布式worker节点计算得到的梯度值,根据所述梯度值建立一维梯度数组,包括:当检测到各个worker节点通过反向传播计算出梯度值时,获取所有worker节点计算得到的梯度值;将所述张量形式的梯度值转移到Numpy数组中,并改变所述梯度值的数组形式为一维数组;将所述梯度值对应的一维数组进行拼接,得到一维梯度数组。3.根据权利要求1所述的方法,其特征在于,对所述一维梯度数组中进行随机采样,对采样得到的梯度值进行聚类,包括:对所述一维梯度数组进行随机采样,得到N个梯度值作为样本;采用预先设置的K-means聚类算法,对所述样本中的梯度值进行聚类,得到多个聚类中心和所述聚类中心对应的类簇。4.根据权利要求3所述的方法,其特征在于,所述根据聚类结果,建立多个哈希表,包括:获取所述类簇的类簇密度、所述类簇中聚类中心的中心值和所述类簇的信息熵;对所述类簇密度、所述中心值和所述信息熵分别进行标准化,将标准化之后的结果相乘,得到每个类簇对应的标准值;根据每个类簇对应的标准值,给每个所述类簇分配对应数量的哈希桶;根据所述类簇对应的哈希桶,共同组成多个哈希表。5.根据权利要求3或4所述的方法,其特征在于,根据所述梯度值对应的类簇,将所述一维梯度数组中的梯度值插入所述多个哈希表的哈希桶中,包括:指定GPU线程,利用所述GPU线程根据梯度值与所述聚类中心的距离,将所述一维梯度数组中的梯度值指派到...
【专利技术属性】
技术研发人员:李东升,葛可适,符永铨,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。