CN113298843A - 数据量化处理方法、装置、电子设备和存储介质 - Google Patents

数据量化处理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113298843A
CN113298843A CN202010111884.3A CN202010111884A CN113298843A CN 113298843 A CN113298843 A CN 113298843A CN 202010111884 A CN202010111884 A CN 202010111884A CN 113298843 A CN113298843 A CN 113298843A
Authority
CN
China
Prior art keywords
channel
data
quantized
determining
quantization
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
Application number
CN202010111884.3A
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cambricon Technologies Corp Ltd
Original Assignee
Cambricon Technologies Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN202010111884.3A priority Critical patent/CN113298843A/zh
Priority to PCT/CN2021/077235 priority patent/WO2021169914A1/zh
Priority to US17/801,999 priority patent/US20230091541A1/en
Priority to JP2021578095A priority patent/JP7233636B2/ja
Publication of CN113298843A publication Critical patent/CN113298843A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

本公开涉及一种数据量化处理方法、装置、电子设备和存储介质。所述装置包括控制模块,所述控制模块包括:指令缓存单元、指令处理单元和存储队列单元;所述指令缓存单元,用于存储所述人工神经网络运算关联的计算指令;所述指令处理单元,用于对所述计算指令解析得到多个运算指令;所述存储队列单元,用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令。通过以上方法,本公开可以提高相关产品在进行神经网络模型的运算时的运算精度。

Description

数据量化处理方法、装置、电子设备和存储介质
技术领域
本公开涉及计算机技术领域,特别是涉及一种数据量化处理方法、装置、电子设备和存储介质。
背景技术
在人工智能技术领域,神经网络算法是最近非常流行的一种机器学习算法,在各种领域中都取得了非常好的效果,比如图像识别,语音识别,自然语言处理等。但是,随着神经网络复杂度提高,数据的数据量和数据维度都在不断增大,不断增大的数据量等对运算装置的数据处理效率、存储装置的存储容量及访存效率等提出了较大的挑战。相关技术中针对整个神经网络采用相同的量化方案,但神经网络的不同运算数据之间可能存在较大的差异,往往会导致精度较低,影响数据运算结果。
发明内容
基于此,有必要针对上述技术问题,提供一种数据量化处理方法、装置、电子设备和存储介质。
根据本公开的一方面,提供了一种数据量化处理方法,包括:根据深度卷积层中的输入图像的通道数,确定所述输入图像的各个通道对应的待量化数据;根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果;针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数;利用各个通道对应的量化参数,对各个通道对应的待量化数据分别进行量化,得到所述输入图像的各个通道对应的量化后数据;其中,所述深度卷积层中的所述输入图像的通道数与输出图像的通道数相同。
根据本公开的一方面,提供了一种数据量化处理装置,包括:第一确定模块,用于根据深度卷积层中的输入图像的通道数,确定所述输入图像的各个通道对应的待量化数据;第二确定模块,用于根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果;第三确定模块,用于针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数;量化模块,用于利用各个通道对应的量化参数,对各个通道对应的待量化数据分别进行量化,得到所述输入图像的各个通道对应的量化后数据;其中,所述深度卷积层中的所述输入图像的通道数与输出图像的通道数相同。
根据本公开的一方面,提供了一种人工智能芯片,所述芯片包括如上所述的数据量化处理装置。
根据本公开的一方面,提供了一种电子设备,所述电子设备包括如上所述的人工智能芯片。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行如上所述的数据量化处理方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如上所述的数据量化处理方法。
根据深度卷积层中的输入图像的通道数,确定输入图像的各个通道对应的待量化数据;根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果;针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数;利用各个通道对应的量化参数,对各个通道对应的待量化数据分别进行量化,得到所述输入图像的各个通道对应的量化后数据;其中,深度卷积层中的输入图像的通道数与输出图像的通道数相同。由于深度卷积层中的输入图像的通道数与输出图像的通道数相同,因此,通过对深度卷积层中的输入图像进行分通道量化,从而可以提高量化过程的精度,保证运算结果的准确性和可靠性。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出本公开实施例的数据量化处理方法的处理器的示意图;
图2示出本公开实施例的数据量化处理方法的流程示意图;
图3示出本公开实施例的对称的定点数表示的示意图;
图4示出本公开实施例的引入偏移量的定点数表示的示意图;
图5示出本公开实施例的数据量化处理装置的结构框图;
图6示出本公开实施例的板卡的结构框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
根据本公开实施例的数据量化处理方法可应用于处理器中,该处理器可以是通用处理器,例如中央处理器(Central Processing Unit,CPU),也可以是用于执行人工智能运算的人工智能处理器(IPU)。人工智能运算可包括机器学习运算,类脑运算等。其中,机器学习运算包括神经网络运算、k-means运算、支持向量机运算等。该人工智能处理器可例如包括图形处理单元(Graphics Processing Unit,GPU)、神经网络处理单元(Neural-NetworkProcessing Unit,NPU)、数字信号处理单元(Digital Signal Process,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片中的一种或组合。本公开对处理器的具体类型不作限制。
在一种可能的实现方式中,本公开中所提及的处理器可包括多个处理单元,每个处理单元可以独立运行所分配到的各种任务,如:卷积运算任务、池化任务或全连接任务等。本公开对处理单元及处理单元所运行的任务不作限制。
图1示出本公开实施例的数据量化处理方法的处理器的示意图。如图1所示,处理器100包括多个处理单元101以及存储单元102,多个处理单元101用于执行指令序列,存储单元102用于存储数据,可包括随机存储器(Random Access Memory,RAM)和寄存器堆。处理器100中的多个处理单元101既可共用部分存储空间,例如共用部分RAM存储空间和寄存器堆,又可同时拥有各自的存储空间。
图2示出本公开实施例的数据量化处理方法的流程示意图。该方法可以应用于图1所示的处理器100。如图2所示,该方法包括:
在步骤S21中:根据深度卷积层中的输入图像的通道数,确定输入图像的各个通道对应的待量化数据。
在步骤S22中:根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果。
在步骤S23中:针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数。
在步骤S24中:利用各个通道对应的量化参数,对各个通道对应的待量化数据分别进行量化,得到输入图像的各个通道对应的量化后数据。
其中,深度卷积层中的输入图像的通道数与输出图像的通道数相同。深度卷积网络可以为depthwise神经网络。
实际应用中,深度卷积层中的输入图像的通道数与输出图像的通道数相同,即,输入图像在进行深度卷积时各个通道是互不干扰的,因此,在进行深度卷积之前对输入图像进行数据量化处理时,为了提高量化过程的精度,可以根据输入图像的通道数,确定输入图像的各个通道对应的待量化数据,进而对输入图像的各个通道对应的待量化数据分别进行数据量化处理。其中,待量化数据是以高精度数据格式表示的数据,量化后数据是以低精度数据格式表示的数据,待量化数据的数据格式的精度高于量化后数据的数据格式的精度。
在一种可能的实现方式中,根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果,包括:针对任一个通道,确定该通道对应的待量化数据中的绝对值最大值;将该通道对应的待量化数据中的绝对值最大值,确定为该通道对应的待量化数据的统计结果。
例如,输入图像的通道数为3,分别确定三个通道中每个通道对应的待量化数据中的绝对值最大值,进而将每个通道对应的待量化数据中的绝对值最大值确定为该通道对应的待量化数据的统计结果。
在一种可能的实现方式中,针对任一个通道,确定该通道对应的待量化数据中的绝对值最大值,包括:针对任一个通道,确定该通道对应的待量化数据的最大值和最小值;根据该通道对应的待量化数据的最大值和最小值,确定该通道对应的待量化数据的绝对值最大值。
例如,针对输入图像的每个通道,分别确定每个通道对应的待量化数据的最大值和最小值,并对每个通道对应的待量化数据的最大值和最小值分别取绝对值。针对输入图像的任一个通道,将待量化数据的最大值的绝对值和最小值的绝对值中的较大者,确定为该通道对应的待量化数据的绝对值最大值。
在一种可能的实现方式中,根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果,包括:针对任一个通道,确定该通道对应的待量化数据的最大值和最小值;将待量化数据的最大值和最小值的距离的二分之一,确定为该通道对应的待量化数据的统计结果。
例如,针对输入图像的每个通道,分别确定每个通道对应的待量化数据的最大值和最小值。针对输入图像的任一个通道,计算该通道对应的待量化数据的最大值和最小值的距离的二分之一,并将计算结果确定为该通道对应的待量化数据的统计结果。
在确定输入图像的各个通道对应的待量化数据的统计结果之后,针对每个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数。
在一种可能的实现方式中,量化参数包括点位置参数;针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数,包括:针对任一个通道,根据该通道对应的待量化数据的统计结果和该通道对应的数据位宽,确定该通道对应的点位置参数。
例如,输入图像包括第一通道和第二通道,根据第一通道对应的待量化数据的统计结果和第一通道对应的数据位宽,确定第一通道对应的点位置参数;根据第二通道对应的待量化数据的统计结果和第二通道对应的数据位宽,确定第二通道对应的点位置参数。
针对输入图像的每个通道,分别根据每个通道对应的点位置参数,对每个通道对应的待量化数据进行数据量化处理。例如,输入图像包括第一通道和第二通道,根据第一通道对应的点位置参数,对第一通道对应的待量化数据进行数据量化处理;根据第二通道对应的点位置参数,对第二通道对应的待量化数据进行数据量化处理。
在一示例中,针对输入图像的任一个通道,可以根据该通道对应的点位置参数s,利用下述公式(一)对该通道对应的待量化数据进行数据量化处理:
Figure BDA0002390314850000071
其中,s是该通道对应的点位置参数,Ix是数据x量化后的n位二进制表示值,Fx是数据x量化前的浮点值,round(·)是进行四舍五入的取整运算。需要说明的是,此处不仅仅局限于round(·)这一种取整运算,也可以采用其它的取整运算方法,例如:采用向上取整、向下取整、向零取整等取整运算,替换公式(一)中的round(·)取整运算。此时,用n位定点数可以表示浮点数的最大值A为2s(2n-1-1),那么,n位定点数可以表示该通道对应的待量化数据的数域中最大值为2s(2n-1-1),n位定点数可以表示该通道对应的待量化数据的数域中最小值为-2s(2n-1-1)。根据公式(一)可知,针对输入图像的任一个通道,根据该通道对应的点位置参数s,对该通道对应的待量化数据进行数据量化处理时,量化间隔为2s
设Z为该通道对应的待量化数据的数域中所有浮点数的绝对值最大值,则A需要包含Z,且Z要大于
Figure BDA0002390314850000072
且存在下述公式(二)的约束:
2s(2n-1-1)≥Z>2s-1(2n-1-1) (二),
因此,
Figure BDA0002390314850000073
得到
Figure BDA0002390314850000074
Figure BDA0002390314850000081
在一种可能的实现方式中,量化参数还包括缩放系数;针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数,包括:针对任一个通道,根据该通道对应的待量化数据的统计结果、该通道对应的点位置参数,以及该通道对应的数据位宽,确定该通道对应的缩放系数。
例如,输入图像包括第一通道和第二通道,根据第一通道对应的待量化数据的统计结果、第一通道对应的点位置参数,以及第一通道对应的数据位宽,确定第一通道对应的缩放系数;根据第二通道对应的待量化数据的统计结果、第二通道对应的点位置参数,以及第二通道对应的数据位宽,确定第二通道对应的缩放系数。
针对输入图像的每个通道,分别根据每个通道对应的点位置参数,对每个通道对应的待量化数据进行数据量化处理。例如,输入图像包括第一通道和第二通道,根据第一通道对应的缩放系数,对第一通道对应的待量化数据进行数据量化处理;根据第二通道对应的缩放系数,对第二通道对应的待量化数据进行数据量化处理。
在一示例中,针对输入图像的任一个通道,该通道对应的量化参数是第一缩放系数f1。可以根据该通道对应的第一缩放系数f1,利用下述公式(三)对该通道对应的待量化数据进行数据量化处理:
Figure BDA0002390314850000082
其中,f1是该通道对应的第一缩放系数,Ix是数据x量化后的n位二进制表示值,Fx是数据x量化前的浮点值,round(·)是进行四舍五入的取整运算。需要说明的是,此处不仅仅局限于round(·)这一种取整运算,也可以采用其它的取整运算方法,例如:采用向上取整、向下取整、向零取整等取整运算,替换公式(三)中的round(·)取整运算。根据公式(三)可知,针对输入图像的任一个通道,根据该通道对应的第一缩放系数,对该通道对应的待量化数据进行数据量化处理时,量化间隔为f1
在一示例中,该通道对应的点位置参数s为固定已知值,设2s=T,T为固定值,此时,用n位定点数可以表示浮点数的最大值A为(2n-1-1)×T。此时,最大值A取决于数据位宽n。设Z为该通道对应的待量化数据的数域中所有数的绝对值最大值,则
Figure BDA0002390314850000091
Z=(2n -1-1)×f1。n位定点数可以表示该通道对应的待量化数据的数域中最大值为(2n-1-1)×f1,n位定点数可以表示该通道对应的待量化数据的数域中最小值为-(2n-1-1)×f1
在一示例中,例如,在工程应用中,2s×f2作为一个整体当做该通道对应的第一缩放系数f1,其中,f2为该通道对应的第二缩放系数。此时,就可以当做不存在独立的点位置参数s。设Z为该通道对应的待量化数据的数域中所有数的绝对值最大值,则
Figure BDA0002390314850000092
Z=(2n-1-1)×f1。n位定点数可以表示该通道对应的待量化数据的数域中最大值为(2n-1-1)×f1,n位定点数可以表示待量化数据的数域中最小值为-(2n-1-1)×f1
在一示例中,针对输入图像的任一个通道,该通道对应的量化参数包括点位置参数s和第二缩放系数f2。可以根据该通道对应的点位置参数s和第二缩放系数f2,利用下述公式(四)对该通道对应的待量化数据进行数据量化处理:
Figure BDA0002390314850000093
其中,s是该通道对应的点位置参数,f2为该通道对应的第二缩放系数,Ix是数据x量化后的n位二进制表示值,Fx是数据x量化前的浮点值,round(·)是进行四舍五入的取整运算。需要说明的是,此处不仅仅局限于round(·)这一种取整运算,也可以采用其它的取整运算方法,例如:采用向上取整、向下取整、向零取整等取整运算,替换公式(四)中的round(·)取整运算。根据公式(四)可知,针对输入图像的任一个通道,根据该通道对应的点位置参数和第二缩放系数,对该通道对应的待量化数据进行数据量化处理时,量化间隔为2s×f2
设Z为该通道对应的待量化数据的数域中所有数的绝对值最大值,此时,根据下述公式(二)可得:
Figure BDA0002390314850000101
Figure BDA0002390314850000102
Figure BDA0002390314850000103
时,根据公式(二)可知,Z可以无损精确表示。当f2=1时,根据公式(四)与公式(一)可知,
Figure BDA0002390314850000104
n位定点数可以表示该通道对应的待量化数据的数域中最大值为(2n-1-1)×2s×f2,n位定点数可以表示该通道对应的待量化数据的数域中最小值为-(2n-1-1)×2s×f2
图3示出本公开实施例的对称的定点数表示的示意图。如图3所示的输入图像的任一通道对应的待量化数据的数域是以“0”为对称中心分布。Z为该通道对应的待量化数据的数域中所有浮点数的绝对值最大值,在图2中,A为n位定点数可以表示的浮点数的最大值,浮点数A转换为定点数是2n-1-1。为了避免溢出,A需要包含Z。在实际运算中,神经网络运算过程中的浮点数据趋向于某个确定区间的正态分布,但是并不一定满足以“0”为对称中心的分布,这时用定点数表示时,容易出现溢出情况。为了改善这一情况,量化参数中引入偏移量。图4示出本公开实施例的引入偏移量的定点数表示的示意图。如图4所示,输入图像的任一通道对应的待量化数据的数域不是以“0”为对称中心分布,Zmin是该通道对应的待量化数据的数域中所有浮点数的最小值,Zmax是该通道对应的待量化数据的数域中所有浮点数的最大值。P为Zmin~Zmax之间的中心点,将该通道对应的待量化数据的数域整体偏移,使得平移后的该通道对应的待量化数据的数域以“0”为对称中心分布,平移后的该通道对应的待量化数据的数域中的绝对值最大值为Z。由图4可知,偏移量为“0”点到“P”点之间的水平距离,该距离称为偏移量O。其中,
Figure BDA0002390314850000111
Figure BDA0002390314850000112
在一种可能的实现方式中,量化参数包括偏移量;针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数,包括:针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的偏移量。
例如,输入图像包括第一通道和第二通道,根据第一通道对应的待量化数据的统计结果,确定第一通道对应的偏移量;根据第二通道对应的待量化数据的统计结果,确定第二通道对应的偏移量。
针对输入图像的每个通道,分别根据每个通道对应的偏移量,对每个通道对应的待量化数据进行数据量化处理。
在一实例中,针对输入图像的任一个通道,该通道对应的量化参数包括点位置参数s和偏移量O。可以根据该通道对应的点位置参数s和偏移量O,利用下述公式(五)对该通道对应的待量化数据进行数据量化处理:
Figure BDA0002390314850000113
其中,s是该通道对应的点位置参数,O是该通道对应的偏移量,Ix是数据x量化后的n位二进制表示值,Fx是数据x量化前的浮点值,round(·)是进行四舍五入的取整运算。需要说明的是,此处不仅仅局限于round(·)这一种取整运算,也可以采用其它的取整运算方法,例如:采用向上取整、向下取整、向零取整等取整运算,替换公式(五)中的round(·)取整运算。此时,用n位定点数可以表示浮点数的最大值A为2s(2n-1-1),那么,n位定点数可以表示该通道对应的待量化数据的数域中最大值为2s(2n-1-1)+O,n位定点数可以表示该通道对应的待量化数据的数域中最小值为-2s(2n-1-1)+O。根据公式(五)可知,针对输入图像的任一个通道,根据该通道对应的点位置参数s和偏移量O,对该通道对应的待量化数据进行数据量化处理时,量化间隔为2s
设Z为该通道对应的待量化数据的数域中所有浮点数的绝对值最大值,
Figure BDA0002390314850000121
则A需要包含Z,且Z要大于
Figure BDA0002390314850000122
根据公式(二)可知,
Figure BDA0002390314850000123
进而得到
Figure BDA0002390314850000124
Figure BDA0002390314850000125
在一示例中,针对输入图像的任一个通道,该通道对应的量化参数包括第一缩放系数f1和偏移量O。可以根据该通道对应的第一缩放系数f1和偏移量O,利用下述公式(六)对该通道对应的待量化数据进行数据量化处理:
Figure BDA0002390314850000126
其中,f1是该通道对应的第一缩放系数,O是该通道对应的偏移量,Ix是数据x量化后的n位二进制表示值,Fx是数据x量化前的浮点值,round(·)是进行四舍五入的取整运算。需要说明的是,此处不仅仅局限于round(·)这一种取整运算,也可以采用其它的取整运算方法,例如:采用向上取整、向下取整、向零取整等取整运算,替换公式(六)中的round(·)取整运算。
在一示例中,该通道对应的点位置参数s为固定已知值,设2s=T,T为固定值,此时,用n位定点数可以表示浮点数的最大值A为(2n-1-1)×T。此时,最大值A取决于数据位宽n。设Z为该通道对应的待量化数据的数域中所有数的绝对值最大值,则
Figure BDA0002390314850000127
Z=(2n -1-1)×f1。n位定点数可以表示该通道对应的待量化数据的数域中最大值为(2n-1-1)×f1+O,n位定点数可以表示该通道对应的待量化数据的数域中最小值为-(2n-1-1)×f1+O。
在一示例中,例如,在工程应用中,2s×f2作为一个整体当做该通道对应的第一缩放系数f1,其中,f2为该通道对应的第二缩放系数。此时,就可以当做不存在独立的点位置参数s。设Z为该通道对应的待量化数据的数域中所有数的绝对值最大值,则
Figure BDA0002390314850000131
Z=(2n-1-1)×f1。n位定点数可以表示该通道对应的待量化数据的数域中最大值为(2n-1-1)×f1+O,n位定点数可以表示待量化数据的数域中最小值为-(2n-1-1)×f1+O。
在一示例中,针对输入图像的任一个通道,该通道对应的量化参数包括点位置参数s、第一缩放系数f1和偏移量O。可以根据该通道对应的点位置参数s、第一缩放系数f1和偏移量O,利用下述公式(七)对该通道对应的待量化数据进行数据量化处理:
Figure BDA0002390314850000132
其中,s是该通道对应的点位置参数,f1是该通道对应的第一缩放系数,O是该通道对应的偏移量,Ix是数据x量化后的n位二进制表示值,Fx是数据x量化前的浮点值,round(·)是进行四舍五入的取整运算。需要说明的是,此处不仅仅局限于round(·)这一种取整运算,也可以采用其它的取整运算方法,例如:采用向上取整、向下取整、向零取整等取整运算,替换公式(七)中的round(·)取整运算。此时,用n位定点数可以表示浮点数的最大值A为2s(2n-1-1),根据公式(七)可知,针对输入图像的任一个通道,根据该通道对应的点位置参数s、第一缩放系数f1和偏移量O,对该通道对应的待量化数据进行数据量化处理时,量化间隔为2s×f2
设Z为该通道对应的待量化数据的数域中所有浮点数的绝对值最大值,此时,根据公式(二)可知:
Figure BDA0002390314850000133
Figure BDA0002390314850000134
Figure BDA0002390314850000141
时,根据公式(二)可知,Z可以无损精确表示。当f2=1时,
Figure BDA0002390314850000142
n位定点数可以表示该通道对应的待量化数据的数域中最大值为(2n-1-1)×2s×f2+O,n位定点数可以表示该通道对应的待量化数据的数域中最小值为-(2n-1-1)×2s×f2+O。
在一种可能的实现方式中,针对任一个通道,该通道对应的数据位宽是预设值。
由公式(一)~公式(七)可知,针对输入图像的任一通道,该通道对应的点位置参数和缩放系数均与该通道对应的数据位宽有关。不同的数据位宽,导致点位置参数和缩放系数不同,从而影响量化精度。量化就是将以往用32bit或者64bit表达的高精度数转换成占用较少内存空间的定点数的过程,高精度数转换为定点数的过程就会在精度上引起一定的损失。在训练或微调过程中,在一定的迭代的次数范围内,使用相同的数据位宽进行量化对神经网络运算的总体精度影响不大。超过一定的迭代次数,再使用同一数据位宽量化就无法满足训练或微调对精度的要求。这就需要随着训练或微调的过程对数据位宽n进行调整。简单地,可以人为将该通道对应的数据位宽n设置为预设值。在不同的迭代次数范围内,调用提前设置的该通道对应的数据位宽n。
在一种可能的实现方式中,该方法还包括:针对任一个通道,根据该通道对应的数据位宽的量化误差,对该通道对应的数据位宽进行调整,以利用调整后的数据带宽确定该通道对应的量化参数,其中,量化误差是根据该通道对应的量化后数据与该通道对应的待量化数据确定的。
在一种可能的实现方式中,根据该通道对应的数据位宽的量化误差,对该通道对应的数据位宽进行调整,包括:将量化误差与阈值进行比较,根据比较结果调整该通道对应的数据位宽。
在一种可能的实现方式中,阈值包括第一阈值和第二阈值;将量化误差与阈值进行比较,根据比较结果调整该通道对应的数据位宽,包括:在量化误差大于或等于第一阈值的情况下,增加该通道对应的数据位宽;在量化误差小于或等于第二阈值的情况下,减少该通道对应的数据位宽;在量化误差处于第一阈值和第二阈值之间的情况下,该通道对应的数据位宽保持不变。在该实现方式中,第一阈值和第二阈值可以为经验值,也可以为可变的超参数。常规的超参数的优化方法均适于第一阈值和第二阈值,这里不再赘述超参数的优化方案。
需要强调的是,针对输入图像的任一通道,可以将该通道对应的数据位宽按照固定的位数步长进行调整,也可以根据量化误差与误差阈值之间的差值的不同,按照可变的调整步长调整该通道对应的数据位宽,最终根据深度卷积网络运算过程的实际需要,将输入图像的任一通道对应的数据位宽调整的更长或更短,从而在精度允许范围内可以大大提到定点运算速度,从而提升了人工智能处理器芯片的资源利用率。
根据深度卷积层中的输入图像的通道数,确定输入图像的各个通道对应的待量化数据;根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果;针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数;利用各个通道对应的量化参数,对各个通道对应的待量化数据分别进行量化,得到所述输入图像的各个通道对应的量化后数据;其中,深度卷积层中的输入图像的通道数与输出图像的通道数相同。由于深度卷积层中的输入图像的通道数与输出图像的通道数相同,因此,通过对深度卷积层中的输入图像进行分通道量化,从而可以提高量化过程的精度,保证运算结果的准确性和可靠性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
进一步需要说明的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图5示出本公开实施例的数据量化处理装置的结构框图。如图5所示,装置500包括:
第一确定模块501,用于根据深度卷积层中的输入图像的通道数,确定输入图像的各个通道对应的待量化数据;
第二确定模块502,用于根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果;
第三确定模块503,用于针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数;
量化模块504,用于利用各个通道对应的量化参数,对各个通道对应的待量化数据分别进行量化,得到输入图像的各个通道对应的量化后数据。
其中,深度卷积层中的输入图像的通道数与输出图像的通道数相同。
在一种可能的实现方式中,量化参数包括点位置参数;
第三确定模块503具体用于:
针对任一个通道,根据该通道对应的待量化数据的统计结果和该通道对应的数据位宽,确定该通道对应的点位置参数。
在一种可能的实现方式中,量化参数还包括缩放系数;
第三确定模块503具体用于:
针对任一个通道,根据该通道对应的待量化数据的统计结果、该通道对应的点位置参数,以及该通道对应的数据位宽,确定该通道对应的缩放系数。
在一种可能的实现方式中,量化参数包括偏移量;
第三确定模块503具体用于:
针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的偏移量。
在一种可能的实现方式中,第二确定模块502,包括:
第一确定子模块,用于针对任一个通道,确定该通道对应的待量化数据中的绝对值最大值;
第二确定子模块,用于将该通道对应的待量化数据中的绝对值最大值,确定为该通道对应的待量化数据的统计结果。
在一种可能的实现方式中,第一确定子模块具体用于:
针对任一个通道,确定该通道对应的待量化数据的最大值和最小值;
根据该通道对应的待量化数据的最大值和最小值,确定该通道对应的待量化数据的绝对值最大值。
在一种可能的实现方式中,针对任一个通道,该通道对应的数据位宽是预设值。
在一种可能的实现方式中,装置500还包括:
数据位宽调整模块,用于针对任一个通道,根据该通道对应的数据位宽的量化误差,对该通道对应的数据位宽进行调整,以利用调整后的数据带宽确定该通道对应的量化参数,其中,量化误差是根据该通道对应的量化后数据与该通道对应的待量化数据确定的。
在一种可能的实现方式中,数据位宽调整模块具体用于:
将量化误差与阈值进行比较,根据比较结果调整该通道对应的数据位宽。
数据位宽调整模块,阈值包括第一阈值和第二阈值;
数据位宽调整模块具体用于:
在量化误差大于或等于第一阈值的情况下,增加该通道对应的数据位宽;
在量化误差小于或等于第二阈值的情况下,减少该通道对应的数据位宽;
在量化误差处于第一阈值和第二阈值之间的情况下,该通道对应的数据位宽保持不变。
本公开提供的数据量化处理装置500能够实现图2所示方法实施例中的各个步骤,并实现相同的技术效果,为避免重复,这里不再赘述。
应该理解,上述的装置实施例仅是示意性的,本公开的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本公开各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述人工智能处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic RandomAccess Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在一种可能的实现方式中,还公开了一种人工智能芯片,其包括了上述数据量化处理装置。
在一种可能的实现方式中,还公开了一种板卡,其包括存储器件、接口装置和控制器件以及上述人工智能芯片;其中,人工智能芯片与存储器件、控制器件以及接口装置分别连接;存储器件,用于存储数据;接口装置,用于实现人工智能芯片与外部设备之间的数据传输;控制器件,用于对人工智能芯片的状态进行监控。
图6示出本公开实施例的板卡的结构框图。如图6所示,板卡除了包括上述芯片389以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件390、接口装置391和控制器件392;
所述存储器件390与所述人工智能芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述人工智能芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述人工智能芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MB/s。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述人工智能芯片电连接。所述接口装置用于实现所述人工智能芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。优选的,当采用PCIE 3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置还可以是其他的接口,本公开并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述人工智能芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述人工智能芯片电连接。所述控制器件用于对所述人工智能芯片的状态进行监控。具体的,所述人工智能芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述人工智能芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述人工智能芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述人工智能芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
在一种可能的实现方式中,公开了一种电子设备,其包括了上述人工智能芯片。电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为调用所述存储器存储的指令,以执行上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
依据以下条款可更好地理解前述内容:
条款A1,一种数据量化处理方法,包括:
根据深度卷积层中的输入图像的通道数,确定所述输入图像的各个通道对应的待量化数据;
根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果;
针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数;
利用各个通道对应的量化参数,对各个通道对应的待量化数据分别进行量化,得到所述输入图像的各个通道对应的量化后数据;
其中,所述深度卷积层中的所述输入图像的通道数与输出图像的通道数相同。
条款A2,根据条款A1所述的方法,所述量化参数包括点位置参数;
针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数,包括:
针对任一个通道,根据该通道对应的待量化数据的统计结果和该通道对应的数据位宽,确定该通道对应的点位置参数。
条款A3,根据条款A2所述的方法,所述量化参数还包括缩放系数;
针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数,包括:
针对任一个通道,根据该通道对应的待量化数据的统计结果、该通道对应的点位置参数,以及该通道对应的数据位宽,确定该通道对应的缩放系数。
条款A4,根据条款A1所述的方法,所述量化参数包括偏移量;
针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数,包括:
针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的偏移量。
条款A5,根据条款A1-A4所述的方法,根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果,包括:
针对任一个通道,确定该通道对应的待量化数据中的绝对值最大值;
将该通道对应的待量化数据中的绝对值最大值,确定为该通道对应的待量化数据的统计结果。
条款A6,根据条款A5所述的方法,针对任一个通道,确定该通道对应的待量化数据中的绝对值最大值,包括:
针对任一个通道,确定该通道对应的待量化数据的最大值和最小值;
根据该通道对应的待量化数据的最大值和最小值,确定该通道对应的待量化数据的绝对值最大值。
条款A7,根据条款A2或A3所述的方法,针对任一个通道,该通道对应的数据位宽是预设值。
条款A8,根据条款A2或A3所述的方法,所述方法还包括:
针对任一个通道,根据该通道对应的数据位宽的量化误差,对该通道对应的数据位宽进行调整,以利用调整后的数据带宽确定该通道对应的量化参数,其中,所述量化误差是根据该通道对应的量化后数据与该通道对应的待量化数据确定的。
条款A9,根据条款A8所述的方法,根据该通道对应的数据位宽的量化误差,对该通道对应的数据位宽进行调整,包括:
将所述量化误差与阈值进行比较,根据比较结果调整该通道对应的数据位宽。
条款A10,根据条款A9所述的方法,所述阈值包括第一阈值和第二阈值;
将所述量化误差与阈值进行比较,根据比较结果调整该通道对应的数据位宽,包括:
在所述量化误差大于或等于所述第一阈值的情况下,增加该通道对应的数据位宽;
在所述量化误差小于或等于所述第二阈值的情况下,减少该通道对应的数据位宽;
在所述量化误差处于所述第一阈值和所述第二阈值之间的情况下,该通道对应的数据位宽保持不变。
条款A11,一种数据量化处理装置,包括:
第一确定模块,用于根据深度卷积层中的输入图像的通道数,确定所述输入图像的各个通道对应的待量化数据;
第二确定模块,用于根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果;
第三确定模块,用于针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数;
量化模块,用于利用各个通道对应的量化参数,对各个通道对应的待量化数据分别进行量化,得到所述输入图像的各个通道对应的量化后数据;
其中,所述深度卷积层中的所述输入图像的通道数与输出图像的通道数相同。
条款A12,一种人工智能芯片,所述芯片包括如条款A11中所述的数据量化处理装置。
条款A13,一种电子设备,其特征在于,所述电子设备包括如条款A12所述的人工智能芯片。
条款A14,一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行条款A1至A10中任意一项所述的方法。
条款A15,一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现条款A1至A10中任意一项所述的方法。
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本公开的方法及其核心思想。同时,本领域技术人员依据本公开的思想,基于本公开的具体实施方式及应用范围上做出的改变或变形之处,都属于本公开保护的范围。综上所述,本说明书内容不应理解为对本公开的限制。

Claims (15)

1.一种数据量化处理方法,其特征在于,包括:
根据深度卷积层中的输入图像的通道数,确定所述输入图像的各个通道对应的待量化数据;
根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果;
针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数;
利用各个通道对应的量化参数,对各个通道对应的待量化数据分别进行量化,得到所述输入图像的各个通道对应的量化后数据;
其中,所述深度卷积层中的所述输入图像的通道数与输出图像的通道数相同。
2.根据权利要求1所述的方法,其特征在于,所述量化参数包括点位置参数;
针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数,包括:
针对任一个通道,根据该通道对应的待量化数据的统计结果和该通道对应的数据位宽,确定该通道对应的点位置参数。
3.根据权利要求2所述的方法,其特征在于,所述量化参数还包括缩放系数;
针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数,包括:
针对任一个通道,根据该通道对应的待量化数据的统计结果、该通道对应的点位置参数,以及该通道对应的数据位宽,确定该通道对应的缩放系数。
4.根据权利要求1所述的方法,其特征在于,所述量化参数包括偏移量;
针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数,包括:
针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的偏移量。
5.根据权利要求1-4任一项所述的方法,其特征在于,根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果,包括:
针对任一个通道,确定该通道对应的待量化数据中的绝对值最大值;
将该通道对应的待量化数据中的绝对值最大值,确定为该通道对应的待量化数据的统计结果。
6.根据权利要求5所述的方法,其特征在于,针对任一个通道,确定该通道对应的待量化数据中的绝对值最大值,包括:
针对任一个通道,确定该通道对应的待量化数据的最大值和最小值;
根据该通道对应的待量化数据的最大值和最小值,确定该通道对应的待量化数据的绝对值最大值。
7.根据权利要求2或3所述的方法,其特征在于,针对任一个通道,该通道对应的数据位宽是预设值。
8.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
针对任一个通道,根据该通道对应的数据位宽的量化误差,对该通道对应的数据位宽进行调整,以利用调整后的数据带宽确定该通道对应的量化参数,其中,所述量化误差是根据该通道对应的量化后数据与该通道对应的待量化数据确定的。
9.根据权利要求8所述的方法,其特征在于,根据该通道对应的数据位宽的量化误差,对该通道对应的数据位宽进行调整,包括:
将所述量化误差与阈值进行比较,根据比较结果调整该通道对应的数据位宽。
10.根据权利要求9所述的方法,其特征在于,所述阈值包括第一阈值和第二阈值;
将所述量化误差与阈值进行比较,根据比较结果调整该通道对应的数据位宽,包括:
在所述量化误差大于或等于所述第一阈值的情况下,增加该通道对应的数据位宽;
在所述量化误差小于或等于所述第二阈值的情况下,减少该通道对应的数据位宽;
在所述量化误差处于所述第一阈值和所述第二阈值之间的情况下,该通道对应的数据位宽保持不变。
11.一种数据量化处理装置,其特征在于,包括:
第一确定模块,用于根据深度卷积层中的输入图像的通道数,确定所述输入图像的各个通道对应的待量化数据;
第二确定模块,用于根据各个通道对应的待量化数据,分别确定各个通道对应的待量化数据的统计结果;
第三确定模块,用于针对任一个通道,根据该通道对应的待量化数据的统计结果,确定该通道对应的量化参数;
量化模块,用于利用各个通道对应的量化参数,对各个通道对应的待量化数据分别进行量化,得到所述输入图像的各个通道对应的量化后数据;
其中,所述深度卷积层中的所述输入图像的通道数与输出图像的通道数相同。
12.一种人工智能芯片,其特征在于,所述芯片包括如权利要求11中所述的数据量化处理装置。
13.一种电子设备,其特征在于,所述电子设备包括如权利要求12所述的人工智能芯片。
14.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至10中任意一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至10中任意一项所述的方法。
CN202010111884.3A 2020-02-24 2020-02-24 数据量化处理方法、装置、电子设备和存储介质 Pending CN113298843A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010111884.3A CN113298843A (zh) 2020-02-24 2020-02-24 数据量化处理方法、装置、电子设备和存储介质
PCT/CN2021/077235 WO2021169914A1 (zh) 2020-02-24 2021-02-22 数据量化处理方法、装置、电子设备和存储介质
US17/801,999 US20230091541A1 (en) 2020-02-24 2021-02-22 Data quantization processing method and apparatus, electronic device and storage medium
JP2021578095A JP7233636B2 (ja) 2020-02-24 2021-02-22 データ量子化処理方法、装置、電子機器および記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010111884.3A CN113298843A (zh) 2020-02-24 2020-02-24 数据量化处理方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN113298843A true CN113298843A (zh) 2021-08-24

Family

ID=77317797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010111884.3A Pending CN113298843A (zh) 2020-02-24 2020-02-24 数据量化处理方法、装置、电子设备和存储介质

Country Status (4)

Country Link
US (1) US20230091541A1 (zh)
JP (1) JP7233636B2 (zh)
CN (1) CN113298843A (zh)
WO (1) WO2021169914A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012176910A1 (ja) * 2011-06-23 2012-12-27 シャープ株式会社 オフセット復号装置、オフセット符号化装置、画像フィルタ装置、および、データ構造
US20190042935A1 (en) * 2017-12-28 2019-02-07 Intel Corporation Dynamic quantization of neural networks
CN109472353A (zh) * 2018-11-22 2019-03-15 济南浪潮高新科技投资发展有限公司 一种卷积神经网络量化电路及量化方法
CN110020616A (zh) * 2019-03-26 2019-07-16 深兰科技(上海)有限公司 一种目标识别方法及设备
CN110728352A (zh) * 2019-09-10 2020-01-24 东南大学 一种基于深度卷积神经网络的大规模图像分类方法
CN110781912A (zh) * 2019-09-10 2020-02-11 东南大学 一种基于通道扩张倒置卷积神经网络的图像分类方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107256422A (zh) * 2017-06-06 2017-10-17 上海兆芯集成电路有限公司 数据量化方法及装置
KR102601604B1 (ko) * 2017-08-04 2023-11-13 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
CN109561310B (zh) * 2017-09-26 2022-09-16 腾讯科技(深圳)有限公司 视频编码处理方法、装置、设备和存储介质
EP3514733A1 (en) * 2018-01-18 2019-07-24 Aptiv Technologies Limited A device and a method for image classification using a convolutional neural network
KR20190125141A (ko) * 2018-04-27 2019-11-06 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
CN110826685A (zh) * 2018-08-08 2020-02-21 华为技术有限公司 神经网络卷积计算的方法和装置
CN109993296B (zh) * 2019-04-01 2020-12-29 安徽寒武纪信息科技有限公司 量化实现方法及相关产品
CN110348562B (zh) * 2019-06-19 2021-10-15 北京迈格威科技有限公司 神经网络的量化策略确定方法、图像识别方法和装置
CN110717585B (zh) * 2019-09-30 2020-08-25 上海寒武纪信息科技有限公司 神经网络模型的训练方法、数据处理方法和相关产品

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012176910A1 (ja) * 2011-06-23 2012-12-27 シャープ株式会社 オフセット復号装置、オフセット符号化装置、画像フィルタ装置、および、データ構造
US20190042935A1 (en) * 2017-12-28 2019-02-07 Intel Corporation Dynamic quantization of neural networks
CN109472353A (zh) * 2018-11-22 2019-03-15 济南浪潮高新科技投资发展有限公司 一种卷积神经网络量化电路及量化方法
CN110020616A (zh) * 2019-03-26 2019-07-16 深兰科技(上海)有限公司 一种目标识别方法及设备
CN110728352A (zh) * 2019-09-10 2020-01-24 东南大学 一种基于深度卷积神经网络的大规模图像分类方法
CN110781912A (zh) * 2019-09-10 2020-02-11 东南大学 一种基于通道扩张倒置卷积神经网络的图像分类方法

Also Published As

Publication number Publication date
US20230091541A1 (en) 2023-03-23
WO2021169914A1 (zh) 2021-09-02
JP2022532439A (ja) 2022-07-14
JP7233636B2 (ja) 2023-03-07

Similar Documents

Publication Publication Date Title
WO2021036908A1 (zh) 数据处理方法、装置、计算机设备和存储介质
WO2021036904A1 (zh) 数据处理方法、装置、计算机设备和存储介质
CN112085181B (zh) 神经网络量化方法及装置以及相关产品
WO2021036890A1 (zh) 数据处理方法、装置、计算机设备和存储介质
WO2021036905A1 (zh) 数据处理方法、装置、计算机设备和存储介质
CN112446460A (zh) 用于处理数据的方法、装置以及相关产品
WO2021082725A1 (zh) Winograd卷积运算方法及相关产品
CN112085176A (zh) 数据处理方法、装置、计算机设备和存储介质
CN112308201A (zh) 神经网络量化方法、装置、芯片、电子设备及板卡
CN111523656A (zh) 处理装置及方法
CN113298843A (zh) 数据量化处理方法、装置、电子设备和存储介质
CN112085187A (zh) 数据处理方法、装置、计算机设备和存储介质
CN112085151A (zh) 数据处理方法、装置、计算机设备和存储介质
US20220083909A1 (en) Data processing method and apparatus, and related product
US20220222041A1 (en) Method and apparatus for processing data, and related product
WO2021036412A1 (zh) 数据处理方法、装置、计算机设备和存储介质
CN112085177A (zh) 数据处理方法、装置、计算机设备和存储介质
CN112765537A (zh) 数据处理方法、装置、计算机设备和存储介质
CN112765541A (zh) 数据处理方法、装置、计算机设备和存储介质
CN112766472A (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