本文由 【AI前线】原创,推荐阅读:t.cn/RHNgd73算法
做者|王小辉服务器
编辑|Emily网络
AI 前线导读:”不少年之后,当咱们回望 2017 年,会意识到对于移动互联网的发展来讲,这一年是一个重要的里程碑。芯片制造商、移动操做系统提供商、深度学习框架社区以及移动应用开发者都开始转向 On Device AI,同时,这个趋势一样惠及于 IoT 产业的 Edge 端设备。本文就从这几个方面来解读一下这个趋势。”架构
移动端 AI 现状——正在发生的移动平台的 AI 革命app
首先,为何咱们须要 On Device AI 能力呢?在 Edge 端设备上的 AI 能力能够带来这几个好处:框架
那么,Edge 端设备的硬件计算能力毕竟有限,可否支持 AI 模型的 Inference 呢?机器学习
芯片制造商ionic
2017 年 3 月 ARM 提出了面向 AI 的新架构 DynamlQ 技术。性能
“Cortex-A CPUs that are designed based on DynamIQ technology can carry out advanced compute capabilities in Machine Learning and Artificial Intelligence. Over the next three to five years, DynamIQ-based systems will deliver up to a 50x* boost in AI performance. This is achieved through an aggressive roadmap of future DynamIQ IP, integrated with new Arm architectural instructions, microarchitectural improvements, and further software optimizations to the Arm Compute Libraries.”学习
ARM 表示将来 3 到 5 年内实现比基于 Cortex-A73 的设备高 50 倍的人工智能性能,最多可将 CPU 和 SoC 上特定硬件加速器的反应速度提高 10 倍。
紧接着,ARM 在 4 月份开源了支持 Context-A 系列 CPU 和 Mali 系列 GPU 的 Compute Library,让机器学习和深度学习算法在 ARM 平台更高效地运行。
2017 年 8 月高通对外发布了支持 Caffe/Caffe2 和 TensorFlow 的 Neural Processing Engine SDK,让深度学习能够利用 GPU 和 DSP 的计算能力
实际上,在 2017 年 4 月,Facebook 发布了针对 Edge 端设备的深度学习框架 Caffe2,其主要做者贾扬清在 F8 大会上演讲时就提到:“Android 系统上的 GPU 也相似,咱们与高通合做开发了‘骁龙神经处理引擎’(SNPE),现在高通骁龙 SoC 芯片为大量的手机服务,如今是 Caffe2 的首要概念( first class concept),咱们能够利用这些 CPU 和 DSP,从本质上提高能效和性能。”
高通在 2017 年 12 月发布最新芯片骁龙 845 时提到:“In addition to the existing support for Google’s TensorFlow and Facebook’s Caffe/Caffe2 frameworks, the Snapdragon Neural Processing Engine (NPE) SDK now supports TensorFlow Lite and the new Open Neural Network Exchange (ONNX), making it easy for developers to use their framework of choice, including Caffe2, CNTK and MxNet. Snapdragon 845 also supports Google’s Android NN API.”
也就是说,SNPE 不但支持 Caffe、Caffe二、TensorFlow 和 Edge 设备端专用的 TensorFlow Lite 等深度学习框架,也支持由 Facebook 和微软发起的 ONNX(Open Neural Network Exchange),一个 Intermediate Representation,让 Caffe二、CNTK、PyTorch 以及 MXNet 这些框架能够实现模型互通,方便芯片厂商能够针对一个标准进行硬件级别优化。
2017 年 9 月,华为发布了麒麟 970,内置中科院寒武纪 -1A NPU,能够加速神经网络在手机端的运行。
在发布旗舰设备 Mate 10 以后,华为推出了 HiAI 移动计算平台业务,践行在麒麟 970 发布会上的承诺,打造一个开放式的 AI 生态系统,让开发者能够经过这个平台为华为 Mate 10 这样搭载了最新麒麟芯片的设备上提供具备 AI 能力的应用。
2017 年 9 月,Apple 在年度产品发布会上,发布了将会搭载在 iPhone 八、iPhone 8 Plus 和 iPhone X 上的 A 11 Bionic SoC,用于支持 iOS 系统机器学习和深度学习模型的框架 CoreML 和加强现实框架 ARKit,而且升级了图形处理芯片 Metal 2,用于加速深度学习模型的 Inference。
2017 年 11 月,Google 发布了 Android 8.1 Beta 最终版本,正式支持在今年发布的新款旗舰 Pixel 2 中搭载的 IPU(Image Processing Unit),用于加速图像处理和机器学习的 Inference:“Also, for Pixel 2 users, the Android 8.1 update on these devices enables Pixel Visual Core -- Google's first custom-designed co-processor for image processing and ML -- through a new developer option. Once enabled, apps using Android Camera API can capture HDR+ shots through Pixel Visual Core.”
移动操做系统提供商
2017 年 5 月,Google 在年度 I/O 大会上,宣布会推出 TensorFlow Lite,运行在下一代 Android 系统将会新增的 Neural Network API 之上,使得开发者能够将 TensorFlow 深度学习框架建立的模型移植到移动端运行。10 月 25 日,Google 发布了 Android 8.1 Beta 开发者预览版,正式推出了 NN API:
11 月 14 日,Google 发布的 TensorFlow Lite 已经支持 NN API 了,而 DNNLibrary 是一个 GitHub 上开源的库,支持运行经过 DNN Convert Tool 转换的 Caffe 模型。
2017 WWDC 上,Apple 发布了支持 Caffe、TensorFlow 等深度学习框架,以及 SVM、XGBoost 、 sklearn 等机器学习模型的 CoreML。12 月 5 日,Google 发布文章 Announcing Core ML support in TensorFlow Lite,宣布已经和 Apple 合做使得 CoreML 支持 TensorFlow Lite。
深度学习框架
2017 年 4 月,Facebook 宣布开源面向 Edge 端设备的深度学习框架 Caffe2,其主要做者 贾扬清在 F8 上说:“在移动端进行机器学习任务有如下好处:保护隐私,由于数据不会离开你的移动端;避免网络延迟和带宽问题;提高用户体验,好比优化 feed ranking 功能。因此咱们开始着手,从底层建造一个专门为移动端优化的机器学习框架。”
2017 年 9 月,百度发布了 Mobile Deep Learning library,腾讯早些时候也开源了相似的 ncnn 框架。
2017 年以来,Google 开源了专为移动端优化的 MobileNets 模型;Face++ 提出了适合移动端的 ShuffleNet 模型。OpenCV 3.3 内置了支持多种深度学习框架的 DNN。
应用开发者
从上面的内容能够看到,从芯片制造商到移动操做系统提供商,再到深度学习框架社区,都为 On Device AI 作了不少准备,并且,从 GitHub 和国内外的开发者博客上,咱们看到了很是多基于 CoreML、基于 TensorFlow 等深度学习框架的移动端应用案例,体现了开发者对这个趋势的极大热情。不管咱们是哪一个移动平台的开发者,都应该清晰认识到这个趋势,及时点亮本身的技能点,为用户提供更智能、更人性化的应用。
移动端 AI 的应用场景
AI 在智能手机上有哪些应用场景呢,对于不一样的开发者来讲,如何肯定自家的应用是否须要 AI ?若是须要,如何引入?
智能手机制造商(好比 Apple、华为等)和数以万计的应用开发者均可以在本身的 apps 中应用 AI 相关的技术,让自家的 apps 更好地服务用户的同时,提升竞争力和市场占有率。
本部分将从智能手机制造商和应用开发者这两种角色出发,分别进行讨论。
智能手机制造商
2017 年,最具备明星气质的两款配备 AI 能力的手机是 iPhone X 和 华为 Mate 10,这两款手机有如下共同点:
智能相机
智能语音助理
智能系统优化
应用开发者
对于智能手机制造商来讲,可以提供的系统应用毕竟是有限的,更多的用户需求须要应用开发者提供各自的解决方案。对于应用开发者来讲,其实也能够提供基础类应用,好比拍照应用、智能语音助理等,若是可以借助手机制造商提供的硬件计算能力,达到比系统自带的基础类应用更好的效果,也会获得用户的欢迎。好比 Google 的输入法在 iOS 平台就比较受欢迎,该应用采用了 Google 于上半年提出的 Federated Learning,可以在提供个性化能力的同时,在线优化输入法的预测模型,并在整个过程当中不上传用户的输入数据记录,保护了用户隐私。
除了基础类应用,下面这些应用场景对开发者来讲也很是值得考虑:
最后,咱们还须要强调的是,不管是智能手机制造商仍是应用开发者,都须要考虑对用户隐私的保护。当咱们能够在移动端高效运行机器学习以及深度学习模型时,有不少任务能够在移动端作,用户的数据无需上传到服务器进行处理,在保护隐私的同时,也减小了流量消耗和服务器成本。上面提到的 Google 推出的 Federated Learning 就是这样作的,Apple 也在本身的官方机器学习博客中介绍了本身的相似作法:Learning with Privacy at Scale。
关注后回复「AI」你懂的