CN116880995A - 一种模型任务的执行方法、装置、存储介质及电子设备 - Google Patents
一种模型任务的执行方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116880995A CN116880995A CN202311158944.7A CN202311158944A CN116880995A CN 116880995 A CN116880995 A CN 116880995A CN 202311158944 A CN202311158944 A CN 202311158944A CN 116880995 A CN116880995 A CN 116880995A
- Authority
- CN
- China
- Prior art keywords
- model
- node
- subtasks
- task
- subtask
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003062 neural network model Methods 0.000 claims abstract description 75
- 230000006870 function Effects 0.000 claims abstract description 68
- 238000012546 transfer Methods 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 17
- 150000001875 compounds Chemical class 0.000 claims description 13
- 239000002131 composite material Substances 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000013135 deep learning Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书公开了一种模型任务的执行方法、装置、存储介质及电子设备,确定运行神经网络模型的任务,对神经网络模型进行解析,得到模型算子以及模型算子信息。根据模型算子以及模型算子之间的张量传递关系,确定任务中的各子任务以及各子任务之间的连接关系,确定各子任务的调用函数。将各子任务以及各子任务的调用函数发送至分布式系统中的各边缘服务器,根据各子任务之间的连接关系,控制边缘服务器执行各子任务。该方法实现了对神经网络模型从模型算子层面的拆分,并使用分布式系统运行各子任务,在不影响神经网络模型的精度的前提下,提高了神经网络模型的推理速度,降低了对单个服务器的算力需求以及存储需求。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种模型任务的执行方法、装置、存储介质及电子设备。
背景技术
随着科技的发展,人工智能飞速发展。其中,深度学习技术飞速发展,且由于基于深度学习技术训练得到的神经网络模型具有强大的性能,因此被广泛应用于各种领域,如图像识别、语音识别、视觉定位等。
但是,随着各领域中需要解决的实际问题日益复杂,基于深度学习技术得到的神经网络模型的复杂度高、数据量大,高额存储空间的占据以及大量计算资源的消耗,致使神经网络模型难以有效应用于各硬件设备中,尤其是对于单个设备而言,很难高效地实现神经网络模型的推理过程,而分布式技术可降低单个设备的计算压力以及存储压力,并可提升神经网络模型的推理速度。
基于此,本申请说明书提供了一种模型任务的执行方法,可实现对模型任务的拆分,以使多台设备对神经网络模型进行协同推理,提高推理速度。
发明内容
本说明书提供一种模型任务的执行方法、装置、存储介质及电子设备,以至少部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种模型任务的执行方法,所述方法应用于分布式系统的中心服务器,所述方法包括:
确定运行神经网络模型的任务;
对所述神经网络模型进行解析,得到所述神经网络模型中的模型算子以及模型算子信息;其中,所述模型算子信息至少包括:模型算子的名称、模型算子的调用函数以及各模型算子之间的张量传递关系;
根据得到的模型算子以及模型算子之间的张量传递关系,确定所述任务中的各子任务以及各子任务之间的连接关系;
针对每个子任务,根据该子任务包含的模型算子的调用函数,确定该子任务的调用函数;
将所述各子任务以及确定出的各子任务的调用函数发送至所述分布式系统中的各边缘服务器;并,根据所述各子任务之间的连接关系,控制所述各边缘服务器执行所述各子任务。
可选地,确定所述任务中的各子任务以及各子任务之间的连接关系,具体包括:
以得到的模型算子为节点,以及以所述模型算子之间的张量传递关系为边,构建模型任务图;
根据所述模型任务图,确定所述任务中的各子任务以及各子任务之间的连接关系。
可选地,确定所述任务中的各子任务以及各子任务之间的连接关系,具体包括:
对所述模型任务图进行遍历,得到所述模型任务图中的各路径;
确定所述模型任务图中的关键节点;其中,所述关键节点包括:分支节点,合并节点以及复合节点,所述分支节点为所述模型任务图中包括多个子节点的节点,所述合并节点为所述模型任务图中包括多个父节点的节点,所述复合节点为所述模型任务图中同时为分支节点以及合并节点的节点;
根据所述模型任务图中的关键节点以及所述各路径,确定所述任务中的各子任务以及各子任务之间的连接关系。
可选地,确定所述任务中的各子任务,具体包括:
针对每条路径,并依次针对该条路径中的每个节点,若该节点为分支节点,则确定该节点以及该节点之前的各节点构成所述任务中的子任务。
可选地,确定所述任务中的各子任务,具体包括:
针对每条路径,并依次针对该条路径中的每个节点,若该节点为合并节点,则确定该节点之前的各节点构成所述任务中的子任务。
可选地,确定所述任务中的各子任务,具体包括:
针对每条路径,并依次针对该条路径中的每个节点,若该节点为复合节点,则确定该节点之前的各节点构成所述任务中的子任务,以及确定该节点构成所述任务中的子任务。
可选地,确定所述任务中的各子任务之间的连接关系,具体包括:
根据确定出的各子任务中节点对应的模型算子之间的张量传递关系,确定所述任务中的各子任务之间的连接关系。
可选地,将所述各子任务以及确定出的各子任务的调用函数发送至所述分布式系统中的各边缘服务器,具体包括:
针对任意两个子任务,若该两个子任务中起始的模型算子和/或末尾的模型算子相同,则确定该两个子任务为并行子任务;
将确定出的各并行子任务以及所述各并行子任务对应的调用函数发送至所述分布式系统中的各边缘服务器;
根据所述各子任务之间的连接关系,控制所述各边缘服务器执行所述各子任务,具体包括:
根据所述子任务之间的连接关系,控制所述各边缘服务器并行执行所述各并行子任务。
本说明书提供了一种模型任务的执行装置,所述装置位于分布式系统中的中心服务器,包括:
任务确定模块,用于确定运行神经网络模型的任务;
模型解析模块,用于对所述神经网络模型进行解析,得到所述神经网络模型中的模型算子以及模型算子信息;其中,所述模型算子信息至少包括:模型算子的名称、模型算子的调用函数以及各模型算子之间的张量传递关系;
子任务确定模块,用于根据得到的模型算子以及模型算子之间的张量传递关系,确定所述任务中的各子任务以及各子任务之间的连接关系;
调用函数确定模块,用于针对每个子任务,根据该子任务包含的模型算子的调用函数,确定该子任务的调用函数;
任务执行模块,用于将所述各子任务以及确定出的各子任务的调用函数发送至所述分布式系统中的各边缘服务器;并,根据所述各子任务之间的连接关系,控制所述各边缘服务器执行所述各子任务。
可选地,所述子任务确定模块具体用于,以得到的模型算子为节点,以及以所述模型算子之间的张量传递关系为边,构建模型任务图;根据所述模型任务图,确定所述任务中的各子任务以及各子任务之间的连接关系。
可选地,所述子任务确定模块具体用于,对所述模型任务图进行遍历,得到所述模型任务图中的各路径;确定所述模型任务图中的关键节点;其中,所述关键节点包括:分支节点,合并节点以及复合节点,所述分支节点为所述模型任务图中包括多个子节点的节点,所述合并节点为所述模型任务图中包括多个父节点的节点,所述复合节点为所述模型任务图中同时为分支节点以及合并节点的节点;根据所述模型任务图中的关键节点以及所述各路径,确定所述任务中的各子任务以及各子任务之间的连接关系。
可选地,所述子任务确定模块具体用于,针对每条路径,并依次针对该条路径中的每个节点,若该节点为分支节点,则确定该节点以及该节点之前的各节点构成所述任务中的子任务。
可选地,所述子任务确定模块具体用于,针对每条路径,并依次针对该条路径中的每个节点,若该节点为合并节点,则确定该节点之前的各节点构成所述任务中的子任务。
可选地,所述子任务确定模块具体用于,针对每条路径,并依次针对该条路径中的每个节点,若该节点为复合节点,则确定该节点之前的各节点构成所述任务中的子任务,以及确定该节点构成所述任务中的子任务。
可选地,所述子任务确定模块具体用于,根据确定出的各子任务中节点对应的模型算子之间的张量传递关系,确定所述任务中的各子任务之间的连接关系。
可选地,所述任务执行模块具体用于,针对任意两个子任务,若该两个子任务中起始的模型算子和/或末尾的模型算子相同,则确定该两个子任务为并行子任务;将确定出的各并行子任务以及所述各并行子任务对应的调用函数发送至所述分布式系统中的各边缘服务器;
所述任务执行模块具体用于,根据所述子任务之间的连接关系,控制所述各边缘服务器并行执行所述各并行子任务。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述模型任务的执行方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述模型任务的执行方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的模型任务的执行方法中可以看出,中心服务器可先确定运行神经网络模型的任务,也即将执行神经网络模型推理的过程作为任务,并对该神经网络模型进行解析,得到该神经网络模型中的模型算子以及模型算子信息,其中模型算子信息至少包括模型算子的名称、模型算子的调用函数以及各模型算子之间的张量传递关系。进而,可根据模型算子以及模型算子之间的张量传递关系,确定任务中的各子任务以及各子任务之间的连接关系,并确定各子任务的调用函数。最后中心服务器可将各子任务以及各子任务的调用函数发送至分布式系统中的各边缘服务器,根据各子任务之间的连接关系,控制边缘服务器执行各子任务,以完成该神经网络模型的推理任务。该方法实现了对神经网络模型从模型算子层面的拆分,也即将神经网络模型的运行任务进行拆分,得到由模型算子构成的各子任务,并使用分布式系统运行各子任务,即可并行执行运行神经网络模型的任务中的子任务,在不影响神经网络模型的精度的前提下,提高了神经网络模型的推理速度,并降低了对单个服务器的算力需求以及存储需求。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中一种模型任务的执行方法的流程示意图;
图2为本说明书提供的一种模型任务图的示意图;
图3为本说明书提供的一种子任务以及子任务的调用函数的示意图;
图4为本说明书提供的一种模型任务的执行装置示意图;
图5为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
目前深度学习技术被广泛应用于各业务领域,如图像识别、视觉定位等,基于深度学习技术训练得到的神经网络模型也越来越多。其中,卷积神经网络在目标检测与识别、图像分类、语义分割等任务上展示出了其强大的能力。但是卷积神经网络模型的复杂度较高、数据量较大,高额存储空间的占据以及大量计算资源的消耗,致使卷积神经网络模型难以有效应用于各硬件平台中,也即单个服务器很难高效地实现卷积神经网络模型的推理。
基于此,本申请说明书提供了一种模型任务的执行方法,实现了对神经网络模型从模型算子层面的拆分,也即将神经网络模型的运行任务进行拆分,得到由模型算子构成的各子任务,并使用分布式系统运行各子任务,即可并行执行运行神经网络模型的任务中的子任务,从而提高了神经网络模型的推理速度,并降低了神经网络模型对单个服务器的存储需求、带宽需求以及计算需求。
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书提供的一种模型任务的执行方法的流程示意图,具体可包括以下步骤:
S100:确定运行神经网络模型的任务。
S102:对所述神经网络模型进行解析,得到所述神经网络模型中的模型算子以及模型算子信息;其中,所述模型算子信息至少包括:模型算子的名称、模型算子的调用函数以及各模型算子之间的张量传递关系。
在图像处理领域,深度学习技术应用广泛,基于深度学习技术得到的卷积神经网络展示出强大的性能。然而,由于卷积神经网络模型复杂度较高、数据量较大,高额存储空间的占据以及大量计算资源的消耗,因此单个服务器很难高效地执行图像处理模型的推理过程,也即较难实时获取到模型对图像的处理结果。例如,在火车站、高铁站以及机场等地点,要对乘客的行李物品做即使的检测处理,然而大量的行李物品以及对行李物品的图像进行即时的检测以放行的目标,要求图像处理模型具备极高的实时性以及精确度。因此,在本说明书中,使用分布式系统执行神经网络模型的推理任务,可在保证神经网络模型预测的精确度的同时,加快推理速度,以满足不同场景下的对模型推理的实时性的需求。则执行本说明书技术方案的执行主体可为分布式系统中的中心服务器,且在本说明书的一个或多个实施例中,该神经网络模型可为卷积神经网络模型,具体可为GoogLeNet模型。
此外,Ray是高性能分布式任务执行框架中的一种,因此,在本说明书的一个或多个实施例中,可使用Ray的分布式调度器和分布式对象存储器执行模型的推理任务,则执行本说明书技术方案的执行主体可为Ray对应的分布式任务执行框架中的中心服务器。则在本说明书中,可将构成运行神经网络模型的任务的子任务中的并行子任务打包注册为Ray的远程任务,以利用Ray的架构使用多机器并行执行该并行子任务的推理,以提高模型推理速率。
通常,在实际应用中基于深度学习技术得到的神经网络模型中包括许多计算单元,即模型算子,模型算子与基于深度学习技术得到的神经网络模型的网络层中的计算逻辑相对应,如:卷积层中的卷积计算(Convolution,conv)、激活层中的激活计算(RectifiedLinear Unit,ReLU)、池化层中的最大池化(MaxPooling)等等。
于是,首先该中心服务器可确定运行神经网络模型的任务,也即将执行神经网络模型的推理作为任务,并对神经网络模型进行解析,得到神经网络模型中的模型算子以及模型算子信息。
具体的,在本说明书的一个或多个实施例中,该神经网络模型可为GoogLeNet模型,该中心服务器可获取基于PyTorch的GoogLeNet模型源码,并可确定用于输入该GoogLeNet模型的输入张量,进而根据该GoogLeNet模型源码完成端到端的张量计算。在GoogLeNet模型基于输入张量进行推理的过程中,可使用torch.fx追踪以及分析函数调用栈,以实现对GoogLeNet模型解析,得到GoogLeNet模型中的模型算子以及算子信息。
其中,模型算子信息至少包括:模型算子的名称、模型算子的调用函数以及各模型算子之间的张量传递关系。
此外,在本说明书的一个或多个实施例中,该中心服务器还可构建模型算子列表,该模型算子列表中包括该神经网络模型中的全部模型算子以及模型算子的调用代码,以在后续步骤中,使得该中心服务器可基于该算子列表确定各子任务的调用函数,提高速度。
S104:根据得到的模型算子以及模型算子之间的张量传递关系,确定所述任务中的各子任务以及各子任务之间的连接关系。
进而,该中心服务器可根据得到的模型算子以及模型算子之间的张量传递关系,确定任务中的各子任务以及各子任务之间的连接关系。具体的,在本说明书中,该中心服务器可以得到的模型算子为节点,以模型算子之间的张量传递关系为边,构建模型任务图,并根据模型任务图,确定任务中的各子任务以及各子任务之间的连接关系。
当然,也可构建模型算子以及模型算子之间的张量关系的数据列表,可以以算子名称为索引,然后查询该数据列表,以确定由模型算子构成的子任务,即确定任务中的各子任务以及各子任务之间的连接关系。
其中,该模型任务图可为有向无环图。如图2所示,为本说明书提供的模型任务图的示意图。在图2中,圆圈代表模型算子,也即图中的节点,箭头表示模型算子之间的连接关系,一共有11个模型算子,分别为最大池化算子maxpool,卷积算子conv1-conv8,连接算子concat以及批标准化算子BN。
在本说明书的一个或多个实施例中,在该中心服务器确定任务中的各子任务时,可对模型任务图进行遍历,得到模型任务图中的各路径,并确定模型任务图中的关键节点,其中,关键节点包括:分支节点,合并节点以及复合节点,分支节点为模型任务图中包括多个子节点的节点,合并节点为模型任务图中包括多个父节点的节点,复合节点为模型任务图中同时为分支节点以及合并节点的节点。进而可根据模型任务图中的关键节点以及各路径,确定任务中的各子任务以及各子任务之间的连接关系。也就是说,在本说明书中,分支节点为模型任务图中与多个下游节点具备直接连接关系的节点,合并节点为模型任务图中与多个上游节点具备直接连接关系的节点,复合节点为模型任务图中与多个上游节点具备直接连接关系且与多个下游节点具备直接连接关系的节点。
具体的,中心服务器可针对每条路径,并依次针对该条路径中的每个节点,若该节点为分支节点,则确定该节点以及该节点之前的各节点构成任务中的一个子任务,若该节点为合并节点,则确定该节点之前的各节点构成任务中的一个子任务,若该节点为复合节点,则确定该节点之前的各节点构成任务中的一个子任务,以及确定该节点构成任务中的一个子任务。
以图2为例,则从maxpool开始遍历该模型任务图,可得到六条路径,即:maxpool-conv1-BN-conv6-concat,以及maxpool-conv1-BN-conv7-concat,以及maxpool-conv2-BN-conv6-concat,以及maxpool-conv2-BN-conv7-concat,以及maxpool-conv3-conv4-conv8-concat,以及maxpool-conv3-conv5-conv8-concat。则可分别得到各子任务:maxpool-conv1、BN、conv6-concat,以及maxpool-conv1、BN、conv7-concat,以及maxpool-conv2、BN、conv6-concat,以及maxpool-conv2、BN、conv7-concat,以及maxpool-conv3、conv4、conv8-concat,以及maxpool-conv3、conv5、conv8-concat。
由于得到的各路径存在重复的节点,因此,在根据模型任务图中的关键节点以及各路径,确定任务中的各子任务之后,可对各子任务进行去重,得到去重后的各子任务。则沿用上例,得到去重后的各子任务可为:maxpool-conv1、BN、conv6-concat、conv7-concat、maxpool-conv2、maxpool-conv3、conv4、conv8-concat、conv5,即该模型任务图对应的运行该模型的任务中包含9个子任务。
其中,各子任务可由单向链表实现,则针对每个子任务,该子任务包含的各节点即模型算子,为该子任务对应的单向链表中的元素。
进一步的,在本说明书中,可从模型任务图中的头节点开始,对模型任务图进行遍历,并可建立单向链表,将遍历过的节点依次添加到该单向链表中,若当前遍历的节点为分支节点,则将该节点添加到单向链表中并输出该单项链表,该单向链表为一个子任务。若当前遍历的节点为合并节点,则直接输出该单向链表。若当前遍历的节点为复合节点,则直接将该单向链表输出,并重新建立由该节点构成的另外一个单向链表并输出。进而,可继续创建新的单向链表,继续进行遍历,直至遍历到尾节点,得到该模型任务图中的各单向链表,确定出的各单向链表即为各子任务。
S106:针对每个子任务,根据该子任务包含的模型算子的调用函数,确定该子任务的调用函数。
S108:将所述各子任务以及确定出的各子任务的调用函数发送至所述分布式系统中的各边缘服务器;并,根据所述各子任务之间的连接关系,控制所述各边缘服务器执行所述各子任务。
最后,该中心服务器可针对每个子任务,根据该子任务包含的模型算子的调用函数,确定该子任务的调用函数。并可将各子任务以及确定出的各子任务的调用函数发送至分布式系统中的各边缘服务器,以根据各子任务之间的连接关系,控制各边缘服务器执行各子任务,以完成运行该神经网络模型的任务,即完成执行该神经网络模型的推理过程。
在本说明书的一个或多个实施例中,可将确定出的各子任务存储在一个子任务集合中,然后该中心服务器可读取该子任务集合,并可针对每个子任务,根据该子任务中的模型算子以及模型算子之间的张量传递关系,将该子任务中的模型算子的调用函数逐一进行打包,得到该子任务的调用函数。如图3所示,为本申请提供的子任务以及子任务的调用函数示意图,在图中可见在运行神经网络模型的任务中的子任务A为: conv1-ReLU1-maxpool1-conv2-ReLU2-conv3-ReLU3-maxpool2。在确定该子任务的调用函数时,具体步骤可为:针对每个子任务,首先可构建该子任务的调用函数的代码块,该代码块以def关键字为开头,关键字后面为函数标识符名称和参数,该函数标识符名称可为对各子任务的编号(如:0、1、2…),该参数为该子任务中位于头节点的模型算子即起始的模型算子的调用参数。然后可从该子任务中位于头节点的模型算子开始遍历,将遍历的每个模型算子的调用函数依次添加到该子任务的调用函数的代码块。最后,在该子任务的调用函数的代码块的结尾行添加关键字return以及该子任务中位于尾节点的模型算子即末尾的模型算子的算子名称,至此,完成该子任务的调用函数的构建。
进而,该中心服务器可针对任意两个子任务,若该两个子任务中起始的模型算子和/或末尾的模型算子相同,也即若两个子任务中的头节点以及尾节点中任一节点相同,则确定该两个子任务为并行子任务,然后根据各子任务之间的连接关系,控制各边缘服务器并行执行各并行子任务。具体的,中心服务器可根据各子任务之间的连接关系,确定各子任务中的并行子任务,并确定各并行子任务的分布式执行标签,依据所述的链路间拓扑关系,按序汇集全部单链算子调用代码块,并对并行链路打入分布式执行标签,然后当运行该神经网络模型的任务执行到并行子任务时,可将具有分布式执行标签的子任务发送至分布式系统中的各边缘服务器,以使得各边缘服务器并行运行各并行子任务,并将运行结果返回各该中心服务器,以使该中心服务器基于得到的结果继续运行该神经网络模型。显然,使用分布式系统运行该神经网络模型,在不影响该神经网络模型的精度下提高了该神经网络模型的推理效率。
基于图1所示本说明书提供的上述模型任务的执行方法中,中心服务器可先确定运行神经网络模型的任务,也即将执行神经网络模型推理的过程作为任务,并对该神经网络模型进行解析,得到该神经网络模型中的模型算子以及模型算子信息,其中模型算子信息至少包括模型算子的名称、模型算子的调用函数以及各模型算子之间的张量传递关系。进而,可根据模型算子以及模型算子之间的张量传递关系,确定任务中的各子任务以及各子任务之间的连接关系,并确定各子任务的调用函数。最后中心服务器可将各子任务以及各子任务的调用函数发送至分布式系统中的各边缘服务器,根据各子任务之间的连接关系,控制边缘服务器执行各子任务,以完成该神经网络模型的推理任务。该方法实现了对神经网络模型从模型算子层面的拆分,也即将神经网络模型的运行任务进行拆分,得到由模型算子构成的各子任务,并使用分布式系统运行各子任务,即可并行执行运行神经网络模型的任务中的子任务,在不影响神经网络模型的精度的前提下,提高了神经网络模型的推理速度,并降低了对单个服务器的算力需求以及存储需求。
基于上述内容所述的模型任务的执行方法,本说明书实施例还对应的提供一种用于模型任务的执行装置示意图,如图4所示。
图4为本说明书实施例提供的一种用于模型任务的执行装置的示意图,所述装置位于分布式系统中的中心服务器,所述装置包括:
任务确定模块400,用于确定运行神经网络模型的任务;
模型解析模块402,用于对所述神经网络模型进行解析,得到所述神经网络模型中的模型算子以及模型算子信息;其中,所述模型算子信息至少包括:模型算子的名称、模型算子的调用函数以及各模型算子之间的张量传递关系;
子任务确定模块404,用于根据得到的模型算子以及模型算子之间的张量传递关系,确定所述任务中的各子任务以及各子任务之间的连接关系;
调用函数确定模块406,用于针对每个子任务,根据该子任务包含的模型算子的调用函数,确定该子任务的调用函数;
任务执行模块408,用于将所述各子任务以及确定出的各子任务的调用函数发送至所述分布式系统中的各边缘服务器;并,根据所述各子任务之间的连接关系,控制所述各边缘服务器执行所述各子任务。
可选地,所述子任务确定模块404具体用于,以得到的模型算子为节点,以及以所述模型算子之间的张量传递关系为边,构建模型任务图;根据所述模型任务图,确定所述任务中的各子任务以及各子任务之间的连接关系。
可选地,所述子任务确定模块404具体用于,对所述模型任务图进行遍历,得到所述模型任务图中的各路径;确定所述模型任务图中的关键节点;其中,分支节点,合并节点以及复合节点,所述分支节点为所述模型任务图中包括多个子节点的节点,所述合并节点为所述模型任务图中包括多个父节点的节点,所述复合节点为所述模型任务图中同时为分支节点以及合并节点的节点;根据所述模型任务图中的关键节点以及所述各路径,确定所述任务中的各子任务以及各子任务之间的连接关系。
可选地,所述子任务确定模块404具体用于,针对每条路径,并依次针对该条路径中的每个节点,若该节点为分支节点,则确定该节点以及该节点之前的各节点构成所述任务中的子任务。
可选地,所述子任务确定模块404具体用于,针对每条路径,并依次针对该条路径中的每个节点,若该节点为合并节点,则确定该节点之前的各节点构成所述任务中的子任务。
可选地,所述子任务确定模块404具体用于,针对每条路径,并依次针对该条路径中的每个节点,若该节点为复合节点,则确定该节点之前的各节点构成所述任务中的子任务,以及确定该节点构成所述任务中的子任务。
可选地,所述子任务确定模块404具体用于,根据确定出的各子任务中节点对应的模型算子之间的张量传递关系,确定所述任务中的各子任务之间的连接关系。
可选地,所述任务执行模块408具体用于,针对任意两个子任务,若该两个子任务中起始的模型算子和/或末尾的模型算子相同,则确定该两个子任务为并行子任务;将确定出的各并行子任务以及所述各并行子任务对应的调用函数发送至所述分布式系统中的各边缘服务器;
所述任务执行模块408具体用于,根据所述子任务之间的连接关系,控制所述各边缘服务器并行执行所述各并行子任务。
本说明书实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述内容所述的模型任务的执行方法。
基于上述内容所述的模型任务的执行方法,本说明书实施例还提出了图5所示的电子设备的示意结构图。如图5,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述内容所述的模型任务的执行方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种模型任务的执行方法,其特征在于,所述方法应用于分布式系统的中心服务器,所述方法包括:
确定运行神经网络模型的任务;
对所述神经网络模型进行解析,得到所述神经网络模型中的模型算子以及模型算子信息;其中,所述模型算子信息至少包括:模型算子的名称、模型算子的调用函数以及各模型算子之间的张量传递关系;
根据得到的模型算子以及模型算子之间的张量传递关系,确定所述任务中的各子任务以及各子任务之间的连接关系;
针对每个子任务,根据该子任务包含的模型算子的调用函数,确定该子任务的调用函数;
将所述各子任务以及确定出的各子任务的调用函数发送至所述分布式系统中的各边缘服务器;并,根据所述各子任务之间的连接关系,控制所述各边缘服务器执行所述各子任务。
2.如权利要求1所述的方法,其特征在于,确定所述任务中的各子任务以及各子任务之间的连接关系,具体包括:
以得到的模型算子为节点,以及以所述模型算子之间的张量传递关系为边,构建模型任务图;
根据所述模型任务图,确定所述任务中的各子任务以及各子任务之间的连接关系。
3.如权利要求2所述的方法,其特征在于,确定所述任务中的各子任务以及各子任务之间的连接关系,具体包括:
对所述模型任务图进行遍历,得到所述模型任务图中的各路径;
确定所述模型任务图中的关键节点;其中,所述关键节点包括:分支节点,合并节点以及复合节点,所述分支节点为所述模型任务图中包括多个子节点的节点,所述合并节点为所述模型任务图中包括多个父节点的节点,所述复合节点为所述模型任务图中同时为分支节点以及合并节点的节点;
根据所述模型任务图中的关键节点以及所述各路径,确定所述任务中的各子任务以及各子任务之间的连接关系。
4.如权利要求3所述的方法,其特征在于,确定所述任务中的各子任务,具体包括:
针对每条路径,并依次针对该条路径中的每个节点,若该节点为分支节点,则确定该节点以及该节点之前的各节点构成所述任务中的子任务。
5.如权利要求3所述的方法,其特征在于,确定所述任务中的各子任务,具体包括:
针对每条路径,并依次针对该条路径中的每个节点,若该节点为合并节点,则确定该节点之前的各节点构成所述任务中的子任务。
6.如权利要求3所述的方法,其特征在于,确定所述任务中的各子任务,具体包括:
针对每条路径,并依次针对该条路径中的每个节点,若该节点为复合节点,则确定该节点之前的各节点构成所述任务中的子任务,以及确定该节点构成所述任务中的子任务。
7.如权利要求2所述的方法,其特征在于,确定所述任务中的各子任务之间的连接关系,具体包括:
根据确定出的各子任务中节点对应的模型算子之间的张量传递关系,确定所述任务中的各子任务之间的连接关系。
8.如权利要求1所述的方法,其特征在于,将所述各子任务以及确定出的各子任务的调用函数发送至所述分布式系统中的各边缘服务器,具体包括:
针对任意两个子任务,若该两个子任务中起始的模型算子和/或末尾的模型算子相同,则确定该两个子任务为并行子任务;
将确定出的各并行子任务以及所述各并行子任务对应的调用函数发送至所述分布式系统中的各边缘服务器;
根据所述各子任务之间的连接关系,控制所述各边缘服务器执行所述各子任务,具体包括:
根据所述子任务之间的连接关系,控制所述各边缘服务器并行执行所述各并行子任务。
9.一种模型任务的执行装置,其特征在于,所述装置位于分布式系统中的中心服务器,所述装置具体包括:
任务确定模块,用于确定运行神经网络模型的任务;
模型解析模块,用于对所述神经网络模型进行解析,得到所述神经网络模型中的模型算子以及模型算子信息;其中,所述模型算子信息至少包括:模型算子的名称、模型算子的调用函数以及各模型算子之间的张量传递关系;
子任务确定模块,用于根据得到的模型算子以及模型算子之间的张量传递关系,确定所述任务中的各子任务以及各子任务之间的连接关系;
调用函数确定模块,用于针对每个子任务,根据该子任务包含的模型算子的调用函数,确定该子任务的调用函数;
任务执行模块,用于将所述各子任务以及确定出的各子任务的调用函数发送至所述分布式系统中的各边缘服务器;并,根据所述各子任务之间的连接关系,控制所述各边缘服务器执行所述各子任务。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-8任一所述的方法。
11.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述权利要求1-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311158944.7A CN116880995B (zh) | 2023-09-08 | 2023-09-08 | 一种模型任务的执行方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311158944.7A CN116880995B (zh) | 2023-09-08 | 2023-09-08 | 一种模型任务的执行方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116880995A true CN116880995A (zh) | 2023-10-13 |
CN116880995B CN116880995B (zh) | 2024-01-09 |
Family
ID=88268506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311158944.7A Active CN116880995B (zh) | 2023-09-08 | 2023-09-08 | 一种模型任务的执行方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116880995B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117522669A (zh) * | 2024-01-08 | 2024-02-06 | 之江实验室 | 一种图形处理器内存优化方法、装置、介质及设备 |
CN117519996A (zh) * | 2024-01-08 | 2024-02-06 | 长春吉大正元信息技术股份有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN117724823A (zh) * | 2024-02-07 | 2024-03-19 | 之江实验室 | 基于声明式语义的多模型工作流描述的任务执行方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490322A (zh) * | 2019-08-14 | 2019-11-22 | 北京中科寒武纪科技有限公司 | 运算节点的拆分方法和装置、电子设备和存储介质 |
CN111401539A (zh) * | 2019-09-24 | 2020-07-10 | 上海寒武纪信息科技有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN113449859A (zh) * | 2020-03-27 | 2021-09-28 | 华为技术有限公司 | 一种数据处理方法及其装置 |
US20220121903A1 (en) * | 2019-09-24 | 2022-04-21 | Anhui Cambricon Information Technology Co., Ltd. | Method of performing splitting in neural network model by means of multi-core processor, and related product |
CN115543639A (zh) * | 2022-12-01 | 2022-12-30 | 阿里云计算有限公司 | 分布式执行深度学习任务的优化方法和分布式系统 |
CN115661602A (zh) * | 2022-09-21 | 2023-01-31 | 之江实验室 | 一种图像识别的方法、装置、存储介质及电子设备 |
CN116011468A (zh) * | 2021-10-20 | 2023-04-25 | 珠海金山办公软件有限公司 | 深度学习模型的推理方法、机器翻译方法及装置 |
CN116185629A (zh) * | 2023-02-22 | 2023-05-30 | 之江实验室 | 一种任务执行的方法、装置、存储介质及电子设备 |
CN116225669A (zh) * | 2023-05-08 | 2023-06-06 | 之江实验室 | 一种任务执行方法、装置、存储介质及电子设备 |
CN116467061A (zh) * | 2023-06-19 | 2023-07-21 | 之江实验室 | 一种任务执行的方法、装置、存储介质及电子设备 |
-
2023
- 2023-09-08 CN CN202311158944.7A patent/CN116880995B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490322A (zh) * | 2019-08-14 | 2019-11-22 | 北京中科寒武纪科技有限公司 | 运算节点的拆分方法和装置、电子设备和存储介质 |
CN111401539A (zh) * | 2019-09-24 | 2020-07-10 | 上海寒武纪信息科技有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
US20220121903A1 (en) * | 2019-09-24 | 2022-04-21 | Anhui Cambricon Information Technology Co., Ltd. | Method of performing splitting in neural network model by means of multi-core processor, and related product |
CN113449859A (zh) * | 2020-03-27 | 2021-09-28 | 华为技术有限公司 | 一种数据处理方法及其装置 |
CN116011468A (zh) * | 2021-10-20 | 2023-04-25 | 珠海金山办公软件有限公司 | 深度学习模型的推理方法、机器翻译方法及装置 |
CN115661602A (zh) * | 2022-09-21 | 2023-01-31 | 之江实验室 | 一种图像识别的方法、装置、存储介质及电子设备 |
CN115543639A (zh) * | 2022-12-01 | 2022-12-30 | 阿里云计算有限公司 | 分布式执行深度学习任务的优化方法和分布式系统 |
CN116185629A (zh) * | 2023-02-22 | 2023-05-30 | 之江实验室 | 一种任务执行的方法、装置、存储介质及电子设备 |
CN116225669A (zh) * | 2023-05-08 | 2023-06-06 | 之江实验室 | 一种任务执行方法、装置、存储介质及电子设备 |
CN116467061A (zh) * | 2023-06-19 | 2023-07-21 | 之江实验室 | 一种任务执行的方法、装置、存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
刘洋;杨晟院;钟雅瑾;: "基于GPN径向基神经网络的边缘检测方法", 计算机系统应用, no. 03 * |
董晓;刘雷;李晶;冯晓兵;: "面向稀疏卷积神经网络的GPU性能优化方法", 软件学报, no. 09 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117522669A (zh) * | 2024-01-08 | 2024-02-06 | 之江实验室 | 一种图形处理器内存优化方法、装置、介质及设备 |
CN117519996A (zh) * | 2024-01-08 | 2024-02-06 | 长春吉大正元信息技术股份有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN117519996B (zh) * | 2024-01-08 | 2024-03-15 | 长春吉大正元信息技术股份有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN117522669B (zh) * | 2024-01-08 | 2024-03-26 | 之江实验室 | 一种图形处理器内存优化方法、装置、介质及设备 |
CN117724823A (zh) * | 2024-02-07 | 2024-03-19 | 之江实验室 | 基于声明式语义的多模型工作流描述的任务执行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116880995B (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116880995B (zh) | 一种模型任务的执行方法、装置、存储介质及电子设备 | |
CN107450972A (zh) | 一种调度方法、装置以及电子设备 | |
CN116126365B (zh) | 一种模型部署的方法、系统、存储介质及电子设备 | |
CN116167461B (zh) | 一种模型训练的方法、装置、存储介质及电子设备 | |
CN110968404B (zh) | 一种设备数据处理方法及装置 | |
CN116341642B (zh) | 一种数据处理的方法、装置、存储介质及电子设备 | |
CN116402113B (zh) | 一种任务执行的方法、装置、存储介质及电子设备 | |
US11380306B2 (en) | Iterative intent building utilizing dynamic scheduling of batch utterance expansion methods | |
CN116151363B (zh) | 分布式强化学习系统 | |
CN116127328A (zh) | 一种对话状态识别模型的训练方法、装置、介质及设备 | |
CN116304704A (zh) | 一种模型训练方法、装置、存储介质及电子设备 | |
CN115456114A (zh) | 一种模型训练和业务执行的方法、装置、介质及设备 | |
CN116069485A (zh) | 用于处理任务的方法、装置、电子设备和介质 | |
CN111124695B (zh) | 一种动效管理方法、系统及设备 | |
CN116755862B (zh) | 一种算子优化调度模型的训练方法、装置、介质及设备 | |
Junaid et al. | Big data predictive analytics for apache spark using machine learning | |
Lin | In Defense of MapReduce | |
CN112527387B (zh) | 应用处理方法和装置 | |
Zhang et al. | Evaluating order of circuits for deadlock avoidance in a flexible manufacturing system | |
CN117171401B (zh) | 基于分层预计算的图数据中最短路径的查询方法和装置 | |
CN117828360A (zh) | 一种模型训练、代码生成方法、装置、存储介质及设备 | |
CN116227604A (zh) | 基于分布式的贝叶斯网络训练方法及装置 | |
CN117873705A (zh) | 基于模型切割的任务执行方法、装置、介质及电子设备 | |
CN117668543A (zh) | 一种模型训练方法、装置、存储介质及电子设备 | |
CN116955425A (zh) | 基于合并树模型的数据流处理方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |