面向分布式物联网的神经网络任务分配策略设计与实现外文翻译资料

 2022-03-29 22:26:12

英语原文共 36 页,剩余内容已隐藏,支付完成后下载完整资料


目录(整体论文框架)

前言

1.0--gt;介绍

2.0--gt;初步

2.1--gt;投机取巧的移动网络

2.2--gt;分布式编程模型

2.3--gt;深度神经网络中两种类型的层的属性

3.0--gt;MODNN的系统框架

3.1--gt;MODNN的概述

3.2--gt;网络的建立和设置

3.3--gt;术语和变量的定义

3.4--gt;连接和注册

3.5--gt;MODNN的数据流

3.5.1--gt;内存的权重

3.5.2--gt;灵活性

3.5.3--gt;工作节点的最佳位置

4.0--gt;CLS的输入分区

4.1--gt;传统的分区方案

4.2--gt;建议的一维分区

5.0--gt;稀疏的FLS的权重分区

5.1--gt;两种矩阵乘法的方式

5.2--gt;修改后的光谱Co-Clustering

5.2.1--gt;建议的分区方案

5.3--gt;精密跨分区

6.0--gt;模型处理器

7.0--gt;实验

7.1--gt;环境的设置以及测试平台的选择

7.2--gt;BODP的数据传输时间评估

7.3--gt;MSCC和FGCP的传输量大小评估

7.4--gt;MODNN的综合评价

8.0--gt;结论

参考书目

Introduction

近些年,人工智能引起了很大的关注并且被看作是下一个计算机科学和工程时代的开端。在所有的机器学习的方法中,神经网络占领了一个重要的地位,这是由于它具有统治性的优势,比如高精度性,自适应属性,一定范围的灵活性和数据驱动的属性。

神经网络是指一个由多个互连的处理神经元构成的计算系统,这些处理神经元可以处理外部的输入数据来得到它们的信息。通常,神经网络是由多层组成的,层是由很多互连的神经元组成。对于每个神经元,一个激活函数将被包含在非线性化中,这样神经元网络的输出就不必与外部输入严格线性相关。

不同于传统的计算算法,神经网络不是决定性的。所有的信息都包含在网络的激活状态中,以提取输入的深层特征并诱导输出。在计算平台中,一个神经网络包含两种数据:符号文件和参数文件。符号文件表示详细的层结构,并带有元数据,如神经元的数量、激活函数的类型和过滤器的大小。参数文件体现了神经网络的权重,它将当前层与前面的一层连接起来,其中权重的值量化了前一个神经元对当前神经元的影响。

随着需要解决的问题的数据集的复杂性不断增加,神经网络的规模变得前所未有的大,以达到目标功能(如图像网络)。那些大规模的神经网络叫做深度神经网络(DNN),深度神经网络在计算机上运行时既内存密集也计算密集,尤其是移动平台。因此,深度神经网络的受欢迎导致了许多面向于神经网络的硬件设计出现。在忆阻器的横梁上实现神经形态计算系统(NCS)。证明了使用电阻随机存取存储器(ReRAM)在内存中执行神经计算的承诺,并给出了用于在前向和向后过程中执行深度神经网络的专用硬件级架构。加速现场可编程门阵列(FPGA)在运行递归神经网络时(RNN)基于语言模型(RNNLM)。不断增长的移动网络的带宽促使了移动设备上多媒体交互式应用的快速成长,这些应用涉及到高密度的目标检测和分类任务。伴随着大规模的移动网络带宽的出现,移动设备上面新颖的交互式应用利用越来越多多媒体进程,提高了对于目标识别和分类的性能要求。

深度神经网络被广泛运用到执行这些任务,由于他们的高精确性和自适应属性。然而,深度神经网络的执行需要大量的资源。一个典型的例子是VGG,它展示了2014年ImageNet大规模视觉识别挑战中最先进的性能。VGG有15M个神经元,144M个参数,和3.4B处连接。当被使用在移动设备上时,VGG耗费将近16s去完成对一副图片的识别过程,这在实践中是不可忍受的。

深度神经网络的大型计算工作负载和计算资源有限的移动设备之间的差距很大,这不利于用户的体验,并激发了一些研究工作来填补差距。因此,为了填补这个差距,就做了一些研究工作。为了有效地对外部基础设施的巨大计算成本进行卸载,客户-服务器范式是最直接的解决方法,在参考文献[8]中,Hauswald在流水线机器学习中提出了一种数据卸载方案;

在参考文献[11]中,Li为深度神经网络训练创建了一个有效的分布式参数服务器框架。此外,还进行了许多研究来减少深度神经网络的计算工作量,比如模型的压缩。为了使DNN模型在移动设备上执行,也有人尝试在DNN的训练阶段进行模型压缩。在参考文献[7]中,Han用三个阶段的流水线对DNN模型进行了深入的压缩:修剪、训练量化和霍夫曼编码。在参考文献[2]中,Chen为了参数共享的目的,介绍了一种低成本的哈希函数去将权重分组到哈希表中。

我们注意到,有一个重要的场景尚未在所有以前的工作中得到充分的探讨,就是在本地分布式移动计算系统上运行DNN。与客户-服务器范式中外设只提供一个移动设备相比,本地分布式移动计算系统具有一些重要的优点,包括更多本地计算资源,更高的隐私性,对网络的带宽依赖更少等等。在以往的研究工作中,本地分布式移动计算系统的机会被忽略了,由于它在积累的资源中有巨大的潜力来识别一个有DNN模型的图像。此外,该系统还提供了额外的优势,最优隐私安全,基础设施更少的网络,没有DNN模型信息丢失,并且没有额外的训练阶段。

在这次的工作中,我们提出了MoDNN--一种针对DNN的本地分布式移动计算系统,它工作在无线本地局域网上(WLAN)。通过在多个移动设备之间引入执行并行性,MoDNN可以显著加速DNN的计算。由于在形成的计算集群中移动设备之间的非并行传输开销相当高,我们的研究特别关注于最小化计算集群移动设备之间非并行传输的开销。我们的贡献包括:

(1)我们研究了在WLAN中建立一个计算集群的方法,并使用多个经过授权的WIFI移动设备进行DNN计算。携带测试数据(如图像)的移动设备充当组所有者(GO),而其他设备充当工作节点。(2)我们提出了两种分区方案,去最小化移动设备之间数据的交付时间,基于两种DNN层的独特的特性(卷积层和全连通层)和各种移动计算能力。(3)我们在计算集群中的每个移动设备上使用一个中间件来调度整个执行过程,以我们所知,这是第一个在WLAN中使用异构移动设备作为DNN的计算资源的工作,它在执行并行增强和数据传输方面有一些创新。实验结果表明,当工作节点数从2增加到4时,MoDNN可以加速DNN的计算,达到2.17 ~ 4.28倍,这归功于实现的高执行并行性和显著减少的数据交付时间。

PRELIMINARY

2.1 机会性移动网络

WLAN受益于高传输带宽和健壮的协议,是为集群计算创建机会性移动网络的理想环境。伴随着日益发展的传输带宽和协议健壮性,WLAN为机会性的移动网络创建了一个最佳的环境,计算集群从中得益。机会移动网络的拓扑结构允许移动设备在一个WLAN下通信。

这种基于近似地通信特性也能在移动设备之间传输高数据传输带宽。在这次的工作中,我们采取了机会性移动网络作为我们的网络基础,并且使用了WIFI直连的方式实现了MoDNN,这允许了250Mbps的传输速度,且能量效率比手机网络更高。

2.2 分布式编程模型

MapReduce是在分布式系统中简化并行数据处理的编程模型。通过最大限度地利用计算集群中节点的计算资源,它的有效性已经在许多机器学习应用程序中得到验证。MapReduce有两个原语:Map和Reduce,Map过程将任务划分为可以并行执行的任务,而Reduce过程将从Map过程中的中间数据合并。在这个工作中,我们在我们的单一组拥有者和多个客户端这样的网络拓扑结构中,用这两个原语来描述DNN层之间的数据传输。

图1 DNNs中各层的平均计算时间和内存使用情况

2.3 DNN的两种层的属性

在DNN中,计算最密集和内存最密集的层分别是卷积层(CL)和全连通层(FL)。图1描述了我们在智能手机上运行三种受欢迎的DNN模型(Lenet,Inception-BN,VGG)所需的计算时间和内存使用量。虽然这三种模型有着非常不同的尺度,但是在三种测量方法中可以看到两个共有的属性:(1)卷积层占了主要的计算时间;(2)全连接层占用了用于存储DNN模型参数的超过87.1%的内存。因此,在本文中,我们将特别研究DNN的这两种层的分区方案。稀疏FLs是一种很有前途的技术,它可以有效地减少相关的计算成本。例如,VGG-16中FLs的连通性可以减少95.6%,而不损失任何精度。正如我们会在接下来的部分中所展示的,DNNs模型的稀疏性为MoDNN提供了一个很好的机会,通过优化稀疏FLs的网络权重分区以减少数据的交付时间。

3.0 MoDNN的系统框架

图2 MoDNN的系统概述

3.1 MoDNN概述

图2显示了MoDNN的概述,它包含三个主要的成分:(1)一个由GO和多个工作节点组成的本地分布式网络集群;(2)一个将DNN模型分给工作节点的模型处理器;(3)用于执行DNN数据传递和识别服务的中间件。

我们注意到,卷积层的计算成本主要取决于它的输入大小。因此,我们引入了一个有偏差的一维分区(BODP)方案来划分卷积层。相反,全连接层的内存使用主要取决于层中权重的数量。因此,针对稀疏全连接层,提出了一种由改进的光谱共聚(MSCC)和细粒交叉分区(FGCP)组成的权重划分方案。

值得注意的是,DNN模型分区只需要在DNN接受训练后在应用程序中执行一次。因此,只要训练的DNN保持不变,分区成本就可以分摊到系统的执行上。

3.2 网络建立和设置

在我们提出的系统拓扑结构中,采用了MapReduce的概念。在我们所建议的基于mapreduce的拓扑图中,每个工作节点都被映射到层输入的一部分,并且输出被还原到GO,在下面的map过程中生成新层的输入。

为了形成一个用于DNN执行的计算集群,GO允许它的WiFi模块作为一个AP,准备响应潜在的工作节点。与此同时,具有额外计算资源的可用工作节点在一个机会性的移动网络域中搜索GO。机会性移动网络是一种利用人类社会特征的移动自组网形式,如相似性、日常活动、移动模式和兴趣来执行消息路由和数据共享。

3.3 术语和变量的定义

我们定义了以下部分中引用的术语和变量:

Total Worker Nodes(k):计算集群中可用的全部的工作节点的数目。

Workload(W[i]):分配给节点i的工作负载。

Estimated Timed(ET[i]):估计节点i执行工作负载的时间(W[i])加上数据交付时间。

Computing Ability(CA[i]):结点i的标准性能,例如失败。

SpMV Time(SPT[i]n):结点i做稀疏矩阵向量乘法(SpMV)所需时间,其中矩阵表示为一个长度为n的链表。

GEMV Time(GET[i](r,c)):结点i执行一般矩阵向量乘法(GEMV)所需时间,矩阵表示为rtimes;c的数组。

Sparsity Threshold(Thld[i](r,c)):结点i稀疏矩阵的阈值,等效于使用SpMV和GEMV计算rtimes;c矩阵所需时间。

Data Delivery Time:数据传输时间表示节点间传输数据的总时间消耗。数据传输时间包含两部分:唤醒时间和传输时间。唤醒时间表示数据头部从发送方到接收方的时间,而传输时间表示接收方从接收数据的第一个字节到最后一个字节所需时间。

图3 在两个工作节点上使用优化的移动MapReduce处理MoDNN的流程

3.4 连接和注册

在我们的设计中,在获得用户的许可之后,移动设备将被GO永久信任,并在可到达的WIFI范围内自动连接到组。一旦连接,除了设备的IP地址,与性能相关的元数据也会为了后期的使用被发送到分区计划。元数据包括之前定义的变量和函数,如计算能力、稀疏阈值和矩阵乘法等。定义和生成稀疏矩阵乘法、一般矩阵乘法和阈值函数的动机将在后面详细讨论。

3.5 MoDNN的数据流

由于工作节点之间共享特征映射存在良好的数据亲和力,因此由于卷积层的小内核大小,需要进行相对较小的特征映射,在图3中的虚线轮廓中表示为立方体。

因此,我们在MapReduce的概念下引入了MoDNN作为分布式体系结构,并对底层处理流进行了一些重新设计的细节,以优化我们的DNN执行场景。图3给出了在分布式DNN执行过程中两个工作节点的优化数据处理流程。首先GO将输入的图像分区并且将它们分配给每个工作节点。然后,经过卷积运算之后,每个工作节点通过键值对把特性的共享部分返回。最后,GO把工作节点的输出聚集在一起然后将它们映射回工作节点,以让工作节点可以将它们所接收到的数据和它们本地输出的特征结合起来,作为下一层计算的输入映射。具体地说,优化主要包括:

3.5.1 内存的权重

在MoDNN中,考虑到响应时间和相对比较小的数据大小,中间数据不存储在本地磁盘上。相反,输出特性的重叠部分,也就是中间数据,会被马上从工作节点返还到GO,作为图3中显示的下一个map流程。DNN模型的每个权重都由一个特定的数字进行索引,这样就可以通过哈希来快速访问它。这种方案实际上是在系统健壮性的基础上权衡执行时间。但是,由于执行粒度比较小,整个系统可以从潜在的系统故障中快速恢复。

3.5.2 灵活性

分布式系统中的工作节点是动态变化的

全文共11131字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[14798],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。