模拟内存计算如何解决边缘AI推理的功耗挑战


机器学习和深度学习已经成为我们生活中不可或缺的一部分 。通过自然语言处理(NLP),图像分类和对象检测的人工智能(AI)应用程序已深深地嵌入到我们使用的许多设备中 。大多数AI应用程序都通过基于云的引擎提供服务,这些引擎可以很好地满足其用途,例如在Gmail中键入电子邮件响应时获取单词预测 。
尽管我们享受这些AI应用程序带来的好处,但这种方法带来了隐私,功耗,延迟和成本挑战 。如果存在一个本地处理引擎能够在数据本身的原始位置执行部分或全部计算(推断),则可以解决这些挑战 。对于传统的数字神经网络实现而言,这已经很难做到了,在传统的数字神经网络实现中,内存成为了耗电的瓶颈 。该问题可以通过多级存储器以及模拟内存计算方法来解决,该方法可以使处理引擎共同满足更低的毫瓦(mW)至微瓦(uW)功率要求,从而可以在以下条件下执行AI推理网络的边缘 。
【模拟内存计算如何解决边缘AI推理的功耗挑战】当AI应用程序通过基于云的引擎提供服务时,用户必须(有意或无意)将一些数据上传到云,计算引擎将在该云上处理数据,提供预测,并将预测发送到下游以供用户使用 。
为了使用本地处理引擎解决这些挑战,必须首先使用给定的数据集对将要执行推理操作的神经网络模型进行训练,以实现所需的用例 。通常,这需要大量的计算(和内存)资源以及浮点算术运算 。结果,机器学习解决方案的训练部分仍然需要在具有数据集的公共或私有云(或本地GPU,CPU,FPGA场)上完成,以生成最佳的神经网络模型 。一旦神经网络模型准备就绪,就可以使用小型计算引擎为本地硬件进一步优化模型,因为神经网络模型不需要反向传播进行推理操作 。推理引擎通常需要大量的乘积(MAC)引擎 。
大多数神经网络模型需要大量的MAC操作 。例如,即使是相对较小的“ 1.0 MobileNet-224”模型也具有420万个参数(权重),并且需要5.69亿个MAC操作来执行推理 。由于大多数模型都由MAC操作控制,因此这里的重点将放在机器学习计算的这一部分上,并探索创造更好解决方案的机会 。下面的图2说明了一个简单的,完全连接的两层网络 。

    推荐阅读