为神经网络生成并行计算方案制造技术

技术编号:32090616 阅读:18 留言:0更新日期:2022-01-29 18:17
各种实施例涉及确定神经网络的并行计算方案。一种设备可以接收计算图并将所述计算图变换为包括递归子图的数据流图。每个递归子图可以包括另一递归子图和算子节点的元组或者空图。所述设备可以基于并行计算设备的数量确定切分递归的次数。对于每次切分递归,所述设备可以确定算子节点对应的成本;确定所述递归子图的处理顺序;以及处理所述递归子图。为了处理递归子图,所述设备可以为与所述递归子图的算子节点相关联的一个或多个张量选择切分轴。所述设备可以输出切分方案,其中,所述切分方案包括与所述算子节点相关联的每个张量的切分轴。本申请公开了多种设备、方法和计算机程序。程序。程序。

【技术实现步骤摘要】
【国外来华专利技术】为神经网络生成并行计算方案


[0001]本专利技术大体上涉及神经网络和分布式并行计算
具体地,本专利技术的一些实施例涉及为神经网络生成并行计算方案。

技术介绍

[0002]神经网络或其他机器学习工具能够为各种类型的应用实现任务自动化。示例性应用包括文本数据、语音数据、图像数据或视频数据等的分析和处理。然而,即使神经网络为任务自动化提供了一个强大的工具,但复杂神经网络的处理可能较慢,甚至在所有设备中都不可行。

技术实现思路

[0003]提供本
技术实现思路
是为了以简化的形式引入概念的选择,这些概念将在以下具体实现方式中进行进一步的描述。本
技术实现思路
的目的不在于识别权利要求书保护的主题的关键特征或必要特征,也不在于限制权利要求书保护的主题的范围。
[0004]本专利技术的目的在于为神经网络提供一种高效且确定性的并行计算方案生成方法。上述和其他目的可以通过独立权利要求的特征来实现。进一步的实现方式在从属权利要求、具体说明和附图中显而易见。
[0005]第一方面,提供了一种用于确定神经网络的并行计算方案的设备。所述设备可以用于接收所述神经网络的计算图,并将所述计算图变换为包括多个递归子图的数据流图。每个递归子图可以包括另一递归子图和算子节点的元组或者空图。所述设备可以用于基于并行计算设备的数量确定切分递归的次数。所述设备可以用于:对于每次切分递归,确定与所述数据流图相关联的多个算子节点对应的多个成本;基于所述多个成本的从高到低的顺序,确定所述多个递归子图的处理顺序;以及按照所述确定的处理顺序处理所述多个递归子图。处理递归子图可以包括:为与所述递归子图的算子节点相关联的张量选择切分轴。所述设备可以用于输出切分方案,其中,所述切分方案包括与所述多个算子节点相关联的每个张量的切分轴。该方案为确定神经网络的并行计算方案提供了一种高效且确定性的方式。
[0006]根据第一方面的一种实现方式,所述设备还可以用于确定所述切分递归的次数,使得2
N
等于所述并行计算设备的数量,其中,N为所述切分递归的次数。该方案能够确定预配置的切分递归的次数。
[0007]根据第一方面的一种实现方式,所述设备还可以用于基于所述并行计算设备之间要为每个算子节点传输的数据量,确定所述多个算子节点对应的所述多个成本。该方案能够在确定所述切分方案时优先考虑高成本算子节点。
[0008]根据第一方面的一种实现方式,所述设备还可以用于基于算子内通信成本,为与所述算子节点相关联的所述张量选择所述切分轴,其中,所述算子内通信成本包括所述并行计算设备之间要为所述算子节点传输的数据量。该方案能够减少所述并行计算设备之间
的通信。
[0009]根据第一方面的一种实现方式,所述设备还可以用于如果在当前切分递归中没有为相邻算子节点确定切分轴,则基于所述算子内通信成本,为与所述算子节点相关联的所述张量选择所述切分轴。该方案可以大致估计所述算子节点的所述通信成本。
[0010]根据第一方面的一种实现方式,所述设备还可以用于基于算子间通信成本,为与所述算子节点相关联的所述张量选择所述切分轴,其中,所述算子间通信成本包括所述并行计算设备之间基于所述算子节点与相邻算子节点间的共享张量执行所述相邻算子节点或者基于相邻算子节点的输出执行所述算子节点所要传输的数据量。由于算子节点之间的依赖关系,该方案能够减少并行计算设备之间的通信。
[0011]根据第一方面的一种实现方式,所述设备还可以用于如果在当前切分递归中为所述相邻算子节点或另一相邻算子节点确定了至少一个切分轴,则基于所述算子内通信成本和所述算子间通信成本,为与所述算子节点相关联的所述张量选择所述切分轴。由于算子内和算子间通信,该方案能够减少并行计算设备之间的通信。
[0012]根据第一方面的一种实现方式,所述设备还可以用于判断所述切分方案是否符合与所述并行计算设备相关联的至少一个内存需求。所述设备还可以用于,如果确定所述切分方案符合与所述并行计算设备相关联的所述至少一个内存需求,则输出所述切分方案。该方案能够针对所述并行计算设备的能力验证所述确定的并行计算方案。
[0013]第二方面,提供了一种用于确定神经网络的并行计算方案的方法。所述方法可以包括接收所述神经网络的计算图,并将所述计算图变换为包括多个递归子图的数据流图。每个递归子图可以包括另一递归子图和算子节点的元组或者空图。所述方法可以包括基于并行计算设备的数量确定切分递归的次数。所述方法可以包括:对于每次切分递归,确定与所述数据流图相关联的多个算子节点对应的多个成本;基于所述多个成本的从高到低的顺序,确定所述多个递归子图的处理顺序;以及按照所述确定的处理顺序处理所述多个递归子图。处理递归子图可以包括:为与所述递归子图的算子节点相关联的张量选择切分轴。所述方法可以包括输出切分方案,其中,所述切分方案包括与所述多个算子节点相关联的每个张量的切分轴。该方案为确定神经网络的并行计算方案提供了一种高效且确定性的方式。
[0014]根据第二方面的一种实现方式,所述方法还可以包括确定所述切分递归的次数,使得2
N
等于所述并行计算设备的数量,其中,N为所述切分递归的次数。该方案能够确定预配置的切分递归的次数。
[0015]根据第二方面的一种实现方式,所述方法还可以包括基于所述并行计算设备之间要为每个算子节点传输的数据量,确定所述多个算子节点对应的所述多个成本。该方案能够在确定所述切分方案时优先考虑高成本算子节点。
[0016]根据第二方面的一种实现方式,所述方法还可以包括基于算子内通信成本,为与所述算子节点相关联的所述张量选择所述切分轴,其中,所述算子内通信成本包括所述并行计算设备之间要为所述算子节点传输的数据量。该方案能够减少所述并行计算设备之间的通信。
[0017]根据第二方面的一种实现方式,所述方法还可以包括如果在当前切分递归中没有为相邻算子节点确定切分轴,则基于所述算子内通信成本,为与所述算子节点相关联的所
述张量选择所述切分轴。该方案可以大致估计所述算子节点的所述通信成本。
[0018]根据第二方面的一种实现方式,所述方法还可以包括基于算子间通信成本,为与所述算子节点相关联的所述张量选择所述切分轴,其中,所述算子间通信成本包括所述并行计算设备之间基于所述算子节点与相邻算子节点间的共享张量执行所述相邻算子节点或者基于相邻算子节点的输出执行所述算子节点所要传输的数据量。由于算子节点之间的依赖关系,该方案能够减少并行计算设备之间的通信。
[0019]根据第二方面的一种实现方式,所述方法还可以包括如果在当前切分递归中为所述相邻算子节点或另一相邻算子节点确定了至少一个切分轴,则基于所述算子内通信成本和所述算子间通信成本,为与所述算子节点相关联的所述张量选择所述切分轴。由于算子内和算子间通信,该方案能够减少并行计算设备之间的通信。
[0020]根据第二方面的一种实现方式,所述方法还可以包括判断所述切分方案是否符合与所述并行计算设备相关联的至少一个内本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于确定神经网络的并行计算方案的设备,其特征在于,用于:接收所述神经网络的计算图;将所述计算图变换为包括多个递归子图的递归数据流图,其中,每个递归子图是另一递归子图和算子节点的元组或者空图;基于并行计算设备的数量确定切分递归的次数;对于每次切分递归,确定与所述数据流图相关联的多个算子节点对应的多个成本;基于所述多个成本的从高到低的顺序,确定所述多个递归子图的处理顺序;按照所述确定的处理顺序处理所述多个递归子图,其中,处理递归子图包括:为与所述递归子图的算子节点相关联的张量选择切分轴;以及输出切分方案,其中,所述切分方案包括与所述多个算子节点相关联的每个张量的切分轴。2.根据权利要求1所述的设备,其特征在于,所述设备还用于:确定所述切分递归的次数,使得2
N
等于所述并行计算设备的数量,其中,N为所述切分递归的次数。3.根据权利要求1或2所述的设备,其特征在于,所述设备还用于:基于所述并行计算设备之间要为每个算子节点传输的数据量,确定所述多个算子节点对应的所述多个成本。4.根据前述任一权利要求所述的设备,其特征在于,所述设备还用于:基于算子内通信成本,为与所述算子节点相关联的所述张量选择所述切分轴,其中,所述算子内通信成本包括所述并行计算设备之间要为所述算子节点传输的数据量。5.根据权利要求4所述的设备,其特征在于,所述设备还用于:如果在当前切分递归中没有为相邻算子节点确定切分轴,则基于所述算子内通信成本,为与所述算子节点相关联的所述张量选择所述切分轴。6.根据权利要求1至4中任一项所述的设备,其特征在于,所述设备还用于:基于算子间通信成本,为与所述算子节点相关联的所述张量选择所述切分轴,其中,所述算子间通信成本包括所述并行计算设备之间基于所述算子节点与相邻算子节点间的共享张量执行所述相邻算子节点或者基于相邻算子节点的输出执行所述算子节点所要传输的数据量。7.根据权利要求4和6所述的设备,其特征在于,所述设备还用于:如果在所述当前切分递归中为所述相邻算子节点或另一相邻算子节点确定了至少一个切分轴,则基于所述算子内通信成本和所述算子间通信成本,为与所述算子节点相关联的所述张量选择所述切分轴。8.根据前述任一权利要求所述的设备,其特征在于,所述设备还用于:判断所述切分方案是否符合与所述并行计算设备相关联的至少一个内存需求;以及如果确定所述切分方案符合与所述并行计算设备相关联的所述至少一个内存需求,则输出所述切分方案。9.一种用于确定神经网络的并行计算方案的方法,其特征在于,所述方法包括:接收所述神经网络的计算图;
将所述计算图变换为包括多个递归子图的递归...

【专利技术属性】
技术研发人员:李翀蒂博特
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1