CN117151178A - 一种面向fpga的cnn定制网络量化加速方法 - Google Patents
一种面向fpga的cnn定制网络量化加速方法 Download PDFInfo
- Publication number
- CN117151178A CN117151178A CN202311200741.XA CN202311200741A CN117151178A CN 117151178 A CN117151178 A CN 117151178A CN 202311200741 A CN202311200741 A CN 202311200741A CN 117151178 A CN117151178 A CN 117151178A
- Authority
- CN
- China
- Prior art keywords
- quantization
- value
- network
- training
- quantized
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000001133 acceleration Effects 0.000 title claims abstract description 13
- 238000011002 quantification Methods 0.000 title claims abstract description 13
- 238000013139 quantization Methods 0.000 claims abstract description 79
- 238000012549 training Methods 0.000 claims abstract description 41
- 238000013528 artificial neural network Methods 0.000 claims abstract description 30
- 230000004913 activation Effects 0.000 claims abstract description 27
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 15
- 230000008447 perception Effects 0.000 claims abstract description 12
- 230000004927 fusion Effects 0.000 claims abstract description 9
- 238000007781 pre-processing Methods 0.000 claims abstract description 6
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 15
- 238000007667 floating Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 9
- 102100030148 Integrator complex subunit 8 Human genes 0.000 claims description 8
- 101710092891 Integrator complex subunit 8 Proteins 0.000 claims description 8
- 238000003062 neural network model Methods 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 3
- 230000035945 sensitivity Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 17
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 101100153586 Caenorhabditis elegans top-1 gene Proteins 0.000 description 2
- 101100370075 Mus musculus Top1 gene Proteins 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013585 weight reducing agent Substances 0.000 description 1
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/048—Activation functions
-
- 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/0495—Quantised networks; Sparse networks; Compressed 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/08—Learning methods
-
- 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)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
本发明为一种面向FPGA的CNN定制网络量化加速方法,属于神经网络领域。该方法包括:对轻量级神经网络进行构建与量化感知训练,并在训练的前向传播时利用改进的参数化裁剪激活PACT对激活值进行预处理;然后利用卷积连续执行方法CEOCO对网络进行重训练,重训练完成之后,对网络进行各种融合操作。最后将融合后的网络部署到ARM+FPGA异构芯片Xilinx Zynq Ultrascale+MPSoC 3EG上进行量化推理加速;本发明在神经网络精度损失可接收范围内的前提下,加速了神经网络在边缘智慧终端的推理速度;比起现有技术,具有更好的网络量化加速效果。
Description
技术领域
本发明属于神经网络压缩技术领域,具体涉及一种面向FPGA的CNN定制网络量化加速方法。
背景技术
卷积神经网络是人工智能应用中最常用的网络模型之一,广泛应用在计算机视觉、自然语言处理和嵌入式系统等方面。现在的网络,通过复杂的模型结构和不断堆叠的卷积层来提升网络学习特征的能力,其复杂的计算算子与巨大的参数量给资源有限的硬件设备带来了沉重的存储和计算压力。随着基于ARM+FPGA的边缘智能终端越来越普及,实现本地推理对模型轻量化提出了更高的要求。在这种情况下,许多研究人员提出近似、量化和裁剪等方法压缩网络体积,压缩技术通过去除冗余和不相关性来减小模型大小,在降低内存带宽方面起着至关重要的作用。
作为网络压缩的关键技术之一,量化将权重参数从32位浮点精度转换为8位或更低,减少了网络的计算强度、参数和内存消耗。然而,网络量化往往会导致精度的损失,如何在不显著损失精度的情况下减小网络尺寸已成为该领域的研究热点。为了补偿量化损失,DoReFa-Net提出了一种使用位卷积核进行训练和推断的方法。Choi等人引入了PACT方法,在训练过程中优化激活量化,而不会导致显著的性能降低。后训练量化通过使用部分验证数据将训练后的网络参数量化为低精度,实现网络压缩。然而,这些近似引入的误差在前向传播计算过程中累积,导致性能显著下降。Jacob提出了量化感知训练方法,在训练过程中将量化器注入到网络图中,对网络参数进行量化,并使用直通估计来近似梯度。然而,大多数量化感知训练方法只在卷积操作之前注入量化器,而在更复杂的网络结构中,许多其他操作符保持未量化状态。
在卷积神经网络的训练过程中,通常需要使用图形处理单元(GPU)来提供支持。然而,训练完成后,在网络推断阶段使用GPU会增加系统的整体性能和资源消耗。为了高效地部署和执行网络,Kotlar等人研究了各种部署位置和适合的底层硬件架构,包括多核处理器、众核处理器、可编程逻辑门阵列(FPGA)和应用特定集成电路(ASIC)。由于FPGA具有较低的功耗和灵活可配置的硬件资源,使用FPGA进行部署和推断逐渐成为新的研究热点。然而,在FPGA上部署CNN也面临一些挑战。传统网络如Vgg16具有1.38亿个参数,以32位格式存储时需要255MB的存储空间。将这些值传输到/从片外存储器还会产生性能和能量开销。此外,由于FPGA的独特结构和有限资源,需要对网络的推断部署进行数值调整。
发明内容
为了解决使用FPGA加速卷积神经网络推断时面临的一系列问题,本文主要实施了以下措施:
S1:构建神经网络,并训练全精度神经网络模型;
S2:引入改进后的PACT方法,并使用感知量化方法对模型进行量化;
S3:根据网络模型结构的不同,采用卷积连续执行方法CEOCO将特定的非卷积算子进行量化,得到量化模型后进行融合操作;
S4:部署轻量级CNNs到目标硬件FPGA上推理加速验证;
优选的,神经网络构建及训练网络过程包括:构建轻量化神经网络模型,将图像分类数据集进行预处理,分为训练集和验证集,并对图像数据进行随机翻转、亮度调整并随机裁剪到统一尺寸。将处理好的图片输入到神经网络中进行全精度模型训练。
优选的,引入改进后的PACT方法,并使用感知量化方法对模型进行量化操作过程包括:对PACT方法进行分析和改进,将PACT方法对激活值小于0的数值进行改进处理;对神经网络进行量化感知训练,在前向传播时利用量化器对激活值先使用PACT预处理,再进行逐层的对称量化与反量化,对权重值则采用更细粒的逐通道的对称量化与反量化。通过量化和反量化数值来引入量化数值所带来的误差,在进行卷积计算的时候,使用的是反量化的浮点数值,这样神经网络可以学习量化带来的误差。在进行反向传播时,由于使用了取整函数round-to-nearest,这会导致梯度计算全部为0,利用直通估计器STE来解决这个问题,即直接跳过量化计算公式,将数值传到上一层进行计算。
进一步的,改进的PACT方法的公式为:
其中,x为输入激活值,y为利用PACT函数截断后的值,α与β为两个可训练的参数,设置α的初始值为20,设置β的初始值为3,在神经网络量化训练时,通过改变α与β的值将激活值进行截断操作,去除异常值从而使得待映射数值紧凑。
进一步的,对权重采用逐通道对称量化的公式为:
其中,Wi为卷积层的第i个卷积核的权重,为通过Q(·)量化和反量化后的权重值,/>为该权重的缩放因子,由于是对称量化到8bit,所以偏置z恒等于0,且使用截断函数clamp将量化后的数值截断到(-127,127),round为round-to-nearst函数,即取整函数,abs和max分别为张量取绝对值和最大值。
进一步的,对特征图/激活值采用逐层对称量化的公式为:
其中,X为输入的浮点激活值,为量化和反量化后的值。不同的是,对激活值的缩放因子的计算公式,通过移动平均绝对最大值的采样策略采样数值MSE计算缩放因子:
moving_avg_max=moving_avg_max*β+max(abs(X))*(1-β)
其中moving_avg_max为平均值的绝对最大值,β为moving_avg_max的动量,初始值为0.9,β会根据训练从而改变,采用移动平均绝对值最大值的采样策略,可以减少模型对噪声和冗余信息的敏感度,从而提高模型的泛化能力。
优选的,根据网络模型结构的不同,采用卷积连续执行方法CEOCO将特定的非卷积算子进行量化并且子图融合,主要流程包括:分析通过传统的感知量化训练得到的网络模型结构,分析出卷积算子的输入输出数据类型是否一致为INT8,若不为INT8,需要在其算子前面插入伪量化节点进行量化与反量化操作,然后通过重训练将这部分值可以在量化推理时转换为INT8类型,从而可以让卷积算子在FPGA芯片上连续执行。神经网络框架会将连续可以在目标硬件上执行的算子组成一个子图,因此在部署之前可以将卷积算子组合成一个子图算子。
优选的,量化推理公式为:
整理得
其中在量化训练的时候可以获得SX,SY。假设/>M=2-nMo,其中M为浮点数,Mo为定点数,在推理量化时可以使用比特移位的方式将M用Mo替代,此时公式的数据类型全部为定点,可以完成在芯片上全INT8定点推理。
本发明的有益效果为:本发明基于定点标量量化技术对神经网络进行压缩。具体来说,对轻量级神经网络进行构建以及量化感知训练,并在训练的前向传播时利用改进的参数化裁剪激活PACT对激活值进行预处理,通过值域截断去除异常值,让缩放因子计算更加准确;然后利用卷积连续执行方法CEOCO对网络进行重训练,重训练完成之后,对网络进行各种融合操作,减少网络模型在部署阶段从寄存器读取数据的资源消耗;最后将融合后网络部署到ARM+FPGA异构芯片Xilinx Zynq Ultrascale+MPSoC 3EG上进行量化推理加速;本发明在神经网络精度损失可接收范围内的前提下,加速了神经网络在边缘智慧终端的推理速度;比起现有技术,具有更好的网络量化加速效果。
附图说明
图1为本发明的流程图;
图2为本发明中所提出的定制网络量化方法的流程图;
图3为本发明中网络算子部署在异构芯片上的示意图,图3(a)为由算子组成的网络结构,图3(b)为网络部署在异构芯片上执行推理时频繁切换平台的示意图;
图4为本发明中提出的CEOCO策略的示意图,图4(a)为原始网络模型结构图,图4(b)为添加伪量化节点后的网络模型结构图,图4(c)为如果FPGAs支持其他非卷积算子的网络模型结构图,图4(d)、图4(e)和图4(f)分别为图4(a)、图4(b)和图4(c)经过子图融合后的网络模型结构图;
图5为本发明中传统量化方法与使用本发明量化算法的收敛精度示意图,图5(a)、图5(b)、图5(c)、图5(d)分别为mobilenetv1、mobilenetv3、pplcnet和pplcnetv2四个网络的本发明量化算法与传统量化方法在验证集Top-1精度收敛对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出了一种面向FPGA的CNN定制网络量化加速方法,如图1和图2所示,所述的方法包括以下内容:对轻量级神经网络进行构建与量化感知训练,并在训练的前向传播时利用改进的参数化裁剪激活PACT对激活值进行预处理;利用卷积连续执行方法CEOCO对网络进行重训练,重训练完成之后,对网络进行各种融合操作,将融合后的网络部署到ARM+FPGA异构芯片Xilinx Zynq Ultrascale+MPSoC 3EG上进行量化推理加速;
S1:构建神经网络,并训练全精度神经网络模型;
神经网络构建及训练网络过程包括:构建轻量化神经网络模型,将图像分类数据集进行预处理,分为训练集和验证集,并对图像数据进行随机翻转、亮度调整并随机裁剪到统一尺寸(3×224×224),将处理好的图片输入到神经网络中进行全精度模型训练。
S2:引入改进后的PACT方法,并使用感知量化方法对模型进行量化;
该操作过程包括:对PACT方法进行分析和改进,将PACT方法对激活值小于0的数值进行改进处理;对神经网络进行量化感知训练,在前向传播时利用量化器对激活值先使用PACT预处理,再进行逐层的对称量化与反量化,对权重值则采用更细粒的逐通道的对称量化与反量化。通过量化和反量化数值来引入量化数值所带来的误差,在进行卷积计算的时候,使用的是反量化的浮点数值,这样神经网络可以学习量化带来的误差。在进行反向传播时,由于使用了取整函数round-to-nearest,这会导致梯度计算全部为0,利用直通估计器STE来解决这个问题,即直接跳过量化计算公式,将数值传到上一层进行计算。改进的PACT方法的公式为:
其中,x为输入激活值,y为利用PACT函数截断后的值,α与β为两个可训练的参数,设置α的初始值为20,设置β的初始值为3,在神经网络量化训练时,通过改变α与β的值将激活值进行截断操作,去除异常值从而使得待映射数值紧凑。对权重采用逐通道对称量化的公式为:
其中,Wi为卷积层的第i个卷积核的权重,为通过Q(·)量化和反量化后的权重值,/>为该权重的缩放因子,由于是对称量化到8bit,所以偏置z恒等于0,且使用截断函数clamp将量化后的数值截断到(-127,127),round为round-to-nearst函数,即取整函数,abs和max分别为张量取绝对值和最大值。对特征图/激活值采用逐层对称量化的公式为:
其中,X为输入的浮点激活值,为量化和反量化后的值。不同的是,对激活值的缩放因子的计算公式,通过移动平均绝对最大值的采样策略采样数值MSE计算缩放因子:
moving_avg_max=moving_avg_max*β+max(abs(X))*(1-β)
其中moving_avg_max为平均值的绝对最大值,β为moving_avg_max的动量,初始值为0.9,β会根据训练从而改变,采用移动平均绝对值最大值的采样策略,可以减少模型对噪声和冗余信息的敏感度,从而提高模型的泛化能力。
S3:根据网络模型结构的不同,采用卷积连续执行方法CEOCO将特定的非卷积算子进行量化,得到量化模型后进行融合操作;
图3为本发明中网络算子部署在异构芯片上的示意图,图3(a)为由算子组成的网络结构,图3(b)为网络部署在异构芯片上执行推理时频繁切换平台的示意图;
图4为本发明中提出的CEOCO策略的示意图,图4(a)为原始网络模型结构图,图4(b)为添加伪量化节点后的网络模型结构图,图4(c)为如果FPGAs支持其他非卷积算子的网络模型结构图,图4(d)、图4(e)和图4(f)分别为图4(a)、图4(b)和图4(c)经过子图融合后的网络模型结构图;
图5为本发明中传统量化方法与使用本发明量化算法的收敛精度示意图,图5(a)、图5(b)、图5(c)、图5(d)分别为mobilenetv1、mobilenetv3、pplcnet和pplcnetv2四个网络的本发明量化算法与传统量化方法在验证集Top-1精度收敛对比图。
主要流程包括:分析通过传统的感知量化训练得到的网络模型结构,分析出卷积算子的输入输出数据类型是否一致为INT8,如图3所示,若不为INT8,需要在其算子前面插入伪量化节点进行量化与反量化操作,如图4所示,然后通过重训练将这部分值可以在量化推理时转换为INT8类型,从而可以让卷积算子在FPGA芯片上连续执行。神经网络框架会将连续可以在目标硬件上执行的算子组成一个子图,因此在部署之前可以将卷积算子组合成一个子图算子。
S4:部署轻量级CNNs到目标硬件FPGA上推理加速验证;
将网络模型部署到Xilinx Zynq Ultrascale+MPSoC 3EG芯片上量化推理,其公式为:
整理得:
其中在量化训练的时候可以获得SX,SY。假设/>M=2-nMo,其中M为浮点数,Mo为定点数,在推理量化时使用比特移位的方式将M用Mo替代。
表1为全精度浮点模型与本文优化模型在验证集上的精度对比以及模型大小的对比,其中*-F为全精度浮点模型,*-O为本文优化模型。可以看出本文优化模型的精度损失平均下降为1.2%,仍然满足图像分类的精度识别需求。另外,本文优化模型的体积压缩了近四分之一,降低了模型体积大小,从而便于在资源有限的智慧终端部署神经网络。
表1全精度模型与本文优化模型对比
表2为传统量化模型与本文优化模型在验证集上的精度对比以及部署在芯片上推理时间对比,其中*-C为传统量化模型,*-O为本文优化模型。可以看出传统量化方法和本文优化方法对比,模型的精度相差不大,但本文优化方法的推理速度有所提升。图5为本发明中传统量化方法与使用本发明量化算法的收敛精度示意图。
表2普通量化模型与本文优化模型对比
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种面向FPGA的CNN定制网络量化加速方法,其特征在于:该方法包括以下步骤:
S1:构建神经网络,并训练全精度神经网络模型;
S2:引入改进后的PACT方法,并使用感知量化方法对模型进行量化;
S3:根据网络模型结构的不同,采用卷积连续执行方法CEOCO将特定的非卷积算子进行量化,得到量化模型后进行融合操作;
S4:部署轻量级CNNs到目标硬件FPGA上推理加速验证。
2.根据权利要求1所述的一种面向FPGA的CNN定制网络量化加速方法,其特征在于:所述S1具体包括:构建轻量化神经网络模型,将图像分类数据集进行预处理,分为训练集和验证集,并对图像进行随机翻转、亮度调整并随机裁剪到统一尺寸;将处理好的图片输入到神经网络中进行全精度模型训练。
3.根据权利要求1所述的一种面向FPGA的CNN定制网络量化加速方法,其特征在于:所述S2具体包括:对PACT方法进行分析和改进,将PACT方法对激活值小于0的数值进行改进处理;对神经网络进行量化感知训练,在前向传播时利用量化器对激活值先使用PACT预处理,再进行逐层的对称量化与反量化,对权重值则采用更细粒的逐通道的对称量化与反量化;通过量化和反量化数值来引入量化数值所带来的误差,在进行卷积计算的时候,使用的是反量化的浮点数值,学习量化带来的误差;在进行反向传播时,由于使用了取整函数round-to-nearest,这会导致梯度计算全部为0,利用直通估计器STE来解决这个问题,即直接跳过量化计算公式,将数值传到上一层进行计算;
改进的PACT方法的公式为:
其中,x为输入激活值,y为利用PACT函数截断后的值,α与β为两个可训练的参数,设置α的初始值为20,设置β的初始值为3,在神经网络量化训练时,通过改变α与β的值将激活值进行截断操作,去除异常值从而使得待映射数值紧凑;
对权重采用逐通道对称量化的公式为:
其中,Wi为卷积层的第i个卷积核的权重,为通过Q(·)量化和反量化后的权重值,为该权重的缩放因子,由于是对称量化到8bit,所以偏置z恒等于0,且使用截断函数clamp将量化后的数值截断到(-127,127),round为round-to-nearst函数,即取整函数,abs和max分别为张量取绝对值和最大值;
对特征图/激活值采用逐层对称量化的公式为:
其中,X为输入的浮点激活值,为量化和反量化后的值;不同的是,对激活值的缩放因子的计算公式,通过移动平均绝对最大值的采样策略采样数值MSE计算缩放因子:
moving_avg_max=moving_avg_max*β+max(abs(X))*(1-β)
其中moving_avg_max为平均值的绝对最大值,β为moving_avg_max的动量,初始值为0.9,β会根据训练从而改变,采用移动平均绝对值最大值的采样策略,减少模型对噪声和冗余信息的敏感度,提高模型的泛化能力。
4.根据权利要求1所述的一种面向FPGA的CNN定制网络量化加速方法,其特征在于:所述S3和S4具体包括:分析通过传统的感知量化训练得到的网络模型结构,分析出卷积算子的输入输出数据类型是否一致为INT8,若不为INT8,则在其算子前面插入伪量化节点进行量化与反量化操作,然后通过重训练将这部分值在量化推理时转换为INT8类型,让卷积算子在FPGA芯片上连续执行;神经网络框架会将连续在目标硬件上执行的算子组成一个子图,在部署之前将卷积算子组合成一个子图算子;
量化推理公式为:
整理得
其中在量化训练的时候获得SX,SY;假设/>M=2-nMo,其中M为浮点数,Mo为定点数,在推理量化时使用比特移位的方式将M用Mo替代,公式的数据类型全部为定点,完成在芯片上全INT8定点推理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311200741.XA CN117151178A (zh) | 2023-09-18 | 2023-09-18 | 一种面向fpga的cnn定制网络量化加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311200741.XA CN117151178A (zh) | 2023-09-18 | 2023-09-18 | 一种面向fpga的cnn定制网络量化加速方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117151178A true CN117151178A (zh) | 2023-12-01 |
Family
ID=88898762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311200741.XA Pending CN117151178A (zh) | 2023-09-18 | 2023-09-18 | 一种面向fpga的cnn定制网络量化加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117151178A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117454948A (zh) * | 2023-12-25 | 2024-01-26 | 福建亿榕信息技术有限公司 | 一种适用于国产硬件的fp32模型转换方法 |
-
2023
- 2023-09-18 CN CN202311200741.XA patent/CN117151178A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117454948A (zh) * | 2023-12-25 | 2024-01-26 | 福建亿榕信息技术有限公司 | 一种适用于国产硬件的fp32模型转换方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111079781B (zh) | 基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法 | |
CN110378468B (zh) | 一种基于结构化剪枝和低比特量化的神经网络加速器 | |
Sun et al. | VAQF: fully automatic software-hardware co-design framework for low-bit vision transformer | |
CN111147862B (zh) | 一种基于目标编码的端到端图像压缩方法 | |
CN112508125A (zh) | 一种图像检测模型的高效全整数量化方法 | |
JP7408799B2 (ja) | ニューラルネットワークモデルの圧縮 | |
CN113222138A (zh) | 一种联合层剪枝和通道剪枝的卷积神经网络压缩方法 | |
CN117151178A (zh) | 一种面向fpga的cnn定制网络量化加速方法 | |
CN112633477A (zh) | 一种基于现场可编程阵列的量化神经网络加速方法 | |
TW202022798A (zh) | 處理卷積神經網路的方法 | |
CN112598129A (zh) | 基于ReRAM神经网络加速器的可调硬件感知的剪枝和映射框架 | |
Wei et al. | EdgeCRNN: an edge-computing oriented model of acoustic feature enhancement for keyword spotting | |
Bao et al. | LSFQ: A low precision full integer quantization for high-performance FPGA-based CNN acceleration | |
CN114943335A (zh) | 一种三值神经网络逐层优化方法 | |
WO2022246986A1 (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
Qi et al. | Learning low resource consumption cnn through pruning and quantization | |
Jiang et al. | A low-latency LSTM accelerator using balanced sparsity based on FPGA | |
CN115238883A (zh) | 神经网络模型的训练方法、装置、设备及存储介质 | |
CN113792621A (zh) | 一种基于fpga的目标检测加速器设计方法 | |
CN112183744A (zh) | 一种神经网络剪枝方法及装置 | |
CN110782396A (zh) | 一种轻量化的图像超分辨率重建网络和重建方法 | |
CN112561050A (zh) | 一种神经网络模型训练方法及装置 | |
CN115409150A (zh) | 一种数据压缩方法、数据解压方法及相关设备 | |
CN114065913A (zh) | 模型量化方法、装置及终端设备 | |
Li et al. | Designing Efficient Shortcut Architecture for Improving the Accuracy of Fully Quantized Neural Networks Accelerator |
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 |