技术前沿

新芯片将神经网络的功耗降低95%

麻省理工学院的研究人员开发了一种专用芯片,将神经网络计算速度提高了3倍至7倍,同时将功耗降低了94%至95%。这可能使在智能手机上本地运行神经网络或将其嵌入家用电器中变得切实可行。

人工智能系统(如语音识别或人脸识别程序)的最新进展得益于神经网络,简单信息处理器的密集互连网格,通过分析大量训练数据来学习执行任务。

但是神经网络很大,而且他们的计算耗能很高,所以对于手持设备来说它们并不是很实用。大多数依靠神经网络的智能手机应用程序只需将数据上传到互联网服务器,然后处理该数据并将结果发送回手机。

现在,麻省理工学院的研究人员开发了一种专用芯片,将神经网络计算的速度提高了三倍至七倍,同时将功耗降低了94%至95%。这可能使在智能手机上本地运行神经网络或将其嵌入家用电器中变得切实可行。

“通用处理器模型是在芯片的某个部分有一个存储器,芯片的另一部分有一个处理器,当你进行这些计算时,你可以在它们之间来回移动数据,”Avishek Biswas说。 ,麻省理工学院电子工程和计算机科学研究生,领导新芯片的发展。

“由于这些机器学习算法需要如此多的计算,所以这种数据来回传输是能耗的主要部分。但这些算法所做的计算可以简化为一个特定的操作,称为点积。我们的方法是,我们是否可以在内存中实现这​​种点积产品功能,以便您不需要来回传输这些数据?“

Biswas和他的论文导师Anantha Chandrakasan是麻省理工学院工程学院院长,Vannevar Bush电气工程和计算机科学教授,在Biswas本周在国际固态电路会议上发表的论文中描述了这种新芯片。

回到模拟

神经网络通常排列成层。一个网络层中的单个处理节点通常会接收来自下面图层中几个节点的数据,并将数据传递给上述层中的多个节点。节点之间的每个连接都有其自己的“权重”,这表明一个节点的输出在下一个节点执行的计算中所扮演的角色有多大。培训网络是设置这些权重的问题。

从下面图层中的多个节点接收数据的节点会将每个输入乘以相应连接的权重并相加结果。该操作 - 乘法的总和 - 是点积的定义。如果点积超过某个阈值,则该节点将通过与其自身权重的连接将其传输到下一层中的节点。

神经网络是一种抽象:“节点”只是存储在计算机内存中的权重。计算点积通常涉及从内存中获取权重,获取关联的数据项,将两者相乘,在某处存储结果,然后对节点的每个输入重复该操作。鉴于一个神经网络将有数千甚至数百万个节点,这就是大量的数据。

但是,这一系列的操作仅仅是大脑中发生的事件的数字近似,其中沿着多个神经元行进的信号在“突触”处相遇,或者在多束神经元之间出现间隙。神经元的放电速率和穿过突触的电化学信号对应于数据值和权重。麻省理工学院研究人员的新芯片通过更加忠实地复制大脑来提高效率。

在芯片中,节点的输入值被转换为电压,然后乘以适当的权重。只有组合的电压被转换回数字表示并存储以供进一步处理。

因此芯片可以在一个步骤中计算多个节点的点积 - 一次16个,而不是在处理器和处理器之间穿梭记忆每一次计算

全部或全无

系统的关键之一是所有权重都是1或-1。这意味着它们可以作为简单的开关在存储器内实现,这些开关既可以关闭电路,也可以将其打开。最近的理论工作表明,只有两个权重训练的神经网络应该失去一点精度 - 大约在1%和2%之间。

Biswas和Chandrakasan的研究结果证明了这一点。在实验中,他们在传统计算机上运行神经网络,并在芯片上运行二进制重量等价物。他们的芯片结果一般在传统网络的2%到3%之内。

“这是一个用于深度学习应用的基于SRAM的内存模拟计算的有前景的实际演示,”IBM人工智能副总裁Dario Gil说。 “结果显示,使用存储器阵列进行卷积运算的高能效实施方案令人印象深刻。它肯定会为将来在物联网(物联网)中应用更复杂的卷积神经网络进行图像和视频分类开辟可能性。“

来源:麻省理工学院新闻办公室Larry Hardesty