速度:基于结构化内核块剪枝和滤波器组的算法,实现FPGA架构下CNN加速器中高效且灵活的软硬件协同设计

《Neurocomputing》:SPEED: Structured kernel block pruning with filter groups for efficient and elastic SW-HW co-design in FPGA-based CNN accelerators

【字体: 时间:2026年02月10日 来源:Neurocomputing 6.5

编辑推荐:

  硬件感知的FPGA加速器结构剪枝方法SPEED,通过PU对齐的核块剪枝与自适应核合并技术,在ResNet18/50和YOLACT模型中实现57.9%-73.2%参数剪枝,44.6%-66%浮点运算减少,保持Top-1精度仅下降0.94%-1.20%,FPGA加速器上FPS提升42.2%,功耗降低42.7%。

  
Kwanghyun Koo | Sunwoong Kim | Hyun Kim
电气与信息工程系及电气与信息技术研究中心,首尔国立科技大学,01811 首尔,韩国

摘要

设备上的人工智能(On-device AI)因其能够提供个性化性能、减少服务器负载以及解决隐私问题而受到越来越多的关注。在此背景下,人们努力在功耗效率高的硬件平台上(如现场可编程门阵列(FPGA)部署深度学习模型。具体而言,已经设计了多种剪枝技术来提高性能和降低能耗。然而,现有的剪枝方法未能实现硬件的平衡利用,这限制了实际的性能提升。本文提出了,这是一种集成到基于FPGA的卷积神经网络(CNN)加速器中的硬件感知型结构化剪枝框架。引入了一种新的处理单元(PU)感知型内核块剪枝技术,以实现PU阵列间的平衡计算。此外,它还提出了一种自适应内核合并技术,以在剪枝过程中最小化信息损失。在ResNet18、ResNet50和YOLACT上进行实验,使用ImageNet和Pascal VOC2012数据集的结果表明,在保持与基于软件的剪枝方法相当准确性的同时,实现了更高的吞吐量和更低的延迟,这已在两种类型的处理元件上得到了验证。具体来说,对于ResNet18,移除了57.9%的参数和44.6%的FLOPs,仅导致Top-1准确率下降了0.91%;对于ResNet50,它移除了73.2%的参数和66.0%的FLOPs,Top-1准确率下降了1.20%。FPGA基准测试结果显示,有效地将浮点运算的减少转化为实际的速度提升,同时几乎不增加硬件资源的使用。当在FPGA板上部署时,与基线相比,将FPS提高了42.2%,并将能效提高了42.7%。在CNN分类和实例分割模型中的案例研究证明了作为基于FPGA的CNN加速器的实用剪枝解决方案的有效性。

引言

设备上的AI已成为实时推理的一个有吸引力的方向,使模型能够在不依赖云的情况下直接在边缘平台上执行,同时提供个性化服务、低延迟、减少服务器负载和改善隐私保护。为了降低基于GPU的推理的功耗和成本,越来越多的研究致力于在FPGA/ASIC平台上部署计算机视觉(CV)模型[1]、[2]、[3]、[4]。尽管视觉变换器(ViTs)达到了最先进的准确率,但它们庞大的参数数量和计算密集型的特性限制了其在资源有限的边缘设备上的部署[5]、[6]。相比之下,CNN更适应硬件环境——与芯片内存容量和适度的计算需求更为匹配——因此它们仍然是设备上CV的主要解决方案[7]、[8]。然而,实际部署需要既紧凑的网络又符合硬件限制的加速器:FPGA提供了巨大的细粒度并行性、低功耗和可重构性,但其有限的资源需要进一步优化[9]。因此,模型压缩至关重要[[2]、[3]、[4]、[5]、[6]、[7]、[8]、[9]、[10]、[11]。量化可以减少比特宽度,但在精度较低时容易达到饱和[12]、[13],而剪枝则可以消除结构冗余。虽然结构化剪枝对硬件效率很有前景,但简单地施加稀疏或不规则的模式可能会降低FPGA上处理单元(PU)的利用率[14]、[15],当模式与加速器微架构不对齐时还会破坏内存访问的局部性[16],并且由于过滤器或内核的移除会导致数据路径不规则,从而增加控制开销。这些问题激发了硬件感知型剪枝策略的发展[[14]、[15]、[16]]。
然而,过滤器级别的方法往往受到通道移除的限制:例如,快捷层(如ResNet [18])需要重新排列通道,这会增加软件和硬件的复杂性[19]。相比之下,内核剪枝[20]、[21]、[22]提供了更精细的控制,并保留了输出通道的数量,使其更适合快捷网络,并在PU上实现更好的并行性。然而,以往的硬件感知方法通常没有明确指定剪枝应如何与PU阵列和对齐,导致资源闲置并在剪枝后产生负载不平衡。
因此,我们提出了,这是一种针对FPGA的软硬件协同设计方法,它通过将过滤器分组并进行对齐的内核块剪枝(PU-KBP)来匹配PU展开,并结合自适应内核合并(AKM)以最低成本保留关键信息。提高了PU阵列的利用率、内存访问效率以及在FPGA上的处理元素(PEs)和CNN之间的可移植性。我们在两种代表性的PE——张量收缩处理器(TCP)[23]和2D-PE [24]上验证了的效果。经过50%的剪枝后,3层卷积的延迟分别提高了49.93%和49.85%。在ImageNet上,ResNet-18/50的参数减少了57.9%/73.2%,FLOPs减少了44.6%/66.0%,Top-1准确率仅下降了0.94%/1.20%,与仅使用软件剪枝的结果相当。在FPGA加速器上实现时,ResNet-18的延迟降低了43.4%。在YOLACT [25](VOC [26])上,移除了54.30%的参数和41.00%的FLOPs,延迟降低了37.88%,盒/掩码mAP分别下降了0.85%/0.50%,展示了其在不同任务上的可扩展性。本文的主要贡献如下:
  1. PU-KBP:一种与PU展开对齐的结构化内核块剪枝方法,可在PU阵列间平衡工作负载并保持高利用率。
  2. AKM:并行权重训练和合并,能够重建关键内核块,同时保持硬件效率。
  3. 可部署流程:
    一种适用于FPGA上多种PE/CNN加速器的剪枝模块和集成方法,剪枝后通过选择性激活加载实现实际的硬件性能提升。
本文的其余部分组织如下。第2节回顾了硬件感知型内核剪枝的背景和相关工作。第3节介绍了所提出的方法,第4节详细介绍了的硬件实现。第5节展示了实验结果和分析,第6节总结了本文。

小节片段

分组卷积

分组卷积通过限制通道间的连接来减少计算量,同时保持空间表达能力。与标准卷积(将每个输入通道连接到每个过滤器)不同,通道被分成若干组,每组与自己的过滤器组进行卷积。这样可以将参数和MAC数量减少到标准情况的约,其中深度卷积是极端情况。这一方法最初在AlexNet中被提出,用于在设备间分配工作负载[27],后来被广泛采用。

提出的方法

在本文中,我们提出了,这是一种针对基于FPGA的CNN加速器优化的硬件感知型结构化内核剪枝技术。如图4所示,遵循三个步骤的过程。首先,在软件过程中进行AKM训练,以确保即使在剪枝后也能保留关键内核。接下来,应用PU-KBP,使剪枝与FPGA的计算结构对齐,以保持计算平衡并最大化并行处理效率。最后,

PU-KBP CNN加速器的架构

为了在硬件中有效应用PU-KBP,必须设计一种机制,确保剪枝后PU阵列仅加载必要的输入数据(IA数据)。在传统的剪枝方法中,即使去除了不必要的内核,IA数据仍然以相同的方式加载,导致从内存中获取冗余数据但未在计算中使用,从而造成效率低下。为了解决这个问题,本文提出了一种方法,该方法利用内核块索引来确保只加载所需的数据

评估

在本节中,我们展示了软件和硬件评估结果。在软件评估中,将提出的方法应用于CNN模型;在硬件评估中,使用基于FPGA的CNN加速器进行实现。通过这些实验,我们旨在验证在剪枝后能有效减少CNN的计算工作负载同时保持模型性能。此外,我们还评估了剪枝是否能在FPGA上带来实际的性能提升

结论

在本文中,我们提出了,这是一种旨在最大化基于FPGA的CNN加速器计算效率的硬件感知型剪枝方法。传统的剪枝技术主要关注减少计算工作负载,但未能考虑硬件资源的利用情况,从而导致性能下降。为了克服这一限制,我们引入了PU-KBP和AKM,确保剪枝后仍能保持计算平衡。实验结果表明实现了

CRediT作者贡献声明

Kwanghyun Koo:负责撰写——原始草稿、可视化、验证、软件实现、资源管理、方法论研究、数据分析、概念化。

利益冲突声明

作者声明他们没有已知的竞争性财务利益或个人关系可能影响本文所述的工作。
Kwanghyun Koo是首尔国立科技大学电气与信息工程专业的博士生。他分别于2020年和2022年在首尔国立科技大学获得了电气与信息工程的学士学位和硕士学位。他的研究兴趣包括网络剪枝、量化和深度神经网络的高效网络设计等领域。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号