【技术实现步骤摘要】
机器学习模型的编译优化方法和装置
本专利技术涉及人工智能领域,具体而言,涉及一种机器学习模型的编译优化方法和装置。
技术介绍
机器学习系统中的编译优化有提前编译和即时编译两大类技术。现有机器学习系统在编译时,没有引入运行时的采样信息,由于没有采样运行时张量形状的变化信息,会导致在多次迭代过程中因为部分操作张量形状变化引发计算图大部分操作的重新编译。这类重编译非常耗时且耗内存。针对相关技术中,由于在机器学习在编译时没有引入运行时的采样信息,导致的编译周期长、浪费资源的问题,目前尚未存在有效的解决方案
技术实现思路
本专利技术实施例提供了一种机器学习模型的编译优化方法和装置,以至少解决由于在机器学习在编译时没有引入运行时的采样信息,导致的编译周期长、浪费资源的技术问题。根据本专利技术实施例的一个方面,提供了一种机器学习模型的编译优化方法,包括:多次运行第一机器学习模型对一组预热数据进行处理,获取在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状,比较在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状是否发生变化,其中,所述第一机器学习模型包括第一组操作,所述第一组操作中的操作为允许被目标编译器处理的操作;确定在所述多次运行所述第一机器学习模型的过程中输入张量和输出张量的形状均未发生变化的操作为稳定操作;在所述第一组操作中包括多个所述稳定操作的情况下,将所述多个所述稳定操作划分为一个或多个编译区域;通过所述目 ...
【技术保护点】
1.一种机器学习模型的编译优化方法,其特征在于,包括:/n多次运行第一机器学习模型对一组预热数据进行处理,获取在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状,比较在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状是否发生变化,其中,所述第一机器学习模型包括第一组操作,所述第一组操作中的操作为允许被目标编译器处理的操作;/n确定在所述多次运行所述第一机器学习模型的过程中输入张量和输出张量的形状均未发生变化的操作为稳定操作;/n在所述第一组操作中包括多个所述稳定操作的情况下,将所述多个所述稳定操作划分为一个或多个编译区域;/n通过所述目标编译器对所述第一机器学习模型中的目标编译区域上的所述稳定操作进行合并,得到第二机器学习模型,其中,所述目标编译区域为所述一个或多个编译区域中的编译区域,所述目标编译区域上的所述稳定操作为多个,所述第二机器学习模型包括第二组操作,所述第二组操作中操作的数量小于所述第一组操作中操作的数量。/n
【技术特征摘要】
1.一种机器学习模型的编译优化方法,其特征在于,包括:
多次运行第一机器学习模型对一组预热数据进行处理,获取在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状,比较在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状是否发生变化,其中,所述第一机器学习模型包括第一组操作,所述第一组操作中的操作为允许被目标编译器处理的操作;
确定在所述多次运行所述第一机器学习模型的过程中输入张量和输出张量的形状均未发生变化的操作为稳定操作;
在所述第一组操作中包括多个所述稳定操作的情况下,将所述多个所述稳定操作划分为一个或多个编译区域;
通过所述目标编译器对所述第一机器学习模型中的目标编译区域上的所述稳定操作进行合并,得到第二机器学习模型,其中,所述目标编译区域为所述一个或多个编译区域中的编译区域,所述目标编译区域上的所述稳定操作为多个,所述第二机器学习模型包括第二组操作,所述第二组操作中操作的数量小于所述第一组操作中操作的数量。
2.根据权利要求1所述的方法,其特征在于,所述多次运行第一机器学习模型对一组预热数据进行处理,获取在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状,比较在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状是否发生变化,包括:
每运行一次所述第一机器学习模型,记录在该次运行所述第一机器学习模型的过程中所述第一组操作中的每个操作的输入张量和输出张量;
从第二次运行所述第一机器学习模型开始,每运行一次所述第一机器学习模型,将当前一次记录的所述第一组操作中的每个操作的输入张量和输出张量与上一次记录的所述第一组操作中的每个操作的输入张量和输出张量的形状进行比较。
3.根据权利要求1所述的方法,其特征在于,
所述多次运行第一机器学习模型对一组预热数据进行处理,获取在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状,比较在所述多次运行所述第一机器学习模型的过程中第一组操作中的每个操作的输入张量和输出张量的形状是否发生变化,包括:每运行一次所述第一机器学习模型,记录在该次运行所述第一机器学习模型的过程中所述第一组操作中标记为尚未变化的操作的输入张量和输出张量,其中,在第一次运行所述第一机器学习模型的过程中,所述第一组操作中的每个操作被标记为尚未变化的操作;从第二次运行所述第一机器学习模型开始,每运行一次所述第一机器学习模型,将当前一次记录的所述第一组操作中标记为尚未变化的操作的输入张量和输出张量与上一次记录的输入张量和输出张量的形状进行比较,将所述标记为尚未变化的操作中输入张量和输出张量的形状未发变化的操作继续标记为尚未变化的操作;
所述确定在所述多次运行所述第一机器学习模型的过程中输入张量和输出张量的形状均未发生变化的操作为稳定操作,包括:在多次运行所述第一机器学习模型之后,确定标记为尚未变化的操作为所述稳定操作。
4.根据权利要求1所述的方法,其特征在于,通过所述目标编译器对所述第一机器学习模型中的目标编译区域上的所述稳定操作进行合并,包括:
通过所述目标编译器将所述目标编译区域上的所述稳定操作合并成一个操作,并将所述稳定操作的输入张量和输出张量转换为所述一个操作的输入张量和输出张量,得到所述第二机器学习模型。
5.根据权利要求1所述的方法,其特征在于,所述一组预热数据包括多个预热数据集,其中,所述多次运行第一机器学习模型对一组预热数据进行处理,比较在所述多次运行所述第一机器学习模型的过程中第一组操作中的...
【专利技术属性】
技术研发人员:姜曦楠,朱子霖,周飞虎,郭振宇,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。