logo好方法网

机器学习模型的编译优化方法和装置


技术摘要:
本发明公开了一种机器学习模型的编译优化方法和装置。其中,该方法包括:多次运行第一机器学习模型对一组预热数据进行处理,获取在多次运行第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状,比较在多次运行第一机器学习模型的过程中第一组  全部
背景技术:
机器学习系统中的编译优化有提前编译和即时编译两大类技术。现有机器学习系 统在编译时,没有引入运行时的采样信息,由于没有采样运行时张量形状的变化信息,会导 致在多次迭代过程中因为部分操作张量形状变化引发计算图大部分操作的重新编译。这类 重编译非常耗时且耗内存。 针对相关技术中,由于在机器学习在编译时没有引入运行时的采样信息,导致的 编译周期长、浪费资源的问题,目前尚未存在有效的解决方案
技术实现要素:
本发明实施例提供了一种机器学习模型的编译优化方法和装置,以至少解决由于 在机器学习在编译时没有引入运行时的采样信息,导致的编译周期长、浪费资源的技术问 题。 根据本发明实施例的一个方面,提供了一种机器学习模型的编译优化方法,包括: 多次运行第一机器学习模型对一组预热数据进行处理,获取在所述多次运行所述第一机器 学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状,比较在所述多 次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量 的形状是否发生变化,其中,所述第一机器学习模型包括第一组操作,所述第一组操作中的 操作为允许被目标编译器处理的操作;确定在所述多次运行所述第一机器学习模型的过程 中输入张量和输出张量的形状均未发生变化的操作为稳定操作;在所述第一组操作中包括 多个所述稳定操作的情况下,将所述多个所述稳定操作划分为一个或多个编译区域;通过 所述目标编译器对所述第一机器学习模型中的目标编译区域上的所述稳定操作进行合并, 得到第二机器学习模型,其中,所述目标编译区域为所述一个或多个编译区域中的编译区 域,所述目标编译区域上的所述稳定操作为多个,所述第二机器学习模型包括第二组操作, 所述第二组操作中操作的数量小于所述第一组操作中操作的数量。 可选地,所述多次运行第一机器学习模型对一组预热数据进行处理,获取在所述 多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张 量的形状,比较在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作 的输入张量和输出张量的形状是否发生变化,包括:每运行一次所述第一机器学习模型,记 录在该次运行所述第一机器学习模型的过程中所述第一组操作中的每个操作的输入张量 和输出张量;从第二次运行所述第一机器学习模型开始,每运行一次所述第一机器学习模 型,将当前一次记录的所述第一组操作中的每个操作的输入张量和输出张量与上一次记录 的所述第一组操作中的每个操作的输入张量和输出张量的形状进行比较。 5 CN 111580826 A 说 明 书 2/13 页 可选地,所述多次运行第一机器学习模型对一组预热数据进行处理,获取在所述 多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张 量的形状,比较在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作 的输入张量和输出张量的形状是否发生变化,包括:每运行一次所述第一机器学习模型,记 录在该次运行所述第一机器学习模型的过程中所述第一组操作中标记为尚未变化的操作 的输入张量和输出张量,其中,在第一次运行所述第一机器学习模型的过程中,所述第一组 操作中的每个操作被标记为尚未变化的操作;从第二次运行所述第一机器学习模型开始, 每运行一次所述第一机器学习模型,将当前一次记录的所述第一组操作中标记为尚未变化 的操作的输入张量和输出张量与上一次记录的输入张量和输出张量的形状进行比较,将所 述标记为尚未变化的操作中输入张量和/或输出张量中发生形状变化的操作标记为已发生 变化的操作,将所述标记为尚未变化的操作中输入张量和输出张量的形状未发变化的操作 继续标记为尚未变化的操作;所述确定在所述多次运行所述第一机器学习模型的过程中输 入张量和输出张量的形状均未发生变化的操作为稳定操作,包括:在多次运行所述第一机 器学习模型之后,确定标记为已发生变化的操作为所述形变操作,所述标记为尚未变化的 操作为所述稳定操作。 可选地,所述通过所述目标编译器对所述第一机器学习模型中的目标编译区域上 的所述稳定操作进行合并,包括:通过所述目标编译器将所述目标编译区域上的所述稳定 操作合并成一个操作,并将所述稳定操作的输入张量和输出张量转换为所述一个操作的输 入张量和输出张量,得到所述第二机器学习模型。 可选地,所述一组预热数据包括多个预热数据集,其中,所述多次运行第一机器学 习模型对一组预热数据进行处理,比较在所述多次运行所述第一机器学习模型的过程中第 一组操作中的每个操作的输入张量和输出张量的形状是否发生变化,包括:重复执行多次 以下步骤:将一个所述预热数据集中的多个输入张量分别输入至所述第一组操作中部分或 全部的操作,运行一次所述第一机器学习模型,得到所述第一组操作中的每个操作的输入 张量和输出张量;比较在所述多次运行所述第一机器学习模型的过程中所述第一组操作中 的每个操作的输入张量和输出张量的形状是否发生变化。 可选地,所述多次运行第一机器学习模型对一组预热数据进行处理,比较在所述 多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张 量的形状是否发生变化,包括:重复执行多次以下步骤:将所述一组预热数据中的多个输入 张量分别输入至所述第一组操作中部分或全部的操作,运行一次所述第一机器学习模型, 得到所述第一组操作中的每个操作的输入张量和输出张量;比较在所述多次运行所述第一 机器学习模型的过程中所述第一组操作中的每个操作的输入张量和输出张量的形状是否 发生变化。 可选地,所述方法还包括:在所述多次运行所述第一机器学习模型对一组预热数 据进行处理的过程中,获取所述第一组操作中的每个操作的运行状态信息,其中,所述运行 状态信息包括每个操作的运行时间和/或所需的运行资源;根据所述运行状态信息为所述 第二组操作中的每个操作分配相应的运行资源。 可选地,在所述得到第二机器学习模型之后,所述方法还包括:将正式数据输入至 所述第二机器学习模型,其中,所述正式数据中包括一组正式输入张量;通过所述目标编译 6 CN 111580826 A 说 明 书 3/13 页 器对所述第二机器学习模型进行编译,得到所述第二机器学习模型对所述一组正式输入张 量进行处理后输出的处理结果。 可选地,所述将所述多个所述稳定操作划分为一个或多个编译区域,包括:将所述 多个所述稳定操作中相互连接的稳定操作划分为一个所述编译区域,得到所述一个或多个 编译区域。 根据本发明实施例的另一方面,还提供了一种机器学习模型的编译优化装置,包 括:处理模块,用于多次运行第一机器学习模型对一组预热数据进行处理,获取在所述多次 运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的 形状,比较在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输 入张量和输出张量的形状是否发生变化,其中,所述第一机器学习模型包括第一组操作,所 述第一组操作中的操作为允许被目标编译器处理的操作;确定模块,用于确定在所述多次 运行所述第一机器学习模型的过程中输入张量和输出张量的形状均未发生变化的操作为 稳定操作;划分模块,用于在所述第一组操作中包括多个所述稳定操作的情况下,将所述多 个所述稳定操作划分为一个或多个编译区域;合并模块,用于通过所述目标编译器对所述 第一机器学习模型中的目标编译区域上的所述稳定操作进行合并,得到第二机器学习模 型,其中,所述目标编译区域为所述一个或多个编译区域中的编译区域,所述目标编译区域 上的所述稳定操作为多个,所述第二机器学习模型包括第二组操作,所述第二组操作中操 作的数量小于所述第一组操作中操作的数量。 根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机 可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述机器 学习模型的编译优化方法。 根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上 述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的机器 学习模型的编译优化方法。 在本发明实施例中,采用多次运行第一机器学习模型对一组预热数据进行处理, 获取在多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和 输出张量的形状,比较在所述多次运行所述第一机器学习模型的过程中第一组操作中的每 个操作的输入张量和输出张量的形状是否发生变化;确定在多次运行第一机器学习模型的 过程中输入张量和输出张量的形状均未发生变化的操作为稳定操作;在第一组操作中包括 多个所述稳定操作的情况下,将多个所述稳定操作划分为一个或多个编译区域;通过目标 编译器对第一机器学习模型中的目标编译区域上的稳定操作进行合并,得到第二机器学习 模型,其中,目标编译区域为一个或多个编译区域中的编译区域,目标编译区域上的稳定操 作为多个,第二机器学习模型包括第二组操作,第二组操作中操作的数量小于所述第一组 操作中操作的数量。达到了引入机器学习模型编译运行时的张量信息,对机器学习模型进 行优化的目的,从而实现了提升机器学习模型的编译效率的技术效果,进而解决了由于在 机器学习在编译时没有引入运行时的采样信息,导致的编译周期长、浪费资源的技术问题。 附图说明 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 7 CN 111580826 A 说 明 书 4/13 页 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: 图1是根据本发明实施例的机器学习模型的编译优化方法的硬件环境的示意图; 图2是根据本发明实施例的一种可选的机器学习模型的编译优化方法的应用框架 图; 图3是根据本发明实施例的机器学习模型的编译优化方法的流程图; 图4是根据本发明一个可选实施例的机器学习模型的编译优化方法示意图一; 图5是根据本发明一个可选实施例的机器学习模型的编译优化方法示意图二; 图6是根据本发明一个可选实施例的机器学习模型的编译优化方法示意图三; 图7是根据本发明一个可选实施例的机器学习模型的编译优化方法示意图四; 图8是根据本发明一个可选实施例的机器学习模型的编译优化方法示意图五; 图9是根据本发明一个可选实施例的机器学习模型的编译优化方法示意图六; 图10是根据本发明一个可选实施例的机器学习模型的编译优化方法示意图七; 图11是根据本发明实施例的机器学习模型的编译优化装置的结构框图; 图12是根据本发明实施例的一种可选的电子设备的结构示意图。
分享到:
收藏