欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种物联网场景下的DNN划分方法及装置独创技术23173字

一种物联网场景下的DNN划分方法及装置

2021-03-13 02:41:24

一种物联网场景下的DNN划分方法及装置

  技术领域

  本发明涉及信息处理技术领域,尤其涉及一种物联网场景下的DNN划分方法及装置。

  背景技术

  近些年深度学习已经成为计算机视觉识别,自然语言处理等信息领域的重要研究方法,深度学习也可作为大数据的强力分析工具。同时,随着物联网技术的发展,物联网终端设备急剧增长,物联网中的终端设备以流式方式捕获大量传输数据。在物联网场景中,如何从终端设备收集的数据中分析真实世界的物联网数据是一个开放的问题。深度学习是解决该问题的最有希望的方法之一。

  传统的深度学习处理方式是利用云计算,这种计算模式首先将数据从物联网终端传输到云端,然后利用云端资源对数据进行处理,并将处理后的结果返回终端设备。这种数据处理方式主要存在服务延迟高、可伸缩性差、隐私泄露风险高等缺陷。

  在工业物联网环境中,各种物联网终端会产生大量数据,云计算模式将数据传到云端进行进一步处理,但这种模式存在服务响应时间长,隐私泄露风险大等缺陷。与云计算相比,边缘智能在降低工业应用的延迟方面具有很大的潜力,但由于带宽的不可预测性,其服务响应时间可能仍无法满足工业物联网严格的制造要求。

  边缘计算作为物联网服务的另一项重要技术可针对云计算在物联网场景中的缺陷进行改善。在边缘计算中,计算能力有限的边缘网络提供靠近终端设备的计算资源,因此边缘计算可将部分深度学习任务卸载到靠近终端设备的边缘侧。对计算资源需求较少的深度学习任务,边缘计算可在边缘侧直接进行推理,进而解决了服务延迟高的问题。

  因此,如何有效减少服务响应时间,优化生产效率已经成为业界亟待解决的问题。

  发明内容

  本发明实施例提供一种物联网场景下的DNN划分方法及装置,用以解决上述背景技术中提出的技术问题,或至少部分解决上述背景技术中提出的技术问题。

  第一方面,本发明实施例提供一种物联网场景下的DNN划分方法,包括:

  根据物联网边缘服务器网络可用带宽信息和物联网边缘服务器计算资源信息确定DNN网络分层点信息;

  根据物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间确定DNN网络退出点信息;

  根据所述DNN网络分层点信息和DNN网络退出点信息进行DNN划分。

  更具体的,所述根据物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间确定DNN网络退出点信息的步骤,具体为:

  获取DDN模型预设退出点合集;

  计算DDN模型预设退出点合集中每个预设退出点的物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间,得到每个预设退出点的物联网服务响应时间;

  遍历所有预设退出点,将物联网服务响应时间小于或等于预设延迟门限的预设退出点作为DNN网络退出点。

  更具体的,所述计算DDN模型预设退出点合集中每个预设退出点的物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间的步骤,具体包括:

  获取每个预设退出点对应的DNN模型数据规模信息;

  将每个预设退出点对应的DNN模型数据规模信息输入预设回归模型,得到每个预设退出点的物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间。

  更具体的,在所述根据所述DNN网络分层点信息和DNN网络退出点信息进行DNN划分的步骤之后,所述方法还包括:

  获取深度学习任务集,确定每个深度学习任务集的DNN网络分层点信息和DNN网络退出点信息;

  若每个深度学习任务集的DNN网络分层点信息和DNN网络退出点信息能够在可用边缘服务器列表找到可部署的服务器,则进行深度学习任务部署。

  更具体的,所述确定每个深度学习任务集的DNN网络分层点信息和DNN网络退出点信息的步骤,具体包括:

  根据输入数据信息对深度学习任务集进行排序,将输入规模最小的深度学习任务作为初始深度学习任务;

  从初始深度学习任务按照排序顺序确定每个深度学习任务集的DNN网络分层点信息和DNN网络退出点信息。

  第二方面,本发明实施例提供一种物联网场景下的DNN划分装置,包括:

  分层模块,用于根据物联网边缘服务器网络可用带宽信息和物联网边缘服务器计算资源信息确定DNN网络分层点信息;

  计算模块,用于根据物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间确定DNN网络退出点信息;

  划分模块,用于根据所述DNN网络分层点信息和DNN网络退出点信息进行DNN划分。

  分层模块,用于根据物联网边缘服务器网络可用带宽信息和物联网边缘服务器计算资源信息确定DNN网络分层点信息;

  计算模块,用于根据物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间确定DNN网络退出点信息;

  划分模块,用于根据所述DNN网络分层点信息和DNN网络退出点信息进行DNN划分。

  所述计算模块具体用于:

  获取DDN模型预设退出点合集;

  计算DDN模型预设退出点合集中每个预设退出点的物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间,得到每个预设退出点的物联网服务响应时间;

  遍历所有预设退出点,将物联网服务响应时间小于或等于预设延迟门限的预设退出点作为DNN网络退出点。

  第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述物联网场景下的DNN划分方法的步骤。

  第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述物联网场景下的DNN划分方法的步骤。

  本发明实施例提供的一种物联网场景下的DNN划分方法及装置,通过在云端服务器上训练深度学习网络,在推理阶段,发明将深度学习网络分为两部分,一部分是靠近输入数据的较低层,而另一部分是靠近输出数据的较高层。本方案考虑将较低层部署在边缘服务器上,将较高层部署在云端,并通过网络可用带宽信息和计算资源信息选取DNN网络分层点,实现分层部署;同时根据边缘服务器服务响应时间和云端服务器服务响应时间确定DNN网络退出点,在减小服务延迟的同时减轻DNN模型的计算负担,从而有效提高服务响应时间,优化生产效率。

  附图说明

  为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1为本发明一实施例中所描述的物联网场景下的DNN划分方法流程示意图;

  图2为本发明一实施例所描述的物联网场景下的DNN划分装置结构示意图;

  图3为本发明一实施例所描述的电子设备结构示意图。

  具体实施方式

  为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  图1为本发明一实施例中所描述的物联网场景下的DNN划分方法流程示意图,如图1所示,包括:

  步骤S1,根据物联网边缘服务器网络可用带宽信息和物联网边缘服务器计算资源信息确定深层神经网络(Deep Neural Network;DNN)网络分层点信息;

  步骤S2,根据物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间确定DNN网络退出点信息;

  步骤S3,根据所述DNN网络分层点信息和DNN网络退出点信息进行DNN划分。

  具体的,本发明实施例中所描述的DNN网络分层点信息,是用于将DNN网络划分为靠近输入数据的较低层,和靠近输出数据的较高层,本发明实施例中将低层部署在边缘服务器上,将较高层部署在云端服务器中。

  本发明实施例中所描述的DNN网络退出点信息用于进一步提高服务响应,在该退出点时即退出计算。

  本发明实施例中所描述在获取网络分层的层数后,每一层均可以设置为候选分层点和候选退出点。

  DNN的每层网络均能够有效减小输入数据规模,靠近输出层的DNN层能减小更多的中间数据,但边缘服务器的计算能力有限,在边缘侧部署的深度学习业务数目越多,在边缘侧消耗的计算资源就越多,因此,在选取分层点时,要考虑网络可用带宽与计算资源消耗两个因素,因此遍历DNN的每层网络,即遍历所有候选分层点,确定符合网络可用带宽与计算资源消耗两个因素的候选分层点,作为DNN网络分层点信息。

  计算DDN模型预设退出点合集中每个预设退出点的物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间,得到每个预设退出点的物联网服务响应时间;

  遍历所有预设退出点,将物联网服务响应时间小于或等于预设延迟门限的预设退出点作为DNN网络退出点。

  根据所述DNN网络分层点信息和DNN网络退出点信息进行DNN划分。

  本发明实施例通过在云端服务器上训练深度学习网络,在推理阶段,发明将深度学习网络分为两部分,一部分是靠近输入数据的较低层,而另一部分是靠近输出数据的较高层。本方案考虑将较低层部署在边缘服务器上,将较高层部署在云端,并通过网络可用带宽信息和计算资源信息选取DNN网络分层点,实现分层部署;同时根据边缘服务器服务响应时间和云端服务器服务响应时间确定DNN网络退出点,在减小服务延迟的同时减轻DNN模型的计算负担,从而有效提高服务响应时间,优化生产效率。

  在上述实施例的基础上,所述根据物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间确定DNN网络退出点信息的步骤,具体为:

  获取DDN模型预设退出点合集;

  计算DDN模型预设退出点合集中每个预设退出点的物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间,得到每个预设退出点的物联网服务响应时间;

  遍历所有预设退出点,将物联网服务响应时间小于或等于预设延迟门限的预设退出点作为DNN网络退出点。

  具体的,本发明实施例中所描述的DDN模型预设退出点合集是指DNN网络中每一层都可以作为预设退出点。

  本发明实施例中所描述的预设延迟门限具体是指深度学习业务能容忍的最高延迟时延,其可以根据具体需要预先设定。

  Input:

  E:DNN模型中退出点的数目

  bij:边缘服务器ei上的深度学习任务tj分配的带宽

  trequirement:深度学习业务能容忍的最高延迟时延

  dataij:部署在边缘服务器ei上的深度学习任务tj单位时间输入数据规模大小

  rkj:任务tj的第k层缩减数据规模比率

  Output:

  DNN网络的退出点

  Procedure:

  for i=E,…1do

  选择第i个退出点

  for

  计算边缘侧服务响应时间tedge

  计算云端服务响应时间tcloud

  end for

  计算服务响应时间ttotal=tedge+tcloud+ttransfer

  if ttotal≤trequirement then

  return选定的退出点

  end if

  end for

  return NULL遍历所有的分区点和退出点无法均无法满足时延要求

  在上述实施例的基础上,所述计算DDN模型预设退出点合集中每个预设退出点的物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间的步骤,具体包括:

  获取每个预设退出点对应的DNN模型数据规模信息;

  将每个预设退出点对应的DNN模型数据规模信息输入预设回归模型,得到每个预设退出点的物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间。

  具体的,不同层的延迟由各种独立变量(如输入数据大小、输出数据大小)决定,此外,模型的加载时间对总运行时间亦有影响,因此本发明实施例将DNN模型的大小作为输入参数预测模型的加载时间,基于每层的上述输入,本发明实施例建立回归模型对每层的延迟进行估算。

  本发明实施例通过设置DNN网络退出点,在该退出点时即退出计算,进一步提高服务响应时间,优化效率。

  在上述实施例的基础上,在所述根据所述DNN网络分层点信息和DNN网络退出点信息进行DNN划分的步骤之后,所述方法还包括:

  获取深度学习任务集,确定每个深度学习任务集的DNN网络分层点信息和DNN网络退出点信息;

  若每个深度学习任务集的DNN网络分层点信息和DNN网络退出点信息能够在可用边缘服务器列表找到可部署的服务器,则进行深度学习任务部署。

  具体的,本发明实施例基于贪心策略设计了一种调度算法,该算法具体操作是:首先根据深度学习任务的输入规模对任务进行排序,并选择输入规模最小的深度学习任务作为第一个待部署的任务,调度算法接着遍历所有的边缘服务器,确定是否存在一个边缘服务器是否有足够的带宽或服务能力部署对应的任务。若存在多个边缘服务器满足要求,则将任务随机部署在其中一个边缘服务器上。若不存在可以部署任务的边缘服务器,则更改合适的分层点和退出点后重新对DNN进行调度。若遍历所有分层点仍无法将任务部署在边缘服务器上则调度算法判定认为该任务无法部署。

  具体的:Input:

  Num:待部署的深度学习任务数目

  T:待部署的深度学习任务的集合

  E:边缘服务器集合

  Exitj:已选定任务j的退出点

  Sj:已选定的DNN模型的分层点

  Output:

  每个深度学习任务的部署方案

  Procedure:

  根据输入数据的规模对深度学习任务进行排序

  for task=tmin,…do

  选择输入规模最小的任务tmin

  调用算法1对每个选定的任务确定合适的分层点和退出点

  for e=e1,…do

  寻找满足带宽和服务要求的边缘服务器

  if找到可部署的边缘服务器do:

  将任务随机部署在边缘服务器上

  end if

  if找不到可部署的边缘服务器do

  调用算法1重新确定合适的分层及退出点

  end if

  if遍历所有的k值仍找不到服务器do

  该任务无法部署在边缘服务器上

  end if

  end for

  end for

  输出部署方案。

  在上述实施例的基础上,本发明实施例中所描述的DNN划分方法可以具体用于应用在工厂的自动流水线上设置表面检查摄像机的场景的DNN,工厂生产的产品在流水线上流动,并依次接受检查。当产品到达检测位置,产品表面信息就会被一个资源有限的检测摄像头捕捉。对于一条连续生产的工厂流水线,每件产品只占用一段很短的检测时间,以提高生产效率。如果每件产品的延误时间比检验时预设的时间稍长,一条流水线的累计延长时间将会十分可观,并导致巨大利润损失。此外,与云服务器相比,资源有限的边缘侧难以在严格的时延要求下完成深度学习的全部推理任务,因此本发明实施例可以有效提高其响应时间,提高生产效率。

  图2为本发明一实施例所描述的物联网场景下的DNN划分装置结构示意图,如图2所示,包括:分层模块210、计算模块220和划分模块230;其中,分层模块210用于根据物联网边缘服务器网络可用带宽信息和物联网边缘服务器计算资源信息确定DNN网络分层点信息;其中,计算模块220用于根据物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间确定DNN网络退出点信息;其中,划分模块230用于根据所述DNN网络分层点信息和DNN网络退出点信息进行DNN划分。

  本发明实施例提供的装置是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。

  本发明实施例通过在云端服务器上训练深度学习网络,在推理阶段,发明将深度学习网络分为两部分,一部分是靠近输入数据的较低层,而另一部分是靠近输出数据的较高层。本方案考虑将较低层部署在边缘服务器上,将较高层部署在云端,并通过网络可用带宽信息和计算资源信息选取DNN网络分层点,实现分层部署;同时根据边缘服务器服务响应时间和云端服务器服务响应时间确定DNN网络退出点,在减小服务延迟的同时减轻DNN模型的计算负担,从而有效提高服务响应时间,优化生产效率。

  图3为本发明一实施例所描述的电子设备结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行如下方法:根据物联网边缘服务器网络可用带宽信息和物联网边缘服务器计算资源信息确定DNN网络分层点信息;根据物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间确定DNN网络退出点信息;根据所述DNN网络分层点信息和DNN网络退出点信息进行DNN划分。

  此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

  本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:根据物联网边缘服务器网络可用带宽信息和物联网边缘服务器计算资源信息确定DNN网络分层点信息;根据物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间确定DNN网络退出点信息;根据所述DNN网络分层点信息和DNN网络退出点信息进行DNN划分。

  本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储服务器指令,该计算机指令使计算机执行上述各实施例提供的方法,例如包括:根据物联网边缘服务器网络可用带宽信息和物联网边缘服务器计算资源信息确定DNN网络分层点信息;根据物联网边缘服务器服务响应时间和物联网云端服务器服务响应时间确定DNN网络退出点信息;根据所述DNN网络分层点信息和DNN网络退出点信息进行DNN划分。

  以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

  通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

  最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

《一种物联网场景下的DNN划分方法及装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)