文章|英特尔中国研究院人工智能热潮正在席卷各个行业,如何让各种设备智能化成为研究热点。
深度学习是最流行的机器学习类型,通常需要大量的计算,因此服务器搭配高性能显卡成为最常见的选择。
然而,这种类型的组合平台在功耗和尺寸方面有很大的限制,并且不能用于终端设备或物联网设备,例如监控摄像头、无人机等。
在这种情况下,更可行的方法是将数据发送到通过网络连接到云服务器,但这会消耗大量的网络流量和带宽,并且很难保证计算的实时性。
另一种方法是使用专用芯片或FPGA加速来实现性能和功耗的折衷。
但该方法开发门槛高、周期长。
在部署过程中需要设计定制电路板和供电系统。
针对以上问题,Intel给出了自己的解决方案——Intel Movidius Neuron计算棒!微型计算棒如何加速客户端计算?让我们走进Movidius神经元计算棒,了解它的基本结构、实用工具和编程方法,让大家更好地了解它在计算、开发和部署方面的特点。
Movidius神经网络加速芯片 Movidius神经网络加速芯片是整个技术的核心。
Movidius提供代号为Myraid的VPU(视频处理单元),目前正在推广Myraid2 MA2X5X系列。
其两款产品MA和MA的主要区别在于内存大小:前者有1G内存,后者有4G内存。
Myraid2提供约1T Flops的计算能力,平均功耗约1瓦。
Myraid2芯片结构如上图所示。
两个轻量级CPU运行实时系统RTOS,管理各种外设,并读取卷积神经网络模型。
该芯片的核心部件是矢量计算单元(SHAVE)。
这样的单位最多有 12 个。
参与计算的SHAVE数量将直接影响程序性能。
橙色方块是一些图像处理的特殊加速器,比如锐化、去噪、缩放等。
这些加速器在当前的开发工具中尚不可用,将在未来的版本中支持。
NeuronComgStickMovidius将为特定客户提供开发板,但对于普通用户来说,通用、简单的接口和套件往往更受欢迎。
英特尔Movidius推出了基于Myraid2芯片的Neuron计算棒,它将所有功能封装到一个U盘大小的设备中。
用户只需将计算棒插入USB 2.0以上接口(推荐USB 3.0)即可使用该机。
学习的力量。
Movidius 开发套件 SDK Movidius 开发套件可从以下位置免费下载。
开发包主要包含函数库、工具和开发实例三部分。
目前推荐的开发环境是Ubuntu 16.04,x86_64。
为了支持更多的物联网设备,还可以运行Raspberry Pi。
需要说明的是,Movidius?神经元计算棒主要用于深度学习模型推理,建议使用其他平台进行模型训练。
当用户考虑在神经元计算棒上使用经过训练的模型时,他们总是渴望了解其性能。
SDK中有一个非常有用的分析器工具,可以将用户的模型加载到Compute Stick中以进行快速性能验证。
。
运行bin目录下的mvNCProfile.pyc,输入模型作为参数,使用参数-s设置SHAVE次数。
SHAVE 越多,性能越好,最多 12 个。
上图是在 Myraid2 上使用 12 个 SHAVE 来验证 Alexnet 的性能。
该工具将给出模型中每一层的运行时间和内存消耗。
当使用12次SHAVE时,Alexnet运行一次需要89.06毫秒,而当使用1次SHAVE时,其运行时间为0.06毫秒。
目前,Movidus开发套件支持C和Python3编程。
SDK中有很多示例,比如常见的Alexnet、Googlenet、Squeezenet等,用户可以快速上手。
如果单个计算棒的性能不够,可以使用多个计算棒进行加速,以达到线性加速比。
应用场景 Movidius计算平台帮助开发者快速构建神经网络加速器,推动人工智能的应用。
它已应用于无人机、AR、机器人甚至可穿戴设备。
例如,大疆最新的无人机Spark使用Myraid2芯片来加速图像处理算法,谷歌的Clips也使用Movidius芯片来加速机器学习算法。
下一代MyraidX芯片将带来更强的计算能力和更低的能耗比,为用户带来更多选择。