【ISSCC论文详解】-ISSCC.34.5 用于统一加速CNN和Transformers的818-4094 TOPS/W电容可重构CIM宏单元

背景介绍

1、文章基本信息

(1)题目:《A 818-4094TOPS/W Capacitor-Reconfigured CIM Macro for Unified Acceleration of CNNs and Transformers》;

(2)名称:用于统一加速CNN和Transformers的818-4094 TOPS/W电容可重构CIM宏单元; 

(3)文章链接:34.5 A 818-4094TOPS/W Capacitor-Reconfigured CIM Macro for Unified Acceleration of CNNs and Transformers | IEEE Conference Publication | IEEE Xplore

(4)研究团队:日本庆应义塾大学,作者为吉冈太郎,他的研究兴趣包括高效硬件,激光雷达和机器学习系统设计等。

CIM-Paper Collection 专注于存内计算架构的论文集合,它包含了最新的研究成果。这个仓库覆盖了存内计算的基础概念、忆阻器相关的论文、向量乘矩阵、数字与模拟计算技术,以及存内计算在不同领域的应用案例。https://github.com/witmem/Witmem-CIM-Papers-Collection 

2、研究背景

机器学习领域存在多种神经网络架构,如用于图像处理的CNN,用于自然语言处理的Transformers,以及用于音频处理的混合架构等。然而这些不同的神经网络架构对计算精度有着不同的要求,如图1(右上角)所示,CNN在较低CSNR(计算信噪比)下就能达到满意的准确性,而Transformers则需要更高的CSNR才能发挥其全部潜力。由于机器学习应用的多样性以及不同神经网络架构的计算精度需求不同,研究者在设计硬件加速器时需要考虑性能和能效的权衡以使硬件具备极高的灵活性和适应性。

图1 CNN和Transformer统一加速ACIM的概念

  1. 面临的挑战

传统ACIM架构主要集中在支持CNN,而在同时同时适应CNN和Transformers方面取得的成功有限,主要体现在以下三点:

(1)高CSNR的实现:模拟计算中的非线性误差、噪声和失配问题都会影响CSNR,使其难以满足Transformers的需求。

(2)线性度、ADC分辨率和噪声抗扰度的平衡:电流域CIM在线性度方面存在问题,而电荷域CIM虽然在匹配性上有优势,但在实现高ADC分辨率和噪声抗扰度方面面临显著的面积和功耗开销。

(3)电路开销的控制:高性能通常伴随着更高的功耗和面积需求,特别是在实现高精度和高抗噪性能时。这种权衡使得设计高效的ACIM架构变得复杂。

4、本文创新点

为了解决上述面临挑战,研究团队提出了一种用于统一加速CNN和Transformers的ACIM宏结构,如图1(左)所示,简要概括如下:

(1)电容可重新配置的CIM架构(CR-CIM):支持基于电荷的计算和基于电容的ADC操作以同时发挥了电荷域CIM和电容域CIM的优势,从而提升了系统的面积效率和CSNR。

(2)资源高效的多位驱动器:支持CNN模式下模拟多位输入进行位并行计算,以在降低功率开销的同时提高电路的计算效率。

(3)软件-模拟协同设计策略:通过动态调整硬件的性能以在计算精度和功耗之间实现权重,从而提高Transformers模式下的功率效率。

5、名词解释

(1)SNR:Signal-to-Noise Ratio,信噪比,其是一个衡量信号强度相对于背景噪声强度的指标,如式1所示。高SNR意味着信号在噪声中占主导地位,系统能够更准确地提取和处理信号;低SNR则意味着噪声较强,可能会干扰信号的准确传输和处理。在模拟计算中,SNR是一个关键指标,因为模拟计算容易受到各种噪声源的影响从而降低计算的精度和可靠性。因此,为了实现高性能的模拟计算系统,特别是在高要求的神经网络架构(如Transformers)中,确保高SNR是至关重要的。

                            

  1. CSNR:Compute Signal-to-Noise Ratio,计算信噪比,其是SNR的一个特定应用,如式2所示,具体意义与SNR相似。

2. SQNR:Signal-to-Quantization Noise Ratio,量化信噪比,专门用于评估信号在量化过程中的质量,如式3所示。高SQNR表示量化噪声较低,信号被精确地表示和处理;低SQNR则可能导致显著的量化误差,影响信号的质量和系统的可靠性。在模拟计算中SQNR是一个重要的性能指标,因为它直接影响信号的保真度和系统的整体性能。

(4)LSB:Least Sigificant Bit的缩写,即最低有效位,代表了ADC转换输出数字信号的分辨率。

  • 本文主要工作——撰稿人二

1、电容可重配置的计算内存(CR-CIM)

图2 用于计算和 ADC 模式的电容重构 CIM 概念和运行

图2展示了论文提出的CR-CIM电路,该电路旨在实现高面积效率和CSNR。CR-CIM利用可重配置的电容阵列,既可以进行基于电荷的计算,也可以使用10位电容DAC的10b ADC操作。这种创新设计使得大面积的电容数字模拟转换器(C-DAC)与计算电容可以共享,极大地减少了额外的面积需求。在计算阶段,输入信号(IN)与存储在6T SRAM中的权重相乘后的结果会被送至CIM单元。在ADC阶段,CIM电容器连接到DAC反馈信号(DDAC[9:0])以使其重新配置为C-DAC阵列。DDAC[9]信号连接到512个CIM单元,DDAC[8]信号连接到256个CIM单元,依此类推,形成一个二进制C-DAC阵列。CR-CIM的电容阵列的顶板直接连接到比较器,允许使用逐次逼近(SA)来实现10b AD转换。此外,通过使用PMOS通道门将多级输入信号连接到电容,该设计还实现了位并行操作。DDAC路径的重用于电容重置中,减少了晶体管的使用,优化了电路的总体布局。

从性能优势来看,CR-CIM单元的电容阵列顶部直接与比较器相连,使用SA方法实现了10比特的模数转换。后布局仿真证明了其10b线性性能,并且整个单元的面积仅为2.3微米平方,采用了65纳米逻辑规则,展示出了卓越的面积效率。动态负载补偿(DLC)电路的引入,通过添加与总行权重(ΣW)成反比的负载电容来维持恒定的负载电容,显著减少了由于权重配置差异导致的电容负载变化,从而有效减小了初始误差范围。

关于电路的功能,该设计通过一个全局开关在复位(RST)和ADC模式间灵活地切换DDAC[9:0]节点。这种模式的灵活切换对于应对不同的计算需求至关重要,尤其是在资源有限的环境中。新设计的多比特行驱动器支持位并行计算,特别是在CNN模式下,能够更高效地处理模拟多比特输入,进一步提升了系统的整体运算效率。

2、资源高效的多位驱动器

图3 具有动态负载补偿功能的资源节约型多位驱动器

图3展示了资源高效的多位行驱动器,该驱动器能够实现位并行计算。在CNN模式下,可以接受较低的CSNR,其利用模拟多位输入来实现位并行计算,从而进一步提高效率。

在图3中所示的资源高效的多位行驱动器中,它通过结合单一参考电压和5位C-DAC的配置,大幅简化了传统多参考电压ACIM设计的复杂性。与需要多达16个精确参考电压的传统设计相比,这种简化显著降低了电阻梯网络的需求,进而减少了电路的整体功耗和成本。这种设计的简化不仅提高了电路的经济效益,还有助于降低制造和维护的复杂性。

为了解决因行权重总和(ΣW)变化而引起的电容负载波动问题,本文还引入了动态负载补偿(DLC)电路。DLC通过自动调整与ΣW成反比的补偿电容来稳定负载,确保了在不同权重配置下电路的性能稳定性。这种自适应的负载调整不仅提高了电路的操作灵活性,也优化了电压误差,将初始误差从高达26 LSB降低至1.2 LSB。这种高精度的电压控制对于提高数据转换的准确性和系统的可靠性至关重要。

此外,该电路在CNN模式下支持模拟多位输入进行位并行计算,增强了处理能力,使得电路能够更高效地处理复杂的计算任务。通过这种设计,电路不仅适应了多变的负载条件,还实现了高效的计算性能,特别适合于功耗敏感的应用场景,如便携式设备和物联网设备。

3、软件-模拟协同设计(SAC)策略

图4 Transformer软件-模拟协同设计策略:对 CSNR 要求较高的 MLP 层激活 CSNR 提升

图4中展示的软件-模拟协同设计策略专为优化Transformer模式的计算任务设计,特别是在多层感知机(MLP)层中,这些层对CSNR的要求极高以保证计算的准确性。该设计策略通过一个称为CSNR提升(CB)的技术,动态地调整硬件的性能,以适应不同计算层的需求,从而在功耗和计算精度之间找到平衡。

在实际操作中,Transformer的架构包括注意力层和MLP层,其中注意力层处理输入图像块的特征向量,进行权重混合,其对CSNR的要求相对较低。而MLP层则进行更深层次的特征提取和转换,需要更高的CSNR来维护数据处理的质量。为了满足MLP层的高CSNR需求,当进入该层时,系统会启动CSNR提升技术,通过应用6倍多数表决来增强数据的准确性和可靠性。多数表决通过对多个数据点进行统计和比较,提高了输出的准确度,但相应地也增加了功耗和处理时间。

CSNR提升技术显著提高了MLP层的处理质量,CSNR由原始的25.8dB提高到31.3dB,改善了5.5dB。这种提升对于确保深度学习任务中的高精度非常关键,尤其是在进行复杂的特征提取和分类任务时。然而,这种性能提升是以增加功耗和转换时间为代价的,具体表现为功耗增加了1.9倍,转换时间增加了2.5倍。尽管如此,这种权衡在需要极高准确性的应用中是合理的。

在功能方面,CSNR提升技术的动态激活特性是其核心。系统不在所有层次上均使用高CSNR模式,而是根据每层的具体需求来调整,注意力层维持常规操作,而在MLP层启动CSNR提升。这种策略有效地节约了能源,同时确保在数据处理最关键的阶段提供足够的资源来保证输出质量。

  • 最终结果对比

CR-CIM采用65nm的CMOS工艺形成了380×1270 μm2的完整版图,支持0.6V-1.1V的输入电压,如图5所示。经实际测试,在1bit计算的应用场景中,采用1.1V输入的CR-CIM性能达到了研发人员预期,可以支持最高1.25TOPS的算力需求,能效约200TOPS/W。输入电压的下降会影响算力,采用0.6V输入时仅能支持0.1TOPS左右的算力,但能效提高到800 TOPS/W以上。

图5 CR-CIM版图

另一方面,CR-CIM的Transformer功能模块表现了强大的传输特性。在输入为0.6V,最高10bit输出的情况下,CR-CIM的传输依然保持稳定,内部ADC的积分非线性(INL)误差保持在2LSB内。为此,研发人员设计的CB电路可以将噪声降低为原先的1/2,约为0.58LSB。

同时,CR-CIM的SQNR和CSNR显著优于部分近年来发布的基于电荷的CIM芯片性能。而且随着输入或权重的bit位数越高,CR-CIM优势也进一步扩大,其Transformer模块的信噪比提高了10dB以上。在输入或权重为8bit时,CR-CIM的transformer模块SQNR相较于[2]和[3]提高了22dB,CSNR相较于[2]和[3]至少提高了13dB,CNN模块的SQNR也略有提高,说明了CR-CIM具有优秀的噪声控制能力。

总之,CR-CIM的主要优势在于其同时搭载了CNN模块和Transformer模块,支持4-8bit的输入或权重设置并实现了最高10bit的ADC。同时,研发人员成功提高了Transformer模块的信噪比,使其在在高比特输入情况下明显优于其他同样基于电荷计算的CIM-CNN芯片性能。

参考资料

[1] K. Yoshioka, "34.5 A 818-4094TOPS/W Capacitor-Reconfigured CIM Macro for Unified Acceleration of CNNs and Transformers," 2024 IEEE International Solid-State Circuits Conference (ISSCC), San Francisco, CA, USA, 2024, pp. 574-576.

[2] H. Jia et al, “A programmable heterogeneous microprocessor based on bit-scalable in-memory computing,” IEEE JSSC, vol. 55, no. 9, pp. 2609–2621, Sept. 2020.

[3] J. Lee et al, “Fully row/column-parallel in-memory computing SRAM macro employing capacitor-based mixed-signal computation with 5-b inputs,” IEEE Symp. on VLSI Circuits, 2021.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值