【ISCA17】SCNN:AnAcceleratorforCompressed-sparseConvolutionalNeuralNetworks

本文介绍了一种名为SCNN的硬件加速器,旨在高效处理压缩稀疏卷积神经网络(CNN),通过跳过权重和激活中的零乘法,减少数据交换和存储需求。相较于密集CNN加速器,SCNN在性能和功耗方面分别提升了2.7X和2.3X。文章详细阐述了SCNN的数据流模式、硬件架构以及实验结果,展示了在不同稀疏度下的性能优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要设计了一个可以高效处理稀疏化CNN的高效硬件架构,主要思想就是跳过weight和activation中有0的乘法的情况。以达到加速(cycle)和降低功耗的效果。

 

以下按照原文结构,大致概括一下文章的脉络。

 

ABSTRACT

本文设计了一个Sparse CNN (SNN)的加速器硬件架构,通过设计一种压缩的数据流模式,同时探索了weight和activation在硬件中的稀疏性,即跳过含有0的乘法计算,以此可以减少数据交换和存储空间。相对于密集的CNN加速器,分别提高了2.7X和2.3X的性能和功耗。

 

1 INTRODUCTION

列举一些关键信息。

 

SparseCNN的可以被剪枝的weight大约占20%~80% [16, 17].

50-70%的activation被约束到0.

通过对非零数的压缩编码(即引入非零数的index),可以在on-chip RAM上存下更多的有效数据进行运算,减少从DRAM访存的功耗。

 

SCNN是首次同时高效处理weight和activation稀疏的硬件架构。

设计了高效的SCNN dataflow来降低访存(activation stationary)。

 

探索不同网络的稀疏度:

黄色的三角形对应于weight和activation都为非零的情况,可以看出随着层数加深,相比于只处理稀疏weight,仍有很大的优化空间(最后一层可能只有不到50%的非零乘法)

【ISCA17】SCNN:AnAcceleratorforCompressed-sparseConvolutionalNeuralNetworks

【ISCA17】SCNN:AnAcceleratorforCompressed-sparseConvolutionalNeuralNetworks

【ISCA17】SCNN:AnAcceleratorforCompressed-sparseConvolutionalNeuralNetworks
 

 

不同工作对于weight 和 activation 稀疏度的利用:

【ISCA17】SCNN:AnAcceleratorforCompressed-sparseConvolutionalNeuralNetworks
 

 

 

 

3 SCNN DATAFLOW

起了个很难听的名字:

PlanarTiled-InputStationary-CartesianProduct-sparse, or PT-IS-CP-sparse.

相对应该数据流用来处理非稀疏的网络时:PT-IS-CP-dense

先看PT-IS-CP-dense的情况:

 

3.1 PT-IS-CP-dense

 

以一层的卷积层为例:

【ISCA17】SCNN:AnAcceleratorforCompressed-sparseConvolutionalNeuralNetworks

通常的inference情况下,都取N为1.

按照最简单的处理卷积的顺序(比如使用for循环),处理顺序为:N K C W H R S

PT-IS-CP-dense则采用 input-stationary(IS)的计算顺序,即外层循环是整张activation(即 input 数据不流动),为 C W H K R S

 

对于输入数据,需要input buffer 来在片上存储数据,同时由于不能一次处理完所有的input channel,所以需要accumulator buffer来存储中间值 partial sumpsum,而且每个buffer都对应着一个(读取-累加-写入)的操作,用来计算最终的output channel每一个pixel的值。这个acc buffer和adder合起来称之为一个acc unit

 

 

将K个kernel(也对应着K个output channel)拆分成Kc个为一组,共有K/Kc组output-channel groups。每次只存储一个group在片上的weight buffer和accumulation buffer。则这样的子块(sub-volumes)对应的片上缓存为:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值