咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >面向脉动阵列加速器的软硬件协同剪枝方法研究 收藏
面向脉动阵列加速器的软硬件协同剪枝方法研究

面向脉动阵列加速器的软硬件协同剪枝方法研究

作     者:郑新阳 

作者单位:吉林大学 

学位级别:硕士

导师姓名:魏晓辉

授予年度:2024年

学科分类:12[管理学] 1201[管理学-管理科学与工程(可授管理学、工学学位)] 081104[工学-模式识别与智能系统] 08[工学] 080203[工学-机械设计及理论] 0835[工学-软件工程] 0802[工学-机械工程] 0811[工学-控制科学与工程] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

主      题:卷积神经网络 卷积神经网络加速器 脉动阵列 模型剪枝 模型压缩 

摘      要:近年来,为了提高卷积神经网络(Convolutional Neural Network,CNN)的计算效率,基于领域专用架构(Domain-Specific Archiitecture,DSA)的加速器逐渐取代CPU和GPU等传统硬件平台。其中,结构紧凑的脉动阵列(systolic array)架构能够充分利用CNN推理计算中的数据复用和计算并行,有效提高计算效率并降低能耗,因而在实际加速器设计中被广泛应用。然而,随着CNN的规模激增,脉动阵列加速器尽管相较于CPU和GPU能实现平均15-30倍的计算性能提升,但仍然无法满足深度卷积神经网络复杂的计算和内存访问需求。最近的研究尝试结合模型优化技术和CNN加速器,在软硬件两个层面共同提升模型推理效率。 模型剪枝通过移除冗余的权重降低参数量,为提高模型推理效率提供了可能。然而剪枝模型通常表现出不规则稀疏模式,由于CNN加速器的规则数据流,零值权重仍需映射到脉动阵列上参与无效的乘加计算,难以获得理想的性能收益。为了解决这个问题,现有的研究提出了两种方法。一种在加速器上对不规则稀疏权重模式进行编码/解码以跳过随机分布的零值计算,但引入了昂贵的硬件开销;另一种通过设计适配加速器规则计算的稀疏模式,以充分利用加速器中的计算单元来提高推理效率。然而严格的稀疏模式限制导致剪枝率和性能提升有限。 针对上述的问题和挑战,本文通过协同考虑脉动阵列的执行特性和CNN中滤波器的结构特性,对面向脉动阵列加速器的软硬件协同剪枝方法进行了研究。具体工作如下: (1)根据脉动阵列加速器多轮次执行的计算模式,本文提出基于滤波器拆分的剪枝方法。具体地,本文发现由于硬件尺寸限制,滤波器计算被加速器拆分为多轮次执行,各轮次计算之间存在相对独立性。因此,以滤波器在脉动阵列单轮计算的权重向量为粒度的剪枝能够有效减少模型推理计算量。此外,通过分析加速器计算耗时随滤波器剪枝率的变化,本文发现计算耗时随剪枝率提高阶段性下降。因此,对权重向量剪枝率进行限制,以兼顾精度和性能提升。最后,通过紧凑剩余的权重向量,减少加速器计算轮次,提高模型推理效率。实验结果表明,在64×64的脉动阵列加速器上,本方法将VGG-16的推理耗时降低了 86.1%,相较于CNN加速器感知剪枝各基线方法,推理耗时平均降低了 29.3%,能耗平均降低了 30.2%。 (2)根据同层滤波器之间的计算独立性,本文提出基于滤波器重排的剪枝方法。具体地,本文发现脉动阵列执行时各滤波器相同位置权重复用输入。因此以各滤波器相同位置权重为单位进行剪枝能够有效减少输入访存,降低能耗。此外,通过分析同层滤波器之间的计算独立性,本文发现对滤波器分组后进行组内滤波器相同位置权重的剪枝,细化了剪枝粒度而且丰富了滤波器稀疏模式。因此本文提出滤波器重排算法在剪枝前对具有相似冗余分布的滤波器进行重排分组。最后通过紧凑同组滤波器,减少访存开销,提高推理效率。实验结果表明,在64×64的脉动阵列加速器上,本方法将VGG-16的推理耗时降低了 87.3%,相较于CNN加速器感知剪枝各基线方法,推理耗时平均降低了 35.5%,能耗平均降低了 42.1%。 (3)上述两种剪枝方法分别从不同维度对滤波器进行剪枝,本文进一步探索了两种方法的融合,提出了列优先剪枝方法和行优先剪枝方法。实验表明,两种融合剪枝方法均能进一步提高模型在加速器上的推理效率。此外,本文对提出的剪枝算法在不同数据流脉动阵列中的适配情况进行讨论,证明了本文方法的可扩展性。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分