一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

智能体部署神经网络模型的方法、装置及存储介质与流程

2022-03-16 13:14:38 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,特别是涉及一种智能体部署神经网络模型的方法、装置及存储介质。


背景技术:

2.神经网络模型搜索目前成为一种模型设计的手段,目前主要分为两个方向:第一基于强化学习的神经网络模型搜索,第二是基于差分的神经网络模型搜索。差分的神经网络模型搜索不能够把芯片底层信息反馈到模型设计层面上来。
3.神经网络模型压缩的方法包括剪枝、量化、蒸馏等,其中剪枝主要是以最小化模型的flops进行模型压缩,但是flops只是反馈了浮点乘加计算的次数,并不能准确反馈底层芯片推理的时间信息;量化主要是把模型的参数由float32转为int8、int16等整形数据,然后在整形数据空间完成计算,减少了数据存储和计算量。现有技术中为了保持模型的精度,仍然有很多情况需要对模型进行混合bit量化,比如int8和int16的数据混合,混合量化类似神经网络搜索同样可以进行强化学习和差分两种方式进行自动化的搜索;编译器图优化编译器把训练好的神经网络解析后通过算子融合和对计算图的划分实现简化计算图减少推理时间的目的。现有的网络模型通过预先设定的规则进行部署,存在不够灵活,并且推理时间长。
4.针对上述的现有技术中存在的现有的网络模型通过预先设定的规则进行部署,存在不够灵活以及推理时间长的技术问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明公开的实施例提供了一种智能体部署神经网络模型的方法、装置及存储介质,以至少解决现有技术中存在的现有的网络模型通过预先设定的规则进行部署,存在不够灵活以及推理时间长的技术问题。
6.根据本发明公开实施例的一个方面,提供了一种智能体部署神经网络模型的方法,包括:将待部署至智能体上的神经网络模型进行搜索剪枝,确定剪枝网络模型;通过网络微调训练剪枝网络模型,确定剪枝网络模型的第一模型精度值;在第一模型精度值达到预先设定的精度指标的情况下,将剪枝网络模型进行混合量化以及编译器图优化,确定第一推理状态矩阵,并将第一推理状态矩阵进行编码反馈至智能体。
7.根据本发明公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
8.根据本发明公开实施例的另一个方面,还提供了一种智能体部署神经网络模型的装置,包括:第一确定模块,用于将待部署至智能体上的神经网络模型进行搜索剪枝,确定剪枝网络模型;第二确定模块,用于通过网络微调训练剪枝网络模型,确定剪枝网络模型的第一模型精度值;以及第三确定模块,用于在第一模型精度值达到预先设定的精度指标的情况下,将剪枝网络模型进行混合量化以及编译器图优化,确定第一推理状态矩阵,并将第
一推理状态矩阵进行编码反馈至智能体。
9.根据本发明公开实施例的另一个方面,还提供了一种智能体部署神经网络模型的装置,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:将待部署至智能体上的神经网络模型进行搜索剪枝,确定剪枝网络模型;通过网络微调训练剪枝网络模型,确定剪枝网络模型的第一模型精度值;在第一模型精度值达到预先设定的精度指标的情况下,将剪枝网络模型进行混合量化以及编译器图优化,确定第一推理状态矩阵,并将第一推理状态矩阵进行编码反馈至智能体。
10.在本发明公开实施例中,综合了从上层模型搜索设计与剪枝、中间的混合量化以及底层的编译器图优化三个主要模块于一体进行综合的调整优化,同时以智能体硬件芯片的模拟仿真结果进行反馈奖励,充分利用了底层芯片硬件的结构信息,把不合理的模型设计、冗余的网络层连接、以及不合理的混合量化的策略和编译器图优化策略最大程度上进行规避。通过智能体实现模型搜索与剪枝,然后实现图优化,多次迭代寻优,实现缩短推理时间。达到了能够针对不同的硬件架构设计不同的高效执行的网络结构充分利用底层芯片的计算存储资源的效果。进而解决了现有技术中存在的现有的网络模型通过预先设定的规则进行部署,存在不够灵活以及推理时间长的技术问题。
附图说明
11.此处所说明的附图用来提供对本发明公开的进一步理解,构成本发明的一部分,本发明公开的示意性实施例及其说明用于解释本发明公开,并不构成对本发明公开的不当限定。在附图中:
12.图1是用于实现根据本发明公开实施例1所述的方法的计算设备的硬件结构框图;
13.图2是根据本发明公开实施例1所述的智能体部署神经网络模型的系统的示意图;
14.图3是根据本发明公开实施例1的第一个方面所述的智能体部署神经网络模型的方法的流程示意图;
15.图4是根据本发明公开实施例1的第一个方面所述的智能体部署神经网络模型的方法的整体流程示意图;
16.图5是根据本发明公开实施例1的第一个方面所述的编译器图优化的流程示意图;
17.图6是根据本发明公开实施例2所述的智能体部署神经网络模型的装置的示意图;以及
18.图7是根据本发明公开实施例3所述的智能体部署神经网络模型的装置的示意图。
具体实施方式
19.为了使本技术领域的人员更好地理解本发明公开的技术方案,下面将结合本发明公开实施例中的附图,对本发明公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明公开一部分的实施例,而不是全部的实施例。基于本发明公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明公开保护的范围。
20.需要说明的是,本发明公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样
使用的数据在适当情况下可以互换,以便这里描述的本发明公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
21.实施例1
22.根据本实施例,还提供了一种智能体部署神经网络模型的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
23.本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现智能体部署神经网络模型的方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
24.应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本发明公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
25.存储器可用于存储应用软件的软件程序以及模块,如本发明公开实施例中的智能体部署神经网络模型的方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的智能体部署神经网络模型的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
26.传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
27.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
28.此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
29.图2是根据本实施例所述的智能体部署神经网络模型的系统的示意图。参照图2所示,该系统包括:计算设备100以及智能体200,其中计算设备100通过网络与所述智能体200通信连接,其中计算设备100可以是拥有计算能力的服务器、电脑以及手机等设备。其中智能体指能自主活动的软件或者硬件实体,例如智能机器人等。需要说明的是,系统中的计算设备100以及智能体200均可适用上面所述的硬件结构。
30.在上述运行环境下,根据本实施例的第一个方面,提供了一种智能体部署神经网络模型的方法,该方法由图2中所示的计算设备100实现。图3示出了该方法的流程示意图,参考图3所示,该方法包括:
31.s302:将待部署至智能体上的神经网络模型进行搜索剪枝,确定剪枝网络模型;
32.s304:通过网络微调训练剪枝网络模型,确定剪枝网络模型的第一模型精度值;以及
33.s306:在第一模型精度值达到预先设定的精度指标的情况下,将剪枝网络模型进行混合量化以及编译器图优化,确定第一推理状态矩阵,并将第一推理状态矩阵进行编码反馈至智能体。
34.正如背景技术中所述的,神经网络模型压缩的方法包括剪枝、量化、蒸馏等,其中剪枝主要是以最小化模型的flops进行模型压缩,但是flops只是反馈了浮点乘加计算的次数,并不能准确反馈底层芯片推理的时间信息;量化主要是把模型的参数由float32转为int8、int16等整形数据,然后在整形数据空间完成计算,减少了数据存储和计算量。现有技术中为了保持模型的精度,仍然有很多情况需要对模型进行混合bit量化,比如int8和int16的数据混合,混合量化类似神经网络搜索同样可以进行强化学习和差分两种方式进行自动化的搜索;编译器图优化编译器把训练好的神经网络解析后通过算子融合和对计算图的划分实现简化计算图减少推理时间的目的。现有的网络模型通过预先设定的规则进行部署,存在不够灵活,并且推理时间长。
35.有鉴于此,当需要将神经网络模型部署在智能体200上的情况下,首先计算设备100可以将待部署至智能体上的神经网络模型进行搜索剪枝,确定剪枝网络模型。其中,剪枝的目的是将冗余的神经元参数置0减小模型大小,从而减少计算参数稀疏化网络连接加快推理速度。此外网络模型剪枝可以是权重剪枝,也可以是神经元剪枝等。
36.进一步地,计算设备100通过网络微调训练剪枝网络模型,确定剪枝网络模型的第一模型精度值。其中网络微调可以是重新训练剪枝网络模型,但是训练的时间可以短暂一些。然后确定剪枝网络模型的第一模型精度值,其中第一模型精度值用来指示剪枝网络模型的精度。
37.进一步地,在第一模型精度值达到预先设定的精度指标的情况下,计算设备100可以将剪枝网络模型进行混合量化以及编译器图优化,确定第一推理状态矩阵,并将第一推理状态矩阵进行编码反馈至智能体200。
38.其中,精度指标可以是分类模型的精度指标,例如,top1:就是预测的label取最后
概率向量里面最大的那一个作为预测结果,如果预测结果中概率最大的那个分类正确,则预测正确。否则预测错误。top5:最后概率向量最大的前五名中,只要出现了正确概率即为预测正确。否则预测错误。
39.具体地,通过第一模型精度值和精度指标进行对比,确定当前训练的剪枝网络模型是否合格。当第一模型精度值合格之后,对剪枝网络模型进行混合量化和编译器图优化,确定第一推理状态矩阵。从而通过设置精度指标的寻优方法优化剪枝网络模型,使得优化过程更加灵活,适用性更强。
40.然后将第一推理状态矩阵进行编码发送至智能体200。此外,强化学习智能体200根据输入的编码状态输出对应的编码决策。其中编码决策例如一个5层的网络,有五个归一到某个区间的数字来标识比如0.10.30.40.80.9来表示需要剪枝的比例或者来标识搜索网络层的标号。总体上强化学习智能体通过获取编码奖励以及外界包括模型搜索与剪枝、混合量化以及图优化的条件状态生成下步优化的动作编码。
41.从而通过上述方式,通过设置精度指标多次迭代计算来判断搜索剪枝后的剪枝网络模型是否达到布置到智能体200上的精度指标要求,当达到精度指标要求的情况下,对剪枝网络模型进行混合量化和图优化,布置到智能体200上。通过和智能体200协同优化的方法,实现模型搜索与剪枝,然后实现图优化,多次迭代寻优,实现缩短推理时间。进而解决了现有技术中存在的现有的网络模型通过预先设定的规则进行部署,存在不够灵活以及推理时间长的技术问题。
42.可选地,该方法还包括:在第一模型精度值未达到精度指标的情况下,将第一模型精度值进行编码反馈至智能体;从智能体接收与模型精度对应的优化决策,其中优化决策是智能体按照预先设置的规则根据第一模型精度值确定的;根据优化决策,对剪枝网络模型进行搜索剪枝,确定优化剪枝网络模型;通过网络微调训练优化剪枝网络模型,确定优化剪枝网络模型的第二模型精度;以及在第二模型精度达到精度指标的情况下,将优化剪枝网络模型进行混合量化以及编译器图优化,确定第二推理状态矩阵,并将第二推理状态矩阵进行编码反馈至智能体。
43.具体地,参考图4所示,通过网络微调训练的剪枝网络模型没有达到设置的精度指标,就可以按照精度奖励的方式反馈至强化学习的智能体。预先设置规则,例如top1的精度为90%反馈0.9的精度奖励(即优化决策),如果top1的精度为80%反馈0.8的精度奖励(即优化决策),其中预设设置的规则由用户根据实际情况而定,此处不做具体限定。然后强化学习智能体根据目前剪枝网络模型搜索与剪枝的状态以及精度奖励输出下一步的优化决策给模型搜索与剪枝。如此循环直到模型搜索与剪枝后的剪枝网络模型通过网络微调能够满足设置的精度指标要求。其中,下步优化决策是智能体按照输入的精度奖励和环境关系输出下步优化决策,并且有一定随机探索性,比如输出0.5那就代表剪枝网络模型中某一层需要剪枝一半的权重。
44.进一步地,计算设备100根据接收的优化决策对剪枝网络模型进行下一步的搜索剪枝,确定第二模型精度。在第二模型精度达到预先设定的精度指标的情况下,将剪枝网络模型进行混合量化以及编译器图优化,确定第一推理状态矩阵,并将第一推理状态矩阵进行编码反馈至智能体200。
45.进一步地,通过第二模型精度和精度指标进行对比,确定当前训练的剪枝网络模
型是否合格。当第二模型精度合格之后,对剪枝网络模型进行混合量化和编译器图优化,从而确定第二推理状态矩阵,然后将第二推理状态矩阵进行编码发送至智能体200。通过设置精度指标,利用智能体实现模型搜索与剪枝,然后实现图优化,多次迭代寻优,实现缩短推理时间。
46.从而通过上述方式,本实施例提供的智能体布置神经网络模型的方法,综合了从上层模型搜索设计与剪枝、中间的混合量化以及底层的编译器图优化三个主要模块于一体进行综合的调整优化,同时以智能体硬件芯片的模拟仿真结果进行反馈奖励,充分利用了底层芯片硬件的结构信息,把不合理的模型设计、冗余的网络层连接、以及不合理的混合量化的策略和编译器图优化策略最大程度上进行规避。智能体实现模型搜索与剪枝,然后实现图优化,多次迭代寻优,实现缩短推理时间。达到了能够针对不同的硬件架构设计不同的高效执行的网络结构充分利用底层芯片的计算存储资源的效果。
47.可选地,将剪枝网络模型进行混合量化的操作,包括:将剪枝网络模型的每层候选操作进行0-1编码;以及将剪枝网络模型的通道进行0-1编码,确定混合量化编码图,其中0-1编码中0标识8字节以及1标识16字节。
48.具体地,参考图5所示,示出了剪枝网络模型的示意图,其中每个节点代表每层网络的候选操作,例如算子1到算子n 2。混合量化将每个算子进行0-1编码,混合量化以8bit和16bit量化为例,进行0与1之间编码。参考图5所示,将剪枝网络模型的每个通道西宁0-1编码。从而通过上述方式,实现了将剪枝网络模型混合量化的结果,达到增加推理速度的效果。
49.可选地,将混合量化编码图进行编译器图优化的操作,包括:对混合量化编码图的连接点进行0-1图编码,确定第一推理状态矩阵,其中0-1图编码中0表示组合以及1表示拆分。
50.具体地,参考图5所示,编译器图优化对混合量化编码图每个连接点进行0与1的编码,0表示组合在一起,1表示拆分,最终组合起来就是状态矩阵(例如:[0,1,0,1,1,1,0,1,1]):
[0051][0052][0053]
[y
1 ... yn]
[0054]
[z
1 ... zn]
[0055]
其中,表示网络每层的候选操作比如:1*1卷积、3*3卷积、5*5卷积以及最大池化操作等等,每层有i个候选操作,一共有n层。表示网络有n层,每层最大的通道数为j。y1…yn
表示网络模型有n层,编码值为0与1,0表示8bit,1表示16bit;z1…
zm表示网络有m个连接点。其中,图5所示m=11。
[0056]
从而通过上述方式,对混合量化的编码图进行图优化,将神经网络模型转成支持硬件(智能体)上可执行的算子。
[0057]
可选地,将待部署至智能体上的神经网络模型进行搜索剪枝,确定剪枝网络模型的操作,包括:在网络模型搜索空间中,利用网络模型生成器生成神经网络模型;训练神经网络模型,并对训练完成的网络模型进行剪枝,得到剪枝网络模型;以及用剪枝网络模型的性能指标更新网络模型生成器,直至达到预设的停止条件。
[0058]
具体地,构建网络模型搜索空间,即待搜索网络结构的候选集合。网络模型生成器可以用于随机生成一个网络模型,或者生成满足模型速度约束条件的网络模型等,作为初始网络模型。然后,根据不同场景的训练数据训练初始网络模型,得到最优的参数。例如,在分类任务中,利用待分类的图片或视频等训练数据集合输入至初始网络模型中进行训练,得到最优的参数序列,以利用最优的参数序列得到训练完成的网络模型。对训练完成的网络模型进行剪枝,保留重要的参数,裁剪冗余的参数,提高网络模型的速度。然后,利用剪枝网络模型的性能指标作为损失函数,来更新网络模型生成器。以更新后得到的网络模型生成器生成的网络模型作为神经网络模型搜索的结果。当达到预设的停止条件时,网络模型生成器更新停止。利用更新停止后的网络模型生成器生成精度和速度达到最优的神经网络模型。
[0059]
此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
[0060]
从而根据本实施例,提供的智能体布置神经网络模型的方法,综合了从上层模型搜索设计与剪枝、中间的混合量化以及底层的编译器图优化三个主要模块于一体进行综合的调整优化,同时以智能体硬件芯片的模拟仿真结果进行反馈奖励,充分利用了底层芯片硬件的结构信息,把不合理的模型设计、冗余的网络层连接、以及不合理的混合量化的策略和编译器图优化策略最大程度上进行规避。通过智能体200实现模型搜索与剪枝,然后实现图优化,多次迭代寻优,实现缩短推理时间。达到了能够针对不同的硬件架构设计不同的高效执行的网络结构充分利用底层芯片的计算存储资源的效果。进而解决了现有技术中存在的现有的网络模型通过预先设定的规则进行部署,存在不够灵活以及推理时间长的技术问题。
[0061]
此外,本发明实施例中,网络模型经过搜索剪枝再通过网络微调训练判断是否满足设置精度要求,如果不精度奖励反馈给智能体,如此反复直到搜索剪枝后的网络模型能够满足设置精度要求;然后再进行混合量化、图优化之后就可以编译,最后通过推理仿真输出模型的推理时间,然后推理时间作为强化学习智能体的性能奖励反馈给智能体更新权重。如果反复循环迭代输出搜索到比较好的结果。其中精度奖励和性能奖励都是0-1之间的数据,两者不同时反馈。
[0062]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0063]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施
例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0064]
实施例2
[0065]
图6示出了根据本实施例所述的智能体部署神经网络模型的装置600,该装置600与根据实施例1的第一个方面所述的方法相对应。参考图6所示,该装置600包括:第一确定模块610,用于将待部署至智能体上的神经网络模型进行搜索剪枝,确定剪枝网络模型;第二确定模块620,用于通过网络微调训练剪枝网络模型,确定剪枝网络模型的第一模型精度值;以及第三确定模块630,用于在第一模型精度值达到预先设定的精度指标的情况下,将剪枝网络模型进行混合量化以及编译器图优化,确定第一推理状态矩阵,并将第一推理状态矩阵进行编码反馈至智能体。
[0066]
可选地,装置600还包括:反馈模块,用于在第一模型精度值未达到精度指标的情况下,将第一模型精度值进行编码反馈至智能体;接收模块,用于从智能体接收与模型精度对应的优化决策,其中优化决策是智能体按照预先设置的规则根据第一模型精度值确定的;第四确定模块,用于根据优化决策,对剪枝网络模型进行搜索剪枝,确定优化剪枝网络模型;第五确定模块,用于通过网络微调训练优化剪枝网络模型,确定优化剪枝网络模型的第二模型精度;以及第六确定模块,用于在第二模型精度达到精度指标的情况下,将优化剪枝网络模型进行混合量化以及编译器图优化,确定第二推理状态矩阵,并将第二推理状态矩阵进行编码反馈至智能体。
[0067]
可选地,第二确定模块620包括:第一编码子模块,用于将剪枝网络模型的每层候选操作进行0-1编码;以及第二编码子模块,用于将剪枝网络模型的通道进行0-1编码,确定混合量化编码图,其中0-1编码中0标识8字节以及1标识16字节。
[0068]
可选地,第二确定模块620,包括:第三编码子模块,用于对混合量化编码图的连接点进行0-1图编码,确定第一推理状态矩阵,其中0-1图编码中0表示组合以及1表示拆分。
[0069]
可选地,第一确定模块610包括:生成子模块,用于在网络模型搜索空间中,利用网络模型生成器生成神经网络模型;训练子模块,用于训练神经网络模型,并对训练完成的网络模型进行剪枝,得到剪枝网络模型;以及更新子模块,用于用剪枝网络模型的性能指标更新网络模型生成器,直至达到预设的停止条件。
[0070]
从而根据本实施例,综合了从上层模型搜索设计与剪枝、中间的混合量化以及底层的编译器图优化三个主要模块于一体进行综合的调整优化,同时以智能体硬件芯片的模拟仿真结果进行反馈奖励,充分利用了底层芯片硬件的结构信息,把不合理的模型设计、冗余的网络层连接、以及不合理的混合量化的策略和编译器图优化策略最大程度上进行规避。通过智能体实现模型搜索与剪枝,然后实现图优化,多次迭代寻优,实现缩短推理时间。达到了能够针对不同的硬件架构设计不同的高效执行的网络结构充分利用底层芯片的计算存储资源的效果。进而解决了现有技术中存在的现有的网络模型通过预先设定的规则进行部署,存在不够灵活以及推理时间长的技术问题。
[0071]
实施例3
[0072]
图7示出了根据本实施例所述的智能体部署神经网络模型的装置700,该装置700与根据实施例1的第一个方面所述的方法相对应。参考图7所示,该装置700包括:处理器710;以及存储器720,与处理器710连接,用于为处理器710提供处理以下处理步骤的指令:将待部署至智能体上的神经网络模型进行搜索剪枝,确定剪枝网络模型;通过网络微调训练剪枝网络模型,确定剪枝网络模型的第一模型精度值;在第一模型精度值达到预先设定的精度指标的情况下,将剪枝网络模型进行混合量化以及编译器图优化,确定第一推理状态矩阵,并将第一推理状态矩阵进行编码反馈至智能体。
[0073]
可选地,存储器720还用于为处理器710提供处理以下处理步骤的指令:在第一模型精度值未达到精度指标的情况下,将第一模型精度值进行编码反馈至智能体;从智能体接收与模型精度对应的优化决策,其中优化决策是智能体按照预先设置的规则根据第一模型精度值确定的;根据优化决策,对剪枝网络模型进行搜索剪枝,确定优化剪枝网络模型;通过网络微调训练优化剪枝网络模型,确定优化剪枝网络模型的第二模型精度;以及在第二模型精度达到精度指标的情况下,将优化剪枝网络模型进行混合量化以及编译器图优化,确定第二推理状态矩阵,并将第二推理状态矩阵进行编码反馈至智能体。
[0074]
可选地,将剪枝网络模型进行混合量化的操作,包括:将剪枝网络模型的每层候选操作进行0-1编码;以及将剪枝网络模型的通道进行0-1编码,确定混合量化编码图,其中0-1编码中0标识8字节以及1标识16字节。
[0075]
可选地,将混合量化编码图进行编译器图优化的操作,包括:对混合量化编码图的连接点进行0-1图编码,确定第一推理状态矩阵,其中0-1图编码中0表示组合以及1表示拆分。
[0076]
可选地,将待部署至智能体上的神经网络模型进行搜索剪枝,确定剪枝网络模型的操作,包括:在网络模型搜索空间中,利用网络模型生成器生成神经网络模型;训练神经网络模型,并对训练完成的网络模型进行剪枝,得到剪枝网络模型;以及用剪枝网络模型的性能指标更新网络模型生成器,直至达到预设的停止条件。
[0077]
从而根据本实施例,综合了从上层模型搜索设计与剪枝、中间的混合量化以及底层的编译器图优化三个主要模块于一体进行综合的调整优化,同时以智能体硬件芯片的模拟仿真结果进行反馈奖励,充分利用了底层芯片硬件的结构信息,把不合理的模型设计、冗余的网络层连接、以及不合理的混合量化的策略和编译器图优化策略最大程度上进行规避。通过智能体实现模型搜索与剪枝,然后实现图优化,多次迭代寻优,实现缩短推理时间。达到了能够针对不同的硬件架构设计不同的高效执行的网络结构充分利用底层芯片的计算存储资源的效果。进而解决了现有技术中存在的现有的网络模型通过预先设定的规则进行部署,存在不够灵活以及推理时间长的技术问题。
[0078]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0079]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0080]
在本发明所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互
之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0081]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0082]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0083]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccess memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0084]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献