ISSCC论文详解:“闪电”数模混合存内计算,适应transformer和CNNs架构

本文聚焦存内计算前沿论文ISSCC 2024 34.3,总结归纳其创新点,并对与之相似的创新点方案进行归纳拓展。

一、文章基本信息

ISSCC 2024 34.4:《A 22nm 64kb Lightning-Like Hybrid Computing-in-Memory Macro with a Compressed Adder Tree and Analog-Storage Quantizers for Transformer and CNNs》[1]介绍了一种形似“闪电”的数模混合存内计算宏结构,其具有压缩的加法树(也即近似加法树)与用于Transformer和CNNs的模拟存储量化器。文章作者团队来自东南大学与北京大学,第一作者为东南大学博士生郭安,其在近两年ISSCC、JSSC上共以第一作者身份发表论文3篇。

作者围绕现阶段数模混合存内计算芯片的现状提出了三点挑战:

(1)混合CIM在精度与面积/功耗开销之间的权衡;

(2)模拟CIM中读出电路的巨大能耗与误差;

(3)在大规模的加法器树下,数字CIM的能效有限。

作者同样提出了三种解决方案来应对挑战:

(1)类似闪电的模拟/数字混合结构,以保持能效和推理精度;

(2)基于数字4:2压缩器的加法器树以及双正则化训练方法,以减少面积/功率成本;

(3)用于可扩展累加器长度的模拟存储量化器(ASQC),输出比率为1。

图1 论文Challenge&Solution部分

二、论文内容解析

文章的创新点主要聚焦于三个方面:(1)闪电式数模混合结构;(2)压缩器的设计(采用近似方法);(3)引入ASQC,为ADC减负。

首先是闪电式数模混合结构。图2展示了闪电式混合SRAM CIM宏架构,支持累加器长度可扩展。图中蓝色为数字计算部分,黄色为模拟计算部分,通过将高位、低位数字单元(HDU与LDU)与高位、低位模拟单元(HAU、LAU),如图所示对其进行排列组合(两个子阵列与HDU和LDU对组合,四个子阵列与HDU和LAU对组合,其余两个子阵列与HAU和LAU对组合),以此来进行高效的INT 8的MAC操作。

其优势在于:(1)与传统的模拟累加器相比,由于采用了HAU、LAU和模拟存储量化器电路(ASQC),大大减少了所需的ADC转换次数和存储需求;(2)该结构支持更大的累加长度,而无需存储大量的部分和,这对于卷积神经网络(CNN)和Transformer网络更为合适。

图2 闪电式混合SRAM CIM宏架构

其次是压缩器的设计。图3展示了HDU/LDU的详细原理图和操作,以及作者提出的用于高效数字域处理的基于4:2压缩器的加法器树。每四个16×1b 6T-SRAM单元列共享一个HDU/LDU。每个HDU/LDU 由4个或非门和一个4:2压缩器组成。每4:2压缩器由一个或非门和一个28T全加器组成。由真值表可知,如果W4n=0,当n∈[0,31]时,则不会出现错误计算。采用闪电测绘法,当0⩽W4n⩽3时,不存在数字计算误差。因此,作者有意将在[0,3]范围内的W4n通过该压缩器计算,从而减少其计算误差,所以在文中作者提出“该压缩器影响不大”,但据笔者复现结果显示,误差最大达24.9%,与文中浅白色标注21.875%相近,该压缩器具有一定的局限性和显著的误差。除此之外,作者提出了双正则化的训练方法,如图所示,在每个训练时期,训练的权重被分为两组,不满意的权重组 Wa和理想的权重组Wb。Wa包含映射ID为4n且大于x或小于0的权重,而Wb包含其余权重。对于Wa,采用稀疏正则化(L1)来限制权重值范围。对于Wb,使用正常正则化(L2),这与普通训练过程相同。

图3 压缩器结构&双正则化训练

关于ASQC的设计,ASQC包含三种功能:一种比较器、一种计数器和一种SAR ADC,它具有三个阶段来量化模拟MAC值:(1)模拟存储(AS)阶段。AS阶段通常包含多个周期以延长累积长度并降低功率。AS阶段,Ceven和Codd之一将被HAU/LAU充电,而另一个将放电到地。一旦充电容量电压达到触发值,两者就会进行切换,计数器加一。当一个累积周期结束时,充电容量中的剩余电荷将被存储并成为下一周期的初始电压。引入虚拟电容以消除因开关引起的电荷损失。(2)SAR-ADC阶段。一旦所有累加周期结束,残余电压将由SAR-ADC量化以保留所有模拟值。最终的数字转换器值为k·Qc[5:0]+Qsar[5:0],可以实现输出比1。(3)复位阶段。量化后,所有容量、计数器和SAR-ADC将在下一个转换器周期设置为零。如图4所示,为其操作时序与结构简述图。

图4 ASQC模块的时序&结构

接下来我们将以创新点2:近似压缩器的设计为重点,从本论文的近似电路仿真出发,介绍近3年的近似计算技术相关的高水平论文,旨在为读者详细介绍近似计算技术的原理和特点等[1]。

如图1(a)所示,为本篇论文中基于或非门的4:2近似压缩器电路示意图,该近似压缩器由一个或非门和一个28T全加器组成,图1(c)为近似压缩器真值表,可以看出有25%的概率产生“-1”的误差,近似压缩器之后为传统精确加法器树。以256并行度的加法器树为例,传统精确加法器树大约需要10486个晶体管,该近似加法器树大约需要7186个晶体管,节省了31.47%的面积。如图1(b)所示,为256并行度的近似加法器树的仿真结果,采用的仿真指标为RMSE和真值表分析。平均RMSE(均方根误差,Root Mean Square Error)为7.72%,最大RMSE为24.90%。以上分析体现了近似计算技术以有限误差为代价,减小所需面积和功耗的原理。

图 5 近似压缩器示意图:(a)基于或非门的4:2近似压缩器电路;(b)近似加法器树仿真结果;(c)近似压缩器真值表

  • 相关文献解析

近似计算是一种新兴的计算范式,其核心是在允许一定误差存在的前提下,通过可容忍的精度损失降低硬件开销,从而实现计算效率的提升。

近似计算的思想早在20世纪60年代就得到了应用。自2008年左右以来,随着AI模型训练所需算力的提升,近似加法器和乘法器受到了极大的关注,目前近似加法器主要有推测加法器、分段加法器、近似进位选择加法器和近似全加法器等设计方案;近似乘法器主要有保存进位乘法器、使用近似计数或压缩器、使用对数近似等设计方案[2]。近似加法器和乘法器已经集成在AI深度学习加速器中,用于减少延迟、面积、功耗等,取得了优异的成果,具有非常广阔的应用前景。

具体到近年发表的文献中,近似计算方案也有所体现:

(1)压缩器近似[3]

DIMCA方案发表于JSSC 2023,该文献采用和34.3类似的压缩器思路,具体设计和性能评估如下图所示。该设计使用压缩器结构设计替换掉加法树的低位部分,压缩器设计本身相较于同等输入尺寸加法树设计会节约部分晶体管,同时该设计会节约输出比特数,二者共同作用实现了晶体管的节省。本文先的压缩器方案参考自文献[4],同时该文献对后续的加法树部分设计进行改进,优化了加法计算的进位速度。笔者认为,随着加法树输入并行度的增大,压缩器近似设计必然会导致输出偏小,该设计对于网络的影响可能因网络的输入分布而异。不同于34.3,该文献通过较低的RMSE来降低近似设计对网络推理效果的影响。

图6 DIMCA设计

(2)乘法器近似[5]

在ISSCC2023中,清华大学报告了一种乘法器的近似设计。该设计参考自传统的绝对值差分计算,将其中L1距离替换为L2距离,用于乘法计算,称为绝对差分运算(ADO)。它将原本的乘累加计算拆解,可以替换掉传统设计中的乘法器,实现乘法功能所需的硬件成本。

图7 ADO乘法器设计

(3)加法树低位近似[6]

在稍早的严重中,常提到一种将加法树中较低位的全加器和半加器替换为与门、或门的近似方法。如文献[6]所提出的OLOCA设计。该设计结构图如下所示,高nh-1位采用精确计算,低nl位采用或门和全通设计,第l位使用与门和或非门代替半加器。通过配置nh和nl的比例,对加法树的计算误差进行控制。

图8 低位近似加法树示意图

综上,近似计算的范式设计的出发点都是为了节省晶体管个数、降低计算电路面积、提高计算电路能效比。这类设计的重点在于,如何降低近似带来的影响,一方面,可以寻找神经网络、图像处理等容错性较高的应用场景;另一方面,可以考虑近似误差低的硬件结构;也可以如本篇论文所做的,进行人为限制,降低近似计算电路的参与度。

参考文献:

  1. An Guo, Xi Chen, Fangyuan Dong, et al. 34.3 A 22nm 64kb Lightning-Like Hybrid Computing-in-Memory Macro with a Compressed Adder Tree and Analog-Storage Quantizers for Transformer and CNNs[C]//2024 IEEE International Solid-State Circuits Conference (ISSCC). IEEE, 2024, 67: 570-572.
  2. Jiang H, Santiago F J H, Mo H, et al. Approximate arithmetic circuits: A survey, characterization, and recent applications[J]. Proceedings of the IEEE, 2020, 108(12): 2108-2135.
  3. Lin C T, Wang D, Zhang B, et al. DIMCA: An Area-Efficient Digital In-Memory Computing Macro Featuring Approximate Arithmetic Hardware in 28 nm[J]. IEEE Journal of Solid-State Circuits, 2023.
  4. Kim K, Lee J, Choi K. Approximate de-randomizer for stochastic circuits[C]//2015 International SoC Design Conference (ISOCC). IEEE, 2015: 123-124.
  5. He Y, Diao H, Tang C, et al. 7.3 a 28nm 38-to-102-TOPS/W 8b multiply-less approximate digital SRAM compute-in-memory macro for neural-network inference[C]//2023 IEEE International Solid-State Circuits Conference (ISSCC). IEEE, 2023: 130-132.
  6. Dalloo A, Najafi A and Garcia-Ortiz A. Systematic design of an approximate adder: The optimized lower part constant-OR adder[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2018, 26(8): 1595-1599.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/569137.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实验七 智能手机互联网程序设计(微信程序方向)实验报告

请编写一个用户登录界面&#xff0c;提示输入账号和密码进行登录&#xff0c;要求在输入后登陆框显示为绿色&#xff1b; 二、实验步骤与结果&#xff08;给出对应的代码或运行结果截图&#xff09; index.wxml <view class"content"> <view class"a…

Linux——界面和用户

本篇文章所写的都是基于centos 7 64位&#xff08;通过虚拟机运行&#xff09;。 一、Linux的界面 Linux操作系统提供了多种用户界面&#xff0c;主要分为图形用户界面&#xff08;GUI&#xff09;和命令行界面&#xff08;CLI&#xff09;。 1、图形用户界面(GUI)&#xff…

2024 年选择安全运营中心 (SOC) 工具指南

安全运营中心 (SOC) 是对抗网络威胁的前线。他们使用各种安全控制措施来监控、检测和快速响应任何网络威胁。这些控制措施对于确保信息系统全天候安全至关重要。 大型组织中的现代 SOC 与各种安全供应商合作&#xff0c;处理 75 到 100 种不同的工具。让我们探讨一下您可能遇到…

vue【vuex状态管理】

1&#xff1a;vuex是什么&#xff1a; vuex是一个状态管理工具&#xff0c;状态就是指的数据&#xff0c;可以将数据存放到vuex中以供其他组件使用时进行调用 2&#xff1a;应用场景&#xff1a; ①&#xff1a;像用户登录客户端&#xff0c;这个用户的数据需要在多个组件中…

天锐绿盾 | 文件资料透明加解密系统

"天锐绿盾 | 文件资料透明加解密系统" 是一款专为企业及各类组织机构设计的数据安全防护软件。它以“透明加解密”为核心技术&#xff0c;旨在对用户的重要文件资料进行实时、无缝的加密保护&#xff0c;确保数据在存储、传输和使用过程中的安全性&#xff0c;防止敏…

javascript(第三篇)原型、原型链、继承问题,使用 es5、es6实现继承,一网打尽所有面试题

没错这是一道【去哪儿】的面试题目&#xff0c;手写一个 es5 的继承&#xff0c;我又没有回答上来&#xff0c;很惭愧&#xff0c;我就只知道 es5 中可以使用原型链实现继承&#xff0c;但是代码一行也写不出来。 关于 js 的继承&#xff0c;是在面试中除了【 this 指针、命名提…

一文速览Llama 3及其微调:如何通过paper-review数据集微调Llama3 8B

前言 4.19日凌晨正准备睡觉时&#xff0c;突然审稿项目组的文弱同学说&#xff1a;Meta发布Llama 3系列大语言模型了 一查&#xff0c;还真是 本文以大模型开发者的视角&#xff0c;基于Meta官方博客的介绍&#xff1a;Introducing Meta Llama 3: The most capable openly a…

基于FPGA轻松玩转AI

启动人工智能应用从来没有像现在这样容易&#xff01;受益于像Xilinx Zynq UltraScale MPSoC 这样的FPGA&#xff0c;AI现在也可以离线使用或在边缘部署、使用.可用于开发和部署用于实时推理的机器学习应用&#xff0c;因此将AI集成到应用中变得轻而易举。图像检测或分类、模式…

Android Studio查看viewtree

前言&#xff1a;之前开发过程一直看的是手机上开发者选项中的显示布局边界&#xff0c;开关状态需要手动来回切换&#xff0c;今天偶然在Android Studio中弄出了布局树觉得挺方便的。

国产FTP文件传输服务器需要具备哪些关键特性?

国产FTP文件传输服务器是指根据中国国内信息技术创新&#xff08;信创&#xff09;的要求和标准&#xff0c;自主研发的文件传输服务器软件。这类软件旨在替代传统的FTP服务器&#xff0c;以更好地适应国产化和信息安全的需要。国产FTP文件传输服务器通常需要具备以下要求&…

【嵌入式Linux】STM32P1开发环境搭建

要进行嵌入式Linux开发&#xff0c;需要在Windows、Linux和嵌入式Linux3个系统之间来回跑&#xff0c;需要使用多个软件工具。经过了4小时的安装&#xff08;包括下载时间&#xff09;&#xff0c;我怕以后会忘记&#xff0c;本着互利互助的原则&#xff0c;我打算把这些步骤详…

分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测

分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测 目录 分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.RIME-BP霜冰优化BP神经网络多特征分类预测&#xff08;Matlab实现完整源码和数据&a…

WEB攻防-ASP中间件IIS 短文件名探针安全漏洞

IIS短文件名探针安全漏洞是一个与IIS&#xff08;Internet Information Services&#xff09;服务相关的安全问题。该漏洞主要是由于HTTP请求中使用了旧DOS 8.3名称约定&#xff08;SFN&#xff09;的代字符&#xff08;〜&#xff09;波浪号&#xff0c;这使得远程攻击者有可能…

用C语言做一个小游戏:贪吃蛇(初阶)

1.整体思路规划 首先设计贪吃蛇就要先设计出一个游戏初始的界面以及要让玩家知道相应的游戏规则&#xff0c;其次要设计出一个地图来限制贪吃蛇的运动范围&#xff0c;那么就要初始化一条蛇&#xff0c;以及一个食物和其他功能&#xff0c;比如加速减速、暂停、食物的分数以及总…

PYTHON用[邻接列表]及[邻接矩阵]来存储无向图

# 图可以根据边的性质进行分类&#xff1a;# 有向图&#xff08;Directed Graph&#xff09;&#xff1a;在有向图中&#xff0c;边是有方向性的&#xff0c;从一个节点指向另一个节点。这意味着从节点 A 到节点 B 的边与从节点 B 到节点 A 的边可以是不同的&#xff0c;或者根…

58岁第一代「晶女郎」激罕现身

90年代性感女神关秀媚在2006年拍完内地剧集《暴雨梨花》后更全面息影&#xff0c;而且更甚少现身于人前。日前曾志伟庆祝71岁生日&#xff0c;举行盛大慈善素宴广邀圈中好友&#xff0c;为寺庙重建工程筹募经费。女神关秀媚便罕有接受访问透露近况。 当天关秀媚将头发盘起&…

【大数据】LSM树,专为海量数据读写而生的数据结构

目录 1.什么是LSM树&#xff1f; 2.LSM树的落地实现 1.什么是LSM树&#xff1f; LSM树&#xff08;Log-Structured Merge Tree&#xff09;是一种专门针对大量写操作做了优化的数据存储结构&#xff0c;尤其适用于现代大规模数据处理系统&#xff0c;如NoSQL数据库&#xff…

【Java--数据结构】“从扑克到程序:深入探讨洗牌算法的原理与魅力“

前言 以下是学习Java顺序表的一个实例应用———简单的洗牌算法。 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 前言 定义每张扑克牌的属性 生成一副扑克牌&#xff08;不包含大小王&#xff09; 洗牌方法 发牌方…

AI视频下载:零基础2小时学会开发 Chrome扩展程序

无论您是有抱负的Web开发人员、AI爱好者还是生产力黑客&#xff0c;本课程都提供了宝贵的见解和实践经验&#xff0c;帮助您利用AI和Chrome扩展的力量来简化Web自动化&#xff0c;改善各个行业和领域的用户体验&#xff0c;解锁AI驱动生产力的潜力&#xff01; 此课程面向以下…

如何计算加速开发的实际价值

投资回报率&#xff08;ROI&#xff09;已成为在企业中引进工具、方法或者策略时必须考虑的关键指标。 尽管如此&#xff0c;在某些情况下&#xff0c;ROI 很容易衡量&#xff0c;而在其他情况下&#xff0c;则往往只衡量结果——金钱。这种评估角度是有效且必要的&#xff0c…