机器学习模型的切分方法和装置制造方法及图纸

技术编号:33837481 阅读:18 留言:0更新日期:2022-06-16 11:56
说明书披露一种机器学习模型的切分方法和装置。该方法包括:为机器学习模型生成对应的有向图,所述有向图中的节点代表所述机器学习模型的算子,连边代表算子之间的输入或输出关系;在所述有向图中查找能够将所述有向图切分为弱连通图的切分节点;基于所述切分节点确定机器学习模型的切分方式集合;针对所述切分方式集合中的每种切分方式,评估所述切分方式对应的硬件性能开销;选择硬件性能开销符合开销条件的切分方式作为目标切分方式,并采用所述目标切分方式对所述机器学习模型进行切分。述目标切分方式对所述机器学习模型进行切分。述目标切分方式对所述机器学习模型进行切分。

【技术实现步骤摘要】
机器学习模型的切分方法和装置


[0001]本说明书涉及人工智能领域,尤其涉及一种机器学习模型的切分方法和装置。

技术介绍

[0002]随着人工智能技术的快速发展,机器学习模型的规模越来越大,很多机器学习模型的参数已经扩展到千亿级别,甚至万亿级别。而硬件的存储、计算资源是有限的,大型机器学习模型无法放到一台硬件设备中进行训练或推理,这就需要对机器学习模型进行切分,然后将切分后的机器学习模型部署到不同的硬件设备中进行训练或推理。目前,通常采用人工分析的方式,根据经验人为对模型进行切分,需要不断的测试和调整切分方式,费时费力、效率低下。

技术实现思路

[0003]有鉴于此,本说明书提供一种机器学习模型的切分方法和装置。
[0004]具体地,本说明书是通过如下技术方案实现的:
[0005]一种机器学习模型的切分方法,包括:
[0006]为机器学习模型生成对应的有向图,所述有向图中的节点代表所述机器学习模型的算子,连边代表算子之间的输入或输出关系;
[0007]在所述有向图中查找能够将所述有向图切分为弱连通图的切分节点;
[0008]基于所述切分节点确定机器学习模型的切分方式集合;
[0009]针对所述切分方式集合中的每种切分方式,评估所述切分方式对应的硬件性能开销;
[0010]选择硬件性能开销符合开销条件的切分方式作为目标切分方式,并采用所述目标切分方式对所述机器学习模型进行切分。
[0011]可选的,所述在所述有向图中查找能够将所述有向图切分为弱连通图的切分节点,包括:
[0012]针对所述有向图中的每条连边,判断去掉该连边后,所述有向图是否被切分为两个弱连通图;
[0013]在所述有向图被切分为两个弱连通图的情况下,将被去掉的所述连边连接的节点确定为所述有向图的切分节点。
[0014]可选的,所述在所述有向图中查找能够将所述有向图切分为弱连通图的切分节点,包括:
[0015]针对所述有向图中的每个节点,判断去掉该节点后,所述有向图是否被切分为两个弱连通图;
[0016]在所述有向图被切分为两个弱连通图的情况下,将被去掉的所述节点确定为所述有向图的切分节点。
[0017]可选的,还包括:
[0018]在查找到所述有向图的切分节点后,根据所述切分节点的数量与硬件数量,判断所述机器学习模型是否适用于本切分方案;
[0019]所述基于所述切分节点确定机器学习模型的切分方式集合,包括:
[0020]在所述机器学习模型适用于本切分方案的情况下,基于所述切分节点确定机器学习模型的切分方式集合。
[0021]可选的,所述判断所述机器学习模型是否适用于本切分方案,包括:
[0022]计算硬件数量与1的差值,作为适用标准值;
[0023]判断所述切分节点的数量是否大于等于所述适用标准值;
[0024]在所述切分节点的数量大于等于所述适用标准值的情况下,确定所述机器学习模型适用于本切分方案。
[0025]可选的,所述硬件性能开销包括:耗时与内存占用量;所述选择硬件性能开销符合开销条件的切分方式作为目标切分方式,包括:
[0026]获取耗时最短的切分方式的内存占用量;
[0027]判断所述内存占用量是否小于等于占用量阈值;
[0028]在所述内存占用量小于等于所述占用量阈值的情况下,将所述耗时最短的切分方式确定为目标切分方式;
[0029]在所述内存占用量大于所述占用量阈值的情况下,获取耗时次短的切分方式的内存占用量,并执行判断所述内存占用量是否小于等于占用量阈值的步骤。
[0030]可选的,还包括:
[0031]将切分后的机器学习模型部署给硬件进行分布式训练或推理。
[0032]一种机器学习模型的切分装置,包括:
[0033]有向图生成单元,为机器学习模型生成对应的有向图,所述有向图中的节点代表所述机器学习模型的算子,连边代表算子之间的输入或输出关系;
[0034]节点查找单元,在所述有向图中查找能够将所述有向图切分为弱连通图的切分节点;
[0035]方式确定单元,基于所述切分节点确定机器学习模型的切分方式集合;
[0036]性能评估单元,针对所述切分方式集合中的每种切分方式,评估所述切分方式对应的硬件性能开销;
[0037]模型切分单元,选择硬件性能开销符合开销条件的切分方式作为目标切分方式,并采用所述目标切分方式对所述机器学习模型进行切分。
[0038]一种机器学习模型的切分装置,包括:
[0039]处理器;
[0040]用于存储机器可执行指令的存储器;
[0041]其中,通过读取并执行所述存储器存储的与机器学习模型的切分逻辑对应的机器可执行指令,所述处理器被促使:
[0042]为机器学习模型生成对应的有向图,所述有向图中的节点代表所述机器学习模型的算子,连边代表算子之间的输入或输出关系;
[0043]在所述有向图中查找能够将所述有向图切分为弱连通图的切分节点;
[0044]基于所述切分节点确定机器学习模型的切分方式集合;
[0045]针对所述切分方式集合中的每种切分方式,评估所述切分方式对应的硬件性能开销;
[0046]选择硬件性能开销符合开销条件的切分方式作为目标切分方式,并采用所述目标切分方式对所述机器学习模型进行切分。
[0047]一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现前述机器学习模型的切分方法。
[0048]采用上述实施方式,利用图论理论,为机器学习模型生成对应的有向图,并在所述有向图中查找能够将有向图切分为弱连通图的切分节点,然后基于这些切分节点确定机器学习模型的切分方式集合,并从中选取硬件性能开销符合开销条件的目标切分方式对机器学习模型进行切分。一方面,采用能够将有向图切分为弱连通图的切分节点对机器学习模型进行切分,可确保切分后模型的分布式训练或推理时硬件之间的数据传输量较小。另一方面,选择硬件性能开销符合开销条件的切分方式进行切分,可充分利用硬件性能,提高整体吞吐率。
附图说明
[0049]图1是本说明书一示例性实施例示出的一种机器学习模型的切分方法的流程示意图。
[0050]图2是本说明书一示例性实施例示出的一种神经网络示意图。
[0051]图3是本说明书一示例性实施例示出的一种神经网络对应的有向图的示意图。
[0052]图4是本说明书一示例性实施例示出的一种目标切分方式的确定方法的流程示意图。
[0053]图5是本说明书一示例性实施例示出的一种有向图示意图。
[0054]图6是本说明书一示例性实施例示出的一种去掉有向图的连边后得到的两个有向图的示意图。
[0055]图7是本说明书一示例性实施例示出的另一种有向图示意图。
[0056]图8是本说本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种机器学习模型的切分方法,包括:为机器学习模型生成对应的有向图,所述有向图中的节点代表所述机器学习模型的算子,连边代表算子之间的输入或输出关系;在所述有向图中查找能够将所述有向图切分为弱连通图的切分节点;基于所述切分节点确定机器学习模型的切分方式集合;针对所述切分方式集合中的每种切分方式,评估所述切分方式对应的硬件性能开销;选择硬件性能开销符合开销条件的切分方式作为目标切分方式,并采用所述目标切分方式对所述机器学习模型进行切分。2.根据权利要求1所述的方法,所述在所述有向图中查找能够将所述有向图切分为弱连通图的切分节点,包括:针对所述有向图中的每条连边,判断去掉该连边后,所述有向图是否被切分为两个弱连通图;在所述有向图被切分为两个弱连通图的情况下,将被去掉的所述连边连接的节点确定为所述有向图的切分节点。3.根据权利要求1所述的方法,所述在所述有向图中查找能够将所述有向图切分为弱连通图的切分节点,包括:针对所述有向图中的每个节点,判断去掉该节点后,所述有向图是否被切分为两个弱连通图;在所述有向图被切分为两个弱连通图的情况下,将被去掉的所述节点确定为所述有向图的切分节点。4.根据权利要求1所述的方法,还包括:在查找到所述有向图的切分节点后,根据所述切分节点的数量与硬件数量,判断所述机器学习模型是否适用于本切分方案;所述基于所述切分节点确定机器学习模型的切分方式集合,包括:在所述机器学习模型适用于本切分方案的情况下,基于所述切分节点确定机器学习模型的切分方式集合。5.根据权利要求4所述的方法,所述判断所述机器学习模型是否适用于本切分方案,包括:计算硬件数量与1的差值,作为适用标准值;判断所述切分节点的数量是否大于等于所述适用标准值;在所述切分节点的数量大于等于所述适用标准值的情况下,确定所述机器学习模型适用于本切分方案。6.根据权利要求1所述的方法,所述硬件性能开销包括:耗时与内存占用量;所述选择硬件性能开销符合开销条件的切分方式作为目标切...

【专利技术属性】
技术研发人员:王楠周鹏
申请(专利权)人:阿里巴巴深圳技术有限公司
类型:发明
国别省市:

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

1