CN116522999B - 模型搜索与时延预测器训练方法、装置、设备及存储介质 - Google Patents
模型搜索与时延预测器训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116522999B CN116522999B CN202310753544.4A CN202310753544A CN116522999B CN 116522999 B CN116522999 B CN 116522999B CN 202310753544 A CN202310753544 A CN 202310753544A CN 116522999 B CN116522999 B CN 116522999B
- Authority
- CN
- China
- Prior art keywords
- model
- width
- depth
- candidate
- time delay
- 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
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000012549 training Methods 0.000 title claims abstract description 49
- 238000012216 screening Methods 0.000 claims abstract description 36
- 238000004590 computer program Methods 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 13
- 230000001934 delay Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 35
- 238000005457 optimization Methods 0.000 abstract description 16
- 230000000875 corresponding effect Effects 0.000 description 89
- 238000013528 artificial neural network Methods 0.000 description 36
- 238000004422 calculation algorithm Methods 0.000 description 20
- 238000003062 neural network model Methods 0.000 description 20
- 239000013598 vector Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 230000002068 genetic effect Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000007667 floating Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 239000012014 frustrated Lewis pair Substances 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000011511 automated evaluation Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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]
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种模型搜索与时延预测器训练方法、装置、计算机设备及计算机可读存储介质。其模型搜索方法包括:获取候选模型与对应的模型筛选数据;根据候选模型的模型架构参数,确定候选模型对应的模型时延;其中,当模型时延满足时延预算条件时,候选模型为待搜索模型;根据模型筛选数据计算待搜索模型的模型精度;根据模型精度,确定待搜索模型对应的目标模型。采用本申请,能够以该模型时延作为模型搜索的第一个优化目标,将模型精度作为第二个优化目标,以模型精度确定待搜索模型对应的目标模型。由此,在搜索模型的过程中,同时优化时延和精度两个目标以实现更好的权衡。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种模型搜索与时延预测器训练方法、装置、计算机设备及计算机可读存储介质。
背景技术
神经网络搜索是机器学习中的一个热门领域,它旨在自动化神经网络的设计和优化过程,从而实现更高效、更准确的模型。
然而,神经网络搜索通常是优化浮点运算数或类似参数量等指标进行的,然而在实际部署中,部分模型运行的时延和这些指标关联不大,基于FLOPs和参数量的搜索方法无法准确搜索到满足时延约束的神经网络。
发明内容
基于此,有必要针对上述技术问题,提供一种模型搜索与时延预测器训练方法、装置、计算机设备、计算机可读存储介质以及计算机程序产品,能够兼顾模型时延与模型精度。
第一方面,本申请提供了一种模型搜索方法,包括:
获取候选模型与对应的模型筛选数据;
根据候选模型的模型架构参数,确定候选模型对应的模型时延;其中,当模型时延满足时延预算条件时,候选模型为待搜索模型;
根据模型筛选数据计算待搜索模型的模型精度;
根据模型精度,确定待搜索模型对应的目标模型。
第二方面,本申请提供了一种时延预测器训练方法,包括:
获取样本模型与对应的时延样本;
根据预设深度参数位对样本模型的深度信息进行编码,得到样本模型深度;
根据预设宽度参数位对样本模型的宽度信息进行编码,得到样本模型宽度;
根据样本模型深度与样本模型宽度,生成样本模型架构特征;
基于样本模型架构特征和时延样本训练时延预测器,得到已训练的时延预测器;
其中,已训练的时延预测器,用于根据候选模型的模型架构参数,预测候选模型对应的模型时延。
第三方面,本申请提供了一种模型搜索装置,包括:
第一获取模块,用于获取候选模型与对应的模型筛选数据;
时延模块,用于根据候选模型的模型架构参数,确定候选模型的模型时延;当模型时延满足时延预算条件时,候选模型为待搜索模型;
精度模块,用于根据模型筛选数据计算待搜索模型的模型精度;
搜索模块,用于根据模型精度,确定待搜索模型对应的目标模型。
第四方面,本申请还提供了一种时延预测器训练装置,包括:
第二获取模块,用于获取样本模型与对应的时延样本;
深度编码模块,用于根据预设深度参数位对样本模型的深度信息进行编码,得到样本模型深度;
宽度编码模块,用于根据预设宽度参数位对样本模型的宽度信息进行编码,得到样本模型宽度;
生成模块,用于根据样本模型深度与样本模型宽度,生成样本模型架构特征;
训练模块,用于基于样本模型架构特征和时延样本训练时延预测器,得到已训练的时延预测器;
其中,已训练的时延预测器,用于根据候选模型的模型架构参数,预测候选模型对应的模型时延。
第五方面,本申请提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行该计算机程序时实现上述的方法中的步骤。
第六方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法中的步骤。
第七方面,本申请提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现本上述的方法中的步骤。
上述模型搜索方法、装置、计算机设备、计算机可读存储介质及计算机程序产品,基于候选模型的模型架构参数,预测出其对应的模型时延,以该模型时延作为模型搜索的第一个优化目标,以满足时延预算条件的候选模型作为待搜索模型;而待搜索模型的模型精度是通过模型筛选数据确定的,再将模型精度作为第二个优化目标,以模型精度确定待搜索模型对应的目标模型。由此,在搜索模型的过程中,同时优化时延和精度两个目标以实现更好的权衡。
附图说明
图1为本申请实施例提供的一种模型搜索或者时延预测器训练方法的应用环境图;
图2为本申请实施例提供的一种模型搜索方法的流程示意图;
图3为本申请实施例提供的一种时延预测器训练方法的流程示意图;
图4为本申请实施例提供的一种模型的深度信息编码流程示意图;
图5为本申请实施例提供的一种模型的宽度信息编码流程示意图;
图6为本申请实施例提供的时延预测器的预测效果示意图;
图7为本申请实施例提供的一种模型搜索装置的结构框图;
图8为本申请实施例提供的一种时延预测器训练装置的结构框图;
图9为本申请实施例提供的一种计算机设备的内部结构图;
图10为本申请实施例提供的另一种计算机设备的内部结构图;
图11为本申请实施例提供的一种计算机可读存储介质的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的模型搜索方法,可以应用于如图1所示的应用环境中。其中,终端102通过通信网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备及便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,本申请实施例提供了一种模型搜索方法,以该方法应用于图1中的终端102或服务器104为例进行说明。可以理解的是,计算机设备可以包括终端和服务器中的至少一种。该方法包括以下步骤:
S202、获取候选模型与对应的模型筛选数据。
候选模型是搜索空间中,在模型筛选数据所在应用场景下能够运行的神经网络模型。搜索空间可以包括不同候选模型,不同候选模型具有不同的模型架构。模型架构包括检测头与网络骨干,网络骨干包括卷积层、池化层等多种网络层;骨干网络含有的网络层数量,以及各网络层含有的通道数量,或者其他骨干网络的信息,属于候选模型的模型架构参数。
可选地,搜索空间可存在多个可用模型,对多个可用模型选取所得的模型作为候选模型;当搜索空间已经根据某一应用场景进行解耦后,可直接将搜索空间中的该应用场景下的各可用模型作为候选模型。
可选地,搜索空间中的各模型架构骨干是通过MobileNetV2这一轻量级网络构建的,其也可以采用其他轻量级网络,以保障搜索效率;可用模型是指,能够针对该应用场景完成相应任务的神经网络模型。
模型筛选数据,是针对某一应用场景的精度算用样本数据。该精度算用样本数据,用于针对不同神经网络模型进行精度计算,以确定各神经网络模型在同一应用场景下的模型精度。
S204、根据候选模型的模型架构参数,确定候选模型对应的模型时延;其中,当模型时延满足时延预算条件时,该候选模型为待搜索模型。
模型架构参数是与每个候选模型一一对应的参数集合,模型架构参数是候选模型本身的数据结构或处理算法等方面的参数,模型架构参数与模型时延之间存在对应的关系,可通过模型架构参数预测出对应的模型时延。
模型时延是该候选模型在模型筛选数据所对应的应用场景下,该模型运行过程的时延。例如:在边缘设备运行候选模型的应用场景下,模型时延是边缘设备通过该候选模型处理数据过程的时间延迟。在不引入其他参数的前提下,通过模型架构参数进行计算模型时延是否达到时延预算条件,其计算效率较高。
时延预算条件是针对某一应用场景下,候选模型的优化目标。时延预算条件用于筛选出模型时延处于某一时延范围内的候选模型,而这些筛选出的候选模型是待搜索模型。可选地,时延预算条件可以是某一临界值,若某一模型时延小于该临界值,则该模型时延对应的候选模型是待搜索模型;时延预算条件可以是某一临界值范围,若某一模型时延处于该临界值范围中,则该模型时延对应的候选模型是待搜索模型;此外,时延预算条件还可以是基于时延比例或其他方式确定的。
待搜索模型是根据候选模型自身的模型架构参数,从候选模型中筛选出的神经网络模型,且待搜索模型可通过模型筛选数据计算出的模型精度再次进行筛选。
在一些实施例中,根据候选模型的模型架构参数,确定候选模型对应的模型时延,包括:
获取候选模型在不同维度的模型架构参数信息;
对不同维度的模型架构参数信息分别进行编码,得到各维度候选模型特征;
根据各维度候选模型特征组成的模型架构特征进行映射,得到候选模型对应的模型时延。
可选地,候选模型的各维度候选模型特征可以是从候选模型的预设信息中获取的,也可以是对候选模型进行各维度候选模型特征估计所得的。以候选模型包括残差模型(Residual Building Block,resnet)的情况为例,候选模型包括深度信息为50的残差模型(resnet-50)、深度信息为101的残差模型(resnet-101)等残差模型,这些残差模型的宽度信息也是已知的。
可选地,根据各维度候选模型特征组成的模型架构特征,是基于各维度候选模型特征进行拼接或其他组合方式所得的特征,其至少用于从各个维度确定候选模型自身的模型结构特征。而模型架构特征进行映射的过程,可以是根据模型架构特征,从预设模型时延集合中查找某一个相似或相同的模型时延;也可以通过时延预测器或类似神经网络模型,对模型架构特征进行预测,以更准确地计算出候选模型的模型时延,从而更精确地选取候选模型中的待搜索模型。
S206、根据模型筛选数据计算待搜索模型的模型精度。
模型精度是待搜索模型根据输入的模型筛选数据而输出的计算结果。模型精度是针对待搜索模型的优化目标。模型精度用于评估待搜索模型在模型筛选数据对应的应用环境下,待搜索模型是否足够精确。
可选地,模型精度是通过待搜索模型的损失函数对模型筛选数据进行处理所得的模型预测值,再通过该模型预测值的梯度、变化趋势或其他参数确定的。
S208、根据模型精度,确定待搜索模型对应的目标模型。
目标模型是基于模型时延和模型精度依次进行搜索所得到的候选模型,因此,目标模型的模型时延与模型精度相对较高。可选地,目标模型的搜索过程可以是从待搜索模型中选择模型精度最大的模型。
可选地,上述步骤202-步骤208是基于遗传算法、进化策略、强化学习或梯度优化等所实现的。以遗传算法为例,其所涉及的遗传算法可以是第二代非支配排遗传算法(Non-dominated Sorting Genetic Algorithms-II,NSGA-II),第二代非支配排遗传算法的两个优化目标分别是模型时延与模型精度。
在一些可能的实施例中,根据模型精度,确定待搜索模型对应的目标模型,包括:
将当前待搜索模型,按照预设规则进行模型架构的选择与组合,得到子模型;
根据当前待搜索模型与子模型所组合的模型集合,确定当前待搜索模型的下一待搜索模型,通过该下一待搜索模型进行迭代计算,直至满足遗传迭代次数时,得到最终的待搜索模型集合;
在最终的待搜索模型集合中,选取模型精度最大的待搜索模型作为目标模型。
其中,当前待搜索模型与子模型所组合的模型集合,是基于非支配等级之间的模型排序和同一非支配等级的拥挤度模型排序与筛选所得的。
本实施例中,可基于候选模型的模型架构参数,预测出对应的模型时延,以该模型时延作为模型搜索的第一个优化目标,以满足时延预算条件的候选模型作为待搜索模型;而待搜索模型的模型精度是通过模型筛选数据确定的,再将模型精度作为第二个优化目标,以模型精度确定待搜索模型对应的目标模型。由此,在搜索模型的过程中,同时优化时延和精度两个目标以实现更好的权衡。
在一些实施例中,根据候选模型的模型架构参数,确定候选模型的模型时延,包括:
根据预设深度参数位对候选模型的深度信息进行编码,得到候选模型深度;
根据预设宽度参数位对候选模型的宽度信息进行编码,得到候选模型宽度;
根据候选模型深度与候选模型宽度,预测候选模型对应的模型时延。
可选地,模型架构参数包括深度信息和宽度信息这两个维度,深度信息用于确定该候选模型进行数据处理的轮次;宽度信息用于确定该候选模型在各轮次的数据处理过程中,每个轮次进行数据处理时的通道数,亦或者确定每轮次的具体处理方式,以此确定模型时延。
预设深度参数位是针对深度信息进行特征编码的参数所在数位,不同候选模型的深度信息,可通过预设深度参数位的编码过程体现出来。可选地,预设深度参数位对应的数据量可基于搜索空间中基准神经网络的深度信息确定;各候选模型深度均是针对基准神经网络这一参照物设置的,基准神经网络可以是搜索空间中深度最大的神经网络,以使得预设深度参数位可适用于搜索空间中的各神经网络。相对应的,预设宽度参数位是针对宽度信息进行特征编码的参数所在数位,不同候选模型的宽度信息,可通过预设宽度参数位的编码过程体现出来。可选地,预设深度参数位与预设宽度参数位均可以是与寄存器的状态位一一对应的。
可选地,模型时延是模型架构特征预测的,模型架构特征是候选模型深度和候选模型宽度组成的。其可以是基于候选模型深度和候选模型宽度进行拼接或其他组合方式所得的特征,其至少用于从模型深度和模型宽度两个维度确定候选模型自身的模型结构特征。而模型架构特征进行映射的过程,可以是根据模型架构特征,从预设模型时延集合中查找某一个相似或相同的模型时延;也可以通过时延预测器或类似神经网络模型,对模型架构特征进行预测,以更准确地计算出候选模型的模型时延,从而更精确地选取候选模型中的待搜索模型。
可见,在本实施例中,通过预设深度参数位与预设宽度参数位进行深度信息与宽度信息的编码后,可以降低深度信息与宽度信息所涉及参数的数值差异,因而本实施例中的候选模型深度与候选模型宽度进行预测后,模型时延更准确。
在一些实施例中,可采用one-hot的方式编码出模型深度。相对应的,根据预设深度参数位对候选模型的深度信息进行编码,得到候选模型深度,包括:
确定候选模型存在的第一类网络层和不存在的第二类网络层;
将第一类网络层对应的预设深度参数位编码为第一深度值;
将第二类网络层对应的预设深度参数位编码为第二深度值;
根据依序排列的第一深度值与第二深度值,确定候选模型深度。
其中,网络层包括但不限于,卷积层、池化层、全连接层或表征其他处理的神经网络层。由于模型搜索过程涉及候选模型的数量较多,为了更准确地确定每一种候选模型的特征,以预设深度参数位对第一类网络层进行编码,并对第二类网络层进行编码。
第一深度值与第二深度值是不同的数值,第一深度值用于表征相应深度参数位所指示的位置存在网络层,而第二深度值用于表征相应深度参数位所指示的位置不存在网络层,以使得模型深度参数的数值差异简化为两种数值的组合。可选地,第一深度值与第二深度值可基于二进制特征0/1所表征,如,第一深度值为二进制特征1,第二深度值为二进制特征0,以直接基于得到机器语言可直接使用的二进制向量。
可选地,根据依序排列的第一深度值与第二深度值,确定候选模型深度,包括:
根据深度参数位的预设顺序,依序排列第一深度值与第二深度值,得到候选模型深度这个二进制向量;其中,深度参数位的预设顺序,是针对搜索空间中的基准神经网络所具有的网络层设置,即各第一深度值所在深度参数位,是该候选模型与基准神经网络在网络层的相对位置。基准神经网络,可以是候选模型中,网络层最多的神经网络模型。
可见,在本实施例中,深度参数位对第一类网络层进行编码,并对第二类网络层进行编码,形成各候选模型相对于基准模型的深度特征,而通过第一深度值与第二深度值,使得深度参数的数值差异简化为两种数值的组合,使得网络模型在深度的特征能够更准确地传递出来,从而更准确地预测出时延。
在一些实施例中,可采用one-hot的方式编码出模型宽度。相对应的,根据预设宽度参数位对候选模型的宽度信息进行编码,得到候选模型宽度,包括:
在候选模型存在的第一类网络层中,确定第一类网络层存在的第一类通道和不存在的第二类通道;
将第一类通道对应的预设宽度参数位编码为第一宽度值;
将第二类通道对应的预设宽度参数位编码为第二宽度值;
根据依序排列的第一宽度值与第二宽度值,确定候选模型宽度。
其中,通道包括但不限于,输入层的RGB等颜色通道、卷积层通道、用于池化的通道或其他处理过程涉及的通道。由于模型搜索过程涉及候选模型的数量多,而每一候选模型中的网络层具有更多数量的通道,为了更准确地确定每一个第一类网络层的特征,以宽度参数位对第一类通道进行编码,并对第二类通道进行编码。
第一宽度值与第二宽度值是不同的数值,第一宽度值用于表征相应宽度参数位所指示的位置存在通道,而第二宽度值用于表征相应宽度参数位所指示的位置不存在通道,以使得宽度参数的数值差异简化为两种数值的组合。可选地,第一宽度值与第二宽度值可基于二进制特征0/1所表征,如,第一宽度值为二进制特征1,第二宽度值为二进制特征0,以直接基于得到机器语言可直接使用的二进制向量。
可选地,根据依序排列的第一宽度值与第二宽度值,确定候选模型宽度,包括:
根据宽度参数位的预设顺序,依序排列第一宽度值与第二宽度值,得到候选模型宽度这个二进制向量;其中,宽度参数位的预设顺序,是针对搜索空间中的基准神经网络所具有的通道设置,即各第一宽度值所在宽度参数位,是该候选模型与基准神经网络在通道的相对位置。基准神经网络,可以是候选模型中,通道最多的神经网络模型。
可见,在本实施例中,宽度参数位对第一类通道进行编码,并对第二类通道进行编码,形成了各候选模型相对于基准模型的宽度特征向量,而通过第一宽度值与第二宽度值,使得宽度参数的数值差异简化为两种数值的组合,使得网络模型在宽度的特征能够更准确地传递出来,从而更准确地预测出时延。
在一些实施例中,候选模型宽度包括编码后的各组宽度参数位;样本模型的每一网络层通道众数是一组宽度参数位对应的数据量整倍数。
候选模型宽度是通过编码后的各组宽度参数位所表征的,编码后的各组宽度参数位中,分别包括依序排列的第一宽度值与第二宽度值;而编码后的各组宽度参数位可拼接为候选模型宽度。
同组宽度参数位对应的数据量,是一组宽度参数位中的第一宽度值与第二宽度值的数量之和。同组宽度参数位对应的数据,是以每一网络层通道众数的某一整倍数,依序排列的第一宽度值与第二宽度值。
样本模型涵盖多种神经网络模型,每种神经网络模型有其各自的网络层,每一网络层均有其各自的网络层通道数量。而样本模型的每一网络层通道众数,是大多数神经网络模型在各网络层通常设置的模型通道数量,而每一网络层通道众数是一组宽度参数位对应的数据量整倍数,可以使得编码后的各组宽度参数位能够快速地编码出大多数候选宽度特征。例如:模型宽度通常都被设置为8的倍数,而在本实施例中,间隔设置为8个通道,即一组宽度参数位对应的数据量是8,以此方便设备进行加速。
可见,在本实施例中,同组宽度参数位对应的数据量,可适用于大多数候选模型的编码,以方便设备基于各组宽度参数位,更快速地编码更多候选模型进行宽度信息。
在一些实施例中,根据候选模型深度与候选模型宽度,预测候选模型对应的模型时延,包括:
对候选模型深度与候选模型宽度进行特征拼接,得到候选模型架构特征;
通过时延预测器,预测候选模型架构特征对应的模型时延。
候选模型架构特征是候选模型深度与候选模型宽度基于自身特征直接拼接所得的,且该过程无需通过特征归一化的方式,从而避免因为数值量级相差过大而造成特征表征不准确的问题,有助于更准确地预测模型时延。这是因为候选模型深度与候选模型宽度均是基于参数位编码的,且该参数位是预设的,使得模型的深度信息与宽度信息转化到参数位所在空间,以此准确地表征候选模型架构特征。
可选地,候选模型宽度与候选模型深度,可以是同时基于有序排列的二进制特征0/1所表征的特征,且第一宽度值与第一深度值可以相等或不同,第二宽度值与第二深度值可以相等或不同,且候选模型深度可以是通过编码后的各组宽度参数位组成。
时延预测器是基于某一应用环境的样本模型训练所得的神经网络模型,该神经网络模型用于对输入的候选模型架构特征进行预测,以生成对应的模型时延。示例性地,时延预测器是通过边缘设备的样本模型训练所得的神经网络模型,用于对边缘设备的候选模型架构特征进行预测,以生成对应的模型时延。
可见,在本实施例中,候选模型深度与候选模型宽度是根据参数位编码所得的特征,可直接拼接出候选模型架构特征,且避免因为数值量级相差过大而造成特征表征不准确的问题,有助于时延预测器更准确地预测候选模型的模型时延。
在一些实施例中,根据模型筛选数据计算待搜索模型的模型精度,包括:
将模型筛选数据输入待搜索模型进行处理,输出待搜索模型的模型预测值;
根据模型预测值的梯度变化程度,确定待搜索模型的模型精度。
例如,可将不同批次的模型筛选数据代入待搜索模型的损失函数中,以计算出各批次的模型预测值。
梯度变化程度,用于表征待搜索模型,对不同模型筛选数据的模型预测值的变化程度,可通过该变化程度反映出这一待搜索模型的模型精度。可选地,反向的梯度变化程度正相关于模型精度。
在一些实施例中,梯度变化程度通过ZICO分数表征,其公式如下:
其中,ZICO用于表征模型精度,D是神经网络模型的网络层,代表第i批次模型筛选数据,/>代表样本,/>代表样本标签,/>是第i批次模型筛选数据的反向梯度,/>是该反向梯度的均值;/>是该均值的绝对值,该绝对值用于去除梯度方向的影响;/>是该反向梯度的标准差;log用于在不同网络层的ZiCO分数进行求和过程中,保障数值不会过大或过小。
可见,在本实施例中,根据模型筛选数据计算模型预测值的梯度变化程度,再无需复杂的训练调参步骤,它通过少量批次的训练数据在模型上的反向梯度来判断超网络内不同子模型的相对精度,减少了模型训练的时间成本和计算资源。从而较为准确地搜索出相应的模型。
如图3所示,本申请实施例提供了一种时延预测器训练方法,以该方法应用于图1中的终端102或服务器104为例进行说明。可以理解的是,计算机设备可以包括终端和服务器中的至少一种。该方法包括以下步骤:
S302,获取样本模型与对应的时延样本。
样本模型是用于训练时延预测器的神经网络模型。不同样本模型具有不同的模型架构参数,模型架构参数包括检测头与网络骨干,网络骨干包括卷积层、池化层等不限种类的多个网络层;骨干网络含有的网络层数量,以及各网络层含有的通道数量属于候选模型的模型架构参数。样本模型与对应的时延样本可划分为训练集与测试集,通过该训练集进行时延预测器的训练,并通过该测试集检测时延预测器的训练结果,直至训练完成。
S304,根据预设深度参数位对样本模型的深度信息进行编码,得到样本模型深度。
预设深度参数位是针对深度信息进行特征编码的参数所在数位,不同样本模型的深度信息,可通过预设深度参数位的编码过程体现出来。可选地,预设深度参数位对应的数据量可基于搜索空间中基准神经网络的深度信息确定;各样本模型深度均是针对基准神经网络这一参照物设置的,基准神经网络可以是各样本模型中深度最大的神经网络,以使得预设深度参数位可适用于搜索空间中的各种候选模型。
S306,根据预设宽度参数位对样本模型的宽度信息进行编码,得到样本模型宽度。
预设宽度参数位是针对宽度信息进行特征编码的参数所在数位,不同样本模型的宽度信息,可通过预设宽度参数位的编码过程体现出来。可选地,预设深度参数位与预设宽度参数位均可以是与寄存器的状态位一一对应的。
S308,根据样本模型深度与样本模型宽度,生成样本模型架构特征。
可选地,模型时延是模型架构特征预测的,模型架构特征是样本模型深度和样本模型宽度组成的。其可以是基于样本模型深度和样本模型宽度进行拼接或其他组合方式所得的特征,其至少用于从模型深度和模型宽度两个维度确定样本模型自身的模型结构特征。而模型架构特征进行映射的过程,可以是根据模型架构特征,从预设模型时延集合中查找某一个相似或相同的模型时延;也可以通过时延预测器或类似神经网络模型,对模型架构特征进行预测,以更准确地计算出样本模型的模型时延,从而更精确地选取样本模型中的待搜索模型。
S310,基于样本模型架构特征和时延样本训练时延预测器,得到已训练的时延预测器;其中,已训练的时延预测器,用于根据候选模型的模型架构参数,预测候选模型对应的模型时延。
可见,相对于传统方式,对输入的特征进行归一化,以缩小深度和宽度参数的数值范围差异,传统方式难以稳定地传输信息,进而导致时延准确性低的问题。本实施例中,通过预设深度参数位与预设宽度参数位进行深度信息与宽度信息的编码后,可以降低深度信息与宽度信息所涉及参数的数值差异,因而本实施例中的样本模型深度与样本模型宽度进行预测后,模型时延更准确。
在一些实施例中,获取样本模型与对应的时延样本,包括:
获取样本模型在不同宽度的等深度模型,以及样本模型在不同深度的等宽度模型;
在不同边缘设备中,分别通过等深度模型与等宽度模型确定各自的时延。
等深度模型与等宽度模型,是时延预测器训练过程中控制模型架构变量所得的产物。各等深度模型的宽度是不同的,因而能够更为细致的评估样本模型在宽度方面的变化;各等宽度模型的深度是不同的,因而能够更为细致的评估样本模型在深度方面的变化。
将等深度模型与等宽度模型,分别部署于不同边缘设备中,使得边缘设备通过不同样本模型运行的过程中,确定实例的时延样本,以更细致地训练时延预测器。
在一些实施例中,根据预设深度参数位对样本模型的深度信息进行编码,得到样本模型宽度,包括:
确定样本模型存在的第一类网络层和不存在的第二类网络层;
将第一类网络层对应的预设深度参数位编码为第一深度值;
将第二类网络层对应的预设深度参数位编码为第二深度值;
根据依据序排列的第一深度值与第二深度值依据序排列,确定样本模型深度。
其中,网络层包括但不限于,卷积层、池化层、全连接层或表征其他处理的神经网络层。由于模型搜索过程涉及大量样本模型,为了更准确地确定每一种样本模型的特征,以预设深度参数位对第一类网络层进行编码,并对第二类网络层进行编码。
第一深度值与第二深度值是不同的数值,第一深度值用于表征相应深度参数位所指示的位置存在网络层,而第二深度值用于表征相应深度参数位所指示的位置不存在网络层,以使得模型深度参数的数值差异简化为两种数值的组合。可选地,第一深度值与第二深度值可基于二进制特征0/1所表征,如,第一深度值为二进制特征1,第二深度值为二进制特征0,以直接基于得到机器语言可直接使用的二进制向量。
可选地,根据依序排列的第一深度值与第二深度值,确定样本模型深度,包括:
根据深度参数位的预设顺序,依序排列第一深度值与第二深度值,得到样本模型深度这个二进制向量;其中,深度参数位的预设顺序,是针对搜索空间中的基准神经网络所具有的网络层设置,即,各第一深度值所在深度参数位,是该样本模型与基准神经网络在网络层的相对位置。基准神经网络,可以是样本模型中,网络层最多的神经网络模型。
可见,在本实施例中,深度参数位对第一类网络层进行编码,并对第二类网络层进行编码,形成各样本模型相对于基准模型的深度特征,而通过第一深度值与第二深度值,使得深度参数的数值差异简化为两种数值的组合,使得网络模型在深度的特征能够更准确地传递出来,从而使得训练出的时延预测器进行时延预测的准确性更高。
在一些实施例中,根据预设宽度参数位对样本模型的宽度信息编码,得到样本模型宽度,包括:
在样本模型存在的第一类网络层中,确定第一类网络层存在的第一网络层通道和不存在的第二类通道;
将第一类通道对应的预设宽度参数位编码为第一宽度值;
将第二类通道对应的预设宽度参数位编码为第二宽度值;
根据依序排列的第一宽度值与第二宽度值,确定样本模型的样本模型宽度。
其中,通道包括但不限于,输入层的RGB等颜色通道、卷积层通道、用于池化的通道或其他处理过程涉及的通道。由于模型搜索过程涉及样本模型的数量多,而每一样本模型中的网络层具有更多数量的通道,为了更准确地确定每一个第一类网络层的特征,以宽度参数位对第一类通道进行编码,并对第二类通道进行编码。
第一宽度值与第二宽度值是不同的数值,第一宽度值用于表征相应宽度参数位所指示的位置存在通道,而第二宽度值用于表征相应宽度参数位所指示的位置不存在通道,以使得宽度参数的数值差异简化为两种数值的组合。可选地,第一宽度值与第二宽度值可基于二进制特征0/1所表征,如,第一宽度值为二进制特征1,第二宽度值为二进制特征0,以直接基于得到机器语言可直接使用的二进制向量。
可选地,根据依序排列的第一宽度值与第二宽度值,确定样本模型宽度,包括:
根据宽度参数位的预设顺序,依序排列第一宽度值与第二宽度值,得到样本模型宽度这个二进制向量;其中,宽度参数位的预设顺序,是针对搜索空间中的基准神经网络所具有的通道设置,即,各第一宽度值所在宽度参数位,是该样本模型与基准神经网络在通道的相对位置。基准神经网络,可以是样本模型中,通道最多的神经网络模型。
可见,在本实施例中,宽度参数位对第一类通道进行编码,并对第二类通道进行编码,形成了各样本模型相对于基准模型的宽度特征向量,而通过第一宽度值与第二宽度值,使得宽度参数的数值差异简化为两种数值的组合,使得网络模型在宽度的特征能够更准确地传递出来,从而使得训练出的时延预测器进行时延预测的准确性更高。
在一些实施例中,样本模型宽度包括编码后的各组宽度参数位;样本模型的每一网络层通道众数是一组宽度参数位对应的数据量整倍数。
样本模型宽度是通过编码后的各组宽度参数位所表征的,编码后的各组宽度参数位中,分别包括依序排列的第一宽度值与第二宽度值;而编码后的各组宽度参数位可拼接为样本模型宽度。
同组宽度参数位对应的数据量,是一组宽度参数位中的第一宽度值与第二宽度值的数量之和。同组宽度参数位对应的数据,是以每一网络层通道众数的某一整倍数,依序排列的第一宽度值与第二宽度值。
样本模型涵盖多种神经网络模型,每种神经网络模型有其各自的网络层,每一网络层均有其各自的网络层通道数量。而样本模型的每一网络层通道众数,是大多数神经网络模型在各网络层通常设置的模型通道数量,而每一网络层通道众数是一组宽度参数位对应的数据量整倍数,可以使得编码后的各组宽度参数位能够快速地编码出大多数样本宽度特征。例如:模型宽度通常都被设置为8的倍数,而在本实施例中间隔设置为8个通道,即一组宽度参数位对应的数据量是8,以此方便设备进行加速。
可见,在本实施例中,同组宽度参数位对应的数据量,可适用于大多数样本模型的编码,以方便设备基于各组宽度参数位,更快速地编码更多样本模型进行宽度信息,从而提高训练速度。
可选地,当存在依序排列的第一宽度值和第二宽度值,和/或,存在依序排列的第一深度值和第二深度值时,时延预测器的核函数是对输入的至少部分特征进行one-hot编码,不但能够提高时延预测的准确性,且所涉及映射函数的算法复杂度较低,能够适用于多种机器学习模型,甚至可使用次数为2的多项式函数。可选地,训练时延预测器可采用各种监督学习模型,其包括但不限于决策树模型与向量机模型的架构(SVM),且向量机模型的架构的泛化性能更高。
在一些实施例中,对模型搜索方法的应用场景进行综合描述。神经网络搜索技术得到了不断的发展和完善。其中一些关键技术如下:
搜索空间的设计:设计良好的搜索空间可以在有限的搜索次数内找到较优的神经网络结构,常见的搜索空间包括卷积神经网络和循环神经网络等。
优化算法的使用:在神经网络搜索中,优化算法的选择非常重要,可以对搜索的效率和性能造成很大影响,如遗传算法、进化策略、强化学习和梯度优化等。
自动化评估和选择:搜索到的神经网络结构需要进行自动化评估和选择,以便选择出最佳的网络结构。这个过程通常需要通过验证集来进行。
加速方法的使用:为了加速搜索过程,一些技术例如共享参数、微调等也被广泛应用。总的来说,神经网络搜索技术的发展旨在实现神经网络的自动化设计和优化,以提高深度学习的效率和性能。随着技术的不断发展和完善,神经网络搜索技术将会在研究和实践中发挥越来越重要的作用。
可以理解的是,本申请至少涉及优化算法的使用的内容。共享参数的神经网络搜索算法能够加速网络搜索的过程,但仍然避免不了训练超网络的步骤。而ZICO方法无需复杂的训练调参步骤,它通过少量批次的训练数据在模型上的反向梯度来判断超网络内不同子模型的相对精度,减少了模型训练的时间成本和计算资源。而ZICO方法的原理主要是基于反向的梯度变化趋势确定ZICO分数这一模型精度,其属于浮点运算数(floating pointoperations,FLOPs)的指标,主要涉及计算量,用来衡量算法/模型的复杂度;然而,浮点运算数与模型时延的相关性不大,如果单独使用浮点数运算,其效果不佳,这一现象在模型部署于边缘设备的情况尤为明显。也就是说,实际部署过程中,低FLOPs模型不代表边缘设备上的低时延模型,这使得ZICO方法在真实场景下无法搜索到满足时延要求的高性能模型。
在一个示例性地实施例中,本方案步骤202-208及相应实施例均是基于第二代非支配排遗传算法执行的。本技术方案基于MobileNetV2构建架构空间并搜索骨干网络的深度和宽度,搜索策略使用NSGA2算法,综合时延和ZICO算法预测的精度以选择最终的模型。其中,模型搜索的过程涉及的输入数据包括:搜索空间S,时延预算B,搜索步数T,输入批次的集合,族群大小P,进化次数G =/>;其输出的数据为高性能网络/>。
其具体的伪代码如下:
初始化网络集合;
for i=1 to G do:
if
从搜索空间S中随机选择架构。
将神经网络架构添加至候选模型的集合F。
在输入数据Z上计算架构的ZiCO分数并利用时延预测器预测当前模型的模型时延L。
将ZiCO分数和时延设置为NSGA2算法的两个优化目标,并将时延预算B设置为NSGA2算法的约束(即约束搜索到的模型时延需要小于B)。
else:
基于NSGA2算法从搜索空间中采样模型。
更新网络集合F。
end for
是最终的网络集合F中ZiCO分数最高的目标模型。
在一些实施例中,在模型搜索的过程执行之前,算法需要得到一个训练好的时延预测器,能够准确的根据模型架构预测候选模型在边缘设备上的时延。时延预测器的训练过程包括三个步骤:
首先,对应于S302,收集随机架构在边缘设备上的时延以构建训练样本:为了帮助时延预测器轻易区分深度和宽度对时延的影响,两类样本数据都需要被收集:在模型深度不变条件下随机采样不同宽度的模型(即等深度模型)和宽度不变条件下随机采样不同深度的模型(即等宽度模型),将它们部署到边缘设备上测试时延,得到各自的样本时延,样本集合为,其中,/>代表模型架构,/>代表时延,一共收集N个样本。
其次,对应于参数位及编码的相关步骤,如S304。其是基于模型架构生成时延预测器的输入特征:首先,可以用深度和宽度的参数表示,最简单直接的想法是将深度和宽度拼接以构建数组,作为输入特征,这种方式称为直接编码。鉴于深度和宽度参数的数值范围差异较大,此种输入特征需要通过归一化来避免数值量级相差过大而造成时延预测不准确的问题。这种方式简单直接却不够稳健,在搜索过程中往往提供错误的时延信息。本技术方案提出将模型架构编码为One-hot特征,带来稳健的时延预测结果。
具体的,如图4所示的第i-1网络层layer i-1,第i网络层layer i中,第i+1网络层layer i+1,时延预测器可以选择经过layer i或者跳过layer i(虚线,即模型深度减去1)两条路线,每一层网络可以通过第一类深度值(代表该层保留)与第二类深度值(代表该层被跳过)表征,如二进制特征0/1进行表示第一类深度值与第二类深度值,则0代表该层被跳过,1代表该层保留,图4的网络结构可以被表示为...111...,以此类推出候选模型深度和样本模型深度。
如图5所示的第i网络层layer i中,将此种编码方式进一步扩展到宽度,将layeri的模型宽度按照一定的间隔设为多组,每一组用二进制特征0/1表示。不同宽度包含不同的组别,可进一步用二进制向量表示。本技术方案中间隔设置为8,因为模型宽度通常都被设置为8的倍数以方便计算设备进行加速。
基于上述方法,每一网络层都被编码为One-hot向量,将所有层One-hot向量拼接到一起即为当前模型的One-hot输入特征。尽管不同层的One-hot向量的长度有所差异,这种差异对延预测器的预测误差的影响程度小于归一化的影响程度。
其中,对于第一类网络层中的宽度特征,其编码可为11110000,也可以是11111111,且大多数情况是1连续的;而对于第二类网络层中的宽度特征,其编码为00000000。示例性地,layer i存在两种可能,一种是被跳过的网络层,即第二类网络层,其表征为skip,另一种是进行编码的网络层,即第一类网络层,其二进制特征向量如下:
此外,对于上述样本集合,其按4:1的比例划分训练集和测试集,利用机器学习模型SVM建模时延预测器,其核函数设置为多项式函数,完成训练和测试。
基于此,本实施例利用机器学习模型SVM设计了一种时延预测器,它能够准确预测模型在边缘设备上的时延;且该时延预测器将模型结构编码为One-hot特征,它比直接使用模型结构参数的特征更加稳定,准确性更高。从而在利用NSGA2算法在进行搜索模型时,同时优化时延和精度两个目标以实现更好的权衡。
为了更清楚地说明本实施例的效果,通过图表对比的方式进行描述:
首先,如图6所示,本实施例训练的时延预测器能够准确预测出测试集合中模型的时延,且基本上满足y=x曲线。
接着,从两个方面对比直接编码和本实施例的编码过程,其一是时延预测器在测试集合上和真实标签直接的MSE误差,其二是时延预测器在搜索算法中的效果,错误预测的时延将导致搜索方向的偏移,本实施例的编码方式,能够有更低的测试集误差并在搜索算法中表现更加稳健,不容易出错。示例性地,它们的对比如表1所示:
表1
最后,从某次定位任务的应用场景进行对比,本方案采用ZICO分数配合one-hot模型进行模型搜索,而传统技术主要使用基线模型。测试指标中kp_3意味着:预测结果与真实位置偏移需要在3像素(pixel)的误差范围内,kp_10和kp_30同理,gmkp为上述三个指标的几何平均数,其结果表2所示:
表2
应该理解的是,虽然如上述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种模型搜索装置与一种时延预测器训练装置。这两种装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个模型搜索装置实施例中的具体限定可以参见上文中对于模型搜索方法的限定;下面所提供的一个或多个时延预测器训练装置实施例中的具体限定可以参见上文中对于时延预测器训练方法的限定,在此不再赘述。
如图7所示,本申请实施例提供了一种模型搜索装置700,包括:
第一获取模块702,用于获取候选模型与对应的模型筛选数据;
时延模块704,用于根据候选模型的模型架构参数,确定候选模型的模型时延;当模型时延满足时延预算条件时,候选模型为待搜索模型;
精度模块706,用于根据模型筛选数据计算待搜索模型的模型精度;
搜索模块708,用于根据模型精度,确定待搜索模型对应的目标模型。
在一些实施例中,在根据候选模型的模型架构参数,确定候选模型的模型时延方面,时延模块704具体用于:
根据预设深度参数位对候选模型的深度信息进行编码,得到候选模型深度;
根据预设宽度参数位对候选模型的宽度信息进行编码,得到候选模型宽度;
根据候选模型深度与候选模型宽度,预测候选模型对应的模型时延。
在一些实施例中,在根据预设深度参数位对候选模型的深度信息进行编码,得到候选模型深度方面,时延模块704具体用于:
确定候选模型存在的第一类网络层和不存在的第二类网络层;
将第一类网络层对应的预设深度参数位编码为第一深度值;
将第二类网络层对应的预设深度参数位编码为第二深度值;
根据依序排列的第一深度值与第二深度值,确定候选模型深度。
在一些实施例中,在根据预设宽度参数位对候选模型的宽度信息进行编码,得到候选模型宽度方面,时延模块704具体用于:
在候选模型存在的第一类网络层中,确定第一类网络层存在的第一类通道和不存在的第二类通道;
将第一类通道对应的预设宽度参数位编码为第一宽度值;
将第二类通道对应的预设宽度参数位编码为第二宽度值;
根据依序排列的第一宽度值与第二宽度值,确定候选模型宽度。
在一些实施例中,候选模型宽度包括编码后的各组宽度参数位;样本模型的每一网络层通道众数是一组宽度参数位对应的数据量整倍数。
在一些实施例中,在根据候选模型深度与候选模型宽度,预测候选模型对应的模型时延方面,时延模块704具体用于:
对候选模型深度与候选模型宽度进行特征拼接,得到候选模型架构特征;
通过时延预测器,预测候选模型架构特征对应的模型时延。
在一些实施例中,在根据模型筛选数据计算待搜索模型的模型精度方面,精度模块706具体用于:
将模型筛选数据输入待搜索模型进行处理,输出待搜索模型的模型预测值;
根据模型预测值的梯度变化程度,确定待搜索模型的模型精度。
如图8所示,本申请实施例提供了一种时延预测器训练装置800,包括:
第二获取模块802,用于获取样本模型与对应的时延样本;
深度编码模块804,用于根据预设深度参数位对样本模型的深度信息进行编码,得到样本模型深度;
宽度编码模块806,用于根据预设宽度参数位对样本模型的宽度信息进行编码,得到样本模型宽度;
生成模块808,用于根据样本模型深度与样本模型宽度,生成样本模型架构特征;
训练模块810,用于基于样本模型架构特征和时延样本训练时延预测器,得到已训练的时延预测器;
其中,已训练的时延预测器,用于根据候选模型的模型架构参数,预测候选模型对应的模型时延。
在一些实施例中,在获取样本模型与对应的时延样本方面,第二获取模块802具体用于:
获取样本模型在不同宽度的等深度模型,以及样本模型在不同深度的等宽度模型;
在不同边缘设备中,分别通过等深度模型与等宽度模型确定各自的时延。
在一些实施例中,在根据预设深度参数位对样本模型的深度信息进行编码方面,深度编码模块804具体用于:
确定样本模型存在的第一类网络层和不存在的第二类网络层;
将第一类网络层对应的预设深度参数位编码为第一深度值;
将第二类网络层对应的预设深度参数位编码为第二深度值;
根据依据序排列的第一深度值与第二深度值,确定样本模型深度。
在一些实施例中,在根据预设宽度参数位对样本模型的宽度信息进行编码方面,宽度编码模块806具体用于:
在样本模型存在的第一类网络层中,确定第一类网络层存在的第一网络层通道与不存在的第二类通道;
将第一类通道对应的预设宽度参数位编码为第一宽度值;
将第二类通道对应的预设宽度参数位编码为第二宽度值;
根据依序排列的第一宽度值与第二宽度值,确定样本模型的样本模型宽度。
在一些实施例中,样本模型宽度包括编码后的各组宽度参数位;样本模型的每一网络层通道众数是一组宽度参数位对应的数据量整倍数。
上述模型搜索装置中的各个模块,以及上述时延预测器训练装置中的各个模块均可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于或独立于计算机设备中的处理器,也可以以软件形式存储于计算机设备中的存储器,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)及通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储搜索空间中的模型数据,和/或,时延预测器。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述的模型搜索方法,和/或,时延预测器训练方法中的步骤。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元及输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现上述的模型搜索方法,和/或,时延预测器训练方法中的步骤。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏;该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9或图10中示出的结构,仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,如图11所示提供了一种计算机可读存储介质的内部结构图,计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(FerroelectricRandom Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandom AccessMemory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种模型搜索方法,其特征在于,包括:
获取候选模型与对应的模型筛选数据;
确定所述候选模型存在的第一类网络层和不存在的第二类网络层;将所述第一类网络层对应的预设深度参数位编码为第一深度值;将所述第二类网络层对应的预设深度参数位编码为第二深度值;根据依序排列的所述第一深度值与所述第二深度值,确定候选模型深度;
根据预设宽度参数位对所述候选模型的宽度信息进行编码,得到候选模型宽度;根据所述候选模型深度与所述候选模型宽度,预测所述候选模型在边缘设备运行的模型时延;其中,所述预设深度参数位与所述预设宽度参数位均是与寄存器的状态位一一对应的;当所述模型时延满足时延预算条件时,所述候选模型为待搜索模型;
根据所述模型筛选数据计算所述待搜索模型的模型精度;
根据所述模型精度,确定所述待搜索模型对应的目标模型。
2.根据权利要求1所述的方法,其特征在于,所述根据预设宽度参数位对所述候选模型的宽度信息进行编码,得到候选模型宽度,包括:
在所述候选模型存在的第一类网络层中,确定所述第一类网络层存在的第一类通道和不存在的第二类通道;
将所述第一类通道对应的预设宽度参数位编码为第一宽度值;
将所述第二类通道对应的预设宽度参数位编码为第二宽度值;
根据依序排列的所述第一宽度值与所述第二宽度值,确定候选模型宽度。
3.根据权利要求2所述的方法,其特征在于,所述候选模型宽度包括编码后的各组宽度参数位;样本模型的每一网络层通道众数是一组宽度参数位对应的数据量整倍数。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述候选模型深度与所述候选模型宽度,预测所述候选模型对应的模型时延,包括:
对候选模型深度与候选模型宽度进行特征拼接,得到候选模型架构特征;
通过时延预测器,预测所述候选模型架构特征对应的模型时延。
5.根据权利要求1所述的方法,其特征在于,所述根据所述模型筛选数据计算所述待搜索模型的模型精度,包括:
将所述模型筛选数据输入所述待搜索模型进行处理,输出所述待搜索模型的模型预测值;
根据所述模型预测值的梯度变化程度,确定所述待搜索模型的模型精度。
6.一种时延预测器训练方法,其特征在于,包括:
获取样本模型与对应的时延样本;
确定所述样本模型存在的第一类网络层和不存在的第二类网络层;将所述第一类网络层对应的预设深度参数位编码为第一深度值;将所述第二类网络层对应的预设深度参数位编码为第二深度值;根据依序排列的所述第一深度值与所述第二深度值,确定样本模型深度;
根据预设宽度参数位对所述样本模型的宽度信息进行编码,得到样本模型宽度;所述预设深度参数位与所述预设宽度参数位均是与寄存器的状态位一一对应的;
根据所述样本模型深度与所述样本模型宽度,生成样本模型架构特征;
基于所述样本模型架构特征和所述时延样本训练时延预测器,得到已训练的时延预测器;
其中,所述已训练的时延预测器,用于根据候选模型的模型架构参数,预测所述候选模型在边缘设备上运行的模型时延。
7.根据权利要求6所述的方法,其特征在于,所述获取样本模型与对应的时延样本,包括:
获取样本模型在不同宽度的等深度模型,以及所述样本模型在不同深度的等宽度模型;
在不同边缘设备中,分别通过所述等深度模型与所述等宽度模型确定各自的时延。
8.一种模型搜索装置,其特征在于,包括:
第一获取模块,用于获取候选模型与对应的模型筛选数据;
时延模块,用于确定所述候选模型存在的第一类网络层和不存在的第二类网络层;将所述第一类网络层对应的预设深度参数位编码为第一深度值;将所述第二类网络层对应的预设深度参数位编码为第二深度值;根据依序排列的所述第一深度值与所述第二深度值,确定候选模型深度;根据预设宽度参数位对所述候选模型的宽度信息进行编码,得到候选模型宽度;根据所述候选模型深度与所述候选模型宽度,预测所述候选模型在边缘设备运行的模型时延;所述预设深度参数位与所述预设宽度参数位均是与寄存器的状态位一一对应的;当所述模型时延满足时延预算条件时,所述候选模型为待搜索模型;
精度模块,用于根据所述模型筛选数据计算所述待搜索模型的模型精度;
搜索模块,用于根据所述模型精度,确定所述待搜索模型对应的目标模型。
9.一种时延预测器训练装置,其特征在于,包括:
第二获取模块,用于获取样本模型与对应的时延样本;
深度编码模块,用于确定所述样本模型存在的第一类网络层和不存在的第二类网络层;将所述第一类网络层对应的预设深度参数位编码为第一深度值;将所述第二类网络层对应的预设深度参数位编码为第二深度值;根据依序排列的所述第一深度值与所述第二深度值,确定样本模型深度;
宽度编码模块,用于根据预设宽度参数位对所述样本模型的宽度信息进行编码,得到样本模型宽度;所述预设深度参数位与所述预设宽度参数位均是与寄存器的状态位一一对应的;
生成模块,用于根据所述样本模型深度与所述样本模型宽度,生成样本模型架构特征;
训练模块,用于基于所述样本模型架构特征和所述时延样本训练时延预测器,得到已训练的时延预测器;
其中,所述已训练的时延预测器,用于根据候选模型的模型架构参数,预测所述候选模型在边缘设备运行的模型时延。
10.一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310753544.4A CN116522999B (zh) | 2023-06-26 | 2023-06-26 | 模型搜索与时延预测器训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310753544.4A CN116522999B (zh) | 2023-06-26 | 2023-06-26 | 模型搜索与时延预测器训练方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116522999A CN116522999A (zh) | 2023-08-01 |
CN116522999B true CN116522999B (zh) | 2023-12-15 |
Family
ID=87401455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310753544.4A Active CN116522999B (zh) | 2023-06-26 | 2023-06-26 | 模型搜索与时延预测器训练方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116522999B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109948795A (zh) * | 2019-03-11 | 2019-06-28 | 驭势科技(北京)有限公司 | 一种确定网络结构精度和延时优化点的方法和装置 |
CN112784949A (zh) * | 2021-01-28 | 2021-05-11 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种基于进化计算的神经网络架构搜索方法和系统 |
CN113283426A (zh) * | 2021-04-30 | 2021-08-20 | 南京大学 | 基于多目标神经网络搜索的嵌入式目标检测模型生成方法 |
CN114387490A (zh) * | 2021-12-04 | 2022-04-22 | 天翼电子商务有限公司 | 基于NAS搜索的端侧OCR识别系统的Backbone设计 |
CN114897126A (zh) * | 2022-05-17 | 2022-08-12 | Oppo广东移动通信有限公司 | 时延预测方法及装置、电子设备、存储介质 |
CN115081622A (zh) * | 2022-07-13 | 2022-09-20 | 平安科技(深圳)有限公司 | 神经网络结构搜索优化方法、装置及设备 |
CN116151324A (zh) * | 2023-02-28 | 2023-05-23 | 东南大学 | 基于图神经网络的rc互连延时预测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11710026B2 (en) * | 2021-11-29 | 2023-07-25 | Deepx Co., Ltd. | Optimization for artificial neural network model and neural processing unit |
-
2023
- 2023-06-26 CN CN202310753544.4A patent/CN116522999B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109948795A (zh) * | 2019-03-11 | 2019-06-28 | 驭势科技(北京)有限公司 | 一种确定网络结构精度和延时优化点的方法和装置 |
CN112784949A (zh) * | 2021-01-28 | 2021-05-11 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种基于进化计算的神经网络架构搜索方法和系统 |
CN113283426A (zh) * | 2021-04-30 | 2021-08-20 | 南京大学 | 基于多目标神经网络搜索的嵌入式目标检测模型生成方法 |
CN114387490A (zh) * | 2021-12-04 | 2022-04-22 | 天翼电子商务有限公司 | 基于NAS搜索的端侧OCR识别系统的Backbone设计 |
CN114897126A (zh) * | 2022-05-17 | 2022-08-12 | Oppo广东移动通信有限公司 | 时延预测方法及装置、电子设备、存储介质 |
CN115081622A (zh) * | 2022-07-13 | 2022-09-20 | 平安科技(深圳)有限公司 | 神经网络结构搜索优化方法、装置及设备 |
CN116151324A (zh) * | 2023-02-28 | 2023-05-23 | 东南大学 | 基于图神经网络的rc互连延时预测方法 |
Non-Patent Citations (1)
Title |
---|
自动化所智能感知与计算研究中心团队提出多自由度网络架构协同搜索新方法;高科技与产业化(第08期);71 * |
Also Published As
Publication number | Publication date |
---|---|
CN116522999A (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522942B (zh) | 一种图像分类方法、装置、终端设备和存储介质 | |
CN113222700B (zh) | 基于会话的推荐方法及装置 | |
KR20190052893A (ko) | 뉴럴 네트워크 연산을 위한 전처리 장치 및 방법 | |
CN110083125B (zh) | 一种基于深度学习的机床热误差建模方法 | |
CN116126341A (zh) | 模型编译方法、装置、计算机设备及计算机可读存储介质 | |
CN112381227A (zh) | 神经网络生成方法、装置、电子设备及存储介质 | |
CN102713974B (zh) | 学习装置、识别装置、学习识别系统和学习识别装置 | |
CN111508000A (zh) | 基于参数空间噪声网络的深度强化学习目标跟踪方法 | |
CN112966754B (zh) | 样本筛选方法、样本筛选装置及终端设备 | |
CN116522999B (zh) | 模型搜索与时延预测器训练方法、装置、设备及存储介质 | |
CN110083732B (zh) | 图片检索方法、装置及计算机存储介质 | |
CN113947177A (zh) | 一种量化校准方法、计算装置和计算机可读存储介质 | |
CN108229572B (zh) | 一种参数寻优方法及计算设备 | |
CN113704565B (zh) | 基于全局区间误差的学习型时空索引方法、装置及介质 | |
CN115545168A (zh) | 基于注意力机制和循环神经网络的动态QoS预测方法及系统 | |
Zhang et al. | Learning to binarize convolutional neural networks with adaptive neural encoder | |
CN115392594A (zh) | 一种基于神经网络和特征筛选的用电负荷模型训练方法 | |
CN115511070A (zh) | 模型训练方法、装置及可读存储介质 | |
CN115601550B (zh) | 模型确定方法、装置、计算机设备及计算机可读存储介质 | |
CN117424198A (zh) | 基于数据知识联合驱动的电力负荷预测方法和装置 | |
CN117113818A (zh) | 微架构设计空间探索方法、装置和计算机设备 | |
Li et al. | A Novel Alternate Point-taking Strategy for Surrogate-Assisted Evolutionary Algorithm | |
CN116737607A (zh) | 样本数据缓存方法、系统、计算机设备和存储介质 | |
CN116312741A (zh) | 培养基配方优化方法、装置、计算机设备和存储介质 | |
Wendlinger et al. | Pooling Graph Convolutional Networks for Structural Performance Prediction |
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 |