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

存算一体开发者社区 存算一体开发者社区 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

背景介绍

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)文章链接:https://ieeexplore.ieee.org/document/10454489;

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

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)

 

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

        (2)

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

                         (3)

 

(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.

...全文

相关推荐

mongodb-linux-x86_64-ubuntu2004-8.0.13.tgz

mongodb-linux-x86_64-ubuntu2004-8.0.13

一and一>二

chromedriver-linux64-159.0.8135.0(Canary).zip

chromedriver-linux64-159.0.8135.0(Canary).zip

LCG元

三相四桥臂电压不对称跌落补偿动态电压恢复器DVR(Simulink仿真实现)

内容概要:本文围绕三相四桥臂动态电压恢复器(DVR)在电压不对称跌落情况下的补偿能力展开,重点介绍了基于Simulink平台构建的仿真模型,用于研究和验证DVR对电网电压不平衡的动态补偿性能。系统采用三相四桥臂逆变器结构,利用其独立的中性线控制能力有效处理零序分量,结合多准PR(Proportional Resonant)控制策略实现对正负序电压分量的精确跟踪与快速响应,从而提升在不平衡负载或电网故障条件下DVR的补偿精度与系统稳定性。文中提供了完整的仿真模型及相关参考文献,涵盖控制算法设计、系统建模与参数整定等关键技术环节,适用于复杂电能质量问题的研究与教学演示。; 适合人群:电气工程、电力电子与电力系统相关专业的研究生、科研人员及从事电能质量治理的技术工程师;具备一定的电路理论、自动控制原理和Simulink仿真基础者更佳。; 使用场景及目标:①研究动态电压恢复器在三相电压不对称跌落工况下的补偿机制与控制策略;②掌握三相四桥臂逆变器在不平衡条件下的建模与控制方法;③深入理解多准PR控制器在正负序分离控制中的应用,提升对电能质量调节装置的设计与仿真能力; 阅读建议:建议结合提供的参考文献与说明文档,逐步搭建并调试Simulink仿真模型,重点关注控制器参数设计与系统动态响应特性,通过设置不同类型的电压跌落场景(如单相跌落、两相短路等)来验证控制策略的有效性与鲁棒性。

威武编程狮

【MIMO无线编码】在瑞利衰落信道中比较2x2和4x4的BPSK调制系统(Matlab代码实现)

内容概要:本文通过Matlab代码实现,在瑞利衰落信道环境下对2x2和4x4 MIMO系统采用BPSK调制的性能进行仿真与比较,重点分析不同天线配置下的误码率(BER)表现,旨在探讨MIMO系统中天线数量增加对无线通信可靠性和传输性能的影响。研究涵盖了信道建模、信号调制解调、接收端检测算法等关键环节,并通过蒙特卡洛仿真获得统计结果,直观展示了MIMO技术在对抗多径衰落方面的优势。; 适合人群:具备通信原理基础知识和Matlab编程能力的高校学生、科研人员及从事无线通信系统设计的工程技术人员。; 使用场景及目标:①理解MIMO系统在瑞利衰落信道中的工作原理与性能评估方法;②掌握BPSK调制解调及典型MIMO检测技术的Matlab实现;③通过仿真对比不同规模MIMO系统的性能差异,为系统设计提供参考依据。; 阅读建议:建议读者结合Matlab代码逐段运行并观察仿真结果,深入理解各模块功能,同时可尝试修改参数(如信噪比范围、仿真次数、天线数目)以探究其对系统性能的影响,从而加深对MIMO无线编码技术的认知。

小念念_

44-基于STC89C52粮库远程无线监测系统设计(设计说明书+全套资料).rar

项目44-基于STC89C52粮库远程无线监测系统设计 资料包括Proteus仿真+Keil程序+Altium Designer原理图+软件安装包+参考设计说明书+答辩PPT+设计流程图,保证资料完整性! 功能: (1)本设计以STC89C52单片机为控制核心,实现对粮库远程无线监测系统的稳定控制与高效管理。 (2)采用DHT11传感器检测温湿度,精准感知粮库内环境参数,为粮食储存状态监测提供关键数据。 (3)配备LCD1602显示屏实时显示温湿度信息,方便管理人员直观了解粮库环境,及时做出决策。 (4)设有无线模块实现远程数据传输,可远程监控粮库状态,提升管理效率,降低人工巡检成本。 (5)利用蜂鸣器与LED灯作为报警装置,当温湿度超出阈值时及时报警,资料助力学生掌握设计。

创界工坊工作室
评论
收藏 已收藏
分享
返回顶部