从服务器端到移动端的转折,On Device AI革命进行时

本文由 【AI前线】原创,推荐阅读:t.cn/RHNgd73

作者|王小辉

编辑|Emily

AI 前线导读:”很多年以后,当我们回望 2017 年,会意识到对于移动互联网的发展来说,这一年是一个重要的里程碑。芯片制造商、移动操作系统提供商、深度学习框架社区以及移动应用开发者都开始转向 On Device AI,同时,这个趋势同样惠及于 IoT 产业的 Edge 端设备。本文就从这几个方面来解读一下这个趋势。”


移动端 AI 现状——正在发生的移动平台的 AI 革命

首先,为什么我们需要 On Device AI 能力呢?在 Edge 端设备上的 AI 能力可以带来这几个好处:

  • 降低网络依赖,使得终端设备具备识别和决策的能力;
  • 降低服务器端带宽和计算成本,因为可以将计算前置到 Edge 端设备;
  • 降低延时,提高 AI 能力响应速度;
  • 降低用户的移动流量成本,因为不需要上传大量原始数据到服务器端处理。

那么,Edge 端设备的硬件计算能力毕竟有限,能否支持 AI 模型的 Inference 呢?


芯片制造商

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、Caffe2、TensorFlow 和 Edge 设备端专用的 TensorFlow Lite 等深度学习框架,也支持由 Facebook 和微软发起的 ONNX(Open Neural Network Exchange),一个 Intermediate Representation,让 Caffe2、CNTK、PyTorch 以及 MXNet 这些框架可以实现模型互通,方便芯片厂商可以针对一个标准进行硬件级别优化。

2017 年 9 月,华为发布了麒麟 970,内置中科院寒武纪 -1A NPU,可以加速神经网络在手机端的运行。

在发布旗舰设备 Mate 10 之后,华为推出了 HiAI 移动计算平台业务,践行在麒麟 970 发布会上的承诺,打造一个开放式的 AI 生态系统,让开发者可以通过这个平台为华为 Mate 10 这样搭载了最新麒麟芯片的设备上提供具有 AI 能力的应用。

2017 年 9 月,Apple 在年度产品发布会上,发布了将会搭载在 iPhone 8、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,这两款手机有以下共同点:

  • 搭载了专门针对 AI Inference 能力优化的硬件芯片。iPhone X 搭载了 A11 Bionic 芯片,可以加速神经网络模型运行,支持 Metal 2 的 GPU 计算能力,也可以用于深度学习模型的 Inference。
  • 为开发者提供了 Inference 加速能力的 API。Apple 在最新的 iOS 11 中提供了 CoreML,通过 coremltools 将常见的传统机器学习算法模型(比如 XGBoost、SKLearn)和主流深度学习框架训练得到的模型转化为自有格式 .mlmodel (一个整理 CoreML 格式模型的网站:coreml.store),之后该格式的模型可以打包在应用安装包里面,并在运行时加载进行 Inference;华为在 Mate 10 发布后推出了 HiAI 移动计算平台业务 ,进行之前发布有 NPU 的麒麟 970 芯片组时提到的 OpenAI 生态系统建设。
  • 在系统应用中应用了 AI 能力。iPhone X 的 Face ID 、动态表情包和 Siri 就用到了面部识别、语音识别以及 NLP 等相关 AI 能力;华为的智能相机应用、机器翻译和语音助手等也具备 Image Classification、Object Detection 等 AI 能力。
  • 如果大家之前对这两款机型有关注和了解,对这些应该不陌生。接下来,我们整理了对于智能手机制造商来说,移动端 AI 有那些应用场景。

智能相机

  • 实时识别正在被拍摄的对象和场景,进行摄像头拍摄参数的优化
  • 识别自拍或者人像拍摄,提供背景虚化。
  • 拍摄时放大画面,进行自动像素增强。
  • 人脸识别,结合专用摄像头阵列,提供 Face ID。
  • 实时翻译:自动实时将摄像头拍摄到的文字翻译为另一种语言。

智能语音助理

  • 语音识别:将语音转化为文字,这部分能力可以用于语音备忘录;如果再通过 NLP 处理,理解用户所说的话的意思,并结合上下文进行智能建议(推荐附近的餐厅、影院等)或者直接完成任务(设置定时器、订购机票以及拨打电话等)。
  • 自动翻译:实时将语音翻译为另一种语言。

智能系统优化

  • 基于用户的设备使用情况,智能管理设备的后台进程,减少耗电量,并且学习在合适的时候进行用户触达。
  • 基于传感器数据进行用户行为识别,结合位置数据,进行 life style profiling,让设备被更好地理解自己的使用者,变得越来越个性化和智能化。

应用开发者

对于智能手机制造商来说,能够提供的系统应用毕竟是有限的,更多的用户需求需要应用开发者提供各自的解决方案。对于应用开发者来说,其实也可以提供基础类应用,比如拍照应用、智能语音助理等,如果能够借助手机制造商提供的硬件计算能力,达到比系统自带的基础类应用更好的效果,也会得到用户的欢迎。比如 Google 的输入法在 iOS 平台就比较受欢迎,该应用采用了 Google 于上半年提出的 Federated Learning,能够在提供个性化能力的同时,在线优化输入法的预测模型,并在整个过程中不上传用户的输入数据记录,保护了用户隐私。

除了基础类应用,下面这些应用场景对开发者来说也非常值得考虑:

  • AR:Apple 的 ARKit 和 Google 的 ARCore 的推出意味着移动应用开发的新趋势出现,优秀的增强现实类应用将通过更好的用户体验和交互获得用户的肯定,而为了让自家的这类应用脱颖而出,开发者除了用好 AR 框架,还需要更好的理解现实场景的能力,比如风格迁移、物体检测等都有相应的适用场景。
  • 个性化内容推荐:基于用户的使用记录为用户推荐感兴趣的内容,提高用户粘性。

最后,我们还需要强调的是,无论是智能手机制造商还是应用开发者,都需要考虑对用户隐私的保护。当我们可以在移动端高效运行机器学习以及深度学习模型时,有很多任务可以在移动端做,用户的数据无需上传到服务器进行处理,在保护隐私的同时,也减少了流量消耗和服务器成本。上面提到的 Google 推出的 Federated Learning 就是这样做的,Apple 也在自己的官方机器学习博客中介绍了自己的类似做法:Learning with Privacy at Scale。

关注后回复「AI」你懂的


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值