存内计算,大势所趋
来源:内容由半导体行业观察(ID:icbank)编译自semiengineering,谢谢。
飙升的人工智能计算工作负载和固定的功耗预算正迫使芯片和系统架构师更加仔细地审视内存计算 (CIM),直到最近,它还被认为只不过是一个科学项目。
CIM 解决了两个问题。首先,在内存和处理器之间来回移动数据比实际处理数据需要更多的能量。其次,通过传感器和其他来源收集并存储在内存中的数据如此之多,因此在存储数据时至少预处理部分数据的速度会更快。或者换个角度来看,大多数数据毫无价值,但计算资源很有价值,因此任何可以减少数据量的事情都是一件好事。
在最近举行的 Hot Chips 2023 会议上的主题演讲中,Google 首席科学家 Jeff Dean 观察到模型大小和相关计算需求每年增加多达 10 倍。虽然 zettascale 计算(每秒至少 1,021 次操作)触手可及,但它的价格很高。
恰当的例子:AMD 董事长兼首席执行官 Lisa Su 观察到,如果目前的趋势继续下去,第一台 zettascale 计算机将需要 0.5 吉瓦的电力,大约是单个系统典型核电站输出功率的一半。在一个日益关注能源需求和与能源相关的碳排放的世界中,数据中心可以无限增长的假设不再有效。即使这是可能的,互连速度和散热的物理原理也会对数据带宽产生严格的限制。
简单的乘法和加法……乘以十亿个参数
相对于其适度的计算要求,机器学习模型具有大量的数据传输需求。在神经网络中,推理和训练阶段通常都涉及将大矩阵 (A) 乘以某个输入向量 (αx),并向结果添加偏差项 (βy):
有些模型使用数百万甚至数十亿个参数。对于如此大的矩阵,读取和写入要操作的数据可能比计算本身花费更长的时间。ChatGPT(大型语言模型)就是一个例子。工作负载的内存限制部分占总执行时间的 80%。在去年的 IEEE Electron Device 会议上,南佛罗里达大学助理教授 Dayane Reis 和她的同事指出,该表推荐引擎的查找操作可占执行时间的 70%。因此,内存计算 (CIM) 架构可以提供一种有吸引力的替代方案。
其他人也同意。imec 的 STCO 项目经理 James Myers 表示:“许多现代工作负载的算术强度较低,这意味着它们从主内存中获取数据来执行一两个操作,然后将其发送回来。” “内存计算专门针对这些工作负载,其中更接近内存的轻量级计算有可能提高整体性能和能源效率。” 通过瞄准数据传输要求,工程师可以大幅减少执行时间和功耗。
不过,设计高效的 CIM 架构并非易事。在今年的 VLSI 研讨会上展示的工作中,西北大学的研究员 Yuhao Ju 和同事考虑了机器人应用中与 AI 相关的任务。这里,通用计算占总工作量的 75% 以上,包括此类任务如轨迹跟踪和相机定位。在推荐引擎中,通过表查找识别出的大量可能性仍然需要根据用户查询进行过滤。即使神经网络计算可以清楚地识别为限制因素,所涉及的确切算法也有所不同。神经网络研究的进展速度比集成电路设计周期还要快。为特定算法设计的硬件加速器在实际在芯片中实现时可能已经过时。
三星的 LPDDR-PIM 加速器模块等设计中出现了一种可能的解决方案,它依赖于一个简单但通用的计算模块,该模块针对矩阵乘法或某些其他算术运算进行了优化。设计用于管理内存耦合计算的软件工具承担有效划分工作负载的工作。
图 1:一种可能的 PIM 架构在存储体之间放置一个浮点模块
然而,使用软件分配任务会增加开销。如果将相同的数据发送到多个加速器(算法中的每个阶段一个),则可能会失去 CIM 的优势。西北大学小组提出的另一种方法将 CNN 加速器与传统的通用逻辑集成在一起。CPU 写入内存阵列,加速器将其视为 CNN 的一层。结果被写入输出数组,CPU 将其视为输入缓存。这种方法将端到端延迟减少了 56%。
图 2:统一的架构可以促进神经网络和向量计算。
这些解决方案对于当前的设备技术是可行的。它们依赖于传统的 CMOS 逻辑和 DRAM 存储电路,一旦电路制造完成,数据路径就被固定。未来,快速非易失性存储器可以实现可重新配置的逻辑阵列,从而可能模糊“软件”和“硬件”之间的界限。
新兴存储器如何帮助
Reis 及其同事设计基于 FeFET 的可配置存储器阵列来加速推荐系统。每个阵列都可以在 RAM 模式下操作以读取和写入查找表,在 GPCiM(通用内存计算)模式下执行布尔逻辑和算术运算,或在内容可寻址存储器 (CAM) 模式下操作以搜索整个阵列平行线。在模拟中,该架构的端到端延迟减少了 17 倍,MovieLens 数据集查询的能耗提高了 713 倍。
3D 集成的部分吸引力在于可以通过增加带宽和减少数据路径长度来提高性能。清华大学的 Yiwei Du 及其同事在传统 CMOS 逻辑之上构建了 HfO2/TaOx ReRAM 阵列,然后添加了带有 InGaZnOx FeFET 晶体管的第三层。CMOS 层充当控制逻辑,而 FeFET 层提供可重新配置的数据路径。在此设计中,标准工艺元件使用 CMOS 层和关联的 RRAM 阵列来实现矩阵向量乘法。完整的网络层需要多个处理元件,因此 FeFET 层协调数据传输。总体而言,该芯片的能耗比二维芯片低 6.9 倍。节点之间连接更复杂的网络实现了更显着的减少。
多年来,研究人员还一直在研究 ReRAM 阵列本身作为算术元素的使用。根据欧姆定律,施加电流是一个乘法步骤 (V=IR),而基尔霍夫定律则对阵列进行求和。理论上,直接在内存阵列上操作是最有效的架构之一。不幸的是,电阻损耗限制了实际的阵列尺寸。基于 RRAM 的计算需要将问题分解为“图块”,而不是单个数组,然后组合结果。
三星和海力士等内存供应商多年来一直在 Hot Chips 等会议上展示内存计算概念。不过,正如 Dean 指出的那样,传统的数据中心指标已经贬低了能源效率,转而青睐绝对性能。在功耗日益受限的环境中,这种性能优先的指标已不再足够。如果人工智能应用要继续以目前的速度增长,设计人员必须优先考虑新的节能架构。
原文链接
https://semiengineering.com/increasing-ai-energy-efficiency-with-compute-in-memory/
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第3589期内容,欢迎关注。
推荐阅读
半导体行业观察
『半导体第一垂直媒体』
实时 专业 原创 深度
识别二维码,回复下方关键词,阅读更多
晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装
回复 投稿,看《如何成为“半导体行业观察”的一员 》
回复 搜索,还能轻松找到其他你感兴趣的文章!
微信扫码关注该文公众号作者