第一个手机端分布式深度学习系统,设计自动化顶会 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应用中移动平台的巨大潜力。


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

相关文章
|
13天前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
140 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
3月前
|
关系型数据库 分布式数据库 数据库
|
4月前
|
机器学习/深度学习 监控 算法
基于mediapipe深度学习的手势数字识别系统python源码
本内容涵盖手势识别算法的相关资料,包括:1. 算法运行效果预览(无水印完整程序);2. 软件版本与配置环境说明,提供Python运行环境安装步骤;3. 部分核心代码,完整版含中文注释及操作视频;4. 算法理论概述,详解Mediapipe框架在手势识别中的应用。Mediapipe采用模块化设计,包含Calculator Graph、Packet和Subgraph等核心组件,支持实时处理任务,广泛应用于虚拟现实、智能监控等领域。
|
1月前
|
机器学习/深度学习 数据采集 算法
基于mediapipe深度学习的运动人体姿态提取系统python源码
本内容介绍了基于Mediapipe的人体姿态提取算法。包含算法运行效果图、软件版本说明、核心代码及详细理论解析。Mediapipe通过预训练模型检测人体关键点,并利用部分亲和场(PAFs)构建姿态骨架,具有模块化架构,支持高效灵活的数据处理流程。
|
20天前
|
机器学习/深度学习 算法 vr&ar
【深度学习】基于最小误差法的胸片分割系统(Matlab代码实现)
【深度学习】基于最小误差法的胸片分割系统(Matlab代码实现)
|
3月前
|
机器学习/深度学习 存储 监控
基于深度学习YOLO框架的城市道路损伤检测与评估项目系统【附完整源码+数据集】
本项目基于深度学习的YOLO框架,成功实现了城市道路损伤的自动检测与评估。通过YOLOv8模型,我们能够高效地识别和分类路面裂缝、井盖移位、坑洼路面等常见的道路损伤类型。系统的核心优势在于其高效性和实时性,能够实时监控城市道路,自动标注损伤类型,并生成损伤评估报告。
173 0
基于深度学习YOLO框架的城市道路损伤检测与评估项目系统【附完整源码+数据集】
|
3月前
|
机器学习/深度学习 自动驾驶 算法
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
在智慧交通和智能驾驶日益普及的今天,准确识别复杂交通场景中的关键元素已成为自动驾驶系统的核心能力之一。传统的图像处理技术难以适应高动态、复杂天气、多目标密集的交通环境,而基于深度学习的目标检测算法,尤其是YOLO(You Only Look Once)系列,因其检测速度快、精度高、可部署性强等特点,在交通场景识别中占据了重要地位。
345 0
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
|
3月前
|
运维 Prometheus 监控
系统崩了怪运维?别闹了,你该问问有没有自动化!
系统崩了怪运维?别闹了,你该问问有没有自动化!
116 9
|
4月前
|
机器学习/深度学习 存储 PyTorch
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
本文通过使用 Kaggle 数据集训练情感分析模型的实例,详细演示了如何将 PyTorch 与 MLFlow 进行深度集成,实现完整的实验跟踪、模型记录和结果可复现性管理。文章将系统性地介绍训练代码的核心组件,展示指标和工件的记录方法,并提供 MLFlow UI 的详细界面截图。
155 2
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
|
8月前
|
机器学习/深度学习 数据可视化 算法
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
378 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络

热门文章

最新文章