什么是边缘计算?
边缘计算并非是一个新鲜词,无论是云还是边缘计算,本身只是实现物联网、智能制造等所需要计算技术的一种方法或者模式。本质上,只是相对于云计算而言,边缘计算是在接近于现场应用端提供的计算。
边缘计算优点更多体现在:
- 减少网络带宽:减少数据从传感器/设备端传向云端所占用的网络带宽;
- 降低延迟:降低由云端决策并在设备端执行反馈的延迟;
- 数据隐私:无需上传涉及用户隐私数据,直接在边缘端判断形成决策反馈;
- 应用可靠性:物联网设备工作环境有可能会比较恶劣,无法联网等情况也会时有发生,边缘端计算将有效降低对云端的依赖度。
接下来,我们以计算机视觉和AI在边缘端的应用场景为例,典型的应用场景为:智能机器人,安全摄像头,智能家居助手,这些应用场景涉及到的核心算法为:物体识别,物体分类,人脸识别以及自然语言处理等。
AI应用开发过程
通常人工智能应用的开发过程分为4步:
- 数据获取与预处理
- 深度学习/机器学习建模
- 训练并调整模型参数,以满足性能和精确度的平衡
- 部署训练好的模型
我们这里谈论边缘计算,主要体现在将训练好的模型部署在边缘端的设备上(并非利用边缘端来做深度学习训练)。
深度学习模型通常包含海量的参数,需要强大的计算力进行大规模的神经网络矩阵运算;但是终端和物联网设备往往更多考虑小体积和低功耗的要求,以至于很难兼顾满足高性能神经网络计算力和实时性要求。
将计算从云端迁移到边缘端,碰到的主要障碍为:
- 精确度
- 计算能力
- 模型效率
- 模型大小
讲到这里,我们可以开始谈谈Movidius这家公司了。Movidius是一家计算机视觉智能芯片公司,2016年9月份被英特尔收购,用以扩充英特尔在物联网视频/视觉领域的版图。
Movidius这家公司的核心技术,Intel Movidius Myriad 2 Vision Processing Unit (VPU),是一款超低功耗,为无人机,机器人,虚拟现实以及智能安全等领域提供高性能视觉智能解决方案的计算芯片。
- 超低功耗设计:Myriad 2拥有在低功耗下多个高级视觉算法实现,让视觉应用程序完全可以基于这种小型封装设备运行,适用于大量的物联网设备等芯片功耗及电池使用时间都极其敏感的应用场景。
- 高性能处理器:在边缘端为物联网设备提供人类视觉的计算能力,让计算机视觉应用可以运行在传统计算芯片无法胜任的功耗和温度要求及其苛刻的环境下。
- 可编程架构:集成该芯片的设备制造商,通过集成Myriad 2的高性能软件库,可以开发出不同的功能特点的应用程序。
- 小面积设计:芯片封装面积非常小,很容易集成到现有的移动设备,可穿戴设备和嵌入式设备中。
Movidius神经计算棒(2代)
英特尔®Movidius™神经计算棒是基于USB模式的深度学习推理工具和独立的人工智能(AI)协处理器,其内部核心是一颗Myriad 2处理器(28nm工艺),具有80~150 GFLOPS的性能,该处理器也被称为视觉处理单元 (或视觉加速器),功耗仅为1W左右(作为参考,树莓派3B在HDMI关闭,LED熄灭和WiFi开启时功耗大概在1.2W),因此完全可以通过USB供电,可以广泛的为边缘主机设备提供专用深度神经网络处理功能。外形小巧的MovidiusTM神经计算棒专为产品开发者、研究人员和创客设计,提供专用高性能深度神经网络处理性能,从而减少开发、调优和部署人工智能应用的障碍。
如何使用英特尔神经计算棒来做边缘推理
单来说,这个过程需要分为3个步骤:
- 模型训练(数据中心--云端),常用的深度学习框架:Caffe / TensorFlow / mxnet / 等等。
- 优化和编译(笔记本电脑+NCS),将模型在不怎么损失太多精度的情况下进行优化和格式转化,用以生成适合不同硬件二进制模型。
- 部署模型并用于实际场景的推理
从上图所述,有2点值得强调:
- 模型部署好后的推理,Intel有很多种方案,比如CPU / GPU / FPGA / VPU等解决方案,分别适用不同的应用场景;
- 上述工具和开发包,Intel也配套提供了软件包叫做OpenVINO,如果再将上述过程细化,如下图所示:
上述过程每个阶段都有相应的软件框架和工具来完成,为了让大家更熟悉上述过程怎么玩,Intel现在每年都会举办英特尔人工智能开发者大会,帮助大家熟悉并了解相关的工具集,以及相关的硬件产品和业内生态进展,最佳实践等。