模拟内存计算如何解决功耗挑战
扫描二维码
随时随地手机看文章
在这一进程中也有一些困难:
1.隐私和安全问题:对于始终在线的、感知的设备,人们担心个人数据在上传期间或在数据中心的存储期间被滥用。
2.不必要的功耗:如果每个数据位都被云计算占用,那么它就会消耗来自硬件、无线电、传输和云计算的能量。
3.小批量推理的延迟:如果数据来自边缘,则从基于云的系统获得响应可能需要一秒或更长的时间。对于人类的感官来说,任何超过100毫秒的延迟都是显而易见的。
4.数据经济:传感器无处不在,而且它们非常便宜;然而,他们产生了大量的数据。将所有数据上传到云端并进行处理似乎毫无经济可言。
通过使用本地处理引擎来解决这些挑战,执行推理操作的神经网络模型,首先要针对所需用例使用给定的数据集进行培训。通常,这需要高计算资源和浮点算术运算。因此,机器学习解决方案的训练部分仍然需要在公共或私有云(或本地GPU、CPU、FPGA场)上使用数据集完成,以生成最优的神经网络模型。一旦神经网络模型准备就绪,神经网络模型就不需要反向传播进行推理操作,因此该模型可以进一步针对具有小型计算引擎的本地硬件进行优化。一个推理引擎通常需要大量的多重累加(MAC)单元,然后是一个激活层,如整流线性单元(ReLU)、sigmoid或tanh,这取决于神经网络模型的复杂性和层之间的池化层。
大多数神经网络模型需要大量的MAC操作。例如,即使一个相对较小的“1.0 MobileNet-224”模型也有420万个参数(权重),需要5.69亿个MAC操作来执行推断。由于大多数模型由MAC操作主导,这里的重点将放在机器学习计算的这一部分,并探索创建更好的解决方案的机会。图2显示了简单的、完全连通的两层网络。