浅谈存算一体技术
在冯诺依曼体系中,计算和存储是分开的,想要输出结果,就要完成三步走--存储、计算、以及两者之间通信,也就是数据搬运。数据存储与处理是分离的,存储器与处理器之间通过数据总线进行数据传输。
一方面,数据总线的有限带宽严重制约了处理器的性能与效率,同时,存储器与处理器之间存在严重性能不匹配问题。不管处理器运行的再快、性能再好,数据依然存储在存储器里,每次执行运算时,需要把数据从存储器经过数据总线搬移到处理器当中,数据处理完之后再搬回到存储器当中。
这就好比一个沙漏,沙漏两端分别代表存储器和处理器,沙子代表数据,连接沙漏两端的狭窄通道代表数据总线。因此存储器带宽在很大程度上限制了处理器的性能发挥,这称为存储墙挑战。
为了打破冯诺依曼计算架构瓶颈,降低数据搬移带来的开销,一种最直接的做法是增加数据总线带宽或者时钟频率,但必将带来更大的功耗与硬件成本开销,且其扩展性也严重受限。目前业界采用的主流方案是通过高速接口、光互联、3D堆叠、增加片上缓存等方式来实现高速高带宽数据通信,同时使存储器尽量靠近处理器,减小数据传输的距离。
目前主流AI芯片都基于冯诺伊曼计算架构,缺点是成本高,功耗高,且有90%以上的资源都消耗在数据的搬运上。随着AI算法的持续升级与AI应用的持续普及,AI领域迫切需要性能更强、功耗更低、成本更低的芯片,打造智能万物互联时代。因此,架构创新成为必经之路。
目前主要有两条技术路线:一是仍然基于老架构,使其老树开新花,以英伟达、AMD、Xilinx和Google等代表的芯片大厂基于冯诺伊曼计算架构继续发展GPU、FPGA和ASIC芯片;二是开发新架构,如存算一体芯片、软件定义硬件、类脑芯片等。
2020年,在未来论坛青创联盟线上学术研讨中,开展了AI+脑科学的主题讨论。清华大学的吴华强老师做了题目为“大脑启发的存算一体技术”的报告。在报告中吴教授介绍到:当思考未来计算的时候,量子计算、光计算是向物理找答案,类脑计算、存算一体是向生物找答案,也就是向大脑找答案。
新型存算一体架构则是将存储和计算有机地结合在一起,直接利用存储单元进行计算,极大地消除了数据搬移带来的开销 。旨在把传统以计算为中心的架构转变为以数据为中心的架构,其直接利用存储器进行数据处理,从而把数据存储与计算融合在同一个芯片当中,可以彻底消除冯诺依曼计算架构瓶颈,特别适用于深度学习神经网络这种大数据量大规模并行的应用场景。
简单来说,在传统计算机的设定里,存储模块是为计算服务的,因此设计上会考虑存储与计算的分离与优先级。但是如今,存储和计算不得不整体考虑,以最佳的配合方式为数据采集、传输和处理服务。这里面,存储与计算的再分配过程就会面临各种问题,而它们主要体现为存储墙、带宽墙和功耗墙问题。
以存储墙问题为例,因为计算与存储各自独立演进,且传统的观点认为计算系统性能受限于计算能力,因而过去几十年产业界在计算方面的投入巨大。有数据显示,过去二十年,处理器性能以每年大约55%的速度提升,内存性能的提升速度每年只有10%左右。结果长期下来,不均衡的发展速度造成了当前的存储速度严重滞后于处理器的计算速度,内存瓶颈导致高性能存储器难以发挥应有的功效,遭遇了所谓的存储墙问题。
为打破上述瓶颈,目前业内的努力方向:
其实存内计算的核心思想很简单,就是把带权重加乘计算的权重部分存在内存单元中,然后在内存的核心电路上做修改,从而让读出的过程就是输入数据和权重在模拟域做点乘的过程,相当于实现了输入的带权重累加,即卷积运算。而同时,由于卷积运算是深度学习算法中的核心组成部分,因此存内计算非常适合AI,对未来AI芯片的存算一体和算力突破都有帮助。
存算一体化当前面临的三大挑战:
计算精度有限
现有浮栅存储器并不适合用于计算
本质上是模拟计算,精度会受到信噪比影响,通常上限8bit
只能做定点数计算,难以实现高精度的浮点数计算
应用落地场景边界条件限制较多
仅适合原本就对存储需求较大的场景,不然引入内存计算反而增加内存成本
生态不完善
产业链上游支撑不足,下游应用不匹配
没有成熟的专用EDA工具辅助设计和仿真验证
流片后没有成熟的工具协助测试
落地应用阶段没有专用的软件与之匹配
建议:
聚力发展高带宽内存(HBM)、新型非易失性存储器(Flash、RRAM、PCM、MRAM)
突破存算一体模拟信号误差、高效模拟、数字信号转换等关键技术
引导高校。科研院所加强存算一体芯片原型设计、验证、流片加工等技术工艺储备
加快产业化进程,推动应用