CN111814676B - 基于kl散度的fpga离线量化方法 - Google Patents
基于kl散度的fpga离线量化方法 Download PDFInfo
- Publication number
- CN111814676B CN111814676B CN202010652930.0A CN202010652930A CN111814676B CN 111814676 B CN111814676 B CN 111814676B CN 202010652930 A CN202010652930 A CN 202010652930A CN 111814676 B CN111814676 B CN 111814676B
- Authority
- CN
- China
- Prior art keywords
- quantization
- data
- quantized
- divergence
- scale
- 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
- 238000013139 quantization Methods 0.000 title claims abstract description 148
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000011002 quantification Methods 0.000 claims description 6
- 238000005259 measurement Methods 0.000 abstract 1
- 238000013135 deep learning Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- 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/045—Combinations of networks
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Neurology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
本发明涉及到FPGA离线量化技术领域,尤其涉及到一种基于KL散度的FPGA离线量化方法,包括导入模型,模型导入之后需要对模型进行解析以提取和合并网络的层结构,获取需要量化的层输出、权重节点名称;将图像数据进行数据预处理,并作为输入进行数据量化,同时结合层输出、权重节点名称获取量化的层输出、权重数据;对所述的权重数据求最大最小值、量化缩放尺度和量化零点;最后通过KL散度求截断数据阈值,求出量化缩放尺度和量化零点。本发明通过KL散度对原始输出数据量化范围进行截断,避免分布较为稀疏点对量化精度的影响,采用KL散度进行度量,确定不同量化区间的信息损失,确定信息损失最小的数据范围进行量化。
Description
技术领域
本发明涉及到FPGA离线量化技术领域,尤其涉及到一种基于KL散度的FPGA离线量化方法。
背景技术
近年来,随着迅速发展的计算机技术和广泛使用的计算机视觉原理,使得计算机图形处理技术得到越来越广泛的应用。而深度学习作为图像处理领域中的一个重要研究方向,依托大量图像数据集的出现以及计算机视觉方面的突破性进展,使得图像分类、目标检测和实例分割等自然图像深度学习任务的性能显著提高。但随着深度学习的发展,对算力的需求也越来越迫切,这使得FPGA(现场可编程逻辑门阵列)开始逐渐走入大众的视野,它是在PAL、GAL、CPLD等可编程逻辑器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了全定制电路的不足,又克服了原有可编程逻辑器件门电路数有限的缺点。对于神经网络模型而言,动则就是上十亿操作数,尽管模型尺寸在不断地压缩、裁剪,对于目前中低端FPGA芯片资源和时延仍是一个挑战。
针对上述问题,模型的量化便成为了研究人员主要研究的热点。在传统思维里面,应该是数据类型精度越高越好,但越高数据位宽就意味更大的存储压力和计算量。对于一个神经网络模型,由于权重共享,每一层权重时固定的,因此每层权重的数据范围是确定的,且数据波动性不大,可以采用量化的方式减小数据位宽。当然降低数据位宽必然会带来精度的损失,如何在量化的同是尽可能小的减小网络精度的损失便成为一个问题。
2011年Vanhoucke等人通过将卷积的激活值和权重量化到8bit,而将偏置和输入保持浮点数输入,在各类模型中精度损失都很小;而后,Miyashita等人又通过对数方式来对权重和激活值进行编码量化,相比相同定点数的情况下具有更高的精度;2017年英特尔通过4bit的权重量化和8bit的输出量化,相比于浮点模型精度损失仅为2%;以及通过各种不同量化编码策略的组合来进行模型训练和推断,都取得了不错的性能。
量化方法中通常非均匀量化会获得更高的精度和准确性,但对于FPGA而言,非均匀量化计算复杂度较高,并且中的对数和指数等大量的非线性操作会消耗大量的资源和周期。而对于传统的线性量化,如果通过数据最大最小范围的去对数据进行编码量化,对数据边界分散较为稀疏的区域,则需要用更多的比特位去表示这个数,使得全局的量化精度变得很低。
发明内容
鉴于上述技术问题,本发明提供了一种基于KL散度的FPGA离线量化方法,通过KL散度对原始数据范围进行一定的截断,在量化同时减小量化精度损失。
本发明解决上述技术问题所采用的技术方案包括:
一种基于KL散度的FPGA离线量化方法,其特征在于,所述方法包括:
步骤S1:导入模型,模型导入之后需要对模型进行解析以提取和合并网络的层结构,获取需要量化的层输出、权重节点名称;
步骤S2:将图像数据进行数据预处理,并作为输入进行数据量化,同时结合层输出、权重节点名称获取量化的层输出、权重数据;
步骤S3:对所述的权重数据求最大最小值、量化缩放尺度和量化零点;
步骤S4:最后通过KL散度求截断数据阈值,求出量化缩放尺度和量化零点。
上述的基于KL散度的FPGA离线量化方法,其特征在于,步骤S1中,模型导入之后需要对模型进行解析,首先需要确定需要进行量化的层节点,然后对量化层权重、输出节点进行合并,最后对需量化的层进行提取,获得合并后量化层的节点名称。
上述的基于KL散度的FPGA离线量化方法,其特征在于,步骤S3中具体包括如下:
步骤S31:获取对应卷积的权重数据,确定权重数据维度;
步骤S32:将权重数据按照输出通道进行数据分割,计算每个通道的最大最小值;
步骤S33:用公式计算量化尺度scale,用公式/>计算量化零点;
其中,
其中,F为量化前的浮点数,Q为量化后规定位宽的定点数,scale为量化的缩放尺度的,zp为量化零点;
上述的基于KL散度的FPGA离线量化方法,其特征在于,步骤S3中还包括:
步骤S34:用量化尺度scale和量化零点zp,采用公式的计算方式将权重数据转成量化后的整数;
步骤S35:判断量化后的整数是否在int8数据范围-128~127之间,如果小于-128,令它等于-128,如果大于127,则令它等于127。
上述的基于KL散度的FPGA离线量化方法,其特征在于,步骤S4中具体包括如下:
步骤S51:获取输出数据对其求绝对值,并获取输出数据的最大值max;
步骤S52:算出输出数据的概率分布p;
步骤S53:将输出数据区间0~max分为若干个小区间,从0开始对每个区间进行遍历,求0到每个区间的概率分布,用公式计算每个区间KL散度值;
步骤S54:最后找出KL散度的最小值对应的浮点数阈值T,确定最小值-|T|,最大值T;
步骤S55:用公式计算量化尺度scale和量化零点zp;
步骤S56:用量化尺度scale和量化零点zp,采用公式的计算方式将原始数据转成量化后的整数;
步骤S57:判断量化后的整数是否在uint8数据范围0~255之间,如果小于0,令它等于0,如果大于255,则令它等于255;
其中,F为量化前的浮点数,Q为量化后规定位宽的定点数,scale为量化的缩放尺度的,zp为量化零点。
上述技术方案具有如下优点或有益效果:
本发明通过KL散度对原始输出数据量化范围进行截断,避免分布较为稀疏点对量化精度的影响,而如何确定截断的范围,则采用KL散度进行度量,确定不同量化区间的信息损失,确定信息损失最小的数据范围进行量化。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未可以按照比例绘制附图,重点在于示出本发明的主旨。
图1是本发明技术方案KL散度的FPGA离线量化基本流程图;
图2是本发明技术方案FPGA中dsp同时进行两次计算的流程图;
图3是最大最小量化原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的深度学习框架如tensorflow、caffee、pytorch、mxnet,通常会以浮点数float32的数据进度进行计算和保存权重、参数、偏置等。但对于卷积层较多、深度较深的神经网络,如faster-rcnn,yolov3,网络的参数和计算都是十分庞大的,对于FPGA而言,浮点运算是十分消耗芯片内部资源,这势必会增加计算的时延,影响整体性能和运行效率;同时大量参数也带来了内存带宽,功耗等问题。因此如何用更少的计算量和更少的参数就成了一个研究的热点。而模型量化则成了一个较为有效的方法,通过采用较低位宽的数去进行计算,来降低计算量和内存带宽消耗,但相比于浮点数32位的位宽,其精度必然是占优势的,因此合理的量化策略显得至关重要。
而对于传统的线性量化,如果通过数据最大最小范围的去对数据进行编码量化,对数据边界分散较为稀疏的区域,则需要用更多的比特位去表示这个数,使得全局的量化精度变得很低,因此如何选取合适的量化范围以及良好的量化策略就变得至关重要。
由此,本发明提出了一种基于KL散度的离线量化方式,通过KL散度去度量不同数据范围分布于原始数据的相似度,确定合适的数据范围。具体方案包括:
一种基于KL散度的FPGA离线量化方法,具体包括:
步骤S1:导入模型,模型导入之后需要对模型进行解析以提取和合并网络的层结构,获取需要量化的层输出、权重节点名称;
模型导入之后需要对模型进行解析,首先需要确定需要进行量化的层节点,然后对量化层权重、输出节点进行合并,最后对需量化的层进行提取,获得合并后量化层的节点名称。
步骤S2:将图像数据进行数据预处理,并作为输入进行数据量化,同时结合层输出、权重节点名称获取量化的层输出、权重数据;
步骤S3:对所述的权重数据求最大最小值、量化缩放尺度和量化零点;具体包括
步骤S31:获取对应卷积的权重数据,确定权重数据维度;
步骤S32:将权重数据按照输出通道进行数据分割,计算每个通道的最大最小值;
步骤S33:用公式
计算量化尺度scale,用公式
计算量化零点;
其中,
F为量化前的浮点数,Q为量化后规定位宽的定点数,scale为量化的缩放尺度的,zp为量化零点;
步骤S34:用量化尺度scale和量化零点zp,采用公式2的计算方式将原始数据转成量化后的整数;
步骤S35:判断量化后的整数是否在int8数据范围-128~127之间,如果小于-128,令它等于-128,如果大于127,则令它等于127。
步骤S4:最后通过KL散度求截断数据阈值,求出量化缩放尺度和量化零点,具体包括
步骤S51:获取输出数据对其求绝对值,并获取数据的最大值max;
步骤S52:算出输出数据的概率分布p;
步骤S53:将数据区间0~max分为若干个小区间,从0开始对每个区间进行遍历,求0到每个区间的概率分布,用公式
计算每个区间KL散度值;
步骤S54:最后找出KL散度的最小值对应的浮点数阈值T,确定最小值-|T|,最大值T;
步骤S55:用公式3、公式4计算量化尺度scale和量化零点zp;
步骤S56:用量化尺度scale和量化零点zp,采用公式2的计算方式将原始数据转成量化后的整数;
步骤S57:判断量化后的整数是否在uint8数据范围0~255之间,如果小于0,令它等于0,如果大于255,则令它等于255;
其中,F为量化前的浮点数,Q为量化后规定位宽的定点数,scale为量化的缩放尺度的,zp为量化零点。
下面进行详细叙述:
量化目前来讲,有两种方式,一种是在线量化,通过训练量化原来的模型,另一种是离线量化,直接对模型和计算进行量化。本发明直接对训练完毕的模型进行离线量化。受益于FPGA中dsp的设计,仅一个时钟周期内就可以高效地完成一个乘法累加算法,多达18x27位的乘法和多达48位的累加。如图2所示,因此采用8bit量化后,将两个8bit数放入一个18bit共享输入向量,可以在dsp进行两个数运算,实现对网络卷积运算的加速。而dsp预加器(a+b)×c的计算方式,与均匀量化计算方式一致,使得在FPGA逻辑层面实现变得简单。
传统的均匀量化方式直接计算输入输出的最大最小值,再通过线性映射方式映射到规定的数据位宽的定点数范围。本发明采用8bit量化方式,量化前后数据关系如下式所示:
F=(Q-zp)×scale (1)
其中F为量化前的浮点数,Q为量化后规定位宽的定点数,scale为量化的缩放尺度的,zp为量化零点。假设量化后的数据类型为uint8,量化缩放尺度和量化零度计算方式如下式所示。
由上式推导可知,量化的最终是确定量化的缩放尺度scale,而求量化的缩放尺度scale可以演变成求数据最大最小值的问题。但对于传统的的量化方式,如果直接计算数据的最大最小值来进行量化,对于数据边界分散较为稀疏的区域,则需要用更多的比特位去表示这个数,使得全局的量化精度变得很低,如图3所示。因此需要对原始数据将进行一定的截断,而如何让选取一个合适的数据范围就成了影响量化性能的至关重要的问题。针对这个问题,本发明提出了一种基于KL散度的一种FPGA离线量化方案,将float32量化为8bit数据范围,同时确保较小的精度损失。通过KL散度来度量对数据进行量化后信息的损失量,得出与原始数据分布最为相似的量化区间范围,KL散度具体计算公式如下。
模型量化流程具体如图1所示。首先需要对模型解析,提取和合并网络的层结构,获取需要量化的层输出、权重节点名称;其次,将图像数据进行预处理作为输入送入模型,得到量化的层输出、权重数据;然后对权重求最大最小值,求量化缩放尺度和量化零点;最后对输出数据通过KL散度求得其截断数据阈值,求出其量化缩放尺度和量化零点。主要实现步骤如下所示。
导入模型:对于网络模型由于采用不同的深度学习框架,模型解析方式会有不同,因此本发明主要针对tensorflow的框架下的模型。首先需要创建一个默认的图结构,然后再去读网络模型,其中包括计算图、数据流、以及模型中涉及到的相关变量和输入输出等,最后将读取的模型数据和信息导入之前创建的图结构,
模型解析:
模型导入之后需要对模型进行解析,首先需要确定需要进行量化的层节点,然后对量化层权重、输出节点进行合并,最后对一些需要特殊量化的层进行提取,获得合并后量化层的节点名称。如对于深度学习网络卷积层是进行量化的,而对于卷积的权重和输出节点往往并不在对应卷积的节点上,此时就需要通过模型的图结构去合并对应卷积权重和输出节点,同时对于一些需要特殊量化的层,如eltwise、concat同样需要通过模型解析确定其节点名称。为了在量化过程中获取对应层节点的数据。
图像预处理:
对于网络模型而言,在模型训练和推断的过程中,为了降低图像输入的尺寸大小和噪声因素的影响,在输入图像数据之前会对图像进行预处理,而对于量化过程则需要与其预处理保持一致过程。首先针对不同的格式的输入图像数据,为了保持输出尺寸一致,缩放到与模型输入尺寸一致的像素点,然后在对图像数据每个像素减去一个均值,最后再对每个像素点除以一个方差。
权重量化:
由于深度学习模型是权重共享,模型确定后,每层卷积的权重是固定的,因此每层权重数据范围的也是基本确定的,且波动范围不大。因此权重采用最大最小方式量化和采用KL散度的量化没有差别,因此采用最大最小量化方式量化到int8数据范围,同时为避免不同通道数据分布不同,权重采用逐通道量化。具体方式如下:
1)获取对应卷积的权重数据,确定权重数据维度;
2)将权重数据按照输出通道进行数据分割,计算每个通道的最大最小值;
3)用公式(3)(4)计算量化尺度scale和量化零点zp;
4)用量化尺度scale和量化零点zp,采用公式(2)的计算方式将原始数据转成量化后的整数;
5)判断量化后的整数是否在int8数据范围-128~127之间,如果小于-128,令它等于-128,如果大于127,则令它等于127;
输出量化:
为避免分布散乱的较大的值对精度影响,输出则需要通过KL散度选取适当的阈值,对数据范围进行截断,避免或减小其精度损失。本发明对输出采用uint8数据范围量化,具体实现步骤下所示:
1)获取输出数据对其求绝对值,并获取数据的最大值max;
2)算出输出数据的概率分布p;
3)将数据区间0~max分为若干个小区间,从0开始对每个区间进行遍历,求0到每个区间的概率分布,用公式(5)计算每个区间KL散度值;
4)最后找出KL散度的最小值对应的浮点数阈值T,确定最小值-|T|,最大值T;
5)用公式(3)(4)计算量化尺度scale和量化零点zp;
6)用量化尺度scale和量化零点zp,采用公式(2)的计算方式将原始数据转成量化后的整数;
7)判断量化后的整数是否在uint8数据范围0~255之间,如果小于0,令它等于0,如果大于255,则令它等于255;
综述,本发明通过KL散度对原始输出数据量化范围进行截断,避免分布较为稀疏点对量化精度的影响,而如何确定截断的范围,则采用KL散度进行度量,确定不同量化区间的信息损失,确定信息损失最小的数据范围进行量化。
本领域技术人员应该理解,本领域技术人员在结合现有技术以及上述实施例可以实现所述变化例,在此不做赘述。这样的变化例并不影响本发明的实质内容,在此不予赘述。
以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (4)
1.一种基于KL散度的FPGA离线量化方法,其特征在于,所述方法包括:
步骤S1:导入模型,模型导入之后需要对模型进行解析以提取和合并网络的层结构,获取需要量化的层输出、权重节点名称;
步骤S2:将图像数据进行数据预处理,并作为输入进行数据量化,同时结合层输出、权重节点名称获取量化的层输出、权重数据;
步骤S3:对所述的权重数据求最大最小值、量化缩放尺度和量化零点;
步骤S4:最后通过KL散度求截断数据阈值,求出量化缩放尺度和量化零点,具体包括:
步骤S51:获取输出数据对其求绝对值,并获取输出数据的最大值max;
步骤S52:算出输出数据的概率分布p;
步骤S53:将输出数据区间0~max分为若干个小区间,从0开始对每个区间进行遍历,求0到每个区间的概率分布,用公式计算每个区间KL散度值;
步骤S54:最后找出KL散度的最小值对应的浮点数阈值T,确定最小值-|T|,最大值T;
步骤S55:用公式计算量化尺度scale和量化零点zp;
步骤S56:用量化尺度scale和量化零点zp,采用公式的计算方式将原始数据转成量化后的整数;
步骤S57:判断量化后的整数是否在uint8数据范围0~255之间,如果小于0,令它等于0,如果大于255,则令它等于255;
其中,F为量化前的浮点数,Q为量化后规定位宽的定点数,scale为量化的缩放尺度,zp为量化零点;
其中,对训练完毕的模型进行离线量化,采用8bit量化后,将两个8bit数放入一个18bit共享输入向量,可以在dsp进行两个数运算。
2.根据权利要求1所述的基于KL散度的FPGA离线量化方法,其特征在于,步骤S1中,模型导入之后需要对模型进行解析,首先需要确定需要进行量化的层节点,然后对量化层权重、输出节点进行合并,最后对需量化的层进行提取,获得合并后量化层的节点名称。
3.根据权利要求1所述的基于KL散度的FPGA离线量化方法,其特征在于,步骤S3中具体包括如下:
步骤S31:获取对应卷积的权重数据,确定权重数据维度;
步骤S32:将权重数据按照输出通道进行数据分割,计算每个通道的最大最小值;
步骤S33:用公式计算量化尺度scale,用公式/>计算量化零点;
其中,F=(Q-zp)×scale,
其中,F为量化前的浮点数,Q为量化后规定位宽的定点数,scale为量化的缩放尺度的,zp为量化零点。
4.根据权利要求3所述的基于KL散度的FPGA离线量化方法,其特征在于,步骤S3中还包括:
步骤S34:用量化尺度scale和量化零点zp,采用公式的计算方式将权重数据转成量化后的整数;
步骤S35:判断量化后的整数是否在int8数据范围-128~127之间,如果小于-128,令它等于-128,如果大于127,则令它等于127。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010652930.0A CN111814676B (zh) | 2020-07-08 | 2020-07-08 | 基于kl散度的fpga离线量化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010652930.0A CN111814676B (zh) | 2020-07-08 | 2020-07-08 | 基于kl散度的fpga离线量化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111814676A CN111814676A (zh) | 2020-10-23 |
CN111814676B true CN111814676B (zh) | 2023-09-29 |
Family
ID=72842609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010652930.0A Active CN111814676B (zh) | 2020-07-08 | 2020-07-08 | 基于kl散度的fpga离线量化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111814676B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113408695B (zh) * | 2021-04-29 | 2024-05-31 | 开放智能机器(上海)有限公司 | 一种离线量化工具的精度调优方法 |
CN113408696B (zh) * | 2021-05-17 | 2024-07-02 | 珠海亿智电子科技有限公司 | 深度学习模型的定点量化方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203628A (zh) * | 2016-07-11 | 2016-12-07 | 深圳先进技术研究院 | 一种增强深度学习算法鲁棒性的优化方法和系统 |
CN106796668A (zh) * | 2016-03-16 | 2017-05-31 | 香港应用科技研究院有限公司 | 用于人工神经网络中比特深度减少的方法和系统 |
CN110096968A (zh) * | 2019-04-10 | 2019-08-06 | 西安电子科技大学 | 一种基于深度模型优化的超高速静态手势识别方法 |
CN110175641A (zh) * | 2019-05-22 | 2019-08-27 | 中国科学院苏州纳米技术与纳米仿生研究所 | 图像识别方法、装置、设备和存储介质 |
CN110880038A (zh) * | 2019-11-29 | 2020-03-13 | 中国科学院自动化研究所 | 基于fpga的加速卷积计算的系统、卷积神经网络 |
CN110942148A (zh) * | 2019-12-11 | 2020-03-31 | 北京工业大学 | 一种自适应的非对称量化的深度神经网络模型压缩方法 |
CN111178514A (zh) * | 2019-12-31 | 2020-05-19 | 翱捷智能科技(上海)有限公司 | 神经网络的量化方法及系统 |
CN111260022A (zh) * | 2019-11-22 | 2020-06-09 | 中国电子科技集团公司第五十二研究所 | 一种卷积神经网络全int8定点量化的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11106973B2 (en) * | 2016-03-16 | 2021-08-31 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and system for bit-depth reduction in artificial neural networks |
-
2020
- 2020-07-08 CN CN202010652930.0A patent/CN111814676B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106796668A (zh) * | 2016-03-16 | 2017-05-31 | 香港应用科技研究院有限公司 | 用于人工神经网络中比特深度减少的方法和系统 |
CN106203628A (zh) * | 2016-07-11 | 2016-12-07 | 深圳先进技术研究院 | 一种增强深度学习算法鲁棒性的优化方法和系统 |
CN110096968A (zh) * | 2019-04-10 | 2019-08-06 | 西安电子科技大学 | 一种基于深度模型优化的超高速静态手势识别方法 |
CN110175641A (zh) * | 2019-05-22 | 2019-08-27 | 中国科学院苏州纳米技术与纳米仿生研究所 | 图像识别方法、装置、设备和存储介质 |
CN111260022A (zh) * | 2019-11-22 | 2020-06-09 | 中国电子科技集团公司第五十二研究所 | 一种卷积神经网络全int8定点量化的方法 |
CN110880038A (zh) * | 2019-11-29 | 2020-03-13 | 中国科学院自动化研究所 | 基于fpga的加速卷积计算的系统、卷积神经网络 |
CN110942148A (zh) * | 2019-12-11 | 2020-03-31 | 北京工业大学 | 一种自适应的非对称量化的深度神经网络模型压缩方法 |
CN111178514A (zh) * | 2019-12-31 | 2020-05-19 | 翱捷智能科技(上海)有限公司 | 神经网络的量化方法及系统 |
Non-Patent Citations (3)
Title |
---|
Efficient 8-bit quantization of transformer neural machine language translation model;Bhandare A等;《arXiv:1906.00532》;1-10 * |
Neural importance sampling;Müller T等;《ACM Transactions on Graphics (ToG)》;第38卷(第5期);1-9 * |
Quantizing deep convolutional networks for efficient inference: A whitepaper;Krishnamoorthi R;《arXiv:1806.08342》;1-36 * |
Also Published As
Publication number | Publication date |
---|---|
CN111814676A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111814676B (zh) | 基于kl散度的fpga离线量化方法 | |
CN110533022B (zh) | 一种目标检测方法、系统、装置及存储介质 | |
CN106649658B (zh) | 针对用户角色无差异对待和数据稀疏的推荐系统及方法 | |
CN117557775A (zh) | 基于红外和可见光融合的变电站电力设备检测方法及系统 | |
CN114677548A (zh) | 基于阻变存储器的神经网络图像分类系统及方法 | |
CN114266416A (zh) | 基于相似日的光伏发电功率短期预测方法、装置及存储介质 | |
Manikandan et al. | Deepq: Residue analysis of localization images in large scale solid state physical environments | |
CN114299305A (zh) | 聚合密集和注意力多尺度特征的显著性目标检测算法 | |
Hussain et al. | Lcrm: Layer-wise complexity reduction method for cnn model optimization on end devices | |
Du et al. | Model quantization and hardware acceleration for vision transformers: A comprehensive survey | |
CN116885702A (zh) | 基于随机矩阵理论主成分分析的电网状态分析方法及系统 | |
CN115147375B (zh) | 基于多尺度注意力的混凝土表面缺陷特征检测方法 | |
CN106816871B (zh) | 一种电力系统状态相似性分析方法 | |
CN111476408B (zh) | 一种电力通信设备状态预测方法及系统 | |
CN113033661A (zh) | 一种基于嵌入式平台特点改进的目标检测方法 | |
CN112783473A (zh) | 一种使用单个DSP单元并行计算6个4Bit和3Bit整形数据乘法运算方法 | |
CN112668770A (zh) | 一种基于信息与波形总体相似度的电力负荷预测方法 | |
CN111459838A (zh) | 一种基于流形对齐的软件缺陷预测方法及系统 | |
Li et al. | Application of mobile injection molding pump defect detection system based on deep learning | |
Yu et al. | An 8-bit Fixed Point Quantization Method for Sparse MobileNetV2 | |
CN118485044B (zh) | 一种大语言模型的低比特量化方法及系统 | |
CN116959489B (zh) | 语音模型的量化方法、装置、服务器及存储介质 | |
CN116843051A (zh) | 一种基于数据裁剪的船舶设备剩余使用寿命预测方法 | |
Rao et al. | Performance Evaluation of Approximate (8; 2) Compressor for Multipliers in Error-Resilient Image Processing Applications | |
Ling et al. | Integer-only Quantized Transformers for Embedded FPGA-based Time-series Forecasting in AIoT |
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 |