AI芯片通过内存神经网络突破消除了冯·诺依曼构架瓶颈
冯·诺依曼体系结构一直是计算机体系结构的主要组成部分,不久后可能会发现自己在人工智能领域的用处不大。
自成立以来,计算机体系结构是一个高度动态的领域。
自1940年代以来,在该领域的所有变革和创新中,一个概念一直是不可或缺的:冯·诺依曼架构。近年来,随着人工智能的发展,构架设计人员开始打破常规,挑战冯·诺依曼的构架。
具体来说,两家公司已经合作创建了一个AI芯片,该芯片可以在硬件内存中执行神经网络计算。
冯·诺依曼构架
冯·诺依曼体系结构是由约翰·冯·诺依曼(John von Neumann)在其1945年的论文“ EDVAC报告的初稿 ”中首次提出的。简单地说,冯·诺依曼体系结构是将程序指令和数据一起存储在内存中以供以后使用的体系结构进行操作。
冯·诺依曼架构,图片由NC Lab提供。
冯·诺依曼体系结构中包含三个主要组件:CPU,内存和I / O接口。在这种体系结构中,CPU负责所有计算和控制信息流,内存用于存储数据和指令,而I / O接口则允许内存与外围设备进行通信。
对于一般的工程师来说,这个概念似乎很明显,但这是因为该概念已经变得如此普遍,以至于大多数人无法理解计算机是否可以正常工作。
在冯·诺依曼(von Neumann)提出构想之前,大多数机器会将内存分为程序内存和数据内存。这使计算机非常复杂,并限制了它们的性能。如今,大多数计算机在设计中都采用了冯·诺伊曼(von Neumann)架构概念。
冯·诺依曼架构的瓶颈
冯·诺依曼架构的主要缺点之一就是所谓的冯·诺依曼瓶颈。由于在这种体系结构中内存和CPU是分开的,因此系统的性能通常受到访问内存速度的限制。从历史上看,内存访问速度比实际处理速度要慢几个数量级,这在系统性能方面造成了瓶颈。
此外,由于互连寄生效应,数据的物理移动消耗大量能量。在给定的情况下,已经观察到,数据从内存的物理移动所消耗的能量最多是实际处理该数据的500倍。这种趋势只会随着芯片规模的扩大而恶化。
人工智能需要大量的电源和内存
冯·诺依曼瓶颈因其内存密集型特性而在人工智能应用上带来了一个特别具有挑战性的问题。神经网络的操作取决于大型矢量矩阵乘法以及诸如权重之类的大量数据的移动,所有这些数据都存储在内存中。
在云端运行的神经网络的案例,图片由 Salman Taherizadeh提供。
由于数据在内存中进出的移动所造成的功率和时序限制,使得像智能手机这样的小型计算设备几乎不可能运行神经网络。相反,必须通过基于云的引擎为数据提供服务,从而带来过多的隐私和延迟问题。
AI芯片的“突破”:内存中的NN处理
对许多人而言,对这一问题的反应是在设计AI芯片时放弃了冯·诺依曼架构。
最近,Imec和GLOBALFOUNDRIES展示了一种新的人工智能芯片的硬件演示,该演示否认了处理和内存存储必须完全独立的功能这一观念。
相反,他们采用的新架构称为内存模拟计算(AiMC)。顾名思义,计算是在内存中执行的,而无需将数据从内存传输到CPU。与数字芯片相反,此计算在模拟域中进行。
imec和GF AI芯片,图片(修改)由imec提供。
该加速器在SRAM单元中执行模拟计算,可以本地处理传感器的模式识别,否则传感器可能依赖于数据中心的机器学习。
边缘能源效率
这款新芯片声称已实现了高达2900 TOPS / W的惊人能源效率,据说“比数字加速器好十到一百倍”。
节省这么多的能量将使在边缘设备上运行神经网络更加可行。随之而来的是减轻了与云计算有关的隐私,安全性和延迟问题。
GF的300mm生产线目前正在德国德累斯顿开发这种新芯片,并有望在不久的将来进入市场。