计算,最好在内存中完成
当今社会处于一个信息爆炸的大数据时代,对超高速、高带宽、大容量、高密度、低功耗和低成本的超高性能计算需求呈爆发式增长,而人工智能的出现更加速了这种趋势,因为它需要大量的数据进行训练。
以智能摄像头为例,随着摄像头的分辨率从P转向4K,其一天所采集到的数据量将达到GB。面临同样医院、自动驾驶和智能工厂,它们一天所产生的数据将分别超过3TB、4TB和1PB。年,一位普通的互联网用户平均每天产生的数据量大概是1.5GB,这样的数据产生速度远远超出了我们的想象。
美光科技(Micron)首席执行官SanjayMehrotra曾指出,人工智能服务器所需的固态存储器和DRAM的数量是标准服务器的两倍。由于我们仍处于AI发展的早期阶段,还面临着众多挑战,但从长远来看,AI对NAND和DRAM的需求应该会急速飙升。
面对滚滚而来的数据洪流,要使通过AIoT设备传输的大量数据变得有用,无论是采用本地处理、实时处理还是云端处理,高效灵活的计算平台、高性能存储和复杂但易于使用的机器学习堆栈,都是大数据/人工智能取得突破性成果的关键,三个元素缺一不可。正如SanjayMehrotra所说,“昨天的计算体系结构不适用于明天。从长远来看,我们认为计算最好在内存中完成。”
图1:计算最好在内存中完成
讨厌的“存储墙”
但在传统计算设备广泛采用的冯·诺依曼架构中,计算和存储功能不但是分离的,而且更侧重于计算。数据在处理器和存储器之间不停的来回传输,消耗了约80%的时间和功耗。学术界为此想出了很多方法试图改变这种状况,例如通过光互连、2.5D/3D堆叠实现高带宽数据通信,或者通过增加缓存级数、高密度片上存储这样的近数据存储,来缓解访存延迟和高功耗。但试想一下,人类大脑有计算和存储的区别吗?我们是用左半球来计算,右半球做存储的吗?显然不是,人脑本身的计算和存储都发生在同一个地方,不需要数据迁移。
图2:传统的冯·诺依曼计算架构
除了体系架构自身的限制外,处理器和存储器二者之间长期以来所采用的不同工艺路线,也是造成计算和存储分离,继而产生“存储墙”和“功耗墙”问题的重要原因之一。用户对处理器的高性能需求是无止境的,这使得半导体厂商不断通过提高晶体管内部的开关速度、使用更多的金属布线层和先进封装技术等手段来提升性能;但对于存储器来说,消费者和厂商更在意的是如何在更小的存储单元面积上获得更多的晶体管数量,用以增加存储密度,扩大存储容量。从图3可以看出,-0年,处理器和存储器两者的速度失配以每年50%的速率在增加。
图3:-0年,处理器和存储器两者的速度失配以每年50%的速率增加
与此同时,数据迁移需要的功耗在整个计算中的占比也在“水涨船高”。有研究显示,7nm工艺时代,访存功耗达到25pJ/bit(45.5%),通信功耗达到10pJ/bit(18.2%),数据传输和访问功耗占比达到了63.7%。
因此,学术界和产业界都希望尽快找到一种与人脑结构类似的创新架构的想法就不足为奇了,比如通过对DRAM的逻辑层和存储层进行堆叠,实现近数据存储计算(NearMemoryCompute),或者是最好能够将存储和计算有机地结合在一起(存储器颗粒本身的算法嵌入),直接利用存储单元进行计算,最大程度的消除数据迁移所带来的功耗开销。
人工智能,“存内计算”的助推剂
在这一背景下,更聚焦存储的新型“存内计算”架构诞生了。从目前趋势来看,真正对“存内计算”架构起到决定性推动作用的,将是人工智能/物联网相关应用的加速落地。
之所以做出这样的判断,原因有二。其一,物联网中包含大量智能终端,其计算过程往往涉及浅层人工智能算法数据的预处理。存内计算由于硬件复用问题,在深层算法的加速方面应该不占优势,但在浅层算法的实现过程中,简化的存算结构更易于硬件实现。其二,存内计算方案由于无需频繁搬用数据,能耗将显著降低,更符合物联网对硬件低功耗的要求。
众所周知,算法(Algorithm)、数据(Bigdata)和计算能力(Computing)并称为新AI时代三大驱动力,如何在追求更好性能的同时实现低功耗、低延迟和低成本,逐渐成为摆在所有AI从业者面前的艰巨挑战之一
在实际应用中,我们发现尽管很多AI硬件平台都展示了自身所具备的强大算力,然而当用户在真正运行一个应用时,却常常发现由于存储带宽和存储架构的限制,很难将所有的AI运算单元填满,从而导致硬件的计算效率低下。以谷歌第一代TPU为例,其平均硬件乘法阵列使用率只有28%,这意味着72%的硬件在大部分时间内是没有任何事情可做的。
而在设计AI平台的时候,大量运算引擎所带来的能量消耗也是不可忽视的。图4表明,如果将完成16位整数加法能量消耗定义为1,那么将32比特的数据从DDR内存传输到芯片中,就将花费1万倍的能量消耗。因此,过大的访问带宽将会直接导致AI芯片功耗高居不下。
图4:AI硬件的计算效率与功耗由访存带宽所主导(图片来源:深鉴科技)
另一方面,5G、物联网与工业4.0的发展让信息量呈现爆炸式增长,但把所有数据都放到云端去进行处理和传输、存储和分析是不适合的。比如在工业自动化领域,数据存储距离一定要近才有效率;5G移动设备制造商如果不强化终端侧人工智能并进行计算-存储架构更改,将会遭遇严重的电池寿命问题。
摩尔定律目前面临的挑战是扩张速度的急速放缓,无法再提供功率、性能和面积成本(PPAC)的同步提升。因此,相关测算表明,如果能够在内存中实现存内计算,终端设备的功耗将可以降低约20倍,速度提高约50倍,从而大幅提高计算的功耗和性能,特别适用于智能语音识别、降噪、声纹、人脸、手势、文字识别等应用。
“万丈高楼平地起”
这是一句中国的老话。意思是再激动人心的远方,也要依赖于坚实的基础和天才的创新。对于存内计算来说,抛开基础存储器件去谈无异于“纸上谈兵”,对于这一点,存储巨头们有着清醒的认识。
根据存储器件的存储易失性分类,当前存内计算的实现主要聚焦在两类存储器上:1.基于易失性的SRAM或DRAM构建;2.基于非易失性的相变存储器PCRAM、阻变存储器/忆阻器ReRAM、磁性随机存取存储器MRAM和浮栅器件/Flash构建。
图5:各类不同存储器件的性能对比(图片来源:美光科技)
基于易失性存储器
基于SRAM的存内计算芯片目前可支持无进位乘法运算的计算型cache,相关厂商在年还发布了面向深度学习算法的神经Cache,并在逻辑操作基础上实现了加法、乘法和减法操作;年,业界基于成熟DRAM存储器件实现了卷积神经网络的计算功能,实验数据表明,针对整数运算,与GPU相比,新架构可以获得7.7倍的性能提升和15倍的能效提升。
基于非易失性存储器
非易失性存储器在最近十几年得到了飞速的发展,以美光为例,其代表性产品包括在年发布的45nm1GbPCM、年推出的27nm16Gbconductivebridge(CBRAM,一种特殊的ReRAM)和Gb3DXPoint技术。基于该技术的最新产品则是美光推出的首款面向数据中心的存储和内存密集型应用的解决方案XSSD,它实现了每秒读写操作次数(IOP)万次,在读、写和读写混合模式下带宽超过9GB/s的性能。
根据ObjectiveAnalysis和CoughlinAssociates发表的最新年度报告《EmergingMemoriesRampUp》显示,预计到年,新兴内存市场可望创造亿美元的合并收入。其中,PCRAM由于价格低于DRAM,可望在年前成长至亿美元的市场规模。同时,独立型MRAM和STT-MRAM(自旋矩磁存储器)的收入将接近40亿美元,或超过年MRAM收入的倍。
基于浮栅器件/Flash
基于NORFlash构建存内计算芯片也是当前比较主流的做法之一。通过把乘数直接存入存储单元内,再把数值输入到闪存阵列之中,并对每个单元都进行乘法,最后通过一条路径求和,就可以达到存内计算的效果。从相关厂商公布的数据来看,基于NORFlash构建的存内计算芯片最高峰值运算效率能够达到40TOPS/W,平均值为10TOPS/W。
总体来说,基于SRAM架构是能够实现存内计算设计的,但其模拟特性、集成能力可能不太符合物联网终端的需求趋势。而非易失性存储器件,如NORFlash、ReRAM、PCRAM等既能够提供更多工具来增强近存储器计算,也是被存储业界普遍看好的下一阶段存内计算的建构模组,具有较强商业化潜力,是存内计算方案核心竞争力的体现。
从“新型介质”到“神经形态计算”
然而比起新型存储介质对存内计算未来的影响,存储本身与计算之间的融合,是更值得