计算;推算;计数设备的制造及其应用技术1.本技术数据处理技术领域,具体涉及一种量化参数的确认方法、装置、电子设备及存储介质。背景技术:2.随着物联网的发展,在边缘端部署人工智能模型的需求越来越普及。作为人工智能主流之一的卷积神经网络有着模型本身参数量大的特点,如何运用边缘端有限的硬件资源来实现高速有效的ai功能是一个难点,为了攻克此难点,各大厂商根据自有平台量身定制了量化方案,但对于其他平台,则有其限制性,无法达到预定的目标。3.相关技术中,对于定制量化方案过程中,对于如何满足各平台定制方案,根据性能要求选择合适的精度是需要解决的问题。技术实现要素:4.鉴于上述问题,本技术提供一种量化参数的确认方法、装置、电子设备及存储介质,以至少解决相关技术中量化算法无法适应平台定制方案的问题。5.第一方面,本技术实施例提供了一种量化参数的确认方法,包括:获取算法模型的校准集;将所述校准集输入至算法模型确定所述算法模型中各层级的定点运算输出结果,其中,所述定点运算输出结果的位宽为预先设定的;基于定点运算输出结果采用相对熵散度确定各个层级对应的第一初始量化系数;基于各个层级对应的第一初始量化系数确定所述位宽对应的目标量化系数。6.结合第一方面,在一些实施例中,所述基于定点运算输出结果采用相对熵散度确定各个层级对应的第一初始量化系数,包括:7.基于定点运算输出结果采用相对熵散度得到各个层级的第二初始量化系数;8.将各个层级最小的第二初始量化系数确定为第一初始量化系数。9.结合第一方面,在一些实施例中,所述基于各个层级的第一初始量化系数确定所述位宽对应的目标量化系数,包括:10.将最小的第一初始量化系数确定为所述位宽对应的目标量化系数。11.结合第一方面,在一些实施例中,量化参数的确认方法还包括:12.获取位宽对应的样本数据;13.将所述样本数据输入至算法模型确认各层级的层精度损失;14.基于所述层精度损失调整所述定点运算输出结果的位宽。15.结合第一方面,在一些实施例中,基于所述层精度损失调整所述定点运算输出结果的位宽,包括:16.确认所述层精度损失的设定阈值;17.在所述层精度损失大于设定阈值的情况下,增加所述定点运算输出结果的位宽,并调整所述目标量化系数。18.结合第一方面,在一些实施例中,所述基于所述层精度损失调整所述定点运算输出结果的位宽,还包括:19.在所述层精度损失小于或等于设定阈值的情况下,确定所述位宽为目标位宽。20.结合第一方面,在一些实施例中,所述算法模型中各层级包括:卷积层、批归一化层和激活层。21.第二方面,本技术实施例提供了一种量化参数的确认装置,包括:获取模块,用于获取算法模型的校准集。第一确认模块,用于将所述校准集输入至算法模型确定所述算法模型中各层级的定点运算输出结果,其中,所述定点运算输出结果的位宽为预先设定的。第二确认模块,用于确认所述算法模型中进行卷积过程的各层级对应计算模块。第三确认模块,用于基于各个层级对应的第一初始量化系数确定所述位宽对应的目标量化系数。22.第三方面,本技术实施例提供一种电子设备,该设备包括:至少一个处理器和存储器;处理器用于执行存储器中储存的计算机程序,以实现如第一方面任一项实施方式所介绍的量化参数的确认方法。23.第四方面,本技术实施例提供一种计算机存储介质,该计算机存储介质储存有一个或多个程序,一个或者多个程序可被如第三方面介绍的电子设备执行,以实现如第一方面任一项实施方式所介绍的量化参数的确认方法。24.本技术实施例提供的一种量化参数的确认方法、装置、电子设备及存储介质,在该方法中,通过获取算法模型的校准集,将校准集输入至算法模型确定算法模型中各层级的定点运算输出结果,其中,定点运算输出结果的位宽为预先设定的,基于定点运算输出结果采用相对熵散度确定各个层级对应的第一初始量化系数,基于各个层级对应的第一初始量化系数确定位宽对应的目标量化系数,解决了相关技术中算法量化方案不能满足各平台定制方案的问题,使量化过程可以适配合适的精度,提高了自研卷积神经网络处理器的性能。25.应当理解,本部分所描述的内容并非旨在标识本技术的实施例的关键或重要特征,也不用于限制本技术的范围。本技术的其它特征将通过以下的说明书而变得容易理解。附图说明26.在下文中将基于实施例并参考附图来对本技术进行更详细的描述。27.图1示出了本技术一实施例中提出的一种量化参数的确认方法的流程示意图;28.图2示出了本技术一实施例中提出的一种量化参数的确认方法中步骤s130中的一种流程示意图;29.图3示出了本技术一实施例中提出的一种量化参数的确认方法中的另一种流程示意图;30.图4示出了本技术一实施例中提出的一种量化参数的确认方法中多精度cnp的一种计算流程示例图;31.图5示出了本技术一实施例中提出的一种量化参数的确认方法中一种量化处理方案示意图;32.图6示出了本技术一实施例中提出的一种量化参数的确认方法中一种量化系数及位宽的确认流程示意图;33.图7示出了本技术一实施例中提出的一种量化参数的确认装置的结构框图;34.图8示出了本技术实施例中提出的用于执行根据本技术实施例的量化参数的确认方法的一种电子设备的结构框图;35.图9示出了本技术实施例中提出的用于保存或者携带实现根据本技术实施例的量化参数的确认方法的计算机可读存储介质。具体实施方式36.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。37.在相关技术中,存在有设计的多精度cnp无法运用此量化算法来达到目标性能,且在定制量化方案过程中,如何选取合适的精度,来实现自研cnp的性能最大化,则是需要解决的难题。38.针对上述问题,申请人提出了本技术实施例提供的量化参数的确认方法、装置、电子设备及存储介质,应用在卷积神经网络处理器,通过获取算法模型的校准集,将校准集输入至算法模型确定算法模型中各层级的定点运算输出结果,其中,定点运算输出结果的位宽为预先设定的,基于定点运算输出结果采用相对熵散度确定各个层级对应的第一初始量化系数,基于各个层级对应的第一初始量化系数确定位宽对应的目标量化系数,以设计量身定制的自适应量化精度方案,实现端对端的运算时不出现溢出问题,发挥硬件的最大性能。其中,量化参数的确认方法在后续的实施例中进行详细说明。39.下面针对本技术实施例提供的量化参数的确认方法的应用场景进行介绍:40.本技术实施例的量化参数的确认方法可以是应用于如图7所示的量化参数的确认装置400与电子设备200(图8)中,其中,电子设备可以是,例如,手机、电脑、便携式计算机等终端设备,本技术不对其进行限定。41.下面将结合附图具体描述本技术的各项实施例。42.请参阅图1,图1为本技术实施例中提供的一种量化参数的确认方法的流程示意图,该方法可以包括s110至s140。43.s110:获取算法模型的校准集。44.本技术实施例中,校准集指的是ai模型的测试集里的一个子集,其可以从测试集里抽取一部分出来作为校准集,其可以包括图片。此外,算法模型可以是通过pc端通用训练框架预先训练出来的ai模型。45.s120:将校准集输入至算法模型确定算法模型中各层级的定点运算输出结果,其中,定点运算输出结果的位宽为预先设定的。46.在本技术实施例中,位宽可以包括16bit/10bit/8bit等,对于量化精度来说,bit数越大,精度越高,同时,bit数越小,量化后的权重参数占用的空间越小。此外,不同的定点运算输出结果的位宽可以是根据用户需求提前进行设置的,为了使模型最小,性能最高。定点运算指的是整数运算,ai模型原始权重参数都是浮点型的,而cnp只支持定点运算,所以需要将权重参数量化为整型。各层级可以指卷积神经网络模型中的卷积层、批归一化层和激活层等。47.s130:基于定点运算输出结果采用相对熵散度确定各个层级对应的第一初始量化系数。48.在本技术实施例中,可以通过采用相对熵散度来获取三个计算结果输出层的量化系数,然后以此为基准来进行量化系数的选取。49.s140:基于各个层级对应的第一初始量化系数确定位宽对应的目标量化系数。50.在本技术实施例中,由于cnp可以设定为具有多精度的特性,为了更好的发挥硬件特性,需要针对不同的模型进行量化的系数以及bit数的选取,即对各层级对应的第一初始量化系数确定位宽对应的目标量化系数。51.在本实施例中,针对自研卷积神经网络加速器(cnp,convolution neural network processor)的硬件特性,设计量身定制的自适应量化精度方案,实现端对端的运算时不出现溢出问题,发挥硬件的最大性能。52.请参阅图2,图2为本技术实施例中提供的一种量化参数的确认方法中s130中的一种流程示意图,该方法可以包括s210至s220。53.步骤s210:基于定点运算输出结果采用相对熵散度得到各个层级的第二初始量化系数。54.在本技术实施例中,在进行kl散度获取的量化系数能够极大程度映射模型验证集在输出层的浮点结果在有效范围内。因此,量化方案中设计的量化系数需保证小于或等于kl散度计算出的量化系数,通过设置两层比较来得到一个合适的量化系数。当然在本技术实施例中还可以设置更多层来进行比较。55.步骤s220:将各个层级最小的第二初始量化系数确定为第一初始量化系数。56.在本技术实施例中,通过选取各个层级最小的第二初始量化系数来得到对应的量化系数,来进一步提高算法模型的精度。57.在一些实施例中,一种量化参数的确认方法中s140还包括:将最小的第一初始量化系数确定为位宽对应的目标量化系数。58.在本技术实施例中,考虑到位宽对于模型在运算中的影响,通过将最小的第一初始量化系数确定为位宽对应的目标量化系数来使模型最小化。59.考虑到针对自研cnp的硬件特性,不同模型的量化不同层级之间采用不同的bit数,为减小模型的大小,使其具有普适性。60.请参阅图3,图3为本技术实施例中提供的一种量化参数的确认方法中的另一种流程示意图,该方法可以包括s310至s330。61.s310:获取位宽对应的样本数据。62.s320:将样本数据输入至算法模型确认各层级的层精度损失。63.s330:基于层精度损失调整定点运算输出结果的位宽。64.在本技术实施例中,在位宽数据较大或者较小的情况下,可以通过将样本数据来进行测试确定各个层级层精度损伤,并根据层精度损伤来自适应性调整位置,以使得满足当前的最佳的运算性能。65.在一些实施例中,基于层精度损失调整定点运算输出结果的位宽,可以包括s332至s334。66.s332:确认层精度损失的设定阈值。67.在本技术实施例中,层精度损失的设定阈值可以是预先在训练模型中确定好的。68.s334:在层精度损失大于设定阈值的情况下,增加定点运算输出结果的位宽,并调整目标量化系数。69.在本技术实施例中,通过与阈值进行比较以此来计算层精度损失,根据层精度损失来确认是否达到量化目标,如果层精度损失过大,说明量化损失太大,需要调整量化bit数,使用更多的bit数(增加精度)来达到减小精度损失。70.在一些实施例中,基于层精度损失调整定点运算输出结果的位宽,可以包括s336。71.s336:在层精度损失小于或等于设定阈值的情况下,确定位宽为目标位宽。72.在本技术实施例中,通过与阈值进行比较,在比较结果表征当前位宽合适的情况下,这将当前位宽确认为目标位宽。73.在一些实施例中,算法模型中各层级包括:卷积层、批归一化层和激活层。74.下面针对本技术实施例的一种示例性应用方式进行说明,需要说明的是,本技术不限定于以下应用方式。75.请参阅图4,图4为本技术实施例中提供的一种量化参数的确认方法中一种量化处理方案示意图。76.在图4中,定点运算指的是整数运算,ai模型原始权重参数都是浮点型的,而cnp只支持定点运算,所以需要将权重参数量化为整型,input指的是ai模型输入数据,conv指的是卷积层,weight指的是卷积层的权重,conv_out指的是卷积层定点运算的输出结果;bn指的是批归一化层,bias/gamma/beta是bn层的权重参数,bn_out是bn层定点运算的输出结果;act指的是激活层,act_out是激活层定点运算的输出结果。77.请参阅图5,图5为本技术一实施例中提供的一种量化参数的确认方法中一种量化系数及位宽的确认流程示意图。78.在图5中,采用kl(相对熵)散度的模式,来获取每个block中三个计算结果输出层的量化系数c_sacle_f,bn_scale_f,act_scale_f。然后以此为基准来进行量化系数的选取。79.kl散度获取的量化系数能够极大程度映射模型验证集在输出层的浮点结果在有效范围内。因此,量化方案中设计的量化系数需保证小于或等于kl散度计算出的量化系数,本设计方案最终经过两层比较,获得最终的block量化系数。80.请参阅图6,图6为本技术一实施例中提供的一种量化参数的确认方法中一种量化系数及位宽的确认流程示意图。81.如图6所示,为了使模型最小化,性能最大化,首先选取bit数最小的8位来计算量化系数c_scale_z(z=8),然后根据图5的流程获得此block的的量化系数sacle_q,然后使用样本进行计算,以此来计算层精度损失,根据层精度损失来确认是否达到量化目标,如果层精度损失过大,说明量化损失太大,需要调整量化bit数,使用更多的bit数(增加精度)来达到减小精度损失。82.通过图6中的调整方式,最终会确认每个block的量化系数sacle和量化bit数,并且能够有效防止此block的溢出。同时,根据不同的模型不同用法使用的不同校准集能够得到不同的量化系数,此方式能够使更多的算法模型在自研cnp上获取更好的效果。83.示例性地,在通过采用yolo算法做物体检测,可以采用voc或coco数据集作为校准集;采用insightface做人脸识别应用时,可以通过用lfw数据集作为校准集。84.需要说明的是,在将一次卷积到下一次卷积之前看做一次计算模块(block)。自研的多精度cnp采用了将一个block进行一次运算加速的设计,在图5中存在每个block中可能会出现相应各层级中的结果溢出问题,因此本设计方案是在此基础上进行的设计。85.本技术首先获取训练好的算法模型和校准集,其中,算法模型通过pc端通用训练框架训练出来的ai模型,校准集通过ai模型的测试集里的一个子集,可以从测试集里抽取一部分图片出来做为校准集,来获取conv_out层,bn_out层,act_out层的运算结果溢出情况,从而确定量化系数。86.再通过图4中的cnp计算方式设计如图5中的量化系数选取流程,最终通过图6的方式进行量化系数和量化精度的选取。87.本技术以基于一种自研多精度cnp的自适应量化精度选取方案为例,可以使算法模型能在自研cnp上使用且保证一定的精度,充分发挥自研硬件特性来达到目标性能。88.请参阅图7,图7为本技术提供的一种量化参数的确认装置的结构框图,该量化参数的确认装置400包括:获取模块410、第一确认模块420、第二确认模块430以及第三确认模块430,其中:89.获取模块410,用于获取算法模型的校准集。90.第一确认模块420,用于将校准集输入至算法模型确定算法模型中各层级的定点运算输出结果,其中,定点运算输出结果的位宽为预先设定的。91.第二确认模块430,用于基于待查找图书的位置在显示面板上生成提示标识。92.第三确认模块440,用于基于各个层级对应的第一初始量化系数确定位宽对应的目标量化系数。93.量化参数的确认装置400还可以包括其他模块,其他模块与前述方法中部分内容对应,本技术中装置实施例与前述方法实施例相互对应,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。94.在本实施例提供的几个实施例中,模块互相之间的耦合可以是电性,机械或其他形式的耦合。95.另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。96.请参阅图8,图8为本技术实施例提供的一种可以执行上述量化参数的确认方法的电子设备200的结构框图,该电子设备200可以是智能手机、平板电脑、计算机或者便携式计算机等设备。97.电子设备200还包括处理器202和存储器204。其中,该存储器204中存储有可以执行前述实施例中内容的程序,而处理器202可以执行该存储器204中存储的程序。98.其中,处理器202可以包括一个或者多个用于处理数据的核以及消息矩阵单元。处理器202利用各种借口和线路连接整个电子设备200内的各个部分,通过运行或执行储存在存储器204内的指令、程序、代码集或指令集,以及调用存储在存储器204内的数据,执行电子设备200的各种功能和处理数据。可选地,处理器202可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编辑逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器202可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解码器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解码器也可以不集成到处理器中,单独通过一块通信芯片进行实现。99.存储器204可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器204可用于储存指令、程序、代码、代码集或指令集。存储器204可包括存储程序区和存储数据区,其中存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(如,用户获取随机数的指令)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端在使用中所创建的数据(如,随机数)等。100.电子设备200还可以包括网络模块以及屏幕,网络模块用于接受以及发送电磁波,实现电磁波与电信号的互相转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。网络模块可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(sim)卡、存储器等等。网络模块可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。屏幕可以进行界面内容的显示以及进行数据交互。101.请参考图9,图9示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质500中存储有程序代码510,程序代码510可被处理器调用执行上述方法实施例中所描述的方法。102.计算机可读存储介质500可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质500具有执行上述方法中的任意方法步骤的程序代码510的存储空间。这些程序代码510可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码510可以例如以适当形式进行压缩。103.本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质500中。计算机设备的处理器从计算机可读存储介质500读取该计算机指令,处理器202执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中描述的量化参数的确认方法。104.综上,本技术提供的一种一种量化参数的确认方法、装置、电子设备及存储介质,在该方法中,通过获取算法模型的校准集,将校准集输入至算法模型确定算法模型中各层级的定点运算输出结果,其中,定点运算输出结果的位宽为预先设定的,基于定点运算输出结果采用相对熵散度确定各个层级对应的第一初始量化系数,基于各个层级对应的第一初始量化系数确定位宽对应的目标量化系数,解决了相关技术中算法量化方案不能满足各平台定制方案的问题,使量化过程可以适配合适的精度,提高了自研卷积神经网络处理器的性能,且可以针对硬件特性,不同模型的量化不同层级之间采用不同的bit数,减小模型的大小,使其具有普适性。105.以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
量化参数的确认方法、装置、电子设备及存储介质与流程
作者:admin
2022-10-26 06:55:45
766
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术
- 下一篇: 空调器内部空气质量检测方法、装置、存储介质及空调器与流程
- 上一篇: 水表抄表装置的制作方法