面向多模型训练任务的算子调度方法与装置制造方法及图纸

技术编号:36965999 阅读:17 留言:0更新日期:2023-03-22 19:26
本发明专利技术公开了一种面向多模型训练任务的算子调度方法:对算子进行形式化,规定算子的输入参数和输出参数;各个算子通过上下游连接,形成一棵算子树拓扑结构,其中树的节点是算子,树的边是算子的父子连接关系;输入算子树拓扑结构,按照该算子树拓扑结构,利用图论中的树深度优先遍历算法,生成一定顺序的串行或者并行执行链路,根据深度优先算法的原理,生成的执行链路能够保证原树中父算子先于子算子执行;根据执行链路的顺序,依次启动算子计算服务,根据算子的计算量信息启动不同物理资源支持下的算子服务,在并行执行场景下,同时启动多个算子服务。本发明专利技术还公开了相应的面向多模型训练任务的算子调度装置。向多模型训练任务的算子调度装置。向多模型训练任务的算子调度装置。

【技术实现步骤摘要】
面向多模型训练任务的算子调度方法与装置


[0001]本专利技术属于机器学习
,更具体地,涉及一种面向多模型训练任务的算子调度方法与装置。

技术介绍

[0002]随着人工智能技术进入落地期,众多的理论模型由学术界进入产业界,与实际业务场景紧密结合,产生出与领域相关的落地应用。越来越多的开发人员开始接触人工智能理论和技术。在这种背景下,迫切需要设计门槛低、低编码、入门快的人工智能训练平台,让不同知识背景的用户能够快速上手机器学习模型,快速将领域需求、知识和数据与机器学习技术相结合,转化成可嵌入现有业务场景的代码,从而实现人工智能技术在具体场景的落地。
[0003]搭建一套人工智能训练平台,除了嵌入各类模型和算子之外,重要的模块是算子运行流程的调度。算子的调度是将复杂的算子上下游关系转化为一定逻辑顺序的执行链,按照串行或者并行的方式执行该链路上的算子节点,从而完整有序的执行整个算子流。
[0004]目前,算子调度技术主要分为两类,各有不足:第一类是,在人为通过先验的知识对算子流进行排布,这种方案一般用于顺序执行的场景,需要人为确定算子执行的先后顺序;第二类是,通过将算子流视为有向无环图的方式,按照一定理论生成执行顺序,在本地执行,这种方案的不足是本地硬件条件限制,可能会限制算子执行的效率。

技术实现思路

[0005]基于目前算子调度方法的不足,本专利技术提供了一种面向多模型训练任务的算子调度方法,按照算子之间的树拓扑连接关系生成符合逻辑顺序的串行或者并行执行链路;根据算子的计算量等信息,访问不同的算子服务;在多模型训练场景下充分利用集群资源,提升算子执行效率;支持在计算异常中止的情况下,根据计算状态记录继续完成计算流程。
[0006]为实现上述目的,按照本专利技术的一个方面,提供了一种面向多模型训练任务的算子调度方法,所述方法包括如下步骤:
[0007]对算子进行形式化,规定算子的输入参数和输出参数;各个算子通过上下游连接,形成一棵算子树拓扑结构,其中树的节点是算子,树的边是算子的父子连接关系;
[0008]输入算子树拓扑结构,按照该算子树拓扑结构,利用图论中的树深度优先遍历算法,生成一定顺序的串行或者并行执行链路,根据深度优先算法的原理,生成的执行链路能够保证原树中父算子先于子算子执行;
[0009]根据执行链路的顺序,依次启动算子计算服务,根据算子的计算量信息启动不同物理资源支持下的算子服务,在并行执行场景下,同时启动多个算子服务;并利用集群资源运行算子计算服务以提升算子执行效率。
[0010]本专利技术的一个实施例中,所述算子包括以下一种或多种:
[0011]数据IO算子:从远程地址获取数据流,计算完成后向远程地址写入数据流;
[0012]数据规范化算子:包括异常处理和归一化处理;
[0013]特征工程算子:包括奇异值分解SVD数据降维和主成分分析算法应用,用以降低数据维度,选出具有表征力的特征;
[0014]模型生成算子:将经过以上步骤处理后的数据作为训练集,对原始模型进行训练,得到参数化之后的模型实例;
[0015]模型评价算子:该算子存在两个输入,即需要评价的模型和用来评价模型的数据集合,为了保持算子单输入的形式从而不破坏整体的树形拓扑结构,做如下特殊处理::模型评价算子作为直接连接模型算子的子算子,模型算子的模型输出作为评价算子的模型输入参数;模型算子本身的数据输入中未参与训练的部分,作为评价算子的数据输入参数。
[0016]本专利技术的一个实施例中,所述输入算子树拓扑结构,按照该算子树拓扑结构,利用图论中的树深度优先遍历算法,生成一定顺序的串行或者并行执行链路,包括:
[0017]在多模型训练任务场景下,一个父算子能够连接多个子算子,算子规范化后输入的算子拓扑为树形结构,不同的树支路path代表不同的模型训练任务,根据深度优先遍历算法,生成具体的算子执行链,确定算子执行的顺序。
[0018]本专利技术的一个实施例中,所述根据执行链路的顺序,依次启动算子计算服务,包括:
[0019]在串行执行链场景下,从根节点root开始,依次访问链路上节点对应的算子服务;
[0020]在并行执行链场景下,根据算子中计算量信息,针对不同的计算量分配不同的物理资源启动相应的算子服务,保证并行执行的效率。
[0021]本专利技术的一个实施例中,所述算子计算服务以微服务形式提供服务,用户侧以POST方式传入算子信息,获取算子计算结果,POST消息体中包含:算子的字典node_dict、算子连接关系树node_tree、计算起点root;算子服务分为两类,分别是OP_scheduler算子调度器和OP_executor算子执行器,算子调度器接收到POST消息体后,根据算子树拓扑获得执行链,按照执行链的顺序依次将对应算子的参数打包成POST消息,访问算子执行器。
[0022]本专利技术的一个实施例中,所述利用集群资源运行算子计算服务以提升算子执行效率,具体包括:在整个计算过程中,算子所需数据存放在远程位置,算子所需的参数是表的位置和名字字符串,其生成的数据也直接写入远程位置,向下游算子输出的也是该表名和位置字符串,整个计算过程中,算子使用方和算子服务端都不在本地存储数据文件。
[0023]本专利技术的一个实施例中,所述方法还包括:在计算异常中止的情况下进行计算回溯并继续完成计算流程。
[0024]本专利技术的一个实施例中,所述在计算异常中止的情况下进行计算回溯并继续完成计算流程,具体包括:
[0025]计算过程中,维护一份执行记录表并持久化在数据库中,记录整个执行链以及已经完成的步骤,当计算过程遇到异常中止时,根据该状态记录,从上一次正确执行的位置继续完成剩余计算。
[0026]本专利技术的一个实施例中,对算子进行形式化为字典格式,字典格式中包括operator、input_name、other_params,其中:
[0027]所述operator的值代表算子名;
[0028]所述input_name表示远程位置的数据表名或者是模型名,作为算子的输入;
column表示需要参与计算过程的数据列;
[0029]所述other_params代表附属信息包含不同种类算子特有的参数以及计算量等附属信息,计算量op_cost由输入数据的容量和不同类别的算子运算复杂度确定;
[0030]算子输出一个远程存储位置上的output_name表或者模型文件,在正确执行完该算子后,将output_name值写入其邻接下游一个或者多个算子的input_name,作为它们的输入参数。
[0031]按照本专利技术的另一方面,还提供了一种面向多模型训练任务的算子调度装置,包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储能被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于完成所述的面向多模型训练任务的算子调度方法。
[0032本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向多模型训练任务的算子调度方法,其特征在于,所述方法包括如下步骤:对算子进行形式化,规定算子的输入参数和输出参数;各个算子通过上下游连接,形成一棵算子树拓扑结构,其中树的节点是算子,树的边是算子的父子连接关系;输入算子树拓扑结构,按照该算子树拓扑结构,利用图论中的树深度优先遍历算法,生成一定顺序的串行或者并行执行链路,根据深度优先算法的原理,生成的执行链路能够保证原树中父算子先于子算子执行;根据执行链路的顺序,依次启动算子计算服务,根据算子的计算量信息启动不同物理资源支持下的算子服务,在并行执行场景下,同时启动多个算子服务;并利用集群资源运行算子计算服务以提升算子执行效率。2.如权利要求1所述的面向多模型训练任务的算子调度方法,其特征在于,所述算子包括以下一种或多种:数据IO算子:从远程地址获取数据流,计算完成后向远程地址写入数据流;数据规范化算子:包括异常处理和归一化处理;特征工程算子:包括奇异值分解SVD数据降维和主成分分析算法应用,用以降低数据维度,选出具有表征力的特征;模型生成算子:将经过以上步骤处理后的数据作为训练集,对原始模型进行训练,得到参数化之后的模型实例;模型评价算子:该算子存在两个输入,即需要评价的模型和用来评价模型的数据集合,为了保持算子单输入的形式从而不破坏整体的树形拓扑结构,做如下特殊处理::模型评价算子作为直接连接模型算子的子算子,模型算子的模型输出作为评价算子的模型输入参数;模型算子本身的数据输入中未参与训练的部分,作为评价算子的数据输入参数。3.如权利要求1或2所述的面向多模型训练任务的算子调度方法,其特征在于,所述输入算子树拓扑结构,按照该算子树拓扑结构,利用图论中的树深度优先遍历算法,生成一定顺序的串行或者并行执行链路,包括:在多模型训练任务场景下,一个父算子能够连接多个子算子,算子规范化后输入的算子拓扑为树形结构,不同的树支路path代表不同的模型训练任务,根据深度优先遍历算法,生成具体的算子执行链,确定算子执行的顺序。4.如权利要求1或2所述的面向多模型训练任务的算子调度方法,其特征在于,所述根据执行链路的顺序,依次启动算子计算服务,包括:在串行执行链场景下,从根节点root开始,依次访问链路上节点对应的算子服务;在并行执行链场景下,根据算子中计算量信息,针对不同的计算量分配不同的物理资源启动相应的算子服务,保证并行执行的效率。5.如权利要求1或2所述的面向多模型训练任务的算子调度方法,其特征在于,所述算子计算服务以微服务形式提供服务,用户侧以POST方式传入算子信息,获取...

【专利技术属性】
技术研发人员:黄勋
申请(专利权)人:武汉光网信息技术有限公司
类型:发明
国别省市:

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

1