当前位置:首页 >> 互联网 >>

如何让深度学习在手机应用上也能加速跑


光环大数据--大数据培训&人工智能培训 http://hadoop.aura-el.com 如何让深度学习在手机应用上也能加速跑_光环大数据培训

目前使用了深度学习技术的移动应用 通常都是直接依赖云服务器来完成 DNN 所有的计算操作,但这样做的缺点在于移动设备与云服务器之间的数据传输 带来的代价并不小(表现在系统延迟时间和移动设备的电量消耗) ;目前移动 设备对 DNN 通常都具备一定的计算能力, 尽管计算性能不如云服务器但避免了数 据传输的开销。

论文作者提出了一种基于模型网络层为粒度的切割方法, 将 DNN 需要的计算 量切分开并充分利用云服务器和移动设备的硬件资源进行延迟时间和电量消耗 这两方面的优化。 Neurosurgeon 很形象地描述了这种切割方法:向外科医生一 样对 DNN 模型进行切分处理。

对于所有使用深度学习技术来处理图像、视频、语音和文本数据的个人智能 助手而言,目前工业界通常的做法是,利用云服务器上强大的 GPU 集群资源来完 成应用程序的计算操作(以下简称为现有方法) 。

目前运行在移动设备上的个人智能助手(例如 Siri、Google Now 和 Cortana 等)也都是采用这种做法。尽管如此,我们还是会思考,能不能也对移动设备本 身的计算能力加以利用(而不是完全依靠云服务) ,同时确保应用程序的延迟时 间以及移动设备的电量消耗处于合理范围内。

目前的现状是, 智能应用程序的计算能力完全依赖于 Web 服务商所提供的高 端云服务器。

而 Neurosurgeon 打破了这种常规做法(即智能应用的计算能力完全依托于 云服务) !在这篇出色的论文中, 作者向我们展示了一种新思路:将应用程序所

光环大数据 http://hadoop.aura-el.com

光环大数据--大数据培训&人工智能培训 http://hadoop.aura-el.com 需的计算量“分割”开,并同时利用云服务和移动设备的硬件资源进行计算 。 下面是使用 Neurosurgeon 方法后所取得的结果,这将会使我们所有人受益:

系统延迟时间平均降低了 3.1 倍(最高降低了 40.7 倍) ,从而应用程序的响 应将更加迅速和灵敏。

移动设备的耗电量平均降低了 59.5% (最高降低了 94.7%) ; (也许你会质疑, 真的能够在移动设备上实施更多计算量的同时降低电量消耗吗?答案是十分肯 定的! )

云服务器上数据中心的吞吐量平均提高了 1.5 倍(最高能提高 6.7 倍) ,相 较于现有方法这是一个巨大的超越。

下面我们会先举个例子,来看看“对计算量进行分割”这件事情是多么的有 趣,之后会了解到 Neurosurgeon 是如何在不同的 DNN 模型中自动检测出“最佳 分割点”的,最后会展示相应的实验结果以证实 Neurosurgeon 所宣称的能力。

(值得一提的是, 目前主流的平台已经支持并实现了在移动设备上进行深度 学习方面的计算。 Apple 在 iOS10 系统中新增了深度学习相关的开发工具, Facebook 去年发布了 Caffe2Go 使得深度学习模型能够运行在移动设备上,而 Google 也在前不久发布了深度学习开发工具 TensorFlow Lite 以用于安卓系统。 )

▌ 数据传输并不是没有代价

最新的 SoC 芯片让人印象深刻。这篇论文使用了 NVIDIA 的 Jetson TK1 平台 (拥有 4 核心的 ARM 处理器和一个 Kepler GPU) (如下表 1) ,数十万个设备的组 合的计算量是惊人的。

光环大数据 http://hadoop.aura-el.com

光环大数据--大数据培训&人工智能培训 http://hadoop.aura-el.com 如果你对比一下服务器上的配置(如下表 2) ,你会发现移动设备的配置还 是远比不上服务器的。

接下来我们来分析一个常用于图片分类任务的 AlexNet 模型 (一个深层次的 CNN 网络模型) ,该模型的输入是一张大小为 152KB 的图片。首先对比一下模型 在两种环境下的运行情况: 在云服务器上实施全部的计算操作和在移动设备上实 施全部的计算操作。

如果我们仅仅看应用的延迟时间这一指标, (如下图 3)可以发现只要移动 设备拥有可用的 GPU, 在本地 GPU 上实施所有的计算操作能够带来最佳的体验 (延 迟时间最短) 。而使用云服务器进行全部的计算时,统计表明计算所消耗的时间 仅占全部时间的 6%,而剩余的 94%都消耗在数据传输上。

相较于现有方法,在 LTE 和 3G 网络条件下,使用移动设备自身的 GPU 进行 全部的计算能够取得更低的系统延迟时间;同时,在 LTE 和 Wi-Fi 网络条件下, 现有方法要比单纯仅用移动设备 CPU 进行全部的计算操作要更好 (系统延迟时间 更少) 。

下图 4 是不同网络条件下, 使用云服务器和手机 CPU/GPU 下的电量消耗情况:

如果移动设备连接的是 Wi-Fi 网络, 最低的电量损耗方案是发送相应的数据 到云服务器并让其进行全部的计算操作。但如果连接的是 3G 或 LTE 网络,如果 该移动设备有可用的 GPU,那么在本地 GPU 上实施全部的计算操作这一方案所导 致的电量消耗, 会比需要进行数据传输且在云服务器上实施全部的计算操作这一 方案更低。

尽管云服务器的计算能力要强于移动设备,但由于其需要进行数据的传输 (在有的网络环境下的所带来的系统延迟时间和电量消耗量并不小) ,所以从系

光环大数据 http://hadoop.aura-el.com

光环大数据--大数据培训&人工智能培训 http://hadoop.aura-el.com 统的角度,完全使用云服务器进行计算的方法并不一定是最优的。

▌ 各种网络层的数据传输和计算需求并不相同

那么,在所有计算都实施在云服务器或移动设备上这两种“相对极端”的方 法之间,是否存在某个最优切分点呢?换言之,在数据传输和实施计算两者之间 或许存在一种折中。下图是一张简单的草图,以方便理解接下来要做的事情。

一种直观的切分方法是基于 DNN 中网络层作为边界。以 AlexNet 为例,如果 我们能够计算出每一层的输出数据量和计算量, 将得到如下的统计图 (下图 5) :

从图 5 中可以看出,对于 AlexNet 模型较前的卷积层而言,数据输出量随着 层数增加而迅速递减。然而,计算量在模型的中后部分开始逐步递增,在全连接 层的计算量达到了最高的幅度。

接下来值得思考的是, 如果我们将 AlexNet 模型中的各个网络层分割开会发 生什么呢? (也就是说, 在移动设备上处理模型的前 n 层得到第 n 层的输出结果, 再将该输出结果传输至云服务器上进行之后的计算, 最后再将输出结果传输至移 动设备上。 )

下图 6 中你能看到 AlexNet 模型各层的延迟时间和电量消耗情况, 最佳的分 割点以星星符号表示。

以网络层为粒度的分割算法能够大大改善模型的延迟时间和电量消耗量。 对 于 AlexNet 模型,在移动设备 GPU 可用和 Wi-Fi 网络条件下,最佳的分割点处于 模型的中部。

以上只是针对 AlexNet 模型的分割方法。然而,这种分割方法是否同样适用

光环大数据 http://hadoop.aura-el.com

光环大数据--大数据培训&人工智能培训 http://hadoop.aura-el.com 于其他的用于处理图像、视频、语音和文本的 DNN 模型们?文章作者在多种 DNN 模型上做了相应的分析如下表 3:

对于应用于计算机视觉 (Computer Vision, CV) 领域的具有卷积层的模型, 通常最佳的分割点在模型的中部。 而对于通常只有全连接层和激活层的 ASR, POS, NER 和 CHK 网络模型 (主要应用在语音识别 (Automatic Speech Recognition, ASR) 和自然语言处理领域(Natural Language Process, NLP))而言,只能说有找到 最佳的分割点的可能。

在 DNN 模型上进行分割的最佳方法取决于模型中的拓扑层和结构层。CV 领 域的 DNN 模型有时在模型的中部进行分割是最好的,而对于 ASR 和 NLP 领域的 DNN 模型,在模型的开始部分或者结尾部分进行分割往往更好一点。可以看出, 最佳分割点随着模型的不同而变化着, 因此我们需要一种系统能够对模型进行自 动的分割并利用云服务器和设备 GPU 进行相应的计算操作。

▌Neurosurgeon 的工作原理

对于一个 DNN 模型,影响最佳的分割点位置的因素主要有两种:一种是静态 的因素,例如模型的结构;一种是动态的因素,例如网络层的可连接数量、云服 务器上数据中心的负载以及设备剩余可用的电量等。

由于以上动态因素的存在, 我们需要一种智能系统来自动地选择出 DNN 中的 最佳分割点, 以保证最终系统延迟时间和移动设备的电池消耗量达到最优的状态。 因此, 我们设计了出这样一种智能切分 DNN 模型的系统, 也就是 Neurosurgeon。

Neurosurgeon 由以下两个部分组成:一部分是在移动设备上一次性地创建 和部署用于预测性能(包括延迟时间和电量消耗量)的模型,另一部分是在服务 器上对各种网络层类型和参数(包括卷积层、池化层、全连接层、激活函数和正

光环大数据 http://hadoop.aura-el.com

光环大数据--大数据培训&人工智能培训 http://hadoop.aura-el.com 则化项)进行配置。前一部分与所用的具体 DNN 模型结构无关,预测模型主要是 根据 DNN 模型中网络层的数量和类型来预测延迟时间和电量消耗, 而不需要去执 行具体的 DNN 模型。

预测模型会存储在移动设备中, 之后会被用于预测 DNN 模型中各层的延迟时 间和电量消耗。

在 DNN 模型的运行时,Neurosurgeon 就能够动态地找到最佳的分割点。首 先,它会分析 DNN 模型中各网络层的类型和参数情况并执行之,然后利用预测模 型来预测各网络层在移动设备和云服务器上的延迟时间和电量消耗情况。 根据所 预测的结果,结合当前网络层自身及数据中心的负载情况,Neurosurgeon 选择 出最佳的分割点, 调整该分割点能够实现端到端延迟时间或者电量消耗的最优化。

▌Neurosurgeon 的实际应用

之前的表 3 展示了用于评测 Neurosurgeon 的 8 种 DNN 模型,另外,实验用 到的网络环境有 3 种 (Wi-Fi, LTE 和 3G 网络) 和 2 种移动设备硬件 (CPU 和 GPU) 。 在这些模型和配置下,Neurosurgeon 能够找到一种分割方法以加速应用的响应 时间至最优的 98.5%。

实验结果表明,相比于目前使用仅使用云服务器的方法,Neurosurgeon 能 够将应用的延迟时间平均降低了 3.1 倍(最高能达到 40.7 倍) 。

在电量消耗方面,相比于现有方法,Neurosurgeon 能够使得移动设备的电 量消耗量平均降低至 59.5%,最高能降低至 94.7%。

下图 14 展示了 Neurosurgeon 随着网络环境的变化(即 LTE 带宽变化)自适 应进行分割和优化的结果 (下图中的蓝色实线部分) , 可以看出比起现有方法 (下

光环大数据 http://hadoop.aura-el.com

光环大数据--大数据培训&人工智能培训 http://hadoop.aura-el.com 图中的红色虚线部分)能够大幅度地降低延迟时间。

Neurosurgeon 也会与云服务器保持周期性的通讯,以获得其数据中心的负 载情况。当服务器的数据中心负载较大时,它会减少往服务器上传输的数据量而 增加移动设备本地的计算量。总之,Neurosurgeon 能够根据服务器的负载情况 作出适当的调整已达到最低的系统延迟时间。

我们利用 BigHouse (一种服务器数据中心的仿真系统)来对比现有方法和 Neurosurgeon。 实验中将 query 数据均匀地分配到之前表 3 中 8 种 DNN 模型之上, 使用所测量的所有模型的平均响应时间,并结合 Google 网页搜索中 query 的分 布来得到 query 的完成率(query inter-arrival rate) 。

上图 16 表明,在移动设备使用 Wi-Fi 网络的条件下,Neurosurgeon 所带来 的 的 数 据 吞 吐 量 是 现 有 方 法 的 1.04 倍 。 而 随 着 连 接 网 络 质 量 的 变 差 , Neurosurgeon 会让移动设备承担更多的计算量,此时云服务器上数据中心的吞 吐量将增加: 较现有方法, 连接 LTE 网络的情况下数据中心的吞吐量增加至 1.43 倍,而 3G 网络条件下则增加至 2.36 倍。

为什么大家选择光环大数据!

大数据培训、 人工智能培训、 Python 培训、 大数据培训机构、 大数据培训班、 数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请大数据 领域具有多年经验的讲师,提高教学的整体质量与教学水准。讲师团及时掌握时 代的技术,将时新的技能融入教学中,让学生所学知识顺应时代所需。通过深入 浅出、通俗易懂的教学方式,指导学生较快的掌握技能知识,帮助莘莘学子实现

光环大数据 http://hadoop.aura-el.com

光环大数据--大数据培训&人工智能培训 http://hadoop.aura-el.com 就业梦想。

光环大数据启动了推进人工智能人才发展的“AI 智客计划” 。光环大数据专注国内 大数据和人工智能培训,将在人工智能和大数据领域深度合作。未来三年,光环大数据 将联合国内百所大学,通过“AI 智客计划” ,共同推动人工智能产业人才生态建设,培 养和认证 5-10 万名 AI 大数据领域的人才。

参加“AI 智客计划” ,享 2000 元助学金!

【报名方式、详情咨询】 光环大数据网站报名:http://hadoop.aura-el.com 手机报名链接:http:// hadoop.aura-el.com /mobile/

光环大数据 http://hadoop.aura-el.com


赞助商链接
相关文章:
更多相关标签: