CN113342631B - 分发管理优化方法、装置和电子设备 - Google Patents
分发管理优化方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113342631B CN113342631B CN202110748125.2A CN202110748125A CN113342631B CN 113342631 B CN113342631 B CN 113342631B CN 202110748125 A CN202110748125 A CN 202110748125A CN 113342631 B CN113342631 B CN 113342631B
- Authority
- CN
- China
- Prior art keywords
- operator
- strategies
- strategy
- equipment
- result
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Abstract
本申请提供一种分发管理优化方法、装置和电子设备,针对所属同一设备类型的多个设备,获得各所述设备具有的多项设备参数信息,并将各设备的多项设备参数信息进行组合得到多个运行策略,再将多个运行策略分配到多个设备。将运行模型分别分发至各个设备,并使各个设备在分配到的运行策略下执行运行模型,获得在不同运行策略下运行模型包含的各算子的运行结果,将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,输出运行模型包含的各个算子所对应的最优的运行策略。如此,可以有效得到运行模型在设备端的何种运行策略下可以达到的最优效果,且通过多个设备进行集中运行,可以大大提高运行的效率。
Description
技术领域
本申请涉及人工智能技术领域,具体而言,涉及一种分发管理优化方法、装置和电子设备。
背景技术
近年来,伴随着深度学习的发展,有越来越多的应用和技术涉及到AI模型。随之多种不同的AI模型被训练出以应用到设备端。设备端常用的处理单元是CPU,虽然CPU功能齐全,基本上能应用于绝大多数的应用场景。但是,通用有时也意味着低效,为了更好的用户体验,各大生厂商为设备搭载了更多的处理单元,例如DSP、NPU、APU等等,同一类型的设备端都可支持不同的设备参数类型。
针对不同类型的设备端、甚至是针对同一类型的设备端,在不同的设备参数类型下运行AI模型的性能差别很大,很难确定模型在设备端的何种设备参数类型下可达到最优的效果。
发明内容
本申请的目的包括,例如,提供了一种分发管理优化方法、装置和电子设备,其能够在较高处理效率的基础上,得到设备的最优运行策略。
本申请的实施例可以这样实现:
第一方面,本申请提供一种分发管理优化方法,所述方法包括:
针对所属同一设备类型的多个设备,获得各所述设备具有的多项设备参数信息;
将各所述设备的多项设备参数信息进行组合,得到多个运行策略,并将所述多个运行策略分配到所述多个设备;
将运行模型分别分发至各所述设备,并使各所述设备在分配到的运行策略下运行所述运行模型,所述运行模型包含多个算子;
获得在不同运行策略下所述运行模型的各所述算子的运行结果,将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,得到所述运行模型包含的各个算子所对应的最优的运行策略。
在可选的实施方式中,所述设备参数信息包括处理单元类型及精度类型,所述处理单元类型包括多项、所述精度类型包括多项;
所述将各所述设备的多项设备参数信息进行组合,得到多个运行策略的步骤,包括:
将各所述设备的多项处理单元类型和多项精度类型进行组合,得到多个运行策略,其中,各所述运行策略中包含一项处理单元类型和一项精度类型。
在可选的实施方式中,所述将多个运行策略分配到所述多个设备的步骤,包括:
针对各所述设备,获得所述设备的设备ID,将所述设备ID转换为设定位数的整数;
根据转换后的整数和得到的运行策略的个数,确定所述设备所应分配的运行策略。
在可选的实施方式中,所述根据转换后的整数和得到的运行策略的个数,确定所述设备所应分配的运行策略的步骤,包括:
将转换后的整数和得到的运行策略的个数进行求模运算,得到模值;
根据得到的模值以及预先设定的各所述运行策略的编号,确定所述设备所应分配的运行策略。
在可选的实施方式中,所述运行结果包括结果误差和时间差异;
所述获得在不同运行策略下所述运行模型的各个算子的运行结果的步骤,包括:
针对各所述算子,获得所述算子在对应运行策略下的输出结果以及算子耗时;
将所述输出结果与算子耗时与预先得到的所述算子在标准运行策略下的标准输出结果和标准耗时分别进行比对,得到所述算子在对应运行策略下的结果误差和时间差异。
在可选的实施方式中,所述输出结果为对待处理图像处理后得到的图像结果;
得到所述算子在对应运行策略下的结果误差的步骤,包括:
将得到的图像结果与预先得到的所述算子在标准运行策略下的标准图像结果进行相似度比对得到相似度误差,作为所述算子在对应运行策略下的结果误差。
在可选的实施方式中,各所述算子的运行结果包括在不同运行策略下的多个运行结果;
所述将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,得到所述运行模型包含的各个算子所对应的最优的运行策略的步骤,包括:
将相同算子在不同运行策略下的多个运行结果导入预先得到的学习模型;
通过对所述多个运行结果进行比对,得到所述算子所对应的最优的运行策略。
在可选的实施方式中,所述处理单元类型包括CPU、GPU、NPU、APU中的任意多项,所述精度类型包括定点运算、浮点运算、bf16、量化运算中的任意多项。
第二方面,本申请提供一种分发管理优化装置,所述装置包括:
获取模块,用于针对所属同一设备类型的多个设备,获得各所述设备具有的多项设备参数信息;
组合模块,用于将各所述设备的多项设备参数信息进行组合,得到多个运行策略,并将所述多个运行策略分配到所述多个设备;
分发模块,用于将运行模型分别分发至各所述设备,并使各所述设备在分配到的运行策略下运行所述运行模型,所述运行模型包含多个算子;
输出模块,用于获得在不同运行策略下所述运行模型的各所述算子的运行结果,将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,得到所述运行模型包含的各个算子所对应的最优的运行策略。
第三方面,本申请提供一种电子设备,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行前述实施方式中任意一项所述的方法步骤。
本申请实施例的有益效果包括,例如:
本申请提供一种分发管理优化方法、装置和电子设备,针对所属同一设备类型的多个设备,获得各所述设备具有的多项设备参数信息,并将各设备的多项设备参数信息进行组合得到多个运行策略,再将多个运行策略分配到多个设备。将运行模型分别分发至各个设备,并使各个设备在分配到的运行策略下执行运行模型,获得在不同运行策略下运行模型包含的各算子的运行结果,将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,输出运行模型包含的各个算子所对应的最优的运行策略。如此,可以有效得到运行模型在设备端的何种运行策略下可以达到的最优效果,且通过多个设备进行集中运行,可以大大提高运行的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的分发管理优化方法的流程图;
图2为本申请实施例提供的分发管理优化方法的交互示意图;
图3为图1中步骤S120包含的子步骤的流程图;
图4为图1中步骤S140包含的子步骤的流程图;
图5为本申请实施例提供的电子设备的结构框图;
图6为本申请实施例提供的分发管理优化装置的功能模块框图。
图标:110-存储介质;120-处理器;130-分发管理优化装置;131-获取模块;132-组合模块;133-分发模块;134-输出模块;140-通信接口。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
请参阅图1,为本申请实施例提供的一种分发管理优化方法的流程示意图。应当理解,在其它实施例中,本实施例所述的分发管理优化方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该分发管理优化方法的详细步骤介绍如下。
步骤S110,针对所属同一设备类型的多个设备,获得各所述设备具有的多项设备参数信息。
步骤S120,将各所述设备的多项设备参数信息进行组合,得到多个运行策略,并将所述多个运行策略分配到所述多个设备。
步骤S130,将运行模型分别分发至各所述设备,并使各所述设备在分配到的运行策略下运行所述运行模型,所述运行模型包含多个算子。
步骤S140,获得在不同运行策略下所述运行模型的各所述算子的运行结果,将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,得到所述运行模型包含的各个算子所对应的最优的运行策略。
本实施例中,可以针对不同的设备类型的设备进行研究,其中,所述的设备可以是如智能手机、平板电脑、个人计算机等设备,本实施例对此不作具体限制。本实施例中后续主要以设备为智能手机进行阐述。此外,相同的设备类型的设备可以是型号相同的、具有相同设备参数的设备。通过将运行模型运行在不同设备类型的设备上,可以基于运行的结果得到不同设备类型的设备以何种运行策略来执行运行模型可以得到最优的效果。
本实施例中,所述的运行模型可以是可进行如图像处理、语音处理等的深度学习模型,例如神经网络模型。
本实施例中,在针对某种设备类型进行研究时,可预先准备所属该设备类型的多个设备。其中,各个设备具有多项设备参数信息,例如,A类型设备参数以及B类型设备参数,其中,A类设备参数中又包括多个设备子参数,例如A1设备参数、A2设备参数等,而B类设备参数同样可包括多个设备子参数,例如B1设备参数、B2设备参数等。
也就是说,各个设备既可在A1设备参数下运行,也可在A2设备参数下运行,同样,各个设备既可在B2设备参数下运行,也可在B2设备参数下运行。
如此,对于各个设备而言则可以在不同的参数组合下运行,可以将多项设备参数信息进行组合得到多个运行策略。例如,得到的运行策略可以是如A1设备参数and B1设备参数、A1设备参数and B2设备参数、A2设备参数and B1设备参数、A2设备参数and B2设备参数。也就是说,各个设备可以在上述任意一种运行策略下运行。可以基于设备在不同的运行策略下的运行结果得到设备针对运行模型而言的最优的运行策略。
在传统方式中,在确定设备的最优的运行策略时采用的方式是AutoTunning,也即将所有的运行策略在同一设备上依次全部执行一遍,进而获得一个最优的策略。这种传统方式中,往往会增加不少额外的试跑耗时,效率低、给客户带来不佳的体验。
因此,在本实施例中,在基于设备参数信息得到多个运行策略后,可以将多个运行策略分配到多个设备,也即,一个设备可以分配到一个或多个运行策略。通过多个设备来分散执行运行模型,可以大大提高执行的效率。
而由上述可知,运行模型可以是如神经网络模型,神经网络模型往往具有多个网络层,也即具有多个算子。对于不同的算子,其最优的运行策略可能并不相同,例如,针对运行模型的第一个算子,可能在一种运行策略下其运行结果较好,而针对运行模型的第二个算子,可能在另一种运行策略下其运行结果较好。因此,为了找到各个算子最优的运行策略,则可以将运行模型分别分发至各个设备,由于各个设备分配到不同的运行策略,如此,可以使各个设备在分配到的运行策略下执行运行模型。
而运行模型包含多个算子,对于所分发的多个运行模型,其相同的算子则可以得到与运行策略相同个数的运行结果。例如,针对运行模型的第一个算子,在运行策略为N个时,则第一个算子可以得到N个运行结果。可以将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,进而得到该算子所对应的最优的运行策略。如此,可以得到运行模型包含的各个算子所对应的最优的运行策略。
例如,针对运行模型的第一个算子,可能得到的最优的运行策略是A1设备参数andB1设备参数,针对运行模型的第二个算子,可能得到的最优的运行策略是A1设备参数andB2设备参数。
通过上述方式,则针对某种设备类型的设备,可以确定其在以何种运行策略执行运行模型的各个算子时,可以使运行模型的各个算子得到最优的执行效果。如此,可以得到多种不同设备类型的设备的最优运行策略。
通过上述方式,则面对目前市面上的多种设备类型的智能手机以及多种运行模型,可以针对不同的设备类型预置具有其对应的最优运行策略的运行模型给对应的设备,如图2中所示。例如,运行模型可以是AI模型,服务端可以包含一AI模型数据库,数据库中可包含多个AI模型,如模型1、模型2、模型3等。不同的模型可以在不同的机型的不同运行策略下被执行,执行的结果可通过学习模型进行处理,以确定模型的不同算子的最优运行策略。
本实施例中,对于某个用户,若其使用的智能手机的设备类型为机型A,若其初次使用对应的运行模型1,该用户可在请求下载运行模型1的同时请求运行模型1对应的最优运行策略,按该最优运行策略来执行。若用户并非首次使用运行模型1,则可以请求其对应的最优运行策略即可。当然,若请求不到最优运行策略,可以按照预先默认设置的运行策略执行即可。
本实施例提供的分发管理优化方案,通过将设备的设备参数信息进行组合得到多个运行策略,并将多个运行策略分配给多个设备,使得多个设备可以分别执行运行模型,从而得到运行模型的各个算子所对应的运行策略。如此,可以基于多个设备以分散执行,在提高执行效率的基础上,基于得到的各个算子的最优运行策略,确定各种设备类型的设备在以何种运行策略执行运行模型的各个算子时,可使得运行模型的各个算子实现最优的执行效果。
本实施例中,上述设备的设备参数信息包括处理单元类型及精度类型,其中,处理单元类型包括多项、精度类型包括多项。详细地,处理单元类型包括,但不限于CPU、GPU、NPU、APU中的任意多项,精度类型包括,但不限于定点运算、浮点运算、bf16、量化运算中的任意多项。其中,浮点运算包括fp64、fp32、fp16,量化运算包括int8、uint8。
在一种可能的实施方式中,上述的运行策略的获得方式可以是,将各设备的多项处理单元类型和多项精度类型进行组合,得到多个运行策略。其中,各运行策略中包含一项处理单元类型和一项精度类型。
例如,假设处理单元类型共包括CPU和GPU两种,精度类型共包括fp32、fp16,则进行组合后得到的运行策略为:CPU and fp32、GPU and fp32、CPU and fp16、GPU and fp32。
为了提高执行效率,本实施例采用的方法是将多个运行策略分散到多个设备上执行。为了将多个运行策略尽可能均匀地分散到多个设备,本实施例中,请参阅图3,在将多个运行策略分散到多个设备时,可以通过以下方式实现:
步骤S121,针对各所述设备,获得所述设备的设备ID,将所述设备ID转换为设定位数的整数。
步骤S122,根据转换后的整数和得到的运行策略的个数,确定所述设备所应分配的运行策略。
由于各个设备的设备ID均是唯一的,本实施例中,可以基于各个设备的设备ID来实现运行策略的分配。可以将各个设备的设备ID转换为设定位数的整数,例如,将设备ID转换为一组6位数的整数。通过上述方式,可以得到组合后的运行策略的个数,基于设备ID转换后的整数和运行策略的个数,可以确定各个设备所应分配的运行策略。
作为一种可能的实施方式,可将转换后的整数和得到的运行策略的个数进行求模运算,得到模值。再根据得到的模值以及预先设定的各个运行策略的编号,确定设备所应分配的运行策略。
例如,在组合得到多个运行策略后,可以为各个运行策略编号,如1、2、3……等。针对某个设备,假设该设备的设备ID转换后得到的整数为9,而运行策略的总个数为4,则转换后的整数与运行策略的个数进行求模运算后得到的模值为1。则运行策略中其中编号为1的运行策略可分配至该设备。
需要说明的是,上述仅为将多个运行策略分配至多个设备的一种可能的实现方式,在具体实施时,可以根据需求采用其他的实现方式,只要实现多个运行策略的均匀分配即可。
在各个设备分配到运行策略后,可将运行模型分发到各个设备,各个设备可以基于分配到的运行策略执行运行模型。例如,针对某个设备,若其分配到运行策略为CPU andfp32,则可以使该设备通过CPU并以fp32的精度执行运行模型,得到相应的运行结果。当然,若该设备分配到两个或两个以上的运行策略,则该设备可以分别以不同的运行策略来执行运行模型,以得到各个运行策略下的运行结果。
本实施例中,为了能够体现出各个算子在不同运行策略下的差异,本实施例中,以各个算子对应的结果误差和时间差异来作为判断标准,也即,运行结果中包括结果误差和时间差异。请参阅图4,获得不同运行策略下运行模型的各个算子的运行结果的步骤,具体可以包括以下过程:
步骤S141,针对各所述算子,获得所述算子在对应运行策略下的输出结果以及算子耗时。
步骤S142,将所述输出结果与算子耗时与预先得到的所述算子在标准运行策略下的标准输出结果和标准耗时分别进行比对,得到所述算子在对应运行策略下的结果误差和时间差异。
由上述可知,运行模型中的算子即为运行模型中的各个网络层,如卷积层、pooling层、Relu层等。运行模型被执行的过程中,各个算子具有对应的输出结果,各个算子也具有相应的算子耗时,即从将数据输入算子至算子输出相应的结果的耗时。
本实施例中,预先基于历史大数据可以得到目前各个算子最佳的运行策略,也即标准运行策略,例如,对于某个算子,其标准运行策略为CPU and fp32。并且,可以得到算子在该标准运行策略下的标准输出结果和标注耗时。
如此,设备在按其分配到的运行策略执行完该算子后,可以将该算子在当前运行策略下得到的输出结果与算子耗时分别与标准输出结果和标准耗时分别进行比对,则可以得到算子在当前运行策略下的结构误差和时间差异。
一种可能的实施方式中,算子的输出结果可以为对待处理图像处理后得到的图像结果,也即,运行模型可以是图像处理相关的模型。在这种情形下,得到算子在对应运行策略下的结果误差的方式可以是,将得到的图像结果与预先得到的算子在标准运行策略下的标准图像结果进行相似度比对得到相似度误差,以作为算子在对应运行策略下的结果误差。
此外,在其他的实施方式下,算子的输出结果还可以是对于具体的像素点或者是具体的边框的处理结果。在这种情形下,则可以将输出结果中的位置信息与算子在标准运行策略下得到的位置信息进行对比,得到的相对位置误差作为算子在对应运行策略下的结果误差。
本实施例中,通过以上方式,对于某个算子而言,则可以得到该算子在不同的运行策略下的运行结果。可以将相同算子在不同运行策略下的多个运行结果导入预先得到的学习模型,通过对多个运行结果进行比对,得到算子所对应的最优的运行策略。
本实施例中,算子的运行结果可包括结果误差、时间差异,此外,还包括执行算子的设备的设备类型、执行算子的运行策略(包括处理单元类型和精度类型)。对于某种算子,在每种运行策略下将得到的对应的一组运行结果,如此,多种运行策略下将具有多组运行结果。将运行结果导入学习模型,对运行结果中的多项信息进行比较,可以得到算子所对应的最优的运行策略。
本实施例中,具体的比对的方式可根据需求进行设置,例如,可以将时间差异作为优先的比对标准,也可以将结果误差作为优先的比对标准,或者,也可以考虑各个运行策略的执行可能性,例如,以某种运行策略来执行是否实际可行等。可以按照设置的比对标准来比较综合比较多项运行结果,以得到算子对应的最优的运行策略。
本实施例中,最终得到的结果中可以包含运行模型的各个算子可以以何种精度类型执行在何种处理单元类型上。例如,运行模型包含卷积层和Pooling层,卷积层可以按照GPU and fp32的运行策略来执行,Pooling层可以按照CPU and fp16的运行策略来执行。
本实施例提供的分发管理优化方法,通过将设备的处理单元类型和精度类型按照全组合方式得到多个运行策略,并将多个运行策略分散给多个设备,以多个设备在分配到的运行策略下执行运行模型,从而得到运行模型的各个算子所对应的最优运行策略。可以在提高执行效率的基础上,为各种不同设备类型的设备确定以何种优化的运行策略来执行运行模型。
请参阅图5,本申请实施例还提供了一种电子设备,以用于执行上述的分发管理优化方法,该电子设备可以是服务器,可以与上述的各个设备建立通信,以与上述的各个设备之间实现数据、信息的交互。
该电子设备可包括存储介质110、处理器120、分发管理优化装置130及通信接口140。本实施例中,存储介质110与处理器120均位于电子设备中且二者分离设置。然而,应当理解的是,存储介质110也可以是独立于电子设备之外,且可以由处理器120通过总线接口来访问。可替换地,存储介质110也可以集成到处理器120中,例如,可以是高速缓存和/或通用寄存器。
分发管理优化装置130可以理解为上述电子设备,或电子设备的处理器120,也可以理解为独立于上述电子设备或处理器120之外的在电子设备控制下实现上述分发管理优化方法的软件功能模块。
如图6所示,上述分发管理优化装置130可以包括获取模块131、组合模块132、分发模块133和输出模块134。下面分别对该分发管理优化装置130的各个功能模块的功能进行详细阐述。
获取模块131,用于针对所属同一设备类型的多个设备,获得各所述设备具有的多项设备参数信息。
可以理解,该获取模块131可以用于执行上述步骤S110,关于该获取模块131的详细实现方式可以参照上述对步骤S110有关的内容。
组合模块132,用于将各所述设备的多项设备参数信息进行组合,得到多个运行策略,并将所述多个运行策略分配到所述多个设备。
可以理解,该组合模块132可以用于执行上述步骤S120,关于该组合模块132的详细实现方式可以参照上述对步骤S120有关的内容。
分发模块133,用于将运行模型分别分发至各所述设备,并使各所述设备在分配到的运行策略下运行所述运行模型,所述运行模型包含多个算子。
可以理解,该分发模块133可以用于执行上述步骤S130,关于该分发模块133的详细实现方式可以参照上述对步骤S130有关的内容。
输出模块134,用于获得在不同运行策略下所述运行模型的各所述算子的运行结果,将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,得到所述运行模型包含的各个算子所对应的最优的运行策略。
可以理解,该输出模块134可以用于执行上述步骤S140,关于该输出模块134的详细实现方式可以参照上述对步骤S140有关的内容。
在一种可能的实现方式中,所述设备参数信息包括处理单元类型及精度类型,所述处理单元类型包括多项、所述精度类型包括多项,上述组合模块132可以通过以下方式得到多个运行策略:
将各所述设备的多项处理单元类型和多项精度类型进行组合,得到多个运行策略,其中,各所述运行策略中包含一项处理单元类型和一项精度类型。
在一种可能的实现方式中,上述组合模块132可以通过以下方式进行运行策略分配:
针对各所述设备,获得所述设备的设备ID,将所述设备ID转换为设定位数的整数;
根据转换后的整数和得到的运行策略的个数,确定所述设备所应分配的运行策略。
在一种可能的实现方式中,上述组合模块132可以通过以下方式确定设备所应分配的运行策略:
将转换后的整数和得到的运行策略的个数进行求模运算,得到模值;
根据得到的模值以及预先设定的各所述运行策略的编号,确定所述设备所应分配的运行策略。
在一种可能的实现方式中,所述运行结果包括结果误差和时间差异,上述输出模块134可以通过以下方式获得各算子的运行结果:
针对各所述算子,获得所述算子在对应运行策略下的输出结果以及算子耗时;
将所述输出结果与算子耗时与预先得到的所述算子在标准运行策略下的标准输出结果和标准耗时分别进行比对,得到所述算子在对应运行策略下的结果误差和时间差异。
在一种可能的实现方式中,所述输出结果为对待处理图像处理后得到的图像结果,上述输出模块134可以通过以下方式得到结果误差:
将得到的图像结果与预先得到的所述算子在标准运行策略下的标准图像结果进行相似度比对得到相似度误差,作为所述算子在对应运行策略下的结果误差。
在一种可能的实现方式中,各所述算子的运行结果包括在不同运行策略下的多个运行结果,上述输出模块134可以通过以下方式获得最优的运行策略:
将相同算子在不同运行策略下的多个运行结果导入预先得到的学习模型;
通过对所述多个运行结果进行比对,得到所述算子所对应的最优的运行策略。
在一种可能的实现方式中,所述处理单元类型包括CPU、GPU、NPU、APU中的任意多项,所述精度类型包括定点运算、浮点运算、bf16、量化运算中的任意多项。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
进一步地,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有机器可执行指令,机器可执行指令被执行时实现上述实施例提供的分发管理优化方法。
具体地,该计算机可读存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该计算机可读存储介质上的计算机程序被运行时,能够执行上述分发管理优化方法。关于计算机可读存储介质中的及其可执行指令被运行时,所涉及的过程,可以参照上述方法实施例中的相关说明,这里不再详述。
综上所述,本申请实施例提供一种分发管理优化方法、装置和电子设备,针对所属同一设备类型的多个设备,获得各所述设备具有的多项设备参数信息,并将各设备的多项设备参数信息进行组合得到多个运行策略,再将多个运行策略分配到多个设备。将运行模型分别分发至各个设备,并使各个设备在分配到的运行策略下执行运行模型,获得在不同运行策略下运行模型包含的各算子的运行结果,将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,输出运行模型包含的各个算子所对应的最优的运行策略。如此,可以有效得到运行模型在设备端的何种运行策略下可以达到的最优效果,且通过多个设备进行集中运行,可以大大提高运行的效率。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种分发管理优化方法,其特征在于,所述方法包括:
针对所属同一设备类型的多个设备,获得各所述设备具有的多项设备参数信息;
将各所述设备的多项设备参数信息进行组合,得到多个运行策略,并将所述多个运行策略分配到所述多个设备;
将运行模型分别分发至各所述设备,并使各所述设备在分配到的运行策略下运行所述运行模型,所述运行模型包含多个算子;
获得在不同运行策略下所述运行模型的各所述算子的运行结果,将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,得到所述运行模型包含的各个算子所对应的最优的运行策略;
所述运行结果包括结果误差和时间差异;
所述获得在不同运行策略下所述运行模型的各个算子的运行结果的步骤,包括:
针对各所述算子,获得所述算子在对应运行策略下的输出结果以及算子耗时;
将所述输出结果与算子耗时与预先得到的所述算子在标准运行策略下的标准输出结果和标准耗时分别进行比对,得到所述算子在对应运行策略下的结果误差和时间差异。
2.根据权利要求1所述的分发管理优化方法,其特征在于,所述设备参数信息包括处理单元类型及精度类型,所述处理单元类型包括多项、所述精度类型包括多项;
所述将各所述设备的多项设备参数信息进行组合,得到多个运行策略的步骤,包括:
将各所述设备的多项处理单元类型和多项精度类型进行组合,得到多个运行策略,其中,各所述运行策略中包含一项处理单元类型和一项精度类型。
3.根据权利要求1所述的分发管理优化方法,其特征在于,所述将所述多个运行策略分配到所述多个设备的步骤,包括:
针对各所述设备,获得所述设备的设备ID,将所述设备ID转换为设定位数的整数;
根据转换后的整数和得到的运行策略的个数,确定所述设备所应分配的运行策略。
4.根据权利要求3所述的分发管理优化方法,其特征在于,所述根据转换后的整数和得到的运行策略的个数,确定所述设备所应分配的运行策略的步骤,包括:
将转换后的整数和得到的运行策略的个数进行求模运算,得到模值;
根据得到的模值以及预先设定的各所述运行策略的编号,确定所述设备所应分配的运行策略。
5.根据权利要求1所述的分发管理优化方法,其特征在于,所述输出结果为对待处理图像处理后得到的图像结果;
得到所述算子在对应运行策略下的结果误差的步骤,包括:
将得到的图像结果与预先得到的所述算子在标准运行策略下的标准图像结果进行相似度比对得到相似度误差,作为所述算子在对应运行策略下的结果误差。
6.根据权利要求1所述的分发管理优化方法,其特征在于,各所述算子的运行结果包括在不同运行策略下的多个运行结果;
所述将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,得到所述运行模型包含的各个算子所对应的最优的运行策略的步骤,包括:
将相同算子在不同运行策略下的多个运行结果导入预先得到的学习模型;
通过对所述多个运行结果进行比对,得到所述算子所对应的最优的运行策略。
7.根据权利要求2所述的分发管理优化方法,其特征在于,所述处理单元类型包括CPU、GPU、NPU、APU中的任意多项,所述精度类型包括定点运算、浮点运算、bf16、量化运算中的任意多项。
8.一种分发管理优化装置,其特征在于,所述装置包括:
获取模块,用于针对所属同一设备类型的多个设备,获得各所述设备具有的多项设备参数信息;
组合模块,用于将各所述设备的多项设备参数信息进行组合,得到多个运行策略,并将所述多个运行策略分配到所述多个设备;
分发模块,用于将运行模型分别分发至各所述设备,并使各所述设备在分配到的运行策略下运行所述运行模型,所述运行模型包含多个算子;
输出模块,用于获得在不同运行策略下所述运行模型的各所述算子的运行结果,将相同算子在不同运行策略下的运行结果导入预先得到的学习模型,得到所述运行模型包含的各个算子所对应的最优的运行策略;
所述运行结果包括结果误差和时间差异;
所述输出模块用于:
针对各所述算子,获得所述算子在对应运行策略下的输出结果以及算子耗时;
将所述输出结果与算子耗时与预先得到的所述算子在标准运行策略下的标准输出结果和标准耗时分别进行比对,得到所述算子在对应运行策略下的结果误差和时间差异。
9.一种电子设备,其特征在于,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行权利要求1-7中任意一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110748125.2A CN113342631B (zh) | 2021-07-02 | 2021-07-02 | 分发管理优化方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110748125.2A CN113342631B (zh) | 2021-07-02 | 2021-07-02 | 分发管理优化方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342631A CN113342631A (zh) | 2021-09-03 |
CN113342631B true CN113342631B (zh) | 2022-08-26 |
Family
ID=77482322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110748125.2A Active CN113342631B (zh) | 2021-07-02 | 2021-07-02 | 分发管理优化方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342631B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116897356A (zh) * | 2022-02-08 | 2023-10-17 | 华为技术有限公司 | 算子的调度运行时间比较方法、装置及存储介质 |
CN115225497A (zh) * | 2022-07-13 | 2022-10-21 | 上海壁仞智能科技有限公司 | 优化策略的服务器、客户端、系统、方法、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633742A (zh) * | 2019-09-06 | 2019-12-31 | 苏州浪潮智能科技有限公司 | 特征信息的获取方法和计算机存储介质 |
CN110750342A (zh) * | 2019-05-23 | 2020-02-04 | 北京嘀嘀无限科技发展有限公司 | 调度方法、装置、电子设备及可读存储介质 |
CN111210005A (zh) * | 2019-12-31 | 2020-05-29 | Oppo广东移动通信有限公司 | 设备运行方法、装置、存储介质及电子设备 |
CN111796917A (zh) * | 2019-04-09 | 2020-10-20 | 华为技术有限公司 | 算子运算调度方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10560313B2 (en) * | 2018-06-26 | 2020-02-11 | Sas Institute Inc. | Pipeline system for time-series data forecasting |
CN112001585B (zh) * | 2020-07-14 | 2023-09-22 | 北京百度网讯科技有限公司 | 多智能体决策方法、装置、电子设备及存储介质 |
-
2021
- 2021-07-02 CN CN202110748125.2A patent/CN113342631B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796917A (zh) * | 2019-04-09 | 2020-10-20 | 华为技术有限公司 | 算子运算调度方法和装置 |
CN110750342A (zh) * | 2019-05-23 | 2020-02-04 | 北京嘀嘀无限科技发展有限公司 | 调度方法、装置、电子设备及可读存储介质 |
CN110633742A (zh) * | 2019-09-06 | 2019-12-31 | 苏州浪潮智能科技有限公司 | 特征信息的获取方法和计算机存储介质 |
CN111210005A (zh) * | 2019-12-31 | 2020-05-29 | Oppo广东移动通信有限公司 | 设备运行方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113342631A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10963292B2 (en) | Techniques to manage virtual classes for statistical tests | |
CN113342631B (zh) | 分发管理优化方法、装置和电子设备 | |
CN109189799B (zh) | 业务数据查询方法、装置、计算机设备及存储介质 | |
CN104935951B (zh) | 一种基于分布式的视频转码方法 | |
US10326824B2 (en) | Method and system for iterative pipeline | |
CN113296905A (zh) | 调度方法、装置、电子设备、存储介质及软件产品 | |
CN114816711A (zh) | 批量任务处理方法、装置、计算机设备和存储介质 | |
CN112328325A (zh) | 模型文件的执行方法、装置、终端设备及存储介质 | |
CN116185578A (zh) | 计算任务的调度方法和计算任务的执行方法 | |
CN114817288A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
Wang et al. | Prophet: Fine-grained Load Balancing for Parallel Training of Large-scale MoE Models | |
CN112800091A (zh) | 一种流批一体式计算控制系统及方法 | |
CN110728118A (zh) | 跨数据平台的数据处理方法、装置、设备及存储介质 | |
CN115480745B (zh) | 基于配置文件的代码生成方法及装置 | |
CN112269860B (zh) | 自动应答处理方法、装置、电子设备及可读存储介质 | |
CN115660691B (zh) | 一种设备筛选方法、装置、终端及存储介质 | |
CN114661301B (zh) | 图形处理单元编译方法、装置、编译加速库和存储介质 | |
CN116032928B (zh) | 数据协同计算方法、装置、系统、电子装置和存储介质 | |
CN115361285B (zh) | 实现离在线业务混合部署的方法、装置、设备及介质 | |
US11593178B2 (en) | ML-to-ML orchestration system and method for system wide information handling system (IHS) optimization | |
CN117112206A (zh) | 交易资源隔离方法、装置、计算机设备和存储介质 | |
US10289449B2 (en) | Platform capacity tool for determining whether an application can be executed | |
CN117149654A (zh) | 一种系统迁移测试方法、装置、设备及存储介质 | |
CN116795553A (zh) | 算力资源的调度方法及装置、存储介质及电子装置 | |
CN117376410A (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 |