当前位置: 首页 > 科技赋能

专栏 -在 USB 闪存驱动器上运行深度神经网络?英特尔Movidius Neuron计算棒详解

时间:2024-05-22 18:15:21 科技赋能

文章|英特尔中国研究院人工智能热潮正在席卷各个行业,如何让各种设备智能化成为研究热点。

深度学习是最流行的机器学习类型,通常需要大量的计算,因此服务器搭配高性能显卡成为最常见的选择。

然而,这种类型的组合平台在功耗和尺寸方面有很大的限制,并且不能用于终端设备或物联网设备,例如监控摄像头、无人机等。

在这种情况下,更可行的方法是将数据发送到通过网络连接到云服务器,但这会消耗大量的网络流量和带宽,并且很难保证计算的实时性。

另一种方法是使用专用芯片或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芯片将带来更强的计算能力和更低的能耗比,为用户带来更多选择。