没有合适的资源?快使用搜索试试~ 我知道了~
11216量化预测二进制稀疏掩码Q-ConvQ-ReLUFqq或Q-max-poolingM文勤稀疏卷积WFFReLU或Max-poolingS-Conv输出特征图下一次会议ConvConv猫狗猪牛男--SeerNet:通过低位量化预测卷积神经网络的映射曹世杰1、马凌霄2、肖文聪3、张晨4、刘云新4、张林涛4、聂兰顺1、杨志21哈尔滨工业大学2北京大学3北京航空航天大学4微软研究院v-shicao,v-lima,v-wencxi,zac,yunxin.liu,microsoft.com,nls@hit.edu.cn,yangzhi@pku.edu.cn摘要在本文中,我们提出了一种新的和通用的方法来加速卷积神经网络(CNN)的推理,利用特征映射稀疏。我们通过实验证明,原始网络的高度量化版本足以准确预测输出稀疏性,并验证了与原始网络相比,在推理中利用这种稀疏性会导致可忽略的准确性下降。为了加快推理速度,对于每个卷积层,我们的方法首先通过对原始网络层的量化版本,然后进行全精度稀疏卷积以找出非零输出的精确值。与实验相比,该方法避免了额外训练辅助网络的开销,同时也适用于一般的CNN网络,而不局限于特定的应用领域。1. 介绍今天人工智能的突破通常来自具有非常大的多层模型的深度神经网络(DNN)。对这些庞大的-10模型进行推理需要大量的计算能力和大量的能量。以低成本、高能效和低延迟的方式运行这些模型是非常有希望的,并且已经引起了研究界的广泛关注。探索DNN中的稀疏性是降低模型推理成本的关键技术许多DNN,特别是卷积-*在微软研究院实习期间的贡献。†通讯作者。图1.卷积层SeerNet推理的总体流程。稀疏性预测是逐层进行的。原始层的权重被表示为W,并且量化层的对应权重被表示为Wq。输入特征图F(或第一CNN层的输入图像)被量化为Fq。基于Wq和Fq,我们执行量化的低位推断(Q-Conv和Q-ReLU,即,量化卷积和量化ReLU激活)以生成稀疏掩码M。利用M,我们执行全精度稀疏推理(S-Conv,即,稀疏卷积)以得到输出特征图F人工神经网络(CNN)是高度稀疏的,其中在计算中涉及的许多值为零或接近零。通过跳过涉及零值的计算,可以显著降低模型推理成本。稀疏性可以出现在神经网络推理的几个不同的地方。CNN中的权重稀疏性已经得到了扩展-Softmax11217在许多以前的研究中进行了深入探讨[8,32,10,12,19]。一些研究人员进一步探索了输入稀疏性的加速潜力,例如从ReLU激活中跳过零[25,21]或3D对象分类的稀疏输入[33]和检测[34,26]。另一种可以利用的稀疏性是输出稀疏性。如果已知某些输出值为零,我们可以完全避免计算这些输出。一条工作线通过外部应用程序特定的知识预测输出特征图稀疏度[23,14]。这些方法只能用于特定的任务,通常不适用于常规的CNN网络。与我们工作相关的另一个研究方向是训练一个小的协作网络来预测输出稀疏度[3,4]。这些工作在推理工作负载上显示出有意义的加速,但它们需要训练额外的神经网络,这对于非专家来说通常是一项艰巨的任务。在本文中,我们提出了SeerNet,这是一种准确预测CNN层输出特征图稀疏性的新方法。SeerNet的关键思想是首先运行一个高度量化的(例如,4-比特或1比特)版本的原始CNN网络来预测输出特征图的二进制稀疏掩码。然后,我们使用这个二进制稀疏掩码来指导全精度卷积,如图1所示。由于我们对原始网络进行了重新训练,因此我们的方法不需要重新训练或整合外部知识。我们解决两个关键的挑战,所提出的方法。首先,量化预测必须准确地预测输出稀疏性,同时产生很少的计算开销。其次,全精度稀疏卷积必须能够有效地利用这种稀疏性来加速推理。为此,我们开发了几种有效的离线网络量化和在线量化推理技术,并提出了一种快速稀疏卷积实现,并利用特征图的稀疏性。我们 已 经 验 证 了 我 们 的 想 法 , 并 在 CIFAR-10 [16]和ILSVRC- 2012 [24]数据集上使用各种流行的CNN模型评估了我们的系统。实验结果表明,我们的方法是能够预测的特征图稀疏模型的准确率平均为96.5%,导致一个微不足道的下降模型推理准确率只有0.18%至0.42%。我们还展示了明显的挂钟加速相比,以前的工作。本文的主要贡献如下。我们提出了一种新的方法,通过低比特量化来准确预测CNN特征图的稀疏性。我们开发了多种技术来确保良好的稀疏预测精度和低预测开销。我们提供了一个系统实现来利用预测的特征图稀疏性来加速CNN模型推理。我们采用多种优化方法-旨在充分利用硬件功能实现实际加速。我们进行了全面的实验来证明,我们的方法实现了加速推理与模型的准确性可以忽略不计的下降。本文其余部分的组织结构如下:第二节介绍了相关工作。第3节探讨了特征图稀疏性加速CNN模型推理的机会第4节提出SeerNet通过低比特量化来准确预测特征图稀疏度。第5节演示了通过利用输出特征映射稀疏性来加速CPU。第6节报告了实验结果,第7节总结了本文。2. 相关工作权重修剪。权重稀疏性在以前的工作中已经得到了广泛的研究。由于模型权重在模型训练后不会改变,并且在推断过程中是恒定的,因此先前的工作提出了具有统计权重稀疏掩码的稀疏矩阵算法根据剪枝方法的粒度不同,权重剪枝可以分为细粒度剪枝、滤波器级剪枝和通道级剪枝。我们的工作重点是特征图稀疏性,因此是互补的重量稀疏。输入稀疏性。研究人员还提出利用激活图中的稀疏性[13,25,5,21]。整流线性单元(ReLU)激活通常包含更多超过50%的零。与权值修剪不同,输入激活稀疏度在推理过程中动态生成基于硬件和基于软件的卷积算法提出了利用输入稀疏。然而,由于非连续存储器访问和较差的并行性,具有输入稀疏性的卷积很难被加速,甚至可能比密集卷积慢通过利用输出稀疏性,我们的方法避免了大量的计算,但保持了常规的内存访问模式,因为我们的输入都是稠密矩阵。输出稀疏性。已经提出了几种方法来预测输出特征图中的稀疏性。X. Dong等人建议为每个控制器添加一个小型辅助网络卷积层来预测注意区域,并根据辅助网络的预测跳过那些不重要的激活空间的计算[3]。在车辆检测应用中,SBNet [23]使用来自离线地图或在线预测神经网络的先验知识来生成稀疏块的计算掩码,以加速推理。M. Figurnov等人研究了如何在对象分类任务中跳过CNN中不重要区域的自适应层数[4]。X. Li等人提出使用逐像素掩模来重新加权计算中的计算。···11218语义分割的上下文[18]。这些方法与我们的工作密切相关与它们相比,我们的方法不需要额外的模型训练或先验领域知识。因此,我们的方法可以支持现有的模型和应用程序,开发人员的努力最小我们的方法也实现了更好的预测精度比现有的方法。在[1,28]中,作者为DNN设计了定制的加速器,以做出跳过不必要计算的早期决策或预测。量化。量化是一种广泛使用的模型压缩技术。V.Vanhoucke等人在语音识别任务中演示了8位量化,退化[31]。通过全面的再训练策略,进一步的工作将卷积核的位数从32量化到8甚至量化到4 [39,36]。其他研究[38,7,17,22]使用一些权重共享技术进一步压缩模型大小。XNOR net [22]使用1位权重量化AlexNet和VGG,但遭受了显着的准确性损失。Dorefa [37]推广了量化方法,并证明了低比特神经网络训练的良好结果为了保持模型的准确性,通常需要重新训练。总之,在模型精度和量化水平之间存在基本的权衡。流行的做法通常使用16位或8位量化。在这项工作中,我们使用量化来预测特征图的稀疏性,而不是压缩完整的模型。我们表明,这是可行的,更积极地对模型进行3. CNN中的映射稀疏性CNN模型中的特征映射通常具有高稀疏性。这是因为卷积层通常遵循80706050403020100图2.流行模型中ReLU激活后特征图的平均稀疏率1009080706050403020100图3. VGG16的每层特征图稀疏度并不完全令人满意。训练协作网络对于没有经验的开发人员来说通常是一项艰巨的任务,需要调整许多额外的超参数,而外部特定领域的知识仅适用于非常有限的任务,如语义分割。在第4节中,我们描述了我们提出的方法如何通过低比特量化来准确预测通过将所有负输入变为零的ReLU激活层特征图)的CNN层高度稀疏。此外,最大池化层仅选择子区域中的最大值,并丢弃该区域中的其他值。如图2所示,我们观察到广泛使用的CNN模型中的平均特征图稀疏率(ReLU之后)在40%到80%之间更深入地看,不同的层可能有不同的特征图稀疏率.图3显示了VGG16中各层 特 征 图 的 详 细 分 类 对 于 具 有 自 适 应 最 大 池 化(+MP)的层,稀疏度可以达到80%以上,通过跳过零输出的不必要计算而产生5倍或更高的加速潜力然而,利用特征图稀疏性是具有挑战性的,因为这种稀疏性严重依赖于CNN输入,因此在不执行模型推理的情况下无法预先确定。因此,我们需要一种方法来预测特征图的稀疏性.以前的工作要么训练一个协作的小型网络[3],要么使用外部特定领域的知识[23]来帮助预测输出稀疏性。这两种方法4. 基于低比特量化在SeerNet中,我们建议使用量化卷积来预测CNN的特征图稀疏性对于给定的CNN模型,可以在线或离线生成量化权重。该算法并行度高,计算复杂度低,在线计算量化的计算复杂度仅为全卷积的1/(HW),其中H、W是输出特征图的维度离线准备是消除在线量化开销的一种选择在在线模型推理过程中,我们为每个CNN层引入了额外的“稀疏预测”步骤。我们首先使用量化的权重对输入数据执行量化卷积,并生成二进制稀疏掩码。使用稀疏掩码,然后使用原始CNN权重进行稀疏卷积并获得输出特征图,这也是下一层的输入。稀疏预-稀疏率(%)12(+MP)11109(+MP)876(+MP)54稀疏率(%)11219⊗x−(−1.(二)以逐层的方式进行判定和随后的稀疏卷积图1示出了量化特征图稀疏预测和稀疏推断的总体流程。精度,因此需要更少的操作,运行更快。等式1表示经典卷积。对于单个CNN层。我们的特征图ΣNY=Wi我O第十一章(一)SeerNet中的稀疏性预测:1)必须确保稀疏性-sity预测准确度和最终模型准确度,以及2)预测过程必须快速并且引起低计算开销。为了满足这些要求,我们开发了三种技术,即有效的量化器,反量化自由,其中表示卷积运算。 为了简单起见,我们忽略了偏见。给定量化器f,量化卷积计算在等式2中示出,其中f表示整数卷积运算。整数卷积和量化稀疏掩模预测。在下面的小节中,我们将详细描述每种技术的工作原理。ΣN(1)A(我O(i)4.1. 高效量化器量化是加速神经网络推理和训练的常用方法。与经典的量化不同,我们不使用它进行充分的推理,而是仅以逐层的方式使用它来预测输出特征图的稀疏度。因此,我们可以使用比那些低得多的ΣN=f(Wi我N−w×x我O(i)M(fw(Wi)fx(Xi))(二)在量化方案中用于执行完整模型。对于ReLU激活的输出,预测需要找到输出特征映射的符号,并将那些负符号归零。对于最大池化,这种预测需要找到子区域中最大值的位置,而不考虑精确值。较低的量化位-与经典的量化卷积不同,我们的Q-Conv是反量化的,因为我们只关心ReLU的符号和最大池化的最大值位置。因此,计算公式如等式3所示。10意味着更低的计算开销和更快的推理速度。然而,过度量化引入了太多的预测误差,并将降低模型的准确性。我们确定最佳量化水平经验。我们展示经验-ΣN10)A(A)=A(我ΣN−1w×x(fw(Wi)MMfx(Xi)(三)在第6.5节中找到最低量化级别。之前提出了许多量化方法我们使用=sign((fw(Wi)我fx(Xi)一种流行的方法,类似于TensorFlow [15]中使用的量化方法,因为它的效率和高精度。图4显示了一个将4位量化为3x3张量的玩具示例我们首先找到张量的最大绝对值,在这种情况下是然后,我们定义一个线性映射函数,将最大值“1.2”映射Teger表示,在这种情况下是24−1−1 = 7。因此,任何介于-1之间的数。二比一2线性映射到-8到+7通过映射函数y = int(1. 2−(−1. (2)×8)。n位整数矩阵1.2-10.50.3-0.2-0.40.010.10.28-632-1-3011第一步:最大的腹肌值M=1.2步骤2:量化值图4. n比特量化的示例(例如,n=4)。4.2. 无反量化卷积在 这 里 , 我 们 介 绍 我 们 的 量 化 卷 积 算 子 ( Q-Conv)。与传统方法不同,我们的量化卷积不需要去量化阶段来恢复FF1Σ=112204.3. 量化稀疏掩码预测在许多流行的CNN模型中,卷积层是10层,后面是批处理归一化层或/和ReLU层或/和最大池化层。ReLU会导致零元素,而max-pooling会丢弃更多未使用的元素。使用量化网络来预测ReLU+max-pooling之后的特征图稀疏度,与仅预测ReLU之后的特征图稀疏度相比,我们可以节省更多不必要的计算不同的模型具有不同的这些层的组合,这取决于模型是如何设计和调优的。特别是对于我们的稀疏掩模预测,我们将所有组合分为两组。卷积+ Relu或/和最大池化。如上所述,我们的Q-Conv输出低位整数。当ReLU层跟随卷积时,我们在 Q-Conv 的 输 出 上 应 用 量 化 ReLU 操 作 ( Q-ReLU)Q-ReLU只关心Q-Conv的输出特征映射的符号,从而生成具有相同维度的相应稀疏掩码。类似地,Q-max-pooling只关心子区域中的最大值的位置,并生成相应的掩码,如图5所示。11221√××−卷积输出特征图Q-ReLU2-3-61-7520-1-48-4201-3Q-max-poolingReLU掩模最大合并遮罩通过这些技术,包括有效的量化器,反量化的整数卷积,有效的Q-ReLu和Q-max-pooling内核,Q-Conv-BN融合技术,我们的稀疏掩模预测是快速和准确的。5. 加速CNN模型推理在本节中,我们将介绍我们在将特征图稀疏性转化为CPU加速方面所做的努力理论上,给定一个稀疏度为80%的ReLu层,上限加速比为图5. Q-Relu和Q-max-pooling的例子。卷积+批量范数+ ReLU/最大池化。 批量归一化[11]可以用于减少特征映射内部协变移位,并且经常用于CNN模型。从算术计算的角度来看,批量归一化层有五种参数,分别是比例因子α、偏差β、平均均值μ、平均方差σ2,以及一个用于数值稳定性的小常数σ 2,如公式4所示。B=α×(Y−µ)+β(4)σ2+ε在Q-Conv的输出上直接应用量化批量归一化(Q-BN)将导致两个连续层的量化参数的乘积。这将放大量化带来的精度损失,并在稀疏预测中产生额外的误差。如等式5所示,卷积层和批量归一化层的参数都需要量化,主要是卷积权重W和批量归一化缩放因子α。5倍,跳过80%的计算。对于最大池化层,2x2最大池化可以节省四分之三的计算,这意味着理论上4倍的加速。然而,在实践中,由于量化预测成本和稀疏计算开销,很难实现这样的加速比虽然这项工作主要集中在特征图稀疏预测,我们开发了几种技术来加速我们的量化稀疏预测和稀疏卷积的商品硬件。AVX加速。目前的商品现成的CPU没有本地低位算术硬件支持。因此,我们利用CPU的矢量处理单元,如AVX,进行量化预测。AVX2或高级向量扩展V2是Intel CPU中的一种算术硬件,用于高达256位的向量操作由于当前的Intel CPU不支持4位数据,因此即使我们为预测网络使用较低的位精度(如4位),我们也使用8位整数进行算术计算AVX可以并行处理32个8位整数运算每周期.为了高效存储,我们使用4位格式来缓存中间结果。有效的稀疏掩码编码格式。一个好1999年,ΣN我WiNXi+bias−µ)稀疏编码格式直接增加了稀疏卷积,的计算效率。 我们提出了一个有效的EN-B=<$σ2+ε+β(5)通过融合Q-Conv核和Q-BN核来消除复合量化误差。核融合是加速DNN模型的常见做法。在这里,我们融合了卷积和批归一化的量化,以消除级联层中的复合量化误差。方程6给出了我们的融合算子的推导,其中我们将α和Wi 融 合为f(αWi)。我们将融合的Q-Conv和Q-BN算子称为Q-Conv-BN。编码格式,如图6所示。在这种编码中,我们丢弃了所有零输出的索引,因此S-CONV内核只接受非零条目。此外,我们直接编码矩阵索引,以便S-Conv可以检索索引和输入向量,开销可以忽略不计。输出要素图的稀疏掩码ΣN我α W i N Xi+α×(bias−µ)2)A=A(F(=ΣN我αWi(σ2+ε+β)N Xi)+f(α(bias µ))f(<$σ2+ε)+f(β)012345678000010010010110010111011111ΣNifw(αWi)Lfx(Xi)+f(α×(bias−µ))列索引编码=+f(β)f(<$σ2+ε)(六)行索引图6.有效的稀疏掩码编码。向量化200105200080201010010110001010100000052000802000000001100010100047134701202 600001011101011001101001011111222多层次数据重用。我们的双模型推理引入了量化参数和特征图的重复存储。一般来说,额外的存储开销会导致内存访问的浪费,从而导致每次降级。我们利用多级数据重用技术来解决这个问题。为了提高数据重用,我们融合了输入量化和Q-Conv、Q-BN、Q-ReLU和Q-max-pooling的执行,以充分重用CPU寄存器中的数据。由于Q-Conv是以AVX向量格式封装的,我们使用寄存器内算术左移和右移来实现AVX和其他内核使用的数据格式之间的我们还将S-Conv与S-BN/S-ReLU/S-max-pooling融合,以重用寄存器和CPU缓存中的临时数据。6. 评价在本节中,我们使用各种CNN模型在两个基准数据集上进行实验。第6.1节描述了我们使用的数据集和模型。我们的评估围绕两个方面:SeerNet的模型精度(第6.2节)和SeerNet在CPU上实现的推理加速(第6.3节)。第6.4节、第6.5节和第6.6进一步讨论了各层的量化稀疏掩模预测精度、精度对用于预测的量化比特的敏感性以及融合CONV和BN对保持模型精度的影响。6.1. 数据集和CNN模型我们使用两个数据集CIFAR-10 [16]和ILSVRC- 2012[24]来评估我们提出的方法。 CIFAR-10是一个用于图像分类的数据集,包含60 K照片,大小为32 x32,分为10个类别。ILSVRC-2012是一个包含128万张图像的数据集,分为1000个类别。为了评估SeerNet的准确性以及使用ReLU和max-pooling进行卷积的加速,我们使用了五个代表性的CNN 模 型 。 这 些 模 型 包 括 VGG16 , VGG16 BN ,ResNet18,ResNet34和Inception [27,9,29,30]。我们使用来自Py-torch torchvision model zoo的ILSVRC-2012上的预训练模型对于CIFAR-10上的CNN模型,我们使用Pytorch训练基线模型。6.2. 整体模型精度我们通过对五个CNN模型的所有层应用稀疏卷积和量化预测来评估SeerNet的整体模型准确性,而无需对两个数据集进行重新训练。量化位被配置为4位。比较的基线是具有原始配置的预训练模型。ILSVRC-2012表1显示了ILSVRC-2012数据集上的前1和前5模型准确度。总的来说,SeerNet的准确性下降非常小,与前5名相比,前1名的平均值为0.51%,前5名的平均值为0.28%。模型基线(Top1/Top5)SeerNet(Top1/Top5)Acc. 下降(Top1/Top5)VGG1671.59/90.3871.31/90.280.28/0.10VGG16 BN73.37/91.5072.85/91.180.52/0.32ResNet1869.76/89.0869.34/88.900.42/0.18ResNet3473.30/91.4272.95/91.250.35/0.17InceptionV377.35/93.6276.39/92.970.96/0.65表1.在ILSVRC-2012上使用4位量化预测的SeerNet的前1和前5准确度(%)模型基线SeerNetAcc. 下降VGG1692.5792.480.09VGG16 BN93.8993.600.29ResNet1893.9193.880.02ResNet3494.8094.760.04启动V195.1293.821.30表2.在CIFAR-10上使用4位量化预测的SeerNet的前1准确度(%)。所有五个模型的基线。SeerNet在VGG16上实现了最小的准确率下降,前1名和前5名分别为0.28%和0.1%。虽然对于更复杂的模型,精度下降会更高,但SeerNet在InceptionV3模型上也获得了合理的结果,即,前一名和前五名分别下降了0.96%和0.65%由于我们的Q-Conv-BN融合技术,批量归一化对模型精度的影响很小,在比较VGG 16和VGG 16 BN时,top-1和top-5的精度分别下降了0.24%和0.22%。我们将在第6.6节中进一步评估批量归一化的效果。CIFAR-10表2显示了CIFAR-10数据集的总体前1名模型准确度。SeerNet在五个模型中平均实现了0.35%的准 确 率 下 降 , 其 中 最 小 的 一 个 在 ResNet18 上 仅 为0.02%,最大的一个在一个在InceptionV1上分别为1.30%。与ILSVRC-2012数据集上的结果类似,批量归一化对量化预测的影响很小。当比较启用和禁用批量归一化的VGG16模型时,进一步的准确度下降为0.2%。在ILSVRC-2012和CIFAR-10数据集上的评估结果表明,SeerNet具有较高的精度。根据第4节,SeerNet基于量化的稀疏掩码预测运行稀疏卷积,因此整体模型精度仅受SeerNet中量化预测的影响。我们在第6.4节和第6.5节中使用两个微基准进一步评估了量化预测。6.3. 推理加速为了证明我们的稀疏卷积算法可实现的加速比,我们实现了量化预测11223图7.推理时间和加速。SeerNet的总计算时间是稀疏卷积和量化预测所花费的计算时间的总和。所以酒吧越小越好。加速比是计算时间的倒数。和稀疏卷积核。根据第3节,具有更高稀疏性的层通常意味着更大的加速空间。由于量化预测引入的计算开销,具有小稀疏性的层可能没有任何加速。因此,我们只在稀疏度大于60%的层上应用稀疏卷积。对于其余的层,我们使用原始的稠密卷积。我们测试了我们的性能从ILSVRC 2012数据集的真实图像数据。为了与以前的工作进行公平的比较,我们使用ResNet 18,ResNet 34和VGG 16在ILSVRC- 2012数据集上进行测试。我们比较以下方法。LCCL [3]和PFEC[17]专注于利用卷积稀疏性来加速推理。LCCL重新训练一个小的协作网络来预测输出稀疏性。PFEC修剪卷积滤波器。BWN和XNOR [22]通过模型量化加速推断。BWN使用二进制卷积权值。XNOR重新训练网络,模型方法Top-1Acc.下降(%)Top-5Acc.下降(%)加速比再培训?SeerNet0.420.1830.0%没有ResNetLCCL[3]3.652.30百分之二十点五是的18BWN[22]8.506.20百分之五十是的XNOR[22]18.1016.00百分之九十八点三是的ResNetSeerNet0.350.1722.2%没有34LCCL[3]0.430.17百分之十八点一是的PFEC[17]1.06-百分之二十四点二是的VGGSeerNet0.280.1040.1%没有16PFEC[17]-0.1534.0%是的表3.与以前的加速工作相比卷积层#3、#6、#9和#12之后是除了ReLU之外的2x2最大池化。由于2x2最大池化从四个相邻像素中选择一个,它为输出特征图增加了更多的稀疏性。因此,它实现了比仅遵循ReLU的加速比高得多(高达5.79倍)。讨论 预测的输出稀疏性显示出较高的卷积输入和二进制化权重。 比冰毒还重要-ODS在CPU上展示了加速。我们使用运行在Intel XeonCPU E5-2630 v3(2.40GHz)上的单线程OpenBLAS库与它们进行比较。表3显示了在Intel CPU上运行的挂钟加速我们使用LCCL,PFEC,BWN和XNOR在他们的论文中报道的性能数字 我们实现了一个明显的加速与可忽略不计的准确性损失。与LCCL(主要与我们的工作相关)相比 , 我 们 的 方 法 实 现 了 更 小 的 准 确 率 下 降(0.42%/0.18%,ResNet 18中为3.65%/2.30%)和更高的加速比(30.0%,ResNet 18中为3.65%/2.30%)。ResNet 18中的20.5%),而不需要任何模型重新训练工作。图 7 显 示 了 详 细 的 逐 层 计 算 时 间 , 以 及 与 基 于OpenBLAS的密集卷积相比,我们的稀疏卷积实现的相应加速。在该图中,密集卷积的计算时间被归一化为1。 总计算时间由分别花费在量化预测和稀疏卷积上的计算时间求和,如该图中的浅蓝色条和深蓝色条所示。从这个图中,我们可以看到ResNet18和ResNet34中超过一半的层可以实现1.2倍到3.4倍的加速。VGG16的11224理论加速。我们使用CPU实现来证明了我们的想法的有效性。使用专用加速器和混合精度硬件平台的稀疏DNN加速是活跃的研究课题,可以进一步加快我们的场景。Nvidia我们的稀疏卷积也可以通过利用GPU的大规模并行处理单元与相应的优化技术来FPGA或ASIC上的专用加速器在为稀疏DNN带来更高的加速比和功率效率方面显示出巨大的潜力此外,它们还可以提供电路级的比特操作,这适合于进行低比特量化预测。6.4. 量化预测精度实现足够低的错误率特征图稀疏预测是重要的,以保持整体模型的准确性。对于每个输入图像然后,我们通过区分每个像素的符号来计算正确预测的数量11225ReLU层编号12345678910111213预测错误率百分之四点三九点五厘7.0%百分之四点八百分之四点九4.1%二点一厘百分之二点四二点二百分之一点零百分之二点零百分之一点七百分之零点七表4.VGG 16在ILSVRC-2012数据集上逐层映射稀疏预测错误率将量化卷积的输出特征映射与原始卷积的输出特征映射进行比较量化位被设置为4位。由于篇幅限制,表4仅给出了VGG 16模型各层在ILSVRC-2012数据集上的量化预测误差率SeerNet的平均错误率为3. VGG16模型的所有层上的58%。具体地,最大错误率为9。5%,最小值为0。7%的最后一层,分别。6.5. 量化位6.6. 熔融Conv和BN如第4.3节所述,我们融合了CONV层及其后续BN层,以消除连续量化两层对稀疏预测精度的影响。在本节中,我们使用VGG 16 BN在ILSVRC-2012上进行了一项实验,以证明融合CONV和BN(融合ConvBN)可以提高SeerNet的整体模型精度。8070605040302010032 16 8 4 3 2量化比特图8. ILSVRC-2012上具有不同量化位的VGG 16、ResNet 34和InceptionV 3的前1精度回想一下,SeerNet中唯一影响模型精度的模块为了研究量化比特如何影响量化预测,即,为了提高灵敏度,我们对输入特征图和卷积权重的不同量化位进行了实验,在这个实验中,我们评估了在ILSVRC-2012数据集上运行的VGG 16、ResNet 34和InceptionV 3图8报告了结果。很明显,当量化位大于4时,所有三种模型都可以达到良好的top-1精度,而当我们使用3位或更低量化时,模型精度急剧下降。这是因为更高的量化比特可以保持更多的信息,以使量化预测更精确。具体而言,卡尔,VGG16和InceptionV3模式的准确性综上所述,量化预测中量化太多比特将损害整体模型精度,并且4比特量化是可以为量化预测保留足够信息的合理配置表5.在ILSVRC-2012上使用VGG 16 BN量化融合Conv BN与单独量化Conv和BN之间的SeerNet准确度(%)比较。表5示出了量化融合Conv BN与分别量化Conv和BN之间的直接比较。在SeerNet中使用16位和8位量化预测,量化融合Conv BN和单独量化Conv和BN都可以保持模型精度。然而,在4位量化的情况下,量化融合Conv BN对模型精度的影响很小,而分别量化Conv和BN会显著降低模型精度。因此,量化融合Conv BN对模型精度的影响低于单独量化Conv和BN这是因为量化两次会累积信息损失,并增加模型精度对量化位的敏感性。7. 结论和未来工作在这项工作中,我们提出了SeerNet,它通过利用输出特征图稀疏性来加速CNN推理。我们提出了一种新的输出稀疏掩模预测方案,通过使用高度量化的卷积。我们开发了多种技术,以确保高预测精度以及极低的计算开销。在五个流行的CNN模型和两个数据集上进行了验证,我们证明了CPU上的端到端加速,模型精度损失可以忽略不计在未来,我们计划将这项工作扩展到具有更好的混合精度算法支持和大规模并行处理单元的硬件平台,如FPGA和GPU。这样做可以进一步减少预测开销并提供更有希望的加速。VGG16ResNet34InceptionV3前1位准确度比特定量熔融Conv BN单独量化。Conv和BNAcc. Diff.16位73.36/91.5073.36/91.500.00/0.008位73.36/91.5073.36/91.490.00/0.014位72.85/91.1866.70/87.296.15/3.892比特8.68/20.360.06/0.598.62/19.7711226引用[1] Vahideh Akhlaghi , AmirYazdanbakhsh , KambizSamadi , Rajesh K Gupta , and Hadi Esmaeilzadeh.Snapea:用于减少深度卷积神经网络计算的预测性早期激活。2018年ACM/IEEE第45届计算机体系结构国际研讨会(ISCA),第662-673页IEEE,2018年。[2] 曹世杰,张晨,姚柱良,肖文聪,聂兰顺,詹德臣,刘云新,吴明,张林涛.基于fpga的高效稀疏lstm算法。在2019年ACM/SIGDA现场可编程门Ar射线国际研讨会论文集,第63-72页。ACM,2019年。[3] 董宣义、黄俊石、杨毅、严水城。多即少:一个更复杂的网络,具有更低的推理复杂性。在IEEE计算机视觉和模式识别会议论文集,第5840- 5848页[4] Michael Figurnov,Maxwell D Collins,Yukun Zhu,LiZhang , Jonathan Huang , Dmitry Vetrov , and RuslanSalakhutdinov.残差网络的空间自适应计算时间。在IEEE计算机视觉和模式识别会议论文集,第1039- 1048页[5] 本杰明·格雷厄姆和劳伦斯·范德马滕。子流形稀疏卷积网络。arXiv预印本arXiv:1706.01307,2017。[6] Song Han,Junlong Kang,Huizi Mao,Yiming Hu,XinLi,Yubin Li,Dongliang Xie,Hong Luo,Song Yao,Yu Wang,et al.基于fpga的高效稀疏lstm语音识别引擎。在2017年ACM/SIGDA现场可编程门阵列国际研讨会论文集,第75-84页ACM,2017。[7] Song Han,Huizi Mao,and William J Dally.深度压缩:使用修剪、训练量化和霍夫曼编码压缩深度神经网络。arXiv预印本arXiv:1510.00149,2015。[8] Song Han,Jeff Pool,John Tran,and William Dally.学习权值和连接以实现高效的神经网络。神经信息处理系统进展,第1135-1143页,2015年[9] Kaiming He,Xiangyu Zhang,Shaoying Ren,and JianSun.用于图像识别的深度残差学习。在Proceedings ofthe IEEE Conference on Computer Vision and PatternRecognition,第770-778页[10] Yani Ioannou,Duncan Robertson,Roberto Cipolla,andAntonio Criminisi.深根:用分层过滤器组提高cnn效率。在IEEE计算机视觉和模式识别会议论文集,第1231-1240页[11] Sergey Ioffe和Christian Szegedy。批次标准化:通过减少内部协变量偏移来加速深度网络训练。arXiv预印本arXiv:1502.03167,2015。[12] Max Jaderberg Andrea Vedaldi和Andrew Zisserman加速具有低秩扩展的卷积神经网络。arXiv预印本arXiv:1405.3866,2014。[13] 帕特里克·贾德,阿尔贝托·德尔马斯,萨耶·沙里菲,和安德里斯·莫绍沃斯. Cnvlutin2:无无效激活和权重的深度神经网络计算。arXiv预印本arXiv:1705.00125,2017。[14] Tao Kong,Fuchun Sun,Anbang Yao,Huaping Liu,Ming Lu,and Yurong Chen.Ron:反向连接对象先验网络进行对象检测。在IEEE计算机视觉和模式识别会议集,第5936-5944页[15] Raghuraman Krishnamoorthi量化深度卷积网络以实现高效推理:白皮书。arXiv预印本arXiv:1806.08342,2018。[16] Alex Krizhevsky Vinod Nair和Geoffrey Hinton。CIFAR-10数据集。在线:http://www. CS.多伦多edu/kriz/cifar.html,2014.[17] Hao Li,Asim Kadav,Igor Durdanovic,Hanan Samet,and Hans Peter Graf.修剪过滤器以实现高效的卷积。arXiv预印本arXiv:1608.08710,2016。[18] 李晓晓,刘紫薇,罗平,陈昌来,唐晓鸥。并非所有像素都相等:通过深层级联的难度感知语义分割。在IEEE计算机视觉和模式识别会议论文集,第3193-3202页,2017年[19] Baoyuan Liu , Min Wang , Hassan Foroosh , MarshallTappen,and Marianna Pensky.稀疏卷积神经网络。在IEEE计算机视觉和模式识别会议论文集,第806-814页[20] 英伟达Nvidia图灵GPU架构,2018年。https://www.nvidia.com/content/dam/zh-zz/Solutions/design-visualization/technologies/turing-architecture/NVIDIA Turing架构白皮书。PDF.[21] Angshuman Parashar,Minsoo Rhu,Anurag Mukkara,Antonio Puglielli , Rangharajan Venkatesan , BrucekKhailany,Joel Emer,Stephen W. Pakkler,and WilliamJ. Dally. Scnn:压缩稀疏卷积神经网络的加速器。2017
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功