MIT开发神经网络专用芯片:能耗降低95%,适合移动端设备

近日,MIT 研究人员开发了一种专用芯片,可以提高神经网络计算的速度,比之前的芯片速度提升三到七倍,同时将能耗降低 93% - 96%。这使得在智能手机本地运行神经网络,甚至在家用电器上嵌入神经网络变成可能。相关论文已投中 ISSCC。

人工智能系统近期的进展,如语音或人脸识别都受到神经网络的支持,简单信息处理器深度互联,通过分析大量训练数据来学习执行任务。

但是神经网络规模很大,计算能耗高,因此它们不适合用于手持设备。大部分依赖神经网络的智能手机 app 只是简单地将数据上传至网络服务器进行处理,然后服务器将处理结果返回至手机。

现在,MIT 研究人员开发了一种专用芯片,提高神经网络计算的速度,比之前的芯片速度提升三到七倍,同时将能耗降低 93% - 96%。这使得在智能手机本地运行神经网络,甚至在家用电器上嵌入神经网络变成可能。

「通用处理器模型中,芯片一部分是内存,另一部分是处理器,进行计算时必须把数据在二者之间来回传输。」该芯片开发项目的主导者、MIT 电子工程与计算机科学系研究生 Avishek Biswas 说道。

「由于这些机器学习算法需要大量计算,因此数据的来回传输占能耗的主要部分。但是这些算法执行的计算可以简化成一个特定的运算,即点积。我们的方法就是,在存储器内部实现点积运算,这样就无需将数据来回传输了。」

Biswas 和他的论文导师、MIT 工程学院院长、电子工程和计算机科学系 Vannevar Bush 教授 Anantha Chandrakasan 在本周 Biswas 投中 ISSCC 的论文中介绍了这一新型芯片。

回到模拟(analog)

神经网络通常有多个层。每层中单个处理节点通常接收来自下面一层多个节点的数据,并将数据传输至上面一层的多个节点。节点之间的每个联结都有自己的「权重」,表示该节点输出在下一个节点所执行的计算中的影响力大小。训练神经网络就是在调整这些权重。

从下面一层多个节点接收数据的每个节点将使每个输入乘对应连接的权重,然后再求和。该运算(对相乘结果求和)即是点积的定义。如果点积超过阈值,则该节点通过具备自身权重的连接将其传输至下一层的节点。

神经网络是抽象:「节点」是存储在计算机内存中的权重。计算点积通常需要从内存中获取权重,获取相关的数据项,将二者相乘,存储运算结果,然后对节点的每个输入重复该运算。鉴于神经网络具备成千上万甚至数百万个节点,因此需要计算大量数据。

但是这一系列运算只是大脑活动的数值逼近,大脑中信号沿着围绕「突触」的多个神经元游走。神经元的放电频率和突触之间的电化学信号对应数据值和权重。MIT 研究人员的新型芯片通过更准确地模仿大脑实现效率提升。

该芯片中,节点的输入值被转换成电压,然后乘适当的权重。对乘积求和就是把电压连接起来。只有连接起来的电压才会被转换回数值表示并存储,方便以后的处理。

该芯片可以计算多个节点的点积,原型中每一步每次可计算 16 个节点,而不需要每次计算都在处理器和存储器之间来回传输。

二值权重

该系统的关键在于所有的权重都是 1 或-1(1 比特,二值)。这意味着它们可以用其自身的内存作为简单开关(即关闭或打开一个电路)而实现。最近的理论研究表明训练只有两个权重值的神经网络,其准确率只有略微的降低,大约 1 到 2 个百分点。

Biswas 和 Chandrakasan 的研究证实了这个结论。在实验中,他们在传统计算机上运行了一个神经网络的完整实现,并在他们的芯片上运行了同等的二值权重神经网络。他们的芯片运行结果准确率只比传统网络降低了 2 到 3 个百分点。

「这是基于 SRAM 的内存模拟计算在深度学习应用中很有前景的实证证明,」IBM 人工智能副总裁 Dario Gil 说。「该实验结果展示了利用存储器阵列的卷积运算的高能效实现的规范。未来,它一定能为更复杂的卷积神经网络在图像和视频分类中的应用提供更多的可能性。」

原文链接:http://news.mit.edu/2018/chip-neural-networks-battery-powered-devices-0214

产业产业MIT神经网络芯片
返回顶部