自学内容网 自学内容网

论文:深度可分离神经网络存内计算处理芯片

引言:SRAM - CIM芯片在处理深度可分离神经网络时面临的挑战

深度可分离卷积(Depthwise separable convolution, DSC)由逐深度卷积(DW)和逐点卷积(PW)组成,逐深度卷积用于提取空间特征,逐点卷积用于提取通道特征,如图1所示。简而言之,逐深度卷积的深度维度不变而改变H/W,即输入特征图通道数=卷积核个数=输出特征图个数;逐点卷积的H/W不变而改变深度维度,即用1x1的卷积核进行升维[2]。相较于传统的卷积神经网络,深度可分离卷积具有如下四个优势:

  1. 更少的参数:可减少输入通道数量,从而有效地减少卷积层所需的参数;
  2. 更快的速度:运行速度比传统卷积快;
  3. 更加易于移植:计算量更小,更易于实现和部署在不同的平台上;
  4. 更加精简:能够精简计算模型,从而在较小的设备上实现高精度的运算。

图1 深度可分离卷积[1]

因此参数量更少的深度可分离卷积神经网络更容易部署在边缘AI设备上。但是目前基于SRAM的存算一体芯片大多只针对DW和PW中的一种优化了乘累加操作(MAC),所以SRAM-CIM芯片在能量效率、吞吐量和内存利用率方面仍然面临着限制,如图2(左)所示:( 1 )内存能量利用率低,主要由于从CIM宏块外的缓存中重复访问,占总能耗的30 %以上;( 2 )短长度MAC和卷积滑动激活导致数组时间利用率差,增加推理执行周期;( 3 )由于DW卷积对输入和输出激活的重复存储,导致内存空间利用率不足,造成双重内存开销。

图2 SRAM-CIM在处理深度可分离神经网络方面面临的挑战

针对上述挑战,来自北京大学集成电路学院王源教授-唐希源研究员团队首次提出了近存计算与存内计算混合的新型计算架构,针对深度可分离卷积计算,实现了国际领先的能量效率和面积效率,且该项工作以MixCIM: A Hybrid-Cell-Based Computing-in-Memory Macro with Less-Data-Movement and Activation-Memory Reuse for Depthwise Separable Neural Networks为题,发表于2024 CICC。如图2(右)所示,文章提出了三个创新点:

  1. 可滑动eDRAM阵列增强DW卷积并行性以减少推理执行周期;
  2. 混合内存计算,通过CNM原理将激活输入到权重的CIM数组中,以提高能量效率;
  3. 输入和输出激活之间的内存共享方案,以提高有效内存利用率。

课题组在28nm CMOS工艺下流片进行性能测试,该芯片能够达到17.2 TOPS/W的能量效率和1.14 TOPS/mm2的面积效率,实现92.47%的推理精度。该芯片突出的能量效率和面积效率在边缘端智能设备中极具应用前景。

论文地址:https://ieeexplore.ieee.org/document/10529086

  • 深度可分离神经网络存内计算处理芯片

创新点一:可滑动eDRAM阵列提升 DW 卷积并行性

如图3所示,MixCIM 包含 144×128 的 7T2C eDRAM CIM 阵列和 8T1C SRAM 阵列,二者通过融合模块相连。eDRAM - CIM 阵列有 16 个 深度卷积通道(DCCs),可存 DW 卷积中 16 通道的激活值与权重,每个 通道的激活值(DCC - A) 含 3 个 卷积滑动窗口电路(CSWCs),能同时计算 3 组子特征卷积。eDRAM 存储单元由 2T1C 存储、3T 读出和 2T1C 计算部分组成,实现读写分离并支持符号数值计算,为卷积计算提供便利架构与功能支持。

图3 电路的总架构以及可滑动eDRAM阵列

融合电路的映射模块含两组 3 - to - 1 开关,由 SLD_HOZ [2:0] 和 SLD_VER [2:0] 信号控制水平和垂直滑动,确保卷积窗口准确滑动。CSWC 中的局部滑动电路通过 tri - state inverter 连接 LRBL 和 LBL,可选择目标 WWL 和源 RWL 进行刷新,在 eDRAM 刷新和卷积窗口滑动中,能准确传输数据并存储计算结果,保障卷积计算的连续性与数据完整性。

流水线操作分两阶段,第一阶段第 i 个通道激活数据卷积滑动时,第 (i + 1) 个通道可同时进行 MAC 操作;第二阶段任务切换,形成连续作业流程。与传统非流水线方式相比,该方式显著提高计算资源利用率,减少计算单元空闲等待时间,大幅提升数据处理速度。经实际测试,在相同条件下,其处理速度可能是传统方式的 1.5 倍甚至更高,有效提升 MixCIM 在 DW 卷积中的吞吐量,且提升倍数因模型和场景而异。

创新点二:混合内存计算减少数据移动

在 MixCIM 中,近内存计算(CNM)与存内计算(CIM)融合是实现高效计算的关键,依据 CNM 原理,激活值被输入到权重的 CIM 阵列中。由图3所示,在计算时,激活值从 DCC-A 出发,经过融合模块与从 DCC-W 中检索出的权重进行匹配,完成乘积累加(MAC)操作。这种路径优化避免了激活值和权重在不同存储区域和计算单元间的长距离传输。结合图3,由于 eDRAM 具有较低的访问能耗,且在 MixCIM 结构中数据移动距离短,减少了数据传输过程中的能量消耗,从而提升了系统能效。

符号位调制(SBM)电路在符号数值计算中也发挥了重要作用。在图 4 中,可以看到在 eDRAM 阵列中,一个多位权重单元(MbWU-D)由 8 个 7T2C bitcells 和一个 SBM 电路组成。首先,SBM 电路负责确定乘积的符号位,并根据符号位将输入(IN)连接到 Q 或 QB 计算路径进行位反转。然后,符号位作为权重配置电路中按位模拟累加的最低有效位(LSB)值,完成从补码格式到符号数值编码的转换。

图 4 用于在高斯分布下提高符号数值计算能效的 eDRAM 和 SRAM 的多位权重单元(MbWU)

这种符号数值计算方式具有节能优势。在模型参数服从高斯分布的情况下,符号数值计算的电压切换活动更少。因为传统的补码计算在

处理负数时,需要进行复杂的位运算来表示负数,而符号数值计算直接分离符号位和数值位,简化了计算过程中的电压变化。图5实验结果也验证了这一点,符号数值计算单元相较于 2 的补码计算,功率降低了 21.5%,有效减少了计算过程中的能量消耗,进一步提升了 MixCIM 在深度可分离卷积计算中的能效,这一优势从图 4 展示的位单元和 SBM 电路的协作关系中可得到更清晰的理解。

图 5不同阵列尺寸下 SRAM 读写与 eDRAM 读写的访问能耗对比及输入访问能耗降低情况

创新点三:内存共享提高内存利用率

在 MixCIM 架构中,DW 卷积完成后,输出激活数据可存储于空闲 eDRAM 位单元或覆盖输入激活通道中不再需用的部分。如图 6的 eDRAM CIM 阵列,DCC - A 存储输入激活值,卷积结束后,部分输入值使命完成,输出激活值便可复用其空间,就像房间物品腾挪复用空间。此策略避免为输出激活值另辟内存,显著减少内存开销。在边缘 AI 设备等内存受限场景,可让设备在不增内存成本下,加载更大模型或处理更高分辨率图像,提升性能与适用范围。

图 6基于 eDRAM 的存内计算(CIM)

此外,内存共享策略与可滑动 eDRAM 阵列紧密配合。从图 7 能看出,可滑动 eDRAM 阵列在执行卷积计算时,产生的中间及最终结果都依据内存共享策略存储复用。在进行 DW 卷积时,输入特征被划分为多个 3×3 子特征,每次计算完一个子特征的卷积结果,可直接存储到按策略分配的 eDRAM 区域,同时不影响阵列继续滑动计算下一个子特征。而且,该策略与混合内存计算协同良好。在图 3 展示的架构中,激活值按近内存计算(CNM)原理输入权重的 CIM 阵列计算后,产生的输出激活值存储复用同样遵循内存共享策略,保证数据在存储和计算单元间高效流转。

图 7深度卷积激活滑动机制:特征划分、滑动操作及权重激活映射详解

在计算效率方面,内存共享策略减少了内存分配和释放带来的时间开销,优化数据存储位置。从图 8 的计算流程可以看出,数据能快速被计算单元访问,加速卷积计算,让计算过程连贯高效。在能效层面,减少内存读写次数和空间分配,降低系统功耗,这对依靠电池供电的移动设备等功耗敏感设备极为有利。在系统可扩展性上,提升的内存利用率使系统能处理更大规模数据和复杂模型。随着神经网络模型不断发展,MixCIM 能更好适应新模型需求,延长系统的使用寿命和应用场景,为深度可分离卷积的高效实现提供有力支持。

图 8 深度卷积与卷积滑动流水线:结构、流程及性能增益解析

  • 实验评估

为了验证MixCIM架构的性能,研究团队选用了MobileNet-V2作为测试模型。MobileNet-V2具有轻量级的特点,是常见的移动和嵌入式应用场景下的基准测试模型。该模型在ImageNet数据集的输入分辨率一般设定为224×224,深度乘子和宽度乘子均为1.0,整个模型的参数量约为350万,计算量约为3亿次MAC操作。在性能指标方面,论文重点关注了能量效率、计算精度和内存利用率。能量效率以TOPS/W为单位,体现了芯片在单位功耗下执行MAC操作的效率;计算精度则通过在 ImageNet 数据集上的 Top-1 和 Top-5 准确率来评估模型的推理性能;内存利用率指的是存储单元阵列中实际用于存储模型权重的比例,反映了存储资源的有效利用程度。

实验结果表明,MixCIM能够实现每秒约 1000 帧的处理速度,满足了大部分实时应用场景对算力和延时的要求。得益于 MixCIM 架构的几个关键创新点,混合信号计算单元综合了模拟电路和数字电路在MAC与数据处理方面的灵活性,显著提升了能量效率并达到了 5 TOPS/W。为了更全面地评估 MixCIM 架构的其他性能,论文将其与其他同类型的工作进行了比较。在计算精度方面,MixCIM在ImageNet数据集上使用CIFAR10实现了最高92.47 %的准确率,与一般的数字电路实现方式相近。权重存储策略减少了数据在芯片内部的搬运开销,使得MixCIM的内存利用率最高可提高32.4%,实现了较同类设计2.19倍的计算加速效果。

图9  MixCIM在计算加速方面领先于同类产品

图10  MixCIM的功耗分布

综上所述,MixCIM 架构在移动设备、嵌入式系统以及边缘计算等领域具有广阔的应用前景,有望显著降低功耗、延长电池续航时间,并提升实时性能。

参考资料

  1. 四、CNNs网络架构-深度可分离卷积(MobileNet v1、MobileNet v2、MobileNet v3、Xception、ShuffleNet v1、ShuffleNet v2)_retinaface 瓶颈结构-CSDN博客
  2. 深入浅出理解深度可分离卷积(Depthwise Separable Convolution)_dwconv-CSDN博客
  3. MixCIM: A Hybrid-Cell-Based Computing-in-Memory Macro with Less-Data-Movement and Activation-Memory-Reuse for Depthwise Separable Neural Networks | IEEE Conference Publication | IEEE Xplore

原文地址:https://blog.csdn.net/m0_58966968/article/details/145300427

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!