第一个手机端分布式深度学习系统,设计自动化顶会 DATE 最佳论文

简介:

DATE——Design, Automation and Test in Europe,是欧洲最大的设计自动化会议。DATE 汇集的人群从研究者、开放商到终端用户,几乎覆盖了整个生态。具体说,设计师和设计自动化的用户、研究人员和供应商,以及电子电路和系统的软硬设计、测试和制造的专家。此外,DATE 非常强调 IC/SoC,可重配置硬件,还有嵌入式系统。


2017 年的 DATE 本月 27 号在瑞士洛桑揭幕。在为期 5 天的会议中,除了常规的主旨演讲、论文发表、讲座和研讨会,还有一个商业展出,展示的内容包括最先进的设计和测试工具、方法、IP 以及设计服务,还有可重构和其他的硬件平台,比如汽车、无线、电信和多媒体应用。可以说,相比其他顶会,DATE 的内容可能与我们的生活关系更为密切。


每届顶会的论文都代表了领域“热门研究方向”、“最新研究方法”,其中尤属最佳论文值得关注。2017 年 DATE 评选出了 4 篇最佳论文,设计(D Track)、应用(A Track)、测试(T Track)和嵌入式软件(E Track)四个分类各一篇。其中,2017 年 DATE 嵌入式软件 E Track 的最佳论文奖被授予了杜克大学陈怡然教授组关于移动平台深度学习计算的文章——《MoDNN:用于深度神经网络的本地分布式移动计算系统》。


*投稿时陈怡然教授尚在匹兹堡大学,今年初已转到杜克大学工作


在这篇论文中,研究人员提出了一个可以通过无线局域网(WLAN)工作的深度神经网络(DNN)的本地分布式移动计算系统,叫做 MoDNN。MoDNN 可以通过在多个移动设备之间引入执行的并行性,显著加速 DNN 的计算。


DNN 的应用越来越广,不仅是在大型的数据中心,现在,有些智能手机的功能也强大到能运行某些深度学习,举几个常见的例子,过滤掉麦克风里的杂音,或者删除加速计采集的数据里不必要的信号。


深度学习可以大幅提升手机 App 的性能,让智能手机变得更加“智能”。这一切的基础,就是在移动端也能运行 DNN。


研究人员表示,“据们所知,本文是第一篇利用WLAN中的各种移动设备作为DNN计算资源的论文,在执行并行性增强和数据传输方面有多项创新”。


下面我们就来具体看一下陈怡然教授组的这项研究成果。



论文 MoDNN:用于深度神经网络的本地分布式移动计算系统



作者:毛驾臣、陈翔、Kent W. Nixon、Christopher Krieger,陈怡然


摘要


虽然深层神经网络(DNN)在许多应用中被广泛使用,但是通常难以在资源受限的设备(例如移动平台)上部署DNN。一些现有的尝试主要集中在客户端 - 服务器计算模式或DNN压缩模型中,这需要基础设施的支撑或专门的训练。本文提出了MoDNN——一个用于DNN应用的本地分布式移动计算系统。MoDNN 可以将已训练的DNN模型分割到多个移动设备上,减轻设备级计算成本和内存使用,从而加速DNN计算。我们还设计了两种模型分区方案以最小化非并行数据的传递时间,包括唤醒时间和传输时间。实验结果表明,当工作节点数从2增加到4时,MoDNN可以加速DNN计算2.17-4.28×。除了并行执行之外,性能加速也部分来自于数据传送时间的减少,例如对于传统2D网格分区,减少了30.02%。


背景介绍


移动网络日益增长的带宽激发了移动设备上多媒体交互式应用的快速增长,这涉及密集的对象识别和分类任务。深度神经网络(DNN)由于其高精度和自适应性而被广泛地用于执行这些任务。然而,DNN的运行会占用相当大的资源。一个代表性的例子是VGG,它代表了2014年 ImageNet 大规模视觉识别挑战(ILSVRC14)的最先进性能。VGG具有15M的神经元、144M的参数和3.4B的连接。当部署在移动设备时,VGG花费大约16秒来完成一个图像的识别过程,这在实践中是不可容忍的。


DNN的巨大计算负载和移动设备的有限计算资源之间的鸿沟对用户体验产生了不利影响,并催生了一些研究工作来填补这一鸿沟。例如,客户端 - 服务器模式是一种直接的解决方案,可以有效地将高计算成本卸载到外部基础设施上:Hauswald etal.(2014) 提出了一种流水线机器学习结构中的数据卸载方案; Li et al.(2014) 建立了DNN训练的高效分布式参数服务器框架。此外,也有许多研究致力于减少DNN的计算工作量,例如模型压缩:Han et al.(2015)使用三级流水线深度压缩DNN模型:剪枝,受训量化和霍夫曼编码;Chen et al(2015)引入了低成本哈希函数将权重分组到哈希桶中以用于参数共享。


我们发现,有一个重要的场景,在以前的研究中还没有充分考察。那就是,在本地分布式移动计算系统上运行DNN。与由外部基础设施支持单个移动设备的客户端 - 服务器模式相比,本地分布式移动计算系统有几个重要的优势,包括更多的本地计算资源、更高的隐私、对网络带宽更少的依赖等等。


这篇论文的主要贡献是:


  1. 调查了使用多个授权的、支持WiFi的、用于DNN计算的移动设备在WLAN中构建计算集群的方法。携带了测试数据(例如图像)的移动设备充当 Group Owner(GO),其他设备充当工作节点;

  2. 基于两类DNN层的特性(卷积层和完全连接层)和不同移动设备的计算能力,提出两种分区方案以最小化移动设备之间的数据传送时间;

  3. 在计算集群中的每个移动设备上使用中间件来调度整个执行过程。


据我们所知,本文是第一篇利用 WLAN 中的各种移动设备作为DNN计算资源的论文,在执行并行性增强和数据传输方面有多项创新”。实验结果表明,当工作节点数从2增加到4时,由于实现了高执行并行性,以及数据传输时间显著减少,MoDNN可以加速DNN计算2.17-4.28X。


MoDNN的系统框架


图1是MoDNN的系统框架概述,包括三个主要组件:


1)由GO和多个工作节点形成的本地分布式网络集群;

2)将DNN模型分割到工作节点上的模型处理器;

3)执行DNN的数据传递和识别服务的中间件。


图1


我们注意到卷积层(CL)的计算成本主要取决于其输入大小。因此,我们引入了Biased One-Dimensional Partition (BODP)的方案来划分CL。相反,完全连接层(FL)的内存使用主要由层中的权重数量决定。鉴于此,专门针对稀疏FL引入了由Modified Spectral Co-Clustering (MSCC)和Fine-Grain CrossPartition(FGCP)组成的权重分割方案。值得注意的是,一旦DNN被训练,DNN模型分区只需要在应用程序中执行一次。因此,只要训练的DNN保持相同,分区成本可以由系统的执行来分摊。


更多关于系统实现和实验设置的技术细节,请查阅论文。


结语


在这篇论文中,作者提出了 MoDNN 本地分布式移动计算系统,以实现 DNN 在移动平台上的并行计算。由于卷积层和完全连接层被认为是影响总体执行时间的主要DNN组件,因此作者提出了几种高级分区方案,即 BODP、MSCC 和 FGCP,以平衡每个工作节点的工作负载,最小化数据传送时间。实验表明,在DNN计算上,MoDNN 比线性性能加速表现更好,展现了DNN应用中移动平台的巨大潜力。


文章转自新智元公众号,原文链接

相关文章
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
130 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
2月前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
350 55
|
14天前
|
机器学习/深度学习 数据可视化 算法
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
157 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
|
3月前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品安全追溯系统的深度学习模型
使用Python实现智能食品安全追溯系统的深度学习模型
98 4
|
5天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
42 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
2月前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型的分布式训练
使用Python实现深度学习模型的分布式训练
194 73
|
6天前
|
Android开发
陪玩APP推送配置:陪玩系统手机锁屏收不到推送?可能是这些原因!解决方案来了!
陪玩系统手机锁屏收不到推送可能由推送服务配置不当、手机系统设置限制、网络不稳定或应用权限不足等原因导致。解决方案包括:确保推送服务正确配置,调整手机后台管理设置,保持网络连接稳定,授予应用必要权限。若问题持续,建议联系客服获取帮助。
|
1月前
|
机器学习/深度学习 监控 算法
基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
本项目基于YOLOv4深度学习网络,利用MATLAB 2022a实现排队人数统计的算法仿真。通过先进的计算机视觉技术,系统能自动、准确地检测和统计监控画面中的人数,适用于银行、车站等场景,优化资源分配和服务管理。核心程序包含多个回调函数,用于处理用户输入及界面交互,确保系统的高效运行。仿真结果无水印,操作步骤详见配套视频。
54 18
|
1月前
|
机器学习/深度学习 运维 监控
利用深度学习进行系统健康监控:智能运维的新纪元
利用深度学习进行系统健康监控:智能运维的新纪元
114 30
|
1月前
|
存储 运维 安全
盘古分布式存储系统的稳定性实践
本文介绍了阿里云飞天盘古分布式存储系统的稳定性实践。盘古作为阿里云的核心组件,支撑了阿里巴巴集团的众多业务,确保数据高可靠性、系统高可用性和安全生产运维是其关键目标。文章详细探讨了数据不丢不错、系统高可用性的实现方法,以及通过故障演练、自动化发布和健康检查等手段保障生产安全。总结指出,稳定性是一项系统工程,需要持续迭代演进,盘古经过十年以上的线上锤炼,积累了丰富的实践经验。