[论文解读] Sparse Systolic Tensor Array for Efficient CNN Hardware Acceleration
本文提出了一种可变密度绑定块(VDBB)稀疏性技术,结合一种重用优化的脉动张量阵列(STA)微架构,实现了移动设备上高效INT8 CNN推理。通过时间展开VDBB方案并集成硬件实现的IM2COL转换,该设计在87.5%稀疏度下实现了高达55.7 TOPS/W的能效,显著优于以往的稀疏CNN加速器,同时在不同稀疏度水平下保持了高硬件利用率。
Convolutional neural network (CNN) inference on mobile devices demands efficient hardware acceleration of low-precision (INT8) general matrix multiplication (GEMM). Exploiting data sparsity is a common approach to further accelerate GEMM for CNN inference, and in particular, structural sparsity has the advantages of predictable load balancing and very low index overhead. In this paper, we address a key architectural challenge with structural sparsity: how to provide support for a range of sparsity levels while maintaining high utilization of the hardware. We describe a time unrolled formulation of variable density-bound block (VDBB) sparsity that allows for a configurable number of non-zero elements per block, at constant utilization. We then describe a systolic array microarchitecture that implements this scheme, with two data reuse optimizations. Firstly, we increase reuse in both operands and partial products by increasing the number of MACs per PE. Secondly, we introduce a novel approach of moving the IM2COL transform into the hardware, which allows us to achieve a 3x data bandwidth expansion just before the operands are consumed by the datapath, reducing the SRAM power consumption. The optimizations for weight sparsity, activation sparsity and data reuse are all interrelated and therefore the optimal combination is not obvious. Therefore, we perform an design space evaluation to find the pareto-optimal design characteristics. The resulting design achieves 16.8 TOPS/W in 16nm with modest 50% model sparsity and scales with model sparsity up to 55.7TOPS/W at 87.5%. As well as successfully demonstrating the variable DBB technique, this result significantly outperforms previously reported sparse CNN accelerators.
研究动机与目标
- 解决固定稀疏度DBB加速器无法在具有不同稀疏度水平的多样化CNN模型中扩展的问题。
- 在支持结构化稀疏性中可变稀疏度比时,保持高硬件利用率和能效。
- 通过硬件优化的IM2COL转换减少SRAM功耗,通过3倍有效数据带宽扩展提升性能。
- 在脉动阵列架构中协同优化权重稀疏度、激活稀疏度与数据重用,以最大化吞吐量与能效。
- 评估设计空间并识别适用于16nm移动SoC部署的帕累托最优配置。
提出的方法
- 提出一种时间展开的VDBB公式,允许每块配置可变的非零元素数量,从而在不损失利用率的情况下支持12.5%至100%的全部稀疏度水平。
- 设计一种带有张量处理元素(TPE)的脉动张量阵列(STA),通过增加每个处理元素的乘累加(MAC)数量,提升操作数与部分积的重用。
- 引入一种硬件延迟的IM2COL单元,在数据使用前于芯片内执行转换,实现3倍有效带宽扩展,降低SRAM功耗。
- 采用时钟门控技术处理激活稀疏度,实现功耗节省而不影响负载均衡。
- 开展全面的设计空间探索,协同优化数据重用、稀疏度支持与硬件资源分配。
- 采用16nm工艺技术评估性能、能效(TOPS/W)与面积效率在不同模型稀疏度水平下的表现。
实验结果
研究问题
- RQ1如何在不牺牲利用率或能效的前提下,使硬件加速器支持结构化稀疏性(DBB)中的可变稀疏度水平?
- RQ2哪些架构技术可实现稀疏脉动阵列中高数据重用与有效带宽扩展,以支持INT8 GEMM?
- RQ3将IM2COL转换集成到数据通路中,如何降低稀疏CNN加速器中SRAM的功耗?
- RQ4在面向移动CNN推理的稀疏脉动阵列中,重用、稀疏度支持与硬件成本之间的最优权衡是什么?
- RQ5与固定稀疏度或随机稀疏加速器相比,可变DBB稀疏度在多大程度上可提升能效?
主要发现
- 所提出的VDBB架构支持从12.5%到100%的全部稀疏度水平,可在多样化CNN模型中实现一致的性能提升。
- 采用张量PE的重用优化STA在50%模型稀疏度下实现16.8 TOPS/W,16nm工艺下在87.5%稀疏度下提升至55.7 TOPS/W。
- 硬件实现的IM2COL单元提供3倍有效带宽扩展,降低SRAM功耗,且未增加片外带宽。
- 该设计在能效与吞吐量方面均优于以往的稀疏CNN加速器,包括SMT-SA与Kang [21]。
- 设计空间评估识别出帕累托最优配置,可在稀疏度支持、重用与面积成本之间实现平衡,适用于移动部署。
- 时间展开的VDBB、增强的数据重用与片上IM2COL转换的结合,显著优于固定稀疏度与随机稀疏方案,在性能与能效方面均具备显著优势。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。