一种神经网络模型的异构加速方法、装置、设备及介质制造方法及图纸

技术编号:38241662 阅读:14 留言:0更新日期:2023-07-25 18:04
本申请公开了一种神经网络模型的异构加速方法、装置、设备及介质,涉及异构加速领域,包括:主异构加速节点获取模型训练任务后,将训练数据迁移至数据异构加速节点以对训练数据进行格式转换得到统一格式的特征数据,将特征数据返回至主异构加速节点;基于神经网络模型层数确定目标加速模式并确定对应的目标异构加速节点,以通过目标异构加速节点基于特征数据生成神经网络模型的中间运算结果,基于中间运算结果确定最终运算结果;利用本地的CPU对最终运算结果进行全连接得到训练好的神经网络模型。本申请根据模型层数选择不同的加速模式,并通过数据异构加速节点快速完成数据的格式转换,从而通过各种异构加速节点协同工作,提升模型训练效率。提升模型训练效率。提升模型训练效率。

【技术实现步骤摘要】
一种神经网络模型的异构加速方法、装置、设备及介质


[0001]本专利技术涉及异构加速领域,特别涉及一种神经网络模型的异构加速方法、装置、设备及介质。

技术介绍

[0002]随着硬件技术的不断发展与创新,深度学习技术重新焕发生机,其中NNs(Neural Networks,神经网络)作为一种连接模型已经在图像分类、自然语言处理以及目标快速检测任务上取得不错的效果。而随着NNs的层数、神经元数量的不断增长,针对大型模型的训练,CPU(Central Processing Unit,中央处理器)和GPU(Graphics Processing Unit,图形处理器)这些传统的软硬件体系结构已经很难在训练效率与硬件资源、能耗之间做到平衡,同时仅以软件优化作为加速NNs的手段也已经不能满足日益增长的速度和能耗要求。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种神经网络模型的异构加速方法、装置、设备及介质,能够根据模型层数选择不同的加速模式,并通过数据异构加速节点快速完成数据的格式转换,从而通过各种异构加速节点协同工作,提升模型训练效率。其具体方案如下:第一方面,本申请提供了一种神经网络模型的异构加速方法,应用于主异构加速节点,包括:在获取到神经网络模型训练任务后,将训练数据迁移至数据异构加速节点,以便所述数据异构加速节点对所述训练数据进行格式转换,得到统一格式的特征数据,并将所述特征数据返回至所述主异构加速节点;基于神经网络模型层数确定目标加速模式,并确定与所述目标加速模式对应的目标异构加速节点,以便通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果,并基于所述中间运算结果确定最终运算结果;利用本地的CPU对所述最终运算结果进行全连接处理,以得到训练好的神经网络模型。
[0004]可选的,所述将训练数据迁移至数据异构加速节点,包括:通过本地的CPU对训练数据进行缓存,并通过XDMA将缓存的所述训练数据迁移至数据异构加速节点。
[0005]可选的,所述基于神经网络模型层数确定目标加速模式,并确定与所述目标加速模式对应的目标异构加速节点,包括:基于神经网络模型层数确定目标加速模式;若所述目标加速模式为独立加速模式,则将自身确定为与所述目标加速模式对应的目标异构加速节点。
[0006]可选的,所述通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果,并基于所述中间运算结果确定最终运算结果,包括:
基于所述特征数据对神经网络模型中的预设层运算进行串行处理,并将生成的中间运算结果缓存至本地的局部内存中,以及在完成所有所述预设层运算后基于所述中间运算结果生成最终运算结果。
[0007]可选的,所述基于神经网络模型层数确定目标加速模式,并确定与所述目标加速模式对应的目标异构加速节点,以便通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果,包括:基于神经网络模型层数确定目标加速模式;若所述目标加速模式为混合加速模式,则对所述神经网络模型训练任务进行解耦得到任务计划表,并将与所述任务计划表中的子任务对应的分支异构加速节点确定为目标异构加速节点,然后将与所述子任务对应的所述特征数据迁移至所述目标异构加速节点,以便通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果。
[0008]可选的,所述通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果,并基于所述中间运算结果确定最终运算结果,包括:若所述任务计划表中子任务的数量为一个,则通过所述目标异构加速节点并基于所述特征数据进行神经网络模型中相应的预设层运算,并将生成的中间运算结果存储至本地,以及基于所述中间运算结果进行迭代运算生成最终运算结果,然后通过XDMA将所述最终运算结果返回至所述主异构加速节点的CPU中。
[0009]可选的,所述通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果,并基于所述中间运算结果确定最终运算结果,包括:若所述任务计划表中子任务的数量为多个,则通过与第一个子任务对应的所述目标异构加速节点并基于相应的所述特征数据进行神经网络模型中相应的预设层运算以得到当前中间运算结果;通过XDMA将所述当前中间运算结果转发至与下一个子任务对应的所述目标异构加速节点,以便与所述下一个子任务对应的所述目标异构加速节点基于相应的所述特征数据和所述当前中间运算结果进行神经网络模型中相应的预设层运算以得到新的当前中间运算结果,然后重新跳转至所述通过XDMA将所述当前中间运算结果转发至与下一个子任务对应的所述目标异构加速节点的步骤,直至所述下一个子任务为最后一个子任务,以得到最终运算结果,以及通过XDMA将所述最终运算结果返回至所述主异构加速节点的CPU中。
[0010]第二方面,本申请提供了一种神经网络模型的异构加速装置,应用于主异构加速节点,包括:训练数据迁移模块,用于在获取到神经网络模型训练任务后,将训练数据迁移至数据异构加速节点,以便所述数据异构加速节点对所述训练数据进行格式转换,得到统一格式的特征数据,并将所述特征数据返回至所述主异构加速节点;加速模式确定模块,用于基于神经网络模型层数确定目标加速模式,并确定与所述目标加速模式对应的目标异构加速节点,以便通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果,并基于所述中间运算结果确定最终运算结果;结果全连接模块,用于利用本地的CPU对所述最终运算结果进行全连接处理,以得到训练好的神经网络模型。
[0011]第三方面,本申请提供了一种电子设备,包括:
存储器,用于保存计算机程序;处理器,用于执行所述计算机程序以实现前述的神经网络模型的异构加速方法。
[0012]第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的神经网络模型的异构加速方法。
[0013]本申请中,主异构加速节点在获取到神经网络模型训练任务后,将训练数据迁移至数据异构加速节点,以便所述数据异构加速节点对所述训练数据进行格式转换,得到统一格式的特征数据,并将所述特征数据返回至所述主异构加速节点;基于神经网络模型层数确定目标加速模式,并确定与所述目标加速模式对应的目标异构加速节点,以便通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果,并基于所述中间运算结果确定最终运算结果;利用本地的CPU对所述最终运算结果进行全连接处理,以得到训练好的神经网络模型。由此可见,本申请将神经网络模型的训练过程卸载到异构加速节点,通过各异构加速节点分布式协同工作,提升模型训练效率;并且,本申请通过独立的数据异构加速节点快速完成对训练数据的格式转换,减少主异构加速节点的工作量,以及实现对资源的合理分配;另外,本申请根据神经网络模型的层数选择不同的加速模式,以通过与不同的加速模式对应的不同的目标异构加速节点进行神经网络模型的运算,从而更好地实现对资源的合理利用。
附图说明
[0014]为了更清楚地说本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的异构加速方法,其特征在于,应用于主异构加速节点,包括:在获取到神经网络模型训练任务后,将训练数据迁移至数据异构加速节点,以便所述数据异构加速节点对所述训练数据进行格式转换,得到统一格式的特征数据,并将所述特征数据返回至所述主异构加速节点;基于神经网络模型层数确定目标加速模式,并确定与所述目标加速模式对应的目标异构加速节点,以便通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果,并基于所述中间运算结果确定最终运算结果;利用本地的CPU对所述最终运算结果进行全连接处理,以得到训练好的神经网络模型。2.根据权利要求1所述的神经网络模型的异构加速方法,其特征在于,所述将训练数据迁移至数据异构加速节点,包括:通过本地的CPU对训练数据进行缓存,并通过XDMA将缓存的所述训练数据迁移至数据异构加速节点。3.根据权利要求1或2所述的神经网络模型的异构加速方法,其特征在于,所述基于神经网络模型层数确定目标加速模式,并确定与所述目标加速模式对应的目标异构加速节点,包括:基于神经网络模型层数确定目标加速模式;若所述目标加速模式为独立加速模式,则将自身确定为与所述目标加速模式对应的目标异构加速节点。4.根据权利要求3所述的神经网络模型的异构加速方法,其特征在于,所述通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果,并基于所述中间运算结果确定最终运算结果,包括:基于所述特征数据对神经网络模型中的预设层运算进行串行处理,并将生成的中间运算结果缓存至本地的局部内存中,以及在完成所有所述预设层运算后基于所述中间运算结果生成最终运算结果。5.根据权利要求1或2所述的神经网络模型的异构加速方法,其特征在于,所述基于神经网络模型层数确定目标加速模式,并确定与所述目标加速模式对应的目标异构加速节点,以便通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果,包括:基于神经网络模型层数确定目标加速模式;若所述目标加速模式为混合加速模式,则对所述神经网络模型训练任务进行解耦得到任务计划表,并将与所述任务计划表中的子任务对应的分支异构加速节点确定为目标异构加速节点,然后将与所述子任务对应的所述特征数据迁移至所述目标异构加速节点,以便通过所述目标异构加速节点基于所述特征数据生成神经网络模型的中间运算结果。6.根据权利要求5所述的神经网络模型的异构加速方法,其特征在于,所述通过所述目标异构加速节点基于所述特征数据生成神经网络模型...

【专利技术属性】
技术研发人员:李乐乐张晖赵鑫鑫姜凯李锐
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

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

1