《电子技术应用》
您所在的位置:首页 > 人工智能 > 设计应用 > 基于算法稀疏性的卷积神经网络加速方法研究
基于算法稀疏性的卷积神经网络加速方法研究
电子技术应用
方洁虹1,2,朱昊宇1,2,肖宛昂1,2
1.中国科学院大学 集成电路学院;2.中国科学院半导体研究所 人工智能与高速电路实验室
摘要: 尽管CNN经剪枝及ReLU激活后具有显著稀疏性可提升推理效率,但稀疏分布不规则易导致负载不均衡。此外,卷积与池化串行执行造成的访存带宽浪费限制了性能。为解决以上问题,提出一种稀疏CNN加速算法和卷积池化融合方法,并在寒武纪MLU上进行了验证。首先,设计基于CSR格式的自适应SpMV算法AdaSpConv,通过动态任务分配有效解决核心间负载均衡问题;其次,提出CSR-CP存储格式实现卷积与池化的算子融合,减少数据搬运并显著降低访存延迟。实验结果表明,在MLU370-S4平台上,AdaSpConv峰值性能达0.828 GFLOP/s,有效访存带宽达3.39 GB/s,性能显著优于Scalar、Vector及Adaptive算法;基于CSR-CP存储格式,VGG-16和ResNet-50的卷积运算较传统方法分别加速2.87倍和1.99倍。
中图分类号:TP303;TP183 文献标志码:A DOI: 10.16157/j.issn.0258-7998.267881
中文引用格式: 方洁虹,朱昊宇,肖宛昂. 基于算法稀疏性的卷积神经网络加速方法研究[J]. 电子技术应用,2026,52(8):15-23.
英文引用格式: Fang Jiehong,Zhu Haoyu,Xiao Wan’ang. Research on CNN acceleration methods based on algorithmic sparsity[J]. Application of Electronic Technique,2026,52(8):15-23.
Research on CNN acceleration methods based on algorithmic sparsity
Fang Jiehong1,2,Zhu Haoyu1,2,Xiao Wan’ang1,2
1.School of Integrated Circuits, University of Chinese Academy of Sciences;2.Artificial Intelligence and High-Speed Circuit Laboratory, Institute of Semiconductors, CAS
Abstract: While Convolutional Neural Networks (CNNs) exhibit significant sparsity after pruning and ReLU activation, which can potentially enhance inference efficiency, irregular sparsity distribution often leads to load imbalance. Furthermore, the sequential execution of convolution and pooling layers causes memory bandwidth waste, thereby limiting overall performance. To address these issues, this paper proposes a sparse CNN acceleration algorithm and A convolution-pooling fusion method, with verification conducted on the Cambricon MLU platform. First, an adaptive Sparse Matrix-Vector multiplication (SpMV) algorithm based on the Compressed Sparse Row (CSR) format, named Adaptive Sparse Convolution (AdaSpConv), is designed to effectively resolve the load imbalance among cores through dynamic task allocation. Second, a new storage format called Compressed Sparse Row-Convolution Pooling Fused (CSR-CP) is proposed to achieve operator fusion of convolution and pooling, which minimizes data movement and significantly reduces memory access latency. Experimental results demonstrate that on the MLU370-S4 platform, AdaSpConv achieves a peak performance of 0.828 GFLOP/s and an effective memory bandwidth of 3.39 GB/s, outperforming baseline Scalar, Vector, and Adaptive. Based on the CSR-CP fusion mechanism, the convolutional operations of VGG-16 and ResNet-50 are accelerated by 2.87× and 1.99×, respectively, compared to traditional methods.
Key words : Cambricon MLU;sparse matrix-vector multiplication;AdaSpConv;CSR-CP

引言

近年来,CNN在人工智能领域取得了巨大的成功,在图像识别[1]、语音识别[2]以及自然语言处理[3]等任务中均表现出优异的性能。然而,CNN强大的表征能力源于其巨大的参数量,这导致了极高的计算复杂度和内存占用,使得模型的推理过程十分耗时。因此,如何在保持模型精度的前提下提高CNN的运行速度,已成为当前学术界和工业界的研究热点。在CNN的运算过程中,卷积操作通常占据了总执行时间的绝大部分,以VGG、ResNet和YOLO等经典网络为例,卷积运算的占比甚至超过70%[4]。由于卷积过程包含大量的乘累加运算,减少这些运算量是加速CNN最直接有效的途径。研究表明,CNN模型存在显著的冗余性,通过剪枝技术去除不重要的权重,可以在不影响准确率的前提下大幅降低计算需求[5]。此外,经过ReLU等激活函数处理后,特征图中会产生大量的零值。随着网络层数的加深,特征图的稀疏度不断变化,最终零值比例往往超过80%[6]。如果能够充分利用这种算法固有的稀疏性,跳过零值参与的卷积运算,将极大地提升CNN的推理速度。

为了利用这一特性,通常需要设计专门的稀疏存储格式来压缩数据[7],并将卷积运算转化为SpMV[8]。然而,在以寒武纪MLU[9]为代表的众核并行计算平台上,现有的SpMV算法往往难以获得理想的加速效果,主要面临以下挑战:首先,稀疏数据在内存中的分布具有不规则性,导致了非连续的内存访问模式,难以利用硬件的合并访存机制;其次,稀疏矩阵各行的非零元素个数差异较大,在单指令多数据架构上执行时容易引发严重的负载不均衡,导致部分计算通道处于闲置状态,造成资源浪费;第三,寻找适应底层硬件架构的分组策略与计算内核交互机制并非易事,需要综合考虑稀疏矩阵的形状特征与硬件流水特性。

除了计算层面的挑战,访存开销也是制约CNN性能的关键瓶颈。在传统的CNN实现中,卷积层与池化(Pooling)层通常被设计为独立串行执行的模块。这意味着卷积的中间结果需要先被写回全局内存,再由池化层读取,这不仅增加了片上与片下的数据传输流量,也加剧了“存储墙问题”。尽管部分现有工作[10]尝试将不同网络层集成以减少通信,但这些工作大多未考虑卷积操作的稀疏性,难以在稀疏计算场景下复用。

针对上述挑战,本文提出了一种面向寒武纪MLU平台的稀疏CNN加速方法,主要贡献如下:(1)针对寒武纪MLU平台设计了一种适配硬件架构特征的自适应SpMV优化算法AdaSpConv,解决了稀疏计算中的负载不均衡问题;(2)提出了一种支持算子融合的新型稀疏存储格式CSR-CP,实现了卷积与池化操作的融合处理,有效降低了访存开销与通信延迟。


本文详细内容请下载:

https://www.chinaaet.com/resource/share/2000007203


作者信息:

方洁虹1,2,朱昊宇1,2,肖宛昂1,2

(1.中国科学院大学 集成电路学院,北京 100049;

2.中国科学院半导体研究所 人工智能与高速电路实验室,北京 100083)

2.jpg

此内容为AET网站原创,未经授权禁止转载。