CN111176853A - 数据量化方法、装置、计算机设备和存储介质 - Google Patents
数据量化方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111176853A CN111176853A CN202010101496.7A CN202010101496A CN111176853A CN 111176853 A CN111176853 A CN 111176853A CN 202010101496 A CN202010101496 A CN 202010101496A CN 111176853 A CN111176853 A CN 111176853A
- Authority
- CN
- China
- Prior art keywords
- data
- quantization
- current layer
- quantized
- factor
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请涉及一种数据量化方法、装置、计算机设备和存储介质。该方法包括:设备1获取神经网络的当前层的待量化的浮点型数据,根据预设的量化位宽,生成当前层的浮点型尺度因子,再根据该浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子,从而设备1可以将该量化乘数因子和量化偏移因子发送至承载神经网络的终端,以指示终端根据量化乘数因子和量化偏移因子进行前向计算。本方法中,确定量化乘数因子和量化偏移因子的过程在设备1内置的统计模块中处理,承载神经网络算法的终端根据量化乘数因子和量化偏移因子对量化后的数据进行前向计算,极大地降低了终端的数据处理量,降低了神经网络的存储资源以及计算资源的消耗。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种数据量化方法、装置、计算机设备和存储介质。
背景技术
随着科学技术的快速发展,基于深度学习的算法逐渐占据了社会生活的各个方面,例如,车载ADAS系统,交通监控系统以及人脸识别技术等。
近几年来,随着生活水平的提高,基于移动设备以及穿戴设备而开发的算法越来越多。这些都属于嵌入式应用场景,而大部分嵌入式应用场景的嵌入式设备直接采用32位浮点型或者16位半精度浮点型的计算单元进行神经网络的前向计算,但是采用32位或者16位半精度浮点型计算单元导致了硬件面积比较大,超大的硬件功耗,带宽受限,很难实时的运行比较大的神经网络模型。
因此,降低神经网络的存储资源以及计算资源的消耗成为亟待解决的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种数据量化方法、装置、计算机设备和存储介质。
第一方面,本申请提供一种数据量化方法,该方法包括:
获取神经网络的当前层的待量化数据;待量化数据表示神经网络进行前向计算的浮点型数据;待量化数据至少包括当前层的输入数据和权重数据;
根据预设的量化位宽,获取当前层的输入数据和权重数据各自对应的浮点型尺度因子;
根据当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子;量化乘数因子和量化偏移因子用于承载神经网络的终端将当前层的待量化数据量化处理为整型数据。
在其中一个实施例中,在上述根据预设的量化位宽,获取当前层的输入数据和权重数据各自对应的浮点型尺度因子之前,该方法还包括:
获取当前层的待量化数据中权重数据的绝对值的最大值;
根据绝对值的最大值,确定量化位宽。
在其中一个实施例中,上述根据预设的量化位宽,获取当前层的输入数据和权重数据各自对应的浮点型尺度因子,包括:
获取当前层的输入数据和权重数据各自对应的最大值和最小值;
根据量化位宽、以及输入数据和权重数据各自对应的最大值和最小值,确定输入数据和权重数据各自对应的浮点型尺度因子。
在其中一个实施例中,上述获取当前层的输入数据和权重数据各自对应的最大值和最小值,包括:
将输入数据和权重数据分别划分为N组子数据集;其中,N为正整数;
计算所述输入数据的各子数据集的第一参数值和所述权重数据的各子数据集的第二参数值;所述第一参数值和所述第二参数值均包括子数据集的均值、方差、最大值、最小值;
根据所述第一参数值中的均值和方差更新所述第一参数值的最大值和最小值,以及根据所述第二参数值中的均值和方差更新所述第二参数值中的最大值和最小值;
根据更新后的第一参数值中的最大值和最小值和更新后的第二参数值中的最大值和最小值,确定所述输入数据和所述权重数据各自对应的最大值和最小值。
在其中一个实施例中,上述根据当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子,包括:
根据输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的浮点型尺度因子;
根据当前层的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子。
在其中一个实施例中,该方法还包括:
将量化后的输入数据和权重数据进行前向计算,得到当前层的激活数据;当前层的激活数据用于表示当前层的下一层的输入数据。
在其中一个实施例中,上述将量化后的输入数据和权重数据进行前向计算,得到当前层的激活数据,包括:
根据量化偏移因子,对量化后的权重数据、量化后的输入数据和量化乘数因子的乘积进行偏移处理,得到当前层的激活数据。
第二方面,本申请提供一种数据量化装置,该装置包括:
第一获取模块,用于获取神经网络的当前层的待量化数据;待量化数据表示神经网络进行前向计算的浮点型数据;待量化数据至少包括当前层的输入数据和权重数据;
第二获取模块,用于根据预设的量化位宽,获取当前层的输入数据和权重数据各自对应的浮点型尺度因子;
确定模块,用于根据当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子;量化乘数因子和量化偏移因子用于承载神经网络的终端将当前层的待量化数据量化处理为整型数据。
第三方面,本申请提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述第一方面中任一项实施例所提供的数据量化方法。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一项实施例所提供的数据量化方法。
上述数据量化方法、装置、计算机设备和存储介质,设备1获取神经网络的当前层的待量化的浮点型数据,根据预设的量化位宽,生成当前层待量化数据对应的浮点型尺度因子,再根据该浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子,从而计算机设备可以将该量化乘数因子和量化偏移因子发送至承载神经网络的终端,以指示终端根据量化乘数因子和量化偏移因子进行神经网络输入数据、权重数据的量化前向计算。本方法中,设备1在确定神经网络中的待量化浮点型数据对应的量化处理所需要的浮点型尺度因子、量化乘数因子和量化偏移因子时,是将量化乘数因子和量化偏移因子的获取过程放在设备1内置的统计模块中处理,而根据量化乘数因子和量化偏移因子对神经网络的输入数据、权重数据进行量化处理则是通过承载神经网络的终端完成,这样极大地减少了终端中神经网络自身的存储资源和计算资源;且,通常,浮点型数据在进行计算或存储时占据内存空间比较多,整型数据占据内存空间较少,终端基于量化因子将神经网络中需要进行前向计算的浮点型数据量化为整型数据进行前向计算,进一步地降低了终端对于神经网络的存储资源以及计算资源的消耗。
附图说明
图1为一个实施例中数据量化方法的应用环境图;
图2为一个实施例中数据量化方法的流程示意图;
图3为另一个实施例中数据量化方法的流程示意图;
图4为另一个实施例中数据量化方法的流程示意图;
图5为另一个实施例中数据量化方法的流程示意图;
图6为另一个实施例中数据量化方法的流程示意图;
图7为一个实施例中数据量化方法的整体流程示意图;
图8为一个实施例中数据量化装置的结构框图;
图9为另一个实施例中数据量化装置的结构框图;
图10为另一个实施例中数据量化装置的结构框图;
图11为另一个实施例中数据量化装置的结构框图;
图12为另一个实施例中数据量化装置的结构框图;
图13为一个实施例中计算机设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据量化方法,可以应用于如图1所示的应用环境中。图1中包括设备1和设备2,设备1与设备2可以进行网络通信;其中,设备1可以为设备2的外部设备,也可以为服务器,该服务器可以为为独立的服务器或者是多个服务器组成的服务器集群,其主要负责获取神经网络的浮点型数据,从而根据浮点型数据确定对应的的浮点型因子、量化乘数因子、量化偏移因子;设备2为承载神经网络算法的终端,例如小设备或嵌入式设备端,其主要负责接收设备1发送的量化乘数因子、量化偏移因子,而后根据量化乘数因子和量化偏移因子,完成对神经网络中输入数据、权重数据以及各层激活数据与量化乘数因子、量化偏移因子的量化前向计算,以下实施例中均用终端表示设备2。
下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请图2-图7实施例提供的数据量化方法,其执行主体可以是设备1,也可以是数据量化装置,该数据量化装置可以通过软件、硬件或者软硬件结合的方式成为设备1的部分或全部。下述方法实施例中,均以执行主体是设备1为例来进行说明。
在一个实施例中,如图2所示,提供了一种数据量化方法,涉及从承载神经网络的终端中获取需要进行前向计算的浮点型数据,并根据该浮点型数据计算确定对应的浮点型因子、量化乘数因子以及量化偏移因子,并将该量化乘数因子以及量化偏移因子发送至终端中,以使终端进行神经网络的输入数据、权重数据的量化前向计算的具体过程,以该方法应用于图1中的设备1为例进行说明,包括以下步骤:
S201、获取神经网络的当前层的待量化数据;待量化数据表示神经网络进行前向计算的浮点型数据;待量化数据至少包括当前层的输入数据和权重数据。
其中,待量化数据指的是神经网络进行前向计算的浮点型数据,该数据包括输入数据和权重数据,该输入数据可以为图像数据,也可以为视频数据,还可以为音频数据,具体在实际应用中可根据实际场景确定,本实施例对此不作限定;其中权重数据指的是神经网络算法定义的,与输入数据相对应。
在本实施例中,设备1可以调用内置的统计模块,获取神经网络的待量化数据中的输入数据和权重数据,该统计模块具备量化计算的功能、数据统计的功能等。示例地,设备1通过统计模块获取终端中的神经网络的图像输入数据、权重数据,将该图像输入数据、权重数据保存至本地数据库中,从而根据该图像输入数据、权重数据进行对应浮点型因子以及量化因子的计算确定,本实施例对此不做限定。
S202、根据预设的量化位宽,获取当前层的输入数据和权重数据各自对应的浮点型尺度因子。
其中,预设的量化位宽指的是设备1根据待量化数据的数据规则,预先设定的量化转换后的整型数据的位宽;示例地,该量化位宽可以为8位整型数据,也可以为16位整型数据。浮点型尺度因子为设备1在对浮点型待量化数据进行整型数据的量化转换时所需的转换系数因子。
在本实施例中,设备1可以根据预先设定的量化位宽、当前层的待量化数据的最大值和最小值,对当前层的浮点型尺度因子进行求解;还可以根据预先设定的量化位宽、当前层的待量化数据的均值、方差等参数,对当前层的浮点型尺度因子进行求解,具体求解方式本实施例对此不做限定。
S203、根据当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子;量化乘数因子和量化偏移因子用于承载神经网络的终端将当前层的待量化数据量化处理为整型数据。
其中,量化乘数因子表示进行前向计算进行整型数据转换时,使激活数据符合量化位宽的乘数因子,量化偏移因子表示将转换后的激活数据按照预设的量化位宽调整时,需产生的偏移量的系数因子,一般的,量化偏移因子是对前向计算的结果与量化乘数因子的乘积进行位的偏移操作;量化乘数因子和量化偏移因子均在神经网络内部进行前向计算时使用。
在本实施例中,设备1可以直接根据当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子;还可以根据当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的浮点型尺度因子,从而根据当前层的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子,进一步地,量化偏移因子可以由量化乘数因子确定,本实施例对此不做限定。需要说明的是,设备1确定神经网络前向计算所需要的量化乘数因子和量化偏移因子后,可以将该量化乘数因子和量化偏移因子发送至终端,该终端是用于执行神经网络算法的设备,从而指示该终端根据该量化乘数因子和量化偏移因子对神经网络的输入数据、权重数据以及过程中产生的激活数据进行数据量化之后的前向计算,具体地,设备1将上述两个量化因子发送至承载神经网络的终端后,可指示终端对输入数据、权重数据与量化乘数因子进行量化计算,而后将计算后的结果根据量化偏移因子进行位数右移偏移操作,示例地,设备1将量化乘数因子和量化偏移因子发送至终端,终端可以先将进行前向计算的浮点型的输入数据和权重数据转换至8为整型数据,8位输入数据和对应的8位的权重数据进行前向运算,得到的位数不确定的激活数据,由于激活数据同时也作为下一层的输入数据,故终端需要确保将该激活数据的位宽,将该激活数据与量化乘数因子进行乘积运算,然后将运算结果进行右移量化偏移因子操作,最终获得当前层的8位激活数据,以作为下一层的8为输入数据继续进行前向计算,本实施例对此不做限定。
上述数据量化方法中,设备1获取神经网络的当前层的待量化的浮点型数据,根据预设的量化位宽,生成当前层待量化数据对应的浮点型尺度因子,再根据该浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子,从而设备1可以将该量化乘数因子和量化偏移因子发送至承载神经网络的终端,以指示终端根据量化乘数因子和量化偏移因子进行前向计算。本实施例中,设备1在确定神经网络中的待量化浮点型数据对应的量化处理所需要的浮点型尺度因子、量化乘数因子和量化偏移因子时,是将量化乘数因子和量化偏移因子的确定过程放在设备1内置的统计模块中处理,而根据量化乘数因子和量化偏移因子对数据对神经网络的输入数据、权重数据以及激活数据进行量化处理则是通过承载神经网络的终端完成,这样可极大地减少终端中神经网络自身的存储资源和计算资源;且,通常浮点型数据在进行计算或存储时占据内存空间比较多,整型数据占据内存空间较少,终端基于量化因子将神经网络中需要进行前向计算的浮点型数据量化为整型数据进行前向计算,进一步地降低了终端对于神经网络的存储资源以及计算资源的消耗。
设备1在对神经网络中的浮点型数据进行量化处理前,需要确定将该浮点型数据量化转换为整型数据的位宽,即要将该浮点型数据转换成多少位的整型数据,在一个实施例中,如图3所示,在上述根据预设的量化位宽,获取当前层的输入数据和权重数据各自对应的浮点型尺度因子之前,该方法还包括:
S301、获取当前层的待量化数据中权重数据的绝对值的最大值。
在本实施例中,待量化数据包括输入数据和权重数据,神经网络的输入数据可能为视频数据或图像数据等,该输入数据的数据类型可能是浮点型数据,也可能是整型数据,但权重数据的数据类型一定为浮点型数据集,为确保量化位宽定义的准确性,这里设备1通过获取权重数据进行量化位宽的确定。
S302、根据绝对值的最大值,确定量化位宽。
在本实施例中,设备1在进行量化位宽的确定时,需要确保每一个浮点型数据在进行量化转换之后,都在预设量化位宽的数据范围内,故设备1根据权重数据绝对值的最大值进行量化位宽的确定,示例地,若权重数据的绝对值的最大值量化处理后,得到的是16位整型数据,则将量化位宽确定为16;若权重数据的绝对值的最大值量化处理后,得到的是8位整型数据,则将量化位宽确定为8,本实施例对此不做限定。
本实施例中,设备1根据最大值的数值范围确定量化位宽,可以确保其他数据在进行量化处理后一定处理量化位宽的数值范围内,一定程度上保证了本方法的可行性。
在确定量化位宽之后,将所有的浮点型数据进行整形数据的转换,需要制定转换规则,设备1在指定转换规则的同时,可以定义一些参数因子,进行数据的转换,在一个实施例中,如图4所示,上述根据预设的量化位宽,获取当前层的输入数据和权重数据各自对应的浮点型尺度因子,包括:
S401、获取当前层的输入数据和权重数据各自对应的最大值和最小值。
在本实施例中,设备1获取的是当前层的浮点型输入数据的最大值、最小值,和当前层浮点型权重数据的最大值、最小值;设备1在获取当前层浮点型输入数据的最大值、最小值时,可以先将当前层的所有输入数据进行排序,从而选择该输入数据对应的最大值和最小值,其中,排序方法可以为冒泡排序法、快速排序法、直接选择排序法等多种数学排序方法,本实施例对此不做限定。
S402、根据量化位宽、以及输入数据和权重数据各自对应的最大值和最小值,确定输入数据和权重数据各自对应的浮点型尺度因子。
在本实施例中,可选地,设备1可以通过公式(1)对浮点型尺度因子进行求解。示例地,根据量化位宽、以及输入数据对应的最大值和最小值,可以通过公式(1),求出输入数据的浮点型尺度因子;根据量化位宽、以及权重数据对应的最大值和最小值,同样可以通过公式(1),求出权重数据的浮点型尺度因子。浮点型尺度因子的求解公式如下:
其中,n为预设的量化位宽,qx为浮点型尺度因子,tmin为当前层输入数据或权重数据对应的最小值,tmax当前层输入数据或权重数据对应的最大值。
在本实施例中,设备1可以根据当前层的输入数据和权重数据的最大值和最小值求解得到其各自对应的浮点型尺度因子,基于该浮点型尺度因子可以求解当前层对应的量化因子,为下一步量化处理做了准备。
设备1在获取当前层输入数据和权重数据各自对应的最大值和最小值之前,需要先确定当前层输入数据和权重数据各自对应的最大值和最小值,其确定方式包括多种,在一个实施例中,如图5所示,上述获取当前层的输入数据和权重数据各自对应的最大值和最小值,包括:
S501、将输入数据和权重数据分别划分为N组子数据集;其中,N为正整数。
在本实施例中,输入数据和权重数据为多个甚至大量的数据,为提高确定输入数据和权重数据各自对应的最大值和最小值的效率,设备1可以将输入数据和权重数据划分为N组子数据集,示例地,设备1可以将输入数据和权重数据各划分为10组,也可以将输入数据和权重数据各划分为20组,N在这里为正整数,本实施例对此不做限定。
S502、计算所述输入数据的各子数据集的第一参数值和所述权重数据的各子数据集的第二参数值;所述第一参数值和所述第二参数值均包括子数据集的均值、方差、最大值、最小值。
在本实施例中,第一参数值指的是输入数据的各子数据集对应的均值、方差、最大值、最小值;第二参数值指的是权重数据的各子数据集对应的均值、方差、最大值、最小值;设备1根据子数据集中的数据,计算该数据集数据的均值、方差、最大值和最小值,数据集的均值即为该数据集中所有数据的平均值,方差即为数据集中每个数据与均值的差值,均值、方差的计算方式可以为数学方法中任意一种计算方式;数据集最大值、最小值的确定可以通过逐个比较得到,也可以将该数据集中的所有数据进行排序从而得到最大值和最小值,本实施例对此不做限定。
S503、根据所述第一参数值中的均值和方差更新所述第一参数值的最大值和最小值,以及根据所述第二参数值中的均值和方差更新所述第二参数值中的最大值和最小值。
在本实施例中,设备1为了进一步缩小当前层数据的分布范围,可以在直接获取的各数据集的最大值、最小值的基础上,做进一步的处理,即通过建立各数据集的最小值、最大值与均值、方差的关系,更新数据集的目标最小值和目标最大值。具体的更新公式如公式(2)、公式(3)所示:
Tmin=max(tmin,tmean-n*tstd) (2)
Tmax=min(tmax,tmean+n*tstd) (3)
其中,n默认为1,tmean为数据集的均值,tstd为数据集的方差,tmax为数据集的最大值,tmin为数据集的最小值,Tmin为更新之后的数据集的最小值,Tmax为更新后的数据集的最大值。公式(2)表示在数据集的最小值、数据集均值与方差的差值中,取较大的值作为更新后的数据集的最小值;公式(3)表示在数据集的最大值、数据集均值与方差的和中,取较小的值作为更新后的数据集的最大值。
S504、根据更新后的第一参数值中的最大值和最小值和更新后的第二参数值中的最大值和最小值,确定所述输入数据和所述权重数据各自对应的最大值和最小值。
在本实施例中,输入数据和权重数据均有各自对应的子数据集,设备1根据更新后的输入数据的子数据集的最大值和最小值,确定当前层输入数据的最大值和最小值;同样地,设备1根据更新后的权重数据的子数据集的最大值和最小值,确定当前层权重数据的最大值和最小值,本实施例对此不做限定。
在本实施例中,通过设备1对当前层输入数据和权重数据各自对应的最大值、最小值的更新替换,最终确定目标最大值和目标最小值,可以有效的去除神经网络中每一层参数的分布范围的差异。
在获取到当前层输入数据和权重数据各自对应的浮点型尺度因子之后,设备1可以根据该浮点型尺度因子进行前向计算量化处理中其他因子的确定,在一个实施例中,如图6所示,上述根据当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子,包括:
S601、根据输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的浮点型尺度因子。
在本实施例中,设备1可以根据输入数据和权重数据各自对应的浮点型尺度因子的关系,确定当前层的综合浮点型尺度因子。示例地,设备1可以根据权重数据和输入数据的乘积,得到每层的综合浮点型尺度因子,本实施例对此不做限定。
S602、根据当前层的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子。
在本实施例中,示例地,设备1根据每层的综合浮点型尺度因子,可以通过公式(4)求解得到量化偏移因子,根据该量化偏移因子,根据公式(5)可求解得到量化乘数因子,具体公式如下:
shift=log2((28-1)/qx) (4)
multi=qx×2shift (5)
其中,n对应的是量化位宽,shift为当前层的量化偏移因子,multi为当前层的量化乘数因子。
在本实施例中,计算机根据输入数据和权重数据各自对应的浮点型尺度因子,可以确定当前层的综合浮点型尺度因子,从而得到当前层的待量化数据对应的量化乘数因子和量化偏移因子,将该量化乘数因子和量化偏移因子输入神经网络中进行前向计算时,可以有效的减少由于数据格式问题造成了计算资源和内存资源的耗费,同时该量化乘数因子和量化偏移因子能够保证每一层网络的数据分布范围,保证了测试精度。
以上实施例均为设备1通过获取原始浮点型数据在自身的统计模块完成的操作,在计算求得神经网络各层对应的量化乘数因子和量化偏移因子之后,设备1可以将该量化乘数因子和量化偏移因子发送至承载神经网络的终端中,以指示终端根据上述量化因子对神经网络的输入数据、权重数据和激活数据进行量化处理,从而完成神经网络中整型数据的前向计算,在一个实施例中,上述方法还包括:
将量化后的输入数据和权重数据进行前向计算,得到当前层的激活数据;当前层的激活数据用于表示当前层的下一层的输入数据。
其中,激活数据指的是当前层的输入数据与权重数据计算之后得到的当前层的输出数据。
可选地,设备1在自身的统计模块中计算得到量化乘数因子和量化偏移因子,而后可以将该量化偏移因子和量化乘数因子发送至承载神经网络的终端中,优选地,终端可以根据接收到的量化偏移因子,对量化后的权重数据、量化后的输入数据和量化乘数因子的乘积进行偏移处理,从而得到当前层的激活数据,完成神经网络中整型数据的前向计算。
在本实施例中,在承载的神经网络终端执行前向计算之前,设备1可以根据预设的量化位宽,计算得到神经网络各层对应量化乘数因子和量化偏移因子,从而,终端可以根据接收到的量化乘数因子和量化偏移因子,对神经网络的当前层量化处理后的输入数据和权重数据进行前向计算,得到当前层的激活数据,由于求得的激活数据不一定处于预设的量化位宽的数值范围内,优选地,终端可以通过设备1发送的上述量化乘数因子对激活数据进行乘法运算,得到量化乘法处理后的结果,再通过量化偏移因子对量化乘法处理后的结果进行右移偏移操作,得到符合预设量化位宽的激活数据,此时,该激活数据就可以作为下一层的输入数据进行神经网络的前向计算,依此方式,逐层在终端的神经网络内部进行计算,获得最后神经网络的输出结果。
在本实施例中,设备1通过自身的统计模块确定量化偏移因子和量化乘数因子,再将该量化因子发送至承载神经网络的终端中进行前向计算的量化处理,大大地降低了终端的数据处理量,从而降低了神经网络的计算资源和内存资源的消耗。
为了更好的说明本申请的提供的数据量化方法,提供一种从数据量化的设备1和终端的交互过程方面进行解释说明的实施例,如图7所示,该方法包括:
S701、设备1获取神经网络的当前层的待量化数据;
S702、设备1获取当前层的待量化数据中权重数据的绝对值的最大值,确定量化位宽;
S703、设备1获取当前层的输入数据和权重数据各自对应的最大值和最小值;
S704、设备1根据量化位宽、以及输入数据和权重数据各自对应的最大值和最小值,确定输入数据和权重数据各自对应的浮点型尺度因子;
S705、设备1根据当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的浮点型尺度因子;
S706、设备1根据当前层的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子;
S707、终端获取神经网络当前层的输入数据和权重数据,并进行量化处理;
S708、终端将量化后的权重数据和输入数据进行前向计算,得到的激活数据,并将激活数据与量化乘数因子进行乘法运算;
S709、终端根据量化偏移因子,将乘法运算得到的结果进行右移偏移操作,得到符合预设量化位宽的激活数据,同时将该激活数据作为下一层的输入数据,继续执行前向计算。
在本实施例中,设备1通过自身的统计模块执行步骤S701-706,直至得到神经网络各层对应的量化偏移因子和量化乘数因子,再将各层对应的量化偏移因子和量化乘数因子发送至承载神经网络的终端,终端通过神经网络算法执行步骤S707-S709,进行神经网络各层数据前向计算的量化处理,由于浮点型数据对应的量化因子由设备1的统计模块确定,承载神经网络的终端所处理的数据量大幅度减少,极大地降低了神经网络的计算资源,另外,在终端进行神经网络的数据前向计算时,神经网络中的输入数据、权重数据与激活数据均为整型数据,进一步地降低了神经网络的计算资源和内存资源的消耗。
本实施例中提供的一种数据量化方法,其实现原理和技术效果与上述任一实施例提供的数据量化方法的过程类似,在此不再赘述。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种数据量化装置,包括:第一获取模块801、第二获取模块802、确定模块803和量化模块804,其中:
第一获取模块801,用于获取神经网络的当前层的待量化数据;待量化数据表示神经网络进行前向计算的浮点型数据;待量化数据至少包括当前层的输入数据和权重数据;
第二获取模块802,用于根据预设的量化位宽,获取当前层的输入数据和权重数据各自对应的浮点型尺度因子;
确定模块803,用于根据当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子;量化乘数因子和量化偏移因子用于承载神经网络的终端将当前层的待量化数据量化处理为整型数据。
在一个实施例中,如图9所示,上述数据量化装置还包括第三获取模块805和确定位宽模块806,其中:
第三获取模块805,用于获取当前层的待量化数据中权重数据的绝对值的最大值;
确定位宽模块806,用于根据绝对值的最大值,确定量化位宽。
在一个实施例中,如图10所示,上述第二获取模块802包括获取单元8021和确定因子单元8022,其中:
获取单元8021,用于获取当前层的输入数据和权重数据各自对应的最大值和最小值;
确定因子单元8022,用于根据量化位宽、以及输入数据和权重数据各自对应的最大值和最小值,确定输入数据和权重数据各自对应的浮点型尺度因子。
在一个实施例中,上述获取单元8021包括划分子单元、计算子单元、更新子单元和确定子单元,其中:
划分子单元,用于将输入数据和权重数据分别划分为N组子数据集;其中,N为正整数;
计算子单元,用于计算所述输入数据的各子数据集的第一参数值和所述权重数据的各子数据集的第二参数值;所述第一参数值和所述第二参数值均包括子数据集的均值、方差、最大值、最小值;
更新子单元,用于根据所述第一参数值中的均值和方差更新所述第一参数值的最大值和最小值,以及根据所述第二参数值中的均值和方差更新所述第二参数值中的最大值和最小值;
确定子单元,用于根据更新后的第一参数值中的最大值和最小值和更新后的第二参数值中的最大值和最小值,确定所述输入数据和所述权重数据各自对应的最大值和最小值。
在一个实施例中,如图11所示,上述确定模块803包括第一确定单元8031和第二确定单元8032,其中:
第一确定单元8031,用于根据输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的浮点型尺度因子;
第二确定单元8032,用于根据当前层的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子。
在一个实施例中,如图12所示,上述数据量化装置还包括前向计算模块807;
前向计算模块807,用于将量化后的输入数据和权重数据进行前向计算,得到当前层的激活数据;当前层的激活数据用于表示当前层的下一层的输入数据。
在一个实施例中,上述前向计算模块807具体用于根据量化偏移因子,对量化后的权重数据、量化后的输入数据和量化乘数因子的乘积进行偏移处理,得到当前层的激活数据。
上述所有的数据量化装置实施例,其实现原理和技术效果与上述数据量化方法对应的实施例类似,在此不再赘述。
关于数据量化装置的具体限定可以参见上文中对于数据量化方法的限定,在此不再赘述。上述数据量化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图13所示,提供了一种计算机设备,该计算机设备可以是服务器,也可以是终端,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、数据库和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据量化方法。该计算机设备的数据库用于存储数据量化数据。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取神经网络的当前层的待量化数据;待量化数据表示神经网络进行前向计算的浮点型数据;待量化数据至少包括当前层的输入数据和权重数据;
根据预设的量化位宽,获取当前层的输入数据和权重数据各自对应的浮点型尺度因子;
根据当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子;量化乘数因子和量化偏移因子用于承载神经网络的终端将当前层的待量化数据量化处理为整型数据。
上述实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取神经网络的当前层的待量化数据;待量化数据表示神经网络进行前向计算的浮点型数据;待量化数据至少包括当前层的输入数据和权重数据;
根据预设的量化位宽,获取当前层的输入数据和权重数据各自对应的浮点型尺度因子;
根据当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定当前层的待量化数据对应的量化乘数因子和量化偏移因子;量化乘数因子和量化偏移因子用于承载神经网络的终端将当前层的待量化数据量化处理为整型数据。
上述实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据量化方法,其特征在于,所述方法包括:
获取所述神经网络的当前层的待量化数据;所述待量化数据表示所述神经网络进行前向计算的浮点型数据;所述待量化数据至少包括所述当前层的输入数据和权重数据;
根据预设的量化位宽,获取所述当前层的输入数据和权重数据各自对应的浮点型尺度因子;
根据所述当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定所述当前层的待量化数据对应的量化乘数因子和量化偏移因子;所述量化乘数因子和量化偏移因子用于承载所述神经网络的终端将所述当前层的待量化数据量化处理为整型数据。
2.根据权利要求1所述的方法,其特征在于,在所述根据预设的量化位宽,获取所述当前层的输入数据和权重数据各自对应的浮点型尺度因子之前,所述方法还包括:
获取所述当前层的待量化数据中权重数据的绝对值的最大值;
根据所述绝对值的最大值,确定所述量化位宽。
3.根据权利要求1或2所述的方法,其特征在于,所述根据预设的量化位宽,获取所述当前层的输入数据和权重数据各自对应的浮点型尺度因子,包括:
获取所述当前层的输入数据和所述权重数据各自对应的最大值和最小值;
根据所述量化位宽、以及所述输入数据和所述权重数据各自对应的最大值和最小值,确定所述输入数据和所述权重数据各自对应的浮点型尺度因子。
4.根据权利要求3所述的方法,其特征在于,所述获取所述当前层的输入数据和所述权重数据各自对应的最大值和最小值,包括:
将所述输入数据和所述权重数据分别划分为N组子数据集;其中,N为正整数;
计算所述输入数据的各子数据集的第一参数值和所述权重数据的各子数据集的第二参数值;所述第一参数值和所述第二参数值均包括子数据集的均值、方差、最大值、最小值;
根据所述第一参数值中的均值和方差更新所述第一参数值的最大值和最小值,以及根据所述第二参数值中的均值和方差更新所述第二参数值中的最大值和最小值;
根据更新后的第一参数值中的最大值和最小值和更新后的第二参数值中的最大值和最小值,确定所述输入数据和所述权重数据各自对应的最大值和最小值。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定所述当前层的待量化数据对应的量化乘数因子和量化偏移因子,包括:
根据所述输入数据和所述权重数据各自对应的浮点型尺度因子,确定所述当前层的浮点型尺度因子;
根据所述当前层的浮点型尺度因子,确定所述当前层的待量化数据对应的量化乘数因子和量化偏移因子。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
将量化后的输入数据和权重数据进行前向计算,得到所述当前层的激活数据;所述当前层的激活数据用于表示所述当前层的下一层的输入数据。
7.根据权利要求6所述的方法,其特征在于,所述将量化后的输入数据和权重数据进行前向计算,得到所述当前层的激活数据,包括:
根据所述量化偏移因子,对所述量化后的权重数据、所述量化后的输入数据和所述量化乘数因子的乘积进行偏移处理,得到所述当前层的激活数据。
8.一种数据量化装置,其特征在于,所述装置包括:
第一获取模块,用于获取所述神经网络的当前层的待量化数据;所述待量化数据表示所述神经网络进行前向计算的浮点型数据;所述待量化数据至少包括所述当前层的输入数据和权重数据;
第二获取模块,用于根据预设的量化位宽,获取所述当前层的输入数据和权重数据各自对应的浮点型尺度因子;
确定模块,用于根据所述当前层的输入数据和权重数据各自对应的浮点型尺度因子,确定所述当前层的待量化数据对应的量化乘数因子和量化偏移因子;所述量化乘数因子和量化偏移因子用于承载所述神经网络的终端将所述当前层的待量化数据量化处理为整型数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010101496.7A CN111176853A (zh) | 2020-02-19 | 2020-02-19 | 数据量化方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010101496.7A CN111176853A (zh) | 2020-02-19 | 2020-02-19 | 数据量化方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111176853A true CN111176853A (zh) | 2020-05-19 |
Family
ID=70658391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010101496.7A Pending CN111176853A (zh) | 2020-02-19 | 2020-02-19 | 数据量化方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176853A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931917A (zh) * | 2020-08-20 | 2020-11-13 | 浙江大华技术股份有限公司 | 前向计算的实现方法及装置、存储介质、电子装置 |
CN112269595A (zh) * | 2020-10-28 | 2021-01-26 | 清华大学 | 图像处理方法、装置、计算机设备及存储介质 |
CN112558887A (zh) * | 2020-12-25 | 2021-03-26 | 北京百度网讯科技有限公司 | 用于多媒体数据处理的向量量化方法、装置及设备 |
CN113593538A (zh) * | 2021-09-02 | 2021-11-02 | 北京声智科技有限公司 | 语音特征的分类方法、相关设备及可读存储介质 |
WO2022027862A1 (zh) * | 2020-08-07 | 2022-02-10 | 嘉楠明芯(北京)科技有限公司 | 神经网络模型量化方法以及装置 |
WO2022088063A1 (zh) * | 2020-10-30 | 2022-05-05 | 华为技术有限公司 | 神经网络模型的量化方法和装置、数据处理的方法和装置 |
-
2020
- 2020-02-19 CN CN202010101496.7A patent/CN111176853A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022027862A1 (zh) * | 2020-08-07 | 2022-02-10 | 嘉楠明芯(北京)科技有限公司 | 神经网络模型量化方法以及装置 |
CN111931917A (zh) * | 2020-08-20 | 2020-11-13 | 浙江大华技术股份有限公司 | 前向计算的实现方法及装置、存储介质、电子装置 |
CN112269595A (zh) * | 2020-10-28 | 2021-01-26 | 清华大学 | 图像处理方法、装置、计算机设备及存储介质 |
WO2022088063A1 (zh) * | 2020-10-30 | 2022-05-05 | 华为技术有限公司 | 神经网络模型的量化方法和装置、数据处理的方法和装置 |
CN112558887A (zh) * | 2020-12-25 | 2021-03-26 | 北京百度网讯科技有限公司 | 用于多媒体数据处理的向量量化方法、装置及设备 |
CN112558887B (zh) * | 2020-12-25 | 2023-09-22 | 北京百度网讯科技有限公司 | 用于多媒体数据处理的向量量化方法、装置及设备 |
CN113593538A (zh) * | 2021-09-02 | 2021-11-02 | 北京声智科技有限公司 | 语音特征的分类方法、相关设备及可读存储介质 |
CN113593538B (zh) * | 2021-09-02 | 2024-05-03 | 北京声智科技有限公司 | 语音特征的分类方法、相关设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176853A (zh) | 数据量化方法、装置、计算机设备和存储介质 | |
CN110008952B (zh) | 一种目标识别方法及设备 | |
CN110929865B (zh) | 网络量化方法、业务处理方法及相关产品 | |
CN111401550A (zh) | 神经网络模型量化方法、装置及电子设备 | |
CN114330699A (zh) | 神经网络结构搜索方法及装置 | |
CN111723933A (zh) | 神经网络模型的训练方法和相关产品 | |
CN110390679B (zh) | 图像处理方法、计算机设备和可读存储介质 | |
CN113391824A (zh) | 计算卸载方法、电子设备、存储介质以及计算机程序产品 | |
CN113537479A (zh) | 神经网络电路、边缘设备以及神经网络运算方法 | |
CN113222098B (zh) | 数据处理方法和相关产品 | |
WO2022163861A1 (ja) | ニューラルネットワーク生成装置、ニューラルネットワーク演算装置、エッジデバイス、ニューラルネットワーク制御方法およびソフトウェア生成プログラム | |
CN112101543A (zh) | 神经网络模型确定方法、装置、电子设备及可读存储介质 | |
CN113610709B (zh) | 模型量化方法、装置、电子设备和计算机可读存储介质 | |
CN113159318B (zh) | 一种神经网络的量化方法、装置、电子设备及存储介质 | |
CN114760308A (zh) | 边缘计算卸载方法及装置 | |
CN112561050A (zh) | 一种神经网络模型训练方法及装置 | |
CN113673532A (zh) | 量化模型的优化方法及装置 | |
CN110276448B (zh) | 一种模型压缩方法及装置 | |
CN112446461A (zh) | 一种神经网络模型训练方法及装置 | |
CN113947185B (zh) | 任务处理网络生成、任务处理方法、装置、电子设备及存储介质 | |
CN115907041A (zh) | 一种模型训练方法及装置 | |
CN112668658A (zh) | 应用于FPGA的Yolov3量化方法、装置、设备及介质 | |
CN113449863A (zh) | 一种基于查表的神经网络量化方法 | |
CN116579380A (zh) | 一种数据处理方法以及相关设备 | |
CN114118358A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 519000 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province Applicant after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province Applicant before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. |