CN117217257A - 模型时延预测方法、装置和计算机可读存储介质 - Google Patents
模型时延预测方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117217257A CN117217257A CN202310196492.5A CN202310196492A CN117217257A CN 117217257 A CN117217257 A CN 117217257A CN 202310196492 A CN202310196492 A CN 202310196492A CN 117217257 A CN117217257 A CN 117217257A
- Authority
- CN
- China
- Prior art keywords
- model
- time delay
- level
- sample
- information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 71
- 238000012549 training Methods 0.000 claims abstract description 54
- 238000000605 extraction Methods 0.000 claims description 105
- 238000005070 sampling Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 19
- 230000004927 fusion Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010606 normalization Methods 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000007787 long-term memory Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种模型时延预测方法、装置和计算机可读存储介质;通过获取待预测模型的模型层级信息,模型层级信息包括待预测模型中每一模型层级的层级信息;基于模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定待预测模型的层级特征序列;获取训练完成的时延预测模型,时延预测模型为基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到;通过时延预测模型对层级特征序列进行时延预测处理,得到待预测模型的预测运行时延。以此,通过基于样本模型的样本层级特征序列和实际运行时延训练得到的时延预测模型,对待预测模型的层级特征序列进行时延预测,提高了模型时延预测的准确性。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种模型时延预测方法、装置和计算机可读存储介质。
背景技术
随着互联网技术的快速发展,人工智能技术的应用越来越广泛,例如,利用深度学习算法进行目标识别、深度估计等,这些算法的应用需要保证模型的高准确率与低时延。为了设计出高性能的模型,提升用户在使用端侧设备时的体验,需要对模型的运行时延进行预测。在现有的模型时延预测方法中,往往是获取模型每个算子的运算时间进行累加,从而得到模型的运行时延。
在对现有技术的研究和实践过程中发现,现有的通过累加算子的时延来得到模型时延的模型时延预测方法,考虑的时延影响维度过于单一,无法准确的预测出模型的时延,因此,模型时延预测的准确性较低。
发明内容
本申请实施例提供一种模型时延预测方法、装置和计算机可读存储介质,可以提高模型时延预测的准确性。
本申请实施例提供一种模型时延预测方法,包括:
获取待预测模型的模型层级信息,所述模型层级信息包括所述待预测模型中每一模型层级的层级信息;
基于所述模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定所述待预测模型的层级特征序列;
获取训练完成的时延预测模型,所述时延预测模型为基于样本模型的样本层级特征序列以及所述样本模型的实际运行时延训练得到;
通过所述时延预测模型对所述层级特征序列进行时延预测处理,得到所述待预测模型的预测运行时延。
相应的,本申请实施例提供一种模型时延预测装置,包括:
信息获取单元,用于获取待预测模型的模型层级信息,所述模型层级信息包括所述待预测模型中每一模型层级的层级信息;
特征提取单元,用于基于所述模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定所述待预测模型的层级特征序列;
模型获取单元,用于获取训练完成的时延预测模型,所述时延预测模型为基于样本模型的样本层级特征序列以及所述样本模型的实际运行时延训练得到;
时延预测单元,用于通过所述时延预测模型对所述层级特征序列进行时延预测处理,得到所述待预测模型的预测运行时延。
在一实施例中,所述模型层级信息包括每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息,所述特征提取单元,包括:
特征提取子单元,用于分别对每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息进行特征提取,得到所述层级结构信息对应的层级结构特征,以及模型层级在异构系统架构中运行所需硬件的信息对应的运行硬件特征;
特征拼接子单元,用于将所述层级结构特征以及所述运行硬件特征进行拼接处理,得到每一模型层级的层级特征。
在一实施例中,所述层级结构信息包括所述待预测模型中每一模型层级的层级类型信息、卷积核属性信息、通道数信息以及特征图处理尺寸信息中的至少一种信息。
在一实施例中,所述模型层级在异构系统架构中运行所需硬件的信息包括硬件标识信息、硬件属性信息中的至少一种。
在一实施例中,所述时延预测模型包括连接的序列特征提取层和时延预测层,所述序列特征提取层包括多个顺序连接的关联特征提取模块;
所述时延预测单元,包括:
关联特征提取子单元,用于将所述层级特征序列中的层级特征,按照层级特征在层级特征序列中的顺序输入至序列特征提取层中对应的关联特征提取模块进行处理,得到层级关联特征,并将所述层级关联特征输入至所述时延预测层,其中,每一关联特征提取模块被配置为根据当前输入自身的层级特征序列中的层级特征,以及前一关联特征提取模块输出的历史层级关联特征进行特征提取,得到当前层级关联特征,输入至下一关联特征提取模块;
时延预测子单元,用于通过时延预测层对所述层级关联特征进行时延预测处理,得到所述待预测模型的预测运行时延。
在一实施例中,所述模型时延预测装置,还包括:
样本信息获取单元,用于获取样本模型的样本模型层级信息,并对所述样本模型进行运行处理,得到所述样本模型的实际运行时延;
样本特征提取单元,用于基于所述样本模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定所述样本模型的样本层级特征序列;
样本时延预测单元,用于基于所述样本层级特征序列,通过预设时延预测模型预测所述样本模型对应的样本预测运行时延;
模型训练单元,用于基于所述样本预测运行时延与所述实际运行时延之间的差异,对所述预设时延预测模型进行收敛,得到训练完成的时延预测模型。
在一实施例中,所述模型时延预测装置,还包括:
创建单元,用于创建候选模型对应的模型结构搜索空间,所述模型结构搜索空间包括候选模型对应的至少一个模型层级以及每一模型层级对应的多个候选层级结构;
采样单元,用于基于所述候选层级结构,在所述模型结构搜索空间中对所述候选模型的每一模型层级进行层级结构采样,并基于层级结构采样结果得到多个不同模型结构的样本模型。
在一实施例中,所述样本信息获取单元,包括:
模型运行次数获取子单元,用于获取所述样本模型对应的模型运行次数;
时延获取子单元,用于基于所述模型运行次数对所述样本模型进行运行处理,得到所述样本模型的运行时延;
时延计算子单元,用于对所述运行时延进行平均处理,得到所述样本模型的实际运行时延。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种模型时延预测方法中的步骤。
此外,本申请实施例还提供一种计算机设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本申请实施例提供的模型时延预测方法。
本申请实施例还提供一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行本申请实施例提供的模型时延预测方法中的步骤。
本申请实施例通过获取待预测模型的模型层级信息,模型层级信息包括待预测模型中每一模型层级的层级信息;基于模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定待预测模型的层级特征序列;获取训练完成的时延预测模型,时延预测模型为基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到;通过时延预测模型对层级特征序列进行时延预测处理,得到待预测模型的预测运行时延。以此,通过获取待预测模型中每一模型层级的模型层级信息来提取待预测模型的层级特征序列,然后通过基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到的时延预测模型对层级特征序列进行时延预测处理,从而得到包含待预测模型中每一模型层级的运行时延以及层级之间的通信时延的预测运行时延,进而提高了模型时延预测的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种模型时延预测方法实施场景示意图;
图2是本申请实施例提供的一种模型时延预测方法的流程示意图;
图3a是本申请实施例提供的一种模型时延预测方法的特征编码示意图;
图3b是本申请实施例提供的一种模型时延预测方法的时延预测系统示意图;
图4a是本申请实施例提供的一种模型时延预测方法的模型训练流程示意图;
图4b是本申请实施例提供的一种模型时延预测方法的模型结构搜索空间示意图;
图4c是本申请实施例提供的一种模型时延预测方法的模型采样示意图;
图4d是本申请实施例提供的一种模型时延预测方法的具体流程示意图;
图5是本申请实施例提供的一种模型时延预测方法的模型结构示意图;
图6是本申请实施例提供的一种模型时延预测方法的另一流程示意图;
图7是本申请实施例提供的模型时延预测装置的结构示意图;
图8是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种模型时延预测方法、装置和计算机可读存储介质。其中,该模型时延预测装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
请参阅图1,以模型时延预测装置集成在计算机设备中为例,图1为本申请实施例所提供的模型时延预测方法的实施场景示意图,其中,该计算机设备可以为服务器,也可以为终端,该计算机设备可以获取待预测模型的模型层级信息,模型层级信息包括待预测模型中每一模型层级的层级信息;基于模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定待预测模型的层级特征序列;获取训练完成的时延预测模型,时延预测模型为基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到;通过时延预测模型对层级特征序列进行时延预测处理,得到待预测模型的预测运行时延。
需要说明的是,本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶、虚拟现实场景等。图1所示的模型时延预测方法的实施环境场景示意图仅仅是一个示例,本申请实施例描述的模型时延预测方法的实施环境场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着模型时延预测的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
本申请实施例提供的方案涉及人工智能的机器学习等技术,具体通过如下实施例进行说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从模型时延预测装置的角度进行描述,该模型时延预测装置具体可以集成在计算机设备中,该计算机设备可以是服务器,本申请在此不作限制。
请参阅图2,图2是本申请实施例提供的模型时延预测方法的流程示意图。该模型时延预测方法包括:
在步骤101中,获取待预测模型的模型层级信息。
其中,该待预测模型可以为待进行预测运行时延的模型,例如,该模型可以为人工智能领域中的模型,也可以为虚拟现实领域中的模型,比如,可以为增强现实(AugmentedReality,简称AR)、虚拟现实技术(Virtual Reality,简称VR)、混合现实(Mixed Reality,简称MR)等扩展现实(Extended Reality,简称XR)业务场景中的模型。该模型层级信息可以包括待预测模型中每一模型层级的层级信息,该待预测模型可以由顺序连接的至少一个模型层级组成,该层级信息可以为描述待预测模型的模型层级的性质、结构以及与其他模型层级的关系的信息。
可选的,该模型层级信息可以包括每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息,该层级结构信息可以为描述待预测模型中模型层级的层级结构的信息。可选的,该层级结构信息可以包括待预测模型中每一模型层级的层级类型信息、卷积核属性信息、通道数信息以及特征图处理尺寸信息等信息中的至少一种信息,还可以包括每一模型层级的计算量等信息,其中,该层级类型信息可以为描述模型层级的层级类型的信息,例如,该层级类型可以包括全连接层、归一化层、线性整流层、注意力网络等层级类型,还可以包括融合卷积层、归一化层和线性整流层的卷积融合层(conv+bn+relu,简称Conv)的层级类型、倒置瓶颈层(Inverted bottleneck layer,简称IBN)的层级类型以及融合倒置瓶颈层(Fused inverted bottleneck layer,简称FIBN)的层级类型等。该卷积核属性信息可以为描述模型层级中卷积核的属性的信息,例如,可以包括卷积核的类型、大小以及数量等信息。该通道数信息可以为包括模型层级中的输入通道数以及输出通道数等信息。该特征图处理尺寸信息可以包括模型层级中输入特征图尺寸以及输出特征图尺寸等信息。
该模型层级在异构系统架构中运行所需硬件的信息可以为模型层级在异构系统架构中所运行的硬件设备的信息,该硬件设备可以包括图形处理器(GPU)、中央处理器(CPU)以及数字信号处理器(DSP)等设备,可选的,该模型层级在异构系统架构(Heterogeneous System Architecture,简称HSA)中运行所需硬件的信息可以包括硬件标识信息、硬件属性信息中的至少一种。该硬件标识信息可以为标识硬件设备的信息,例如,可以为硬件设备的名称或者核心(core)的名称,比如,可以为图形处理器、GPU、中央处理器、CPU、数字信号处理器以及DSP等信息。该硬件属性信息可以为描述硬件设备的性能的信息,例如,可以包括版本号、显存容量、频率、浮点计算数、显存位宽等参数。
在步骤102中,基于模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定待预测模型的层级特征序列。
其中,该层级特征序列为表征待预测模型中模型层级以及模型层级关系的信息,可以由多个层级特征基于待预测模型中模型层级的连接关系组成,该层级特征可以为表征每一模型层级的信息。
可选的,在该模型层级信息中包括每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息时,基于模型层级信息对每一模型层级进行层级特征提取的方式可以有多种,例如,可以分别对每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息进行特征提取,得到层级结构信息对应的层级结构特征,以及模型层级在异构系统架构中运行所需硬件的信息对应的运行硬件特征,将层级结构特征以及运行硬件特征进行拼接处理,得到每一模型层级的层级特征。
其中,该层级结构特征可以为表征模型层级的层级结构信息的信息,该运行硬件特征可以表征模型层级在异构系统架构中运行所需硬件的信息。
其中,分别对每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息进行特征提取的方式可以有多种,例如,可以预先为模型层级的层级结构信息以及模型层级在异构系统架构中运行所需硬件的信息设定对应的特征标识,例如,卷积融合层的层级类型对应的特征标识可以设定为1,倒置瓶颈层的层级类型对应的特征标识可以设定为2,融合倒置瓶颈层的层级类型对应的特征标识可以设定为3等,此外,模型层级所运行的硬件设备为GPU时,其对应的特征标识可以设定为1,模型层级所运行的硬件设备为DSP时,其对应的特征标识可以设定为2等。从而可以根据预设的特征编码规则将模型层级的层级结构信息以及模型层级在异构系统架构中运行所需硬件的信息进行特征编码转换为对应的特征标识,以得到层级结构信息对应的层级结构特征,以及模型层级在异构系统架构中运行所需硬件的信息对应的运行硬件特征。譬如,以该模型层级的层级结构信息中含层级类型信息、卷积核大小、输入通道数、输出通道数、输入特征图的尺寸以及输出特征图的尺寸等信息为例,假设待预测模型中第i层的模型层级中层级类型为conv+bn+relu融合层,卷积核大小为3*3,输入通道数为32,输出通道数为128,输入特征图尺寸为128*128,输出特征图尺寸为64*64,同时该模型层级在DSP上运行,以此通过本申请实施例提供的特征提取方法,可以根据该模型层级的层级结构信息以及模型层级在异构系统架构中运行所需硬件的信息中对应的特征标识进行特征编码处理,得到该模型层级的层级特征:
Xi=[0,3,32,128,128,64,2]
其中,层级特征为将层级结构特征以及运行硬件特征进行拼接处理得到的结果,层级特征Xi序列中的第一个元素0可以表示conv+bn+relu融合层的层级类型,即融合卷积层、归一化层和线性整流层的融合层对应的特征标识,第二个元素3可以为该模型层级的卷积核大小对应的特征标识,表示该模型层级的卷积核大小为3*3,第三个元素32可以为输入通道数对应的特征标识,可以表示该模型层级的输入通道数为32,第四个元素128可以为输出通道数对应的特征标识,可以表示该模型层级的输出通道数为128,第五个元素128可以为输入特征图尺寸对应的特征标识,可以表示输入特征图尺寸为128*128,第六个元素64可以为输出特征图尺寸对应的特征标识,可以表示输出特征图尺寸为64*64,第七个元素2可以为模型层级在异构系统架构中运行所需硬件的信息中对应的特征标识,可以标识该模型层级运行在DSP中等。
在一实施例中,请参考图3a,图3a是本申请实施例提供的一种模型时延预测方法的特征编码示意图,其中,该待预测模型中包含运行在DSP中的模型层级、运行在CPU中的模型层级以及运行在GPU的模型层级,其中,运行在DSP中的模型层级的模型结构中,层级类型为卷积融合层(Conv),卷积核大小为3*3,输入通道数为32,输出通道数为128,输入特征图尺寸为128*128,输出特征图尺寸为64*64,运行在CPU中的模型层级的模型结构中,层级类型为倒置瓶颈层(IBN),卷积核大小为5*5,输入通道数为128,输出通道数为128,输入特征图尺寸为128*128,输出特征图尺寸为64*64,运行在GPU中的模型层级的模型结构中,层级类型为融合倒置瓶颈层(FIBN),卷积核大小为3*3,输入通道数为128,输出通道数为128,输入特征图尺寸为64*64,输出特征图尺寸为64*64,从而可以根据预设的特征编码规则以及这三个模型层级的模型层级信息对待预测模型中模型层级进行层级特征提取处理,得到运行在DSP中的模型层级对应的层级特征序列为[0,3,32,128,128,64,2],运行在CPU中的模型层级对应的层级特征序列为[1,5,128,128,64,64,0],运行在GPU中的模型层级对应的层级特征序列为[2,3,128,128,64,64,1]。
在步骤103中,获取训练完成的时延预测模型。
其中,该时延预测模型可以为基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到,该训练完成的时延预测模型可以用于对待预测模型进行时延预测,从而可以预测待预测模型的运行时延,例如,请参考图3b,图3b是本申请实施例提供的一种模型时延预测方法的时延预测系统示意图,可以获取到表征待预测模型的模型层级结构的层级特征序列,从而可以通过训练好的时延预测模型中学习到的待预测模型的模型结构与运行时延之间的映射关系,对表征待预测模型的模型层级结构的层级特征序列进行时延预测处理,从而可以预测到待预测模型的运行时延,相对于现有技术,本申请实施例预测到的运行时延考虑了待预测模型中模型层级之间的时延以及模型层级之间的通信时延,从而可以更加准确的获取到待预测模型的运行时延,提升时延预测的准确性。该样本模型可以为作为时延预测模型的训练样本的模型,该样本层级特征序列可以为样本模型对应的层级特征序列,该实际运行时延可以为样本模型在实际运行过程中的真实时延,可以包含待预测模型中模型层级之间的时延以及模型层级之间的通信时延,从而使得通过训练完成的时延预测模型预测得到的待预测模型的运行时延可以更加准确,提升运行时延的预测准确性。
可选的,在获取训练完成的时延预测模型之前,可以对预设的时延预测模型进行模型训练,以得到训练完成的时延预测模型。其中,对时延预测模型进行模型训练的方法可以有多种,例如,可以获取样本模型的样本模型层级信息,并对样本模型进行运行处理,得到样本模型的实际运行时延,基于样本模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定样本模型的样本层级特征序列,基于样本层级特征序列,通过预设时延预测模型预测样本模型对应的样本预测运行时延,基于样本预测运行时延与实际运行时延之间的差异,对预设时延预测模型进行收敛,得到训练完成的时延预测模型。
其中,该样本模型层级信息可以为样本模型中每一模型层级的模型层级信息,该预设时延预测模型可以为预先设定初始参数的用于时延预测的模型,该样本预测运行时延可以为预设时延预测模型对样本模型的运行时延进行预测得到的结果。
在一实施例中,请参考图4a,图4a是本申请实施例提供的一种模型时延预测方法的模型训练流程示意图,对待预测模型的模型训练过程可以分为训练数据准备阶段以及时延预测模型训练阶段,在训练数据准备阶段,可以设计模型结构搜索空间,并在模型结构搜索空间中进行模型采样得到多个样本模型,并获取每一样本模型对应的实际运行时延,然后可以对样本模型的样本模型层级信息进行特征提取,并将特征提取结果输入到预设的时延预测模型中进行时延预测处理,得到样本模型对应的样本预测运行时延,然后可以根据样本预测运行时延以及实际运行时延之间的差异确定预设时延预测模型的损失,从而可以根据损失对预设时延预测模型进行收敛,得到训练完成的时延预测模型。
其中,对样本模型进行运行处理,得到样本模型的实际运行时延的方式可以有多种,例如,可以获取样本模型对应的模型运行次数,基于模型运行次数对样本模型进行运行处理,得到样本模型的运行时延,对运行时延进行平均处理,得到样本模型的实际运行时延。
其中,该模型运行次数可以为对样本模型进行运行的次数,该模型运行次数的具体数值可以根据实际需求进行设定,例如,在样本模型数量较少时,可以选择数值较大的模型运行次数,例如10次、20次等,在样本模型数量较多时,可以选择数值较小的模型运行次数,例如3次、5次等,本申请在此不做限定。该运行时延可以为对样本模型进行运行某一目标所耗时延,也可以称为模型推理时延,该目标可以指运行某一算法、逻辑或者任务等。
其中,对运行时延进行平均处理,得到样本模型的实际运行时延的方式可以有多种,例如,可以根据运行时延的大小在多个运行时延中查找到离群点,并将该离群点对应的运行时延进行去除,并将去除掉离群点后剩余的运行时延进行累加处理,并对累加处理结果进行平均处理,得到样本模型的实际运行时延。
可选的,在获取样本模型的样本模型层级信息之前,可以在模型结构搜索空间中进行样本模型的采样,从而采样得到多个作为时延预测模型的训练样本的样本模型。例如,可以创建候选模型对应的模型结构搜索空间,基于候选层级结构,在模型结构搜索空间中对候选模型的每一模型层级进行层级结构采样,并基于层级结构采样结果得到多个不同模型结构的样本模型。
其中,该模型结构搜索空间可以为用于搜索模型结构的虚拟空间,可以采样模型结构搜索算法(Neural Architecture Search,NAS)创建该模型结构搜索空间。该模型结构搜索空间中可以包括候选模型对应的至少一个模型层级以及每一模型层级对应的多个候选层级结构,可以在该模型结构搜索空间中对模型层级以及模型层级的层级结构进行筛选,从而得到不同模型层级数量以及不同模型层级结构的模型。该候选层级结构可以为每一模型层级对应的可以选择的层级结构,该候选模块可以为在模型结构搜索空间中采样得到的模型,该层级结构采样结果可以为在模型结构搜索空间中进行模型结构采样的结果。
其中,基于候选层级结构,在模型结构搜索空间中对候选模型的每一模型层级进行层级结构采样的方式可以有多种,例如,请参考图4b,图4b是本申请实施例提供的一种模型时延预测方法的模型结构搜索空间示意图,可以在该模型结构搜索空间中,创建该待预测模型对应的n个模型层级,以及每一模型层级对应的m个候选层级结构。在模型结构搜索空间中对候选模型的每一模型层级进行层级结构采样时,可以参考图4c,图4c是本申请实施例提供的一种模型时延预测方法的模型采样示意图,其中,每一模型层级中处于阴影部分的候选层级结构可以为被采样选中的层级结构,以此,可以根据每一次对个模型层级进行层级结构采样的结果,得到该待预测模型对应的样本模型。以此,通过在模型结构搜索空间中进行多次模型的层级结构采样,可以得到多个样本模型,例如,在模型结构搜索空间中对于n层模型层级中的每一模型层级,在m个候选层级结构中随机选择一种层级结构,可以在该模型结构搜索空间中采样出mn个样本模型,可选的,可以在其中随机采样出N个模型作为待预测模型对应的样本模型。
需要说明的是,样本模型的模型层级数量和层级结构可以根据实际业务需求进行设计,本申请在此不做限定。
可选的,请参考图4d,图4d是本申请实施例提供的一种模型时延预测方法的具体流程示意图,以该待预测模型为手势识别的检测模型为例,可以在该模型结构搜索空间中,创建该待预测模型对应的n个模型层级,以及每一模型层级对应的m个候选层级结构,同时可以为该待预测模型设置对应的边界框(bounding box)来描述目标位置,以及类别模块(class)来确定手势识别的检测结果,从而可以在该模型结构搜索空间中进行层级结构采样,得到样本模型,从而可以将手势图像输入到模型采样得到的样本模型中,通过每一模型层级的数据处理,并通过边界框检测出手势图像中手部的位置,以及该手势图像的手势类别。同时,可以记录样本模型在检测手势图像的手势类别的时延,得到样本模型的实际运行时延。
在XR业务场景中,往往需要使用较多的深度学习算法,比如手势识别、深度估计等算法,这些算法的高效率实现需要同时保证模型的高准确率以及低时延,以提升用户在使用端侧设备时的体验。因此,为了设计出高性能的模型,提升用户在使用端侧设备时的体验,需要对扩展现实业务中待预测模型的运行时延进行预测。为此,本申请实施例提供的模型时延预测方法,通过基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到的时延预测模型对待预测模型的运行时延进行预测,可以将模型中算子之间的调度时延考虑进去,从而预测到模型更加准确的运行时延,同时,通过将待预测模型中每一模型层级所运行不同的硬件设备类型作为每一模型层级的层级特征中的一部分,可以有效的让时延预测模型学习到待预测模型的模型层级在异构系统架构中所运行的硬件设备的核间通信所耗时间,进一步提升XR业务场景中模型时延预测的准确性,以此可以构建时延较低的高性能模型,从而提升XR业务的实现效果,进而提升用户体验。
可选的,基于样本预测运行时延与实际运行时延之间的差异,对预设时延预测模型进行收敛的方式可以有多种,例如,可以采用损失函数来基于样本预测运行时延与实际运行时延之间的差异计算预设时延预测模型的损失,从而根据该损失对预设时延预测模型进行训练,得到训练完成的时延预测模型。其中,该损失函数可以采用平滑平均绝对误差(Huber)损失函数,可以有效降低对训练过程中离群点的敏感性,提升模型训练的准确性。
在步骤104中,通过时延预测模型对层级特征序列进行时延预测处理,得到待预测模型的预测运行时延。
其中,该预测运行时延可以为通过时延预测模型预测得到的待预测模型的运行时延。
其中,通过时延预测模型对层级特征序列进行时延预测处理的方式可以有多种,例如,请参考图5,图5是本申请实施例提供的一种模型时延预测方法的模型结构示意图,该时延预测模型可以包括连接的序列特征提取层和时延预测层,该序列特征提取层可以包括多个顺序连接的关联特征提取模块,以此,可以将层级特征序列中的层级特征,按照层级特征在层级特征序列中的顺序输入至序列特征提取层中对应的关联特征提取模块进行处理,得到层级关联特征,并将层级关联特征输入至时延预测层,其中,每一关联特征提取模块被配置为根据当前输入自身的层级特征序列中的层级特征,以及前一关联特征提取模块输出的历史层级关联特征进行特征提取,得到当前层级关联特征,输入至下一关联特征提取模块,通过时延预测层对层级关联特征进行时延预测处理,得到待预测模型的预测运行时延。
其中,该序列特征提取层可以为时延预测模型中对待预测模型的层级特征序列进行特征提取的层级,该时延预测层可以为时延预测模型中对序列特征提取层输出的特征进行时延预测的层级,该时延预测层可以由全连接层组成。该关联特征提取模块可以为序列特征提取层中对层级特征序列中每一层级特征进行特征提取的模块,可以将层级特征序列中每一层级特征输入到对应的关联特征提取模块中进行特征提取,譬如,请继续参考图5,可以将层级特征序列中的层级特征x1输入到关联特征提取模块1,将层级特征序列中的层级特征x2输入到关联特征提取模块2,将层级特征序列中的层级特征x3输入到关联特征提取模块3,直至将层级特征序列中的层级特征n输入到关联特征提取模块n中。该层级关联特征可以为关联特征提取模块在层级特征序列中提取到信息,可以用于表征待预测模型中每一模型层级的运行时延以及模型层级之间的通信时延等与待预测模型的运行时延相关的信息,该历史层级关联特征可以为与当前的关联特征提取模块连接的上一个关联特征提取模块提取到并输出到当前关联特征提取模块的特征信息,该当前层级关联特征可以为当前关联特征提取模块输出的层级关联特征。
可选的,该序列特征提取层可以为循环神经网络(Recurrent Neural Network,简称RNN)的网络结构的层级,例如,可以为长短期记忆网络(Long Short-Term Memory,简称LSTM)的网络结构,该关联特征提取模块可以为长短期记忆网络中参数共享的长短期记忆网络模块,可以将层级特征序列中每一层级特征按照顺序输入序列特征提取层中对应的长短期记忆网络模块进行特征提取。
以此,本申请实施例提供的模型时延预测方法,通过基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到的时延预测模型对待预测模型的运行时延进行预测,可以将模型中算子之间的调度时延考虑进去,从而预测到模型更加准确的运行时延,同时,通过将待预测模型中每一模型层级所运行不同的硬件设备类型作为每一模型层级的层级特征中的一部分,可以有效的让时延预测模型学习到待预测模型的模型层级在异构系统架构中所运行的硬件设备的核间通信所耗时间,进一步提升模型时延预测的准确性。此外,通过采用循环神经网络算法对待预测模型对应的层级特征序列进行特征提取,可以有效的适应具有不同模型层级数量的待预测模型,提升模型时延预测的普适性,同时,可以使得时延预测模型进一步学习到模型结构与模型运行时延之间的关系,进一步提升模型时延预测的准确性。
由以上可知,本申请实施例通过获取待预测模型的模型层级信息,模型层级信息包括待预测模型中每一模型层级的层级信息;基于模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定待预测模型的层级特征序列;获取训练完成的时延预测模型,时延预测模型为基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到;通过时延预测模型对层级特征序列进行时延预测处理,得到待预测模型的预测运行时延。以此,通过获取待预测模型中每一模型层级的模型层级信息来提取待预测模型的层级特征序列,然后通过基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到的时延预测模型对层级特征序列进行时延预测处理,从而得到包含待预测模型中每一模型层级的运行时延以及层级之间的通信时延的预测运行时延,进而提高了模型时延预测的准确性。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该模型时延预测装置具体集成在计算机设备为例进行说明。其中,该模型时延预测方法以服务器为执行主体,以该模型层级信息中包括每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息为例进行具体的描述。
为了更好的描述本申请实施例,请参阅图6,图6为本申请实施例提供的模型时延预测方法的另一流程示意图。具体流程如下:
在步骤201中,服务器创建候选模型对应的模型结构搜索空间,基于候选层级结构,在模型结构搜索空间中对候选模型的每一模型层级进行层级结构采样,并基于层级结构采样结果得到多个不同模型结构的样本模型。
其中,服务器创建候选模型对应的模型结构搜索空间的方式可以有多种,例如,可以采样模型结构搜索算法(NAS)创建该模型结构搜索空间。
服务器在创建候选模型对应的模型结构搜索空间之后,便可以基于候选层级结构,在模型结构搜索空间中对候选模型的每一模型层级进行层级结构采样。其中,服务器基于候选层级结构,在模型结构搜索空间中对候选模型的每一模型层级进行层级结构采样的方式可以有多种,例如,请参考图4b,服务器可以在该模型结构搜索空间中,创建该待预测模型对应的n个模型层级,以及每一模型层级对应的m个候选层级结构。在模型结构搜索空间中对候选模型的每一模型层级进行层级结构采样时,可以参考图4c,其中,每一模型层级中处于阴影部分的候选层级结构可以为被采样选中的层级结构,以此,可以根据每一次对个模型层级进行层级结构采样的结果,得到该待预测模型对应的样本模型。以此,通过在模型结构搜索空间中进行多次模型的层级结构采样,可以得到多个样本模型,例如,在模型结构搜索空间中对于n层模型层级中的每一模型层级,在m个候选层级结构中随机选择一种层级结构,可以在该模型结构搜索空间中采样出mn个样本模型,可选的,服务器可以在其中随机采样出N个模型作为待预测模型对应的样本模型。
需要说明的是,样本模型的模型层级数量和层级结构可以根据实际业务需求进行设计,本申请在此不做限定。
在步骤202中,服务器获取样本模型对应的模型运行次数,基于模型运行次数对样本模型进行运行处理,得到样本模型的运行时延,对运行时延进行平均处理,得到样本模型的实际运行时延。
其中,该模型运行次数可以为对样本模型进行运行的次数,该模型运行次数的具体数值可以根据实际需求进行设定,例如,在样本模型数量较少时,可以选择数值较大的模型运行次数,例如10次、20次等,在样本模型数量较多时,可以选择数值较小的模型运行次数,例如3次、5次等,本申请在此不做限定。该运行时延可以为对样本模型进行运行某一目标所耗时延,也可以称为模型推理时延,该目标可以指运行某一算法、逻辑或者任务等。
可选的,服务器对运行时延进行平均处理,得到样本模型的实际运行时延的方式可以有多种,例如,服务器可以根据运行时延的大小在多个运行时延中查找到离群点,并将该离群点对应的运行时延进行去除,并将去除掉离群点后剩余的运行时延进行累加处理,并对累加处理结果进行平均处理,得到样本模型的实际运行时延。
在步骤203中,服务器获取样本模型的样本模型层级信息,基于样本模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定样本模型的样本层级特征序列。
可选的,该样本模型层级信息中可以包括每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息时,此时,服务器基于模型层级信息对每一模型层级进行层级特征提取的方式可以有多种,例如,服务器可以分别对每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息进行特征提取,得到样本层级结构信息对应的样本层级结构特征,以及模型层级在异构系统架构中运行所需硬件的信息对应的样本运行硬件特征,将样本层级结构特征以及样本运行硬件特征进行拼接处理,得到每一模型层级的样本层级特征。
其中,该样本层级结构特征可以为表征样本模型中模型层级的层级结构信息的信息,该样本运行硬件特征可以表征样本模型中模型层级在异构系统架构中运行所需硬件的信息。
在步骤204中,服务器基于样本层级特征序列,通过预设时延预测模型预测样本模型对应的样本预测运行时延,基于样本预测运行时延与实际运行时延之间的差异,对预设时延预测模型进行收敛,得到训练完成的时延预测模型。
可选的,服务器基于样本预测运行时延与实际运行时延之间的差异,对预设时延预测模型进行收敛的方式可以有多种,例如,服务器可以采用损失函数来基于样本预测运行时延与实际运行时延之间的差异计算预设时延预测模型的损失,从而根据该损失对预设时延预测模型进行训练,得到训练完成的时延预测模型。其中,该损失函数可以采用平滑平均绝对误差(Huber)损失函数,可以有效降低对训练过程中离群点的敏感性,提升模型训练的准确性。
在步骤205中,服务器获取待预测模型中每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息,分别对每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息进行特征提取,得到层级结构信息对应的层级结构特征,以及模型层级在异构系统架构中运行所需硬件的信息对应的运行硬件特征。
可选的,该层级结构信息可以包括待预测模型中每一模型层级的层级类型信息、卷积核属性信息、通道数信息以及特征图处理尺寸信息等信息中的至少一种信息,还可以包括每一模型层级的计算量等信息,其中,该层级类型可以包括全连接层、归一化层、线性整流层、注意力网络等层级类型,还可以包括卷积融合层(conv+bn+relu)的层级类型、倒置瓶颈层(Inverted bottleneck layer)的层级类型以及融合倒置瓶颈层(Fused invertedbottleneck layer)的层级类型等。该卷积核属性信息可以包括卷积核的类型、大小以及数量等信息。该通道数信息可以为包括模型层级中的输入通道数以及输出通道数等信息。该特征图处理尺寸信息可以包括模型层级中输入特征图尺寸以及输出特征图尺寸等信息。该模型层级在异构系统架构中运行所需硬件的信息可以为模型层级在异构系统架构中所运行的硬件设备的信息,该硬件设备可以包括图形处理器(GPU)、中央处理器(CPU)以及数字信号处理器(DSP)等设备,可选的,该模型层级在异构系统架构(HSA)中运行所需硬件的信息可以包括硬件标识信息、硬件属性信息中的至少一种。该硬件标识信息可以为标识硬件设备的信息,例如,可以为硬件设备的名称或者核心的名称,比如,可以为图形处理器、GPU、中央处理器、CPU、数字信号处理器以及DSP等信息。该硬件属性信息可以为描述硬件设备的性能的信息,例如,可以包括版本号、显存容量、频率、浮点计算数、显存位宽等参数。
其中,服务器分别对每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息进行特征提取的方式可以有多种,例如,服务器可以预先为模型层级的层级结构信息以及模型层级在异构系统架构中运行所需硬件的信息设定对应的特征标识,例如,卷积融合层的层级类型对应的特征标识可以设定为1,倒置瓶颈层的层级类型对应的特征标识可以设定为2,融合倒置瓶颈层的层级类型对应的特征标识可以设定为3等,此外,模型层级所运行的硬件设备为GPU时,其对应的特征标识可以设定为1,模型层级所运行的硬件设备为DSP时,其对应的特征标识可以设定为2等。从而可以根据预设的特征编码规则将模型层级的层级结构信息以及模型层级在异构系统架构中运行所需硬件的信息进行特征编码转换为对应的特征标识,以得到层级结构信息对应的层级结构特征,以及模型层级在异构系统架构中运行所需硬件的信息对应的运行硬件特征。譬如,以该模型层级的层级结构信息中含层级类型信息、卷积核大小、输入通道数、输出通道数、输入特征图的尺寸以及输出特征图的尺寸等信息为例,假设待预测模型中第i层的模型层级中层级类型为conv+bn+relu融合层,卷积核大小为3*3,输入通道数为32,输出通道数为128,输入特征图尺寸为128*128,输出特征图尺寸为64*64,同时该模型层级在DSP上运行,以此通过本申请实施例提供的特征提取方法,可以根据该模型层级的层级结构信息以及模型层级在异构系统架构中运行所需硬件的信息中对应的特征标识进行特征编码处理,得到该模型层级的层级特征:
Xi=[0,3,32,128,128,64,2]
其中,层级特征为将层级结构特征以及运行硬件特征进行拼接处理得到的结果,层级特征Xi序列中的第一个元素0可以表示conv+bn+relu融合层的层级类型,即融合卷积层、归一化层和线性整流层的融合层对应的特征标识,第二个元素3可以为该模型层级的卷积核大小对应的特征标识,表示该模型层级的卷积核大小为3*3,第三个元素32可以为输入通道数对应的特征标识,可以表示该模型层级的输入通道数为32,第四个元素128可以为输出通道数对应的特征标识,可以表示该模型层级的输出通道数为128,第五个元素128可以为输入特征图尺寸对应的特征标识,可以表示输入特征图尺寸为128*128,第六个元素64可以为输出特征图尺寸对应的特征标识,可以表示输出特征图尺寸为64*64,第七个元素2可以为模型层级在异构系统架构中运行所需硬件的信息中对应的特征标识,可以标识该模型层级运行在DSP中等。
在步骤206中,服务器将层级结构特征以及运行硬件特征进行拼接处理,得到每一模型层级的层级特征,并基于每一模型层级提取得到的层级特征确定待预测模型的层级特征序列,获取训练完成的时延预测模型。
其中,该时延预测模型可以为基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到,通过训练好的时延预测模型中学习到的待预测模型的模型结构与运行时延之间的映射关系,对表征待预测模型的模型层级结构的层级特征序列进行时延预测处理,从而可以预测到待预测模型的运行时延,相对于现有技术,本申请实施例预测到的运行时延考虑了待预测模型中模型层级之间的时延以及模型层级之间的通信时延,从而可以更加准确的获取到待预测模型的运行时延,提升时延预测的准确性。
可选的,服务器将层级结构特征以及运行硬件特征进行拼接处理的方式可以有多种,例如,假设待预测模型的某一模型层级的层级结构特征可以表示为[0,3,32,128,128,64],其运行硬件特征可以表示为[2],则服务器可以将层级结构特征以及运行硬件特征进行拼接处理,得到该模型层级的层级特征[0,3,32,128,128,64,2]。
在步骤207中,服务器将层级特征序列中的层级特征,按照层级特征在层级特征序列中的顺序输入至序列特征提取层中对应的关联特征提取模块进行处理,得到层级关联特征,并将层级关联特征输入至时延预测层,通过时延预测层对层级关联特征进行时延预测处理,得到待预测模型的预测运行时延。
其中,该时延预测模型可以包括连接的序列特征提取层和时延预测层,该序列特征提取层可以包括多个顺序连接的关联特征提取模块,每一关联特征提取模块被配置为根据当前输入自身的层级特征序列中的层级特征,以及前一关联特征提取模块输出的历史层级关联特征进行特征提取,得到当前层级关联特征,输入至下一关联特征提取模块。该时延预测层可以由全连接层组成。该关联特征提取模块可以为序列特征提取层中对层级特征序列中每一层级特征进行特征提取的模块,可以将层级特征序列中每一层级特征输入到对应的关联特征提取模块中进行特征提取,譬如,请继续参考图5,可以将层级特征序列中的层级特征x1输入到关联特征提取模块1,将层级特征序列中的层级特征x2输入到关联特征提取模块2,将层级特征序列中的层级特征x3输入到关联特征提取模块3,直至将层级特征序列中的层级特征n输入到关联特征提取模块n中。
可选的,该序列特征提取层可以为循环神经网络(RNN)的网络结构的层级,例如,可以为长短期记忆网络(LSTM)的网络结构,该关联特征提取模块可以为长短期记忆网络中参数共享的长短期记忆网络模块,可以将层级特征序列中每一层级特征按照顺序输入序列特征提取层中对应的长短期记忆网络模块进行特征提取。
由以上可知,本申请实施例通过服务器创建候选模型对应的模型结构搜索空间,基于候选层级结构,在模型结构搜索空间中对候选模型的每一模型层级进行层级结构采样,并基于层级结构采样结果得到多个不同模型结构的样本模型;服务器获取样本模型对应的模型运行次数,基于模型运行次数对样本模型进行运行处理,得到样本模型的运行时延,对运行时延进行平均处理,得到样本模型的实际运行时延;服务器获取样本模型的样本模型层级信息,基于样本模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定样本模型的样本层级特征序列;服务器基于样本层级特征序列,通过预设时延预测模型预测样本模型对应的样本预测运行时延,基于样本预测运行时延与实际运行时延之间的差异,对预设时延预测模型进行收敛,得到训练完成的时延预测模型;服务器获取待预测模型中每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息,分别对每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息进行特征提取,得到层级结构信息对应的层级结构特征,以及模型层级在异构系统架构中运行所需硬件的信息对应的运行硬件特征;服务器将层级结构特征以及运行硬件特征进行拼接处理,得到每一模型层级的层级特征,并基于每一模型层级提取得到的层级特征确定待预测模型的层级特征序列,获取训练完成的时延预测模型;服务器将层级特征序列中的层级特征,按照层级特征在层级特征序列中的顺序输入至序列特征提取层中对应的关联特征提取模块进行处理,得到层级关联特征,并将层级关联特征输入至时延预测层,通过时延预测层对层级关联特征进行时延预测处理,得到待预测模型的预测运行时延。以此,通过基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到的时延预测模型对待预测模型的运行时延进行预测,可以将模型中算子之间的调度时延考虑进去,从而预测到模型更加准确的运行时延,同时,通过将待预测模型中每一模型层级所运行不同的硬件设备类型作为每一模型层级的层级特征中的一部分,可以有效的让时延预测模型学习到待预测模型的模型层级在异构系统架构中所运行的硬件设备的核间通信所耗时间,进一步提升模型时延预测的准确性。此外,通过采用时延预测模型对待预测模型对应的层级特征序列进行特征提取,可以有效的适应具有不同模型层级数量的待预测模型,提升模型时延预测的普适性,同时,可以使得时延预测模型进一步学习到模型结构与模型运行时延之间的关系,进一步提升模型时延预测的准确性。
为了更好地实施以上方法,本发明实施例还提供一种模型时延预测装置,该模型时延预测装置可以集成在计算机设备中,该计算机设备可以为服务器。
例如,如图7所示,为本申请实施例提供的模型时延预测装置的结构示意图,该模型时延预测装置可以包括信息获取单元301、特征提取单元302、模型获取单元303和时延预测单元304,如下:
信息获取单元301,用于信息获取单元,用于获取待预测模型的模型层级信息,该模型层级信息包括该待预测模型中每一模型层级的层级信息;
特征提取单元302,用于基于该模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定该待预测模型的层级特征序列;
模型获取单元303,用于获取训练完成的时延预测模型,该时延预测模型为基于样本模型的样本层级特征序列以及该样本模型的实际运行时延训练得到;
时延预测单元304,用于通过该时延预测模型对该层级特征序列进行时延预测处理,得到该待预测模型的预测运行时延。
在一实施例中,该模型层级信息包括每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息,该特征提取单元302,包括:
特征提取子单元,用于分别对每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息进行特征提取,得到该层级结构信息对应的层级结构特征,以及模型层级在异构系统架构中运行所需硬件的信息对应的运行硬件特征;
特征拼接子单元,用于将该层级结构特征以及该运行硬件特征进行拼接处理,得到每一模型层级的层级特征。
在一实施例中,该层级结构信息包括该待预测模型中每一模型层级的层级类型信息、卷积核属性信息、通道数信息以及特征图处理尺寸信息中的至少一种信息。
在一实施例中,该模型层级在异构系统架构中运行所需硬件的信息包括硬件标识信息、硬件属性信息中的至少一种。
在一实施例中,该时延预测模型包括连接的序列特征提取层和时延预测层,该序列特征提取层包括多个顺序连接的关联特征提取模块;
该时延预测单元304,包括:
关联特征提取子单元,用于将该层级特征序列中的层级特征,按照层级特征在层级特征序列中的顺序输入至序列特征提取层中对应的关联特征提取模块进行处理,得到层级关联特征,并将该层级关联特征输入至该时延预测层,其中,每一关联特征提取模块被配置为根据当前输入自身的层级特征序列中的层级特征,以及前一关联特征提取模块输出的历史层级关联特征进行特征提取,得到当前层级关联特征,输入至下一关联特征提取模块;
时延预测子单元,用于通过时延预测层对该层级关联特征进行时延预测处理,得到该待预测模型的预测运行时延。
在一实施例中,该模型时延预测装置,还包括:
样本信息获取单元,用于获取样本模型的样本模型层级信息,并对该样本模型进行运行处理,得到该样本模型的实际运行时延;
样本特征提取单元,用于基于该样本模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定该样本模型的样本层级特征序列;
样本时延预测单元,用于基于该样本层级特征序列,通过预设时延预测模型预测该样本模型对应的样本预测运行时延;
模型训练单元,用于基于该样本预测运行时延与该实际运行时延之间的差异,对该预设时延预测模型进行收敛,得到训练完成的时延预测模型。
在一实施例中,该模型时延预测装置,还包括:
创建单元,用于创建候选模型对应的模型结构搜索空间,该模型结构搜索空间包括候选模型对应的至少一个模型层级以及每一模型层级对应的多个候选层级结构;
采样单元,用于基于该候选层级结构,在该模型结构搜索空间中对该候选模型的每一模型层级进行层级结构采样,并基于层级结构采样结果得到多个不同模型结构的样本模型。
在一实施例中,该样本信息获取单元,包括:
模型运行次数获取子单元,用于获取该样本模型对应的模型运行次数;
时延获取子单元,用于基于该模型运行次数对该样本模型进行运行处理,得到该样本模型的运行时延;
时延计算子单元,用于对该运行时延进行平均处理,得到该样本模型的实际运行时延。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本申请实施例通过信息获取单元301获取待预测模型的模型层级信息,模型层级信息包括待预测模型中每一模型层级的层级信息;特征提取单元302基于模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定待预测模型的层级特征序列;模型获取单元303获取训练完成的时延预测模型,时延预测模型为基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到;时延预测单元304通过时延预测模型对层级特征序列进行时延预测处理,得到待预测模型的预测运行时延。以此,通过获取待预测模型中每一模型层级的模型层级信息来提取待预测模型的层级特征序列,然后通过基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到的时延预测模型对层级特征序列进行时延预测处理,从而得到包含待预测模型中每一模型层级的运行时延以及层级之间的通信时延的预测运行时延,进而提高了模型时延预测的准确性。
本申请实施例还提供一种计算机设备,如图8所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,该计算机设备可以是服务器,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图8中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及模型时延预测。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取待预测模型的模型层级信息,模型层级信息包括待预测模型中每一模型层级的层级信息;基于模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定待预测模型的层级特征序列;获取训练完成的时延预测模型,时延预测模型为基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到;通过时延预测模型对层级特征序列进行时延预测处理,得到待预测模型的预测运行时延。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。应当说明的是,本申请实施例提供的计算机设备与上文实施例中的适用于模型时延预测方法属于同一构思,其具体实现过程详见以上方法实施例,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种模型时延预测方法中的步骤。例如,该指令可以执行如下步骤:
获取待预测模型的模型层级信息,模型层级信息包括待预测模型中每一模型层级的层级信息;基于模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定待预测模型的层级特征序列;获取训练完成的时延预测模型,时延预测模型为基于样本模型的样本层级特征序列以及样本模型的实际运行时延训练得到;通过时延预测模型对层级特征序列进行时延预测处理,得到待预测模型的预测运行时延。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种模型时延预测方法中的步骤,因此,可以实现本申请实施例所提供的任一种模型时延预测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例提供的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种模型时延预测方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种模型时延预测方法,其特征在于,包括:
获取待预测模型的模型层级信息,所述模型层级信息包括所述待预测模型中每一模型层级的层级信息;
基于所述模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定所述待预测模型的层级特征序列;
获取训练完成的时延预测模型,所述时延预测模型为基于样本模型的样本层级特征序列以及所述样本模型的实际运行时延训练得到;
通过所述时延预测模型对所述层级特征序列进行时延预测处理,得到所述待预测模型的预测运行时延。
2.如权利要求1所述的模型时延预测方法,其特征在于,所述模型层级信息包括每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息;
所述基于所述模型层级信息对每一模型层级进行层级特征提取,包括:
分别对每一模型层级的层级结构信息和模型层级在异构系统架构中运行所需硬件的信息进行特征提取,得到所述层级结构信息对应的层级结构特征,以及模型层级在异构系统架构中运行所需硬件的信息对应的运行硬件特征;
将所述层级结构特征以及所述运行硬件特征进行拼接处理,得到每一模型层级的层级特征。
3.如权利要求2所述的模型时延预测方法,其特征在于,所述层级结构信息包括所述待预测模型中每一模型层级的层级类型信息、卷积核属性信息、通道数信息以及特征图处理尺寸信息中的至少一种信息。
4.如权利要求2所述的模型时延预测方法,其特征在于,所述模型层级在异构系统架构中运行所需硬件的信息包括硬件标识信息、硬件属性信息中的至少一种。
5.如权利要求1所述的模型时延预测方法,其特征在于,所述时延预测模型包括连接的序列特征提取层和时延预测层,所述序列特征提取层包括多个顺序连接的关联特征提取模块;
所述通过所述时延预测模型对所述层级特征序列进行时延预测处理,得到所述待预测模型的预测运行时延,包括:
将所述层级特征序列中的层级特征,按照层级特征在层级特征序列中的顺序输入至序列特征提取层中对应的关联特征提取模块进行处理,得到层级关联特征,并将所述层级关联特征输入至所述时延预测层,其中,每一关联特征提取模块被配置为根据当前输入自身的层级特征序列中的层级特征,以及前一关联特征提取模块输出的历史层级关联特征进行特征提取,得到当前层级关联特征,输入至下一关联特征提取模块;
通过时延预测层对所述层级关联特征进行时延预测处理,得到所述待预测模型的预测运行时延。
6.如权利要求1至5中任一项所述的模型时延预测方法,其特征在于,所述获取训练完成的时延预测模型之前,还包括:
获取样本模型的样本模型层级信息,并对所述样本模型进行运行处理,得到所述样本模型的实际运行时延;
基于所述样本模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定所述样本模型的样本层级特征序列;
基于所述样本层级特征序列,通过预设时延预测模型预测所述样本模型对应的样本预测运行时延;
基于所述样本预测运行时延与所述实际运行时延之间的差异,对所述预设时延预测模型进行收敛,得到训练完成的时延预测模型。
7.如权利要求6所述的模型时延预测方法,其特征在于,所述获取样本模型的样本模型层级信息之前,还包括:
创建候选模型对应的模型结构搜索空间,所述模型结构搜索空间包括候选模型对应的至少一个模型层级以及每一模型层级对应的多个候选层级结构;
基于所述候选层级结构,在所述模型结构搜索空间中对所述候选模型的每一模型层级进行层级结构采样,并基于层级结构采样结果得到多个不同模型结构的样本模型。
8.如权利要求6所述的模型时延预测方法,其特征在于,所述对所述样本模型进行运行处理,得到所述样本模型的实际运行时延,包括:
获取所述样本模型对应的模型运行次数;
基于所述模型运行次数对所述样本模型进行运行处理,得到所述样本模型的运行时延;
对所述运行时延进行平均处理,得到所述样本模型的实际运行时延。
9.一种模型时延预测装置,其特征在于,包括:
信息获取单元,用于获取待预测模型的模型层级信息,所述模型层级信息包括所述待预测模型中每一模型层级的层级信息;
特征提取单元,用于基于所述模型层级信息对每一模型层级进行层级特征提取,并基于每一模型层级提取得到的层级特征确定所述待预测模型的层级特征序列;
模型获取单元,用于获取训练完成的时延预测模型,所述时延预测模型为基于样本模型的样本层级特征序列以及所述样本模型的实际运行时延训练得到;
时延预测单元,用于通过所述时延预测模型对所述层级特征序列进行时延预测处理,得到所述待预测模型的预测运行时延。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至8任一项所述的模型时延预测方法中的步骤。
11.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的模型时延预测方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1至8任一项所述的模型时延预测方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310196492.5A CN117217257A (zh) | 2023-02-24 | 2023-02-24 | 模型时延预测方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310196492.5A CN117217257A (zh) | 2023-02-24 | 2023-02-24 | 模型时延预测方法、装置和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117217257A true CN117217257A (zh) | 2023-12-12 |
Family
ID=89034009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310196492.5A Pending CN117217257A (zh) | 2023-02-24 | 2023-02-24 | 模型时延预测方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117217257A (zh) |
-
2023
- 2023-02-24 CN CN202310196492.5A patent/CN117217257A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10593110B2 (en) | Method and device for computing a path in a game scene | |
CN110472002B (zh) | 一种文本相似度获取方法和装置 | |
JP7242994B2 (ja) | ビデオイベント識別方法、装置、電子デバイス及び記憶媒体 | |
CN108287708A (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
CN112755534B (zh) | 一种数据处理方法、装置和存储介质 | |
CN113742014A (zh) | 界面渲染方法、装置、电子设备及存储介质 | |
CN115495615B (zh) | 视频与文本的互检方法、装置、设备、存储介质及终端 | |
CN111143039A (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
CN113069769A (zh) | 云游戏界面显示方法、装置、电子设备以及存储介质 | |
CN114936631A (zh) | 一种模型处理方法及装置 | |
CN111209173A (zh) | 一种性别预测方法、装置、存储介质、以及电子设备 | |
CN111291564B (zh) | 一种用于词向量获取的模型训练方法、装置和存储介质 | |
CN109997123B (zh) | 用于改进空间-时间数据管理的方法、系统和装置 | |
CN113822144A (zh) | 一种目标检测方法、装置、计算机设备和存储介质 | |
CN112685409B (zh) | Paas应用服务拓扑生成方法、装置及可读存储介质 | |
CN117217257A (zh) | 模型时延预测方法、装置和计算机可读存储介质 | |
CN116059631A (zh) | 对象渲染方法、装置、电子设备及计算机可读存储介质 | |
CN116415624A (zh) | 模型训练方法及装置、内容推荐方法及装置 | |
She et al. | Accurate Latency Prediction of Deep Learning Model Inference Under Dynamic Runtime Resource | |
CN117271098B (zh) | 一种ai模型计算核调度方法、装置、设备及存储介质 | |
CN113805976B (zh) | 数据处理方法及装置、电子设备及计算机可读存储介质 | |
CN117725303B (zh) | 内容查询方法、装置和计算机可读存储介质 | |
CN116737740A (zh) | 三维点云地图的更新方法及装置 | |
CN116661983A (zh) | 内存分配方法、装置、设备以及计算机可读存储介质 | |
CN117972430A (zh) | 一种变化语言指令下机器人任务学习与评估方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |