作者:李恩,周知,陈旭
摘要:作为直接推动机器学习蓬勃发展的关键核心技术, 深度学习已经迅速成为学术界与工业界关注的焦点。然而,由于深度学习模型的高精度需求往往会引发对计算资源的大量消耗,因此将一个深度学习模型部署到资源受限的移动设备面临着的巨大的挑战。本文介绍Edgent,一个基于边端协同的按需加速深度学习模型推理的优化框架, 通过深度学习模型分割与模型精简实现加速。实验表明其能在网络边缘端高效支撑深度学习应用。
关键词:边缘计算;边缘智能;深度学习
Abstract: As a key core technology that directly promotes the flourishingofmachine learning,deep learninghasquicklybecome thefocusofacademicandindustrialcircles. However,becausethe high-precisionrequirementsofdeeplearningmodelsoftenleadtoa large consumption of computing resources, deploying a deep learning model to resource-constrained mobile devices faces enormous challenges. This paper introduces Edgent, a device-edge synergy basedoptimizationframeworkforon-demanddeeplearning model inference, which is accelerated by both model segmentation and modelsimplification.Experimentsshowthatitcaneffectivelysupport deep learning applications at the network edge.
Key words: Edge Computing; Edge Intelligence; Deep Learning
1 引言与相关工作
作为支撑现代智能应用的关键核心技术,深度学习代表了当下最火热的机器学习技术,深受学术界与产业界的高度重视。由于深度学习模型的高准确率与高可靠性,深度学习技术已在计算机视觉、语音识别与自然语言处理领域取得了广泛的成功应用,相关产品正如雨后春笋般涌现。然后,由于深度学习模型推理需要消耗大量的计算资源,当前的大多数移动设备由于资源受限而无法以低延迟、低功耗、高精确率的方式支持深度学习应用。
为了应对深度学习模型对计算资源的巨大需求,当下通行的方式是将深度学习模型的训练与推理都部署在云端数据中心。在执行深度学习模型推理的时候,移动端设备将输入数据发送至云端数据中心,云端推理完成后将结果发回移动设备。然而,在这种基于云数据中心的推理方式下,大量的数据(如,图像和视频数据)通过高延迟、带宽波动的广域网传输到远端云数据中心,这造成了较大的端到端延迟以及移动设备较高的能量消耗。相比于面临性能与能耗瓶颈的基于云数据中心的深度学习模型部署方法,更好的方式则是结合新兴的边缘计算技术,充分运用从云端下沉到网络边缘(如基站、Wi-Fi接入点等)端的计算能力,从而在具有适当计算能力的边缘计算设备上实现低时延与低能耗的深度学习模型推理。
为此,本文介绍我们所提出的Edgent,一个基于边端协同的按需加速深度学习模型推理的优化框架[15]。为了满足新兴智能应用对低时延和高精度日益迫切的需求,Edgent采取以下两方面的优化策略:一是深度学习模型分割,基于边缘服务器与移动端设备间的可用带宽,自适应地划分移动设备与边缘服务器的深度学习模型计算量,以便在较小的传输延迟代价下将较多的计算卸载到边缘服务器,从而同时降低数据传输时延和模型计算延迟;二是深度学习模型精简,通过在适当的深度神经网络的中间层提前退出,以便进一步减小模型推理的计算时延。然而值得注意的是,虽然模型精简能够直接降低模型推断的计算量,但模型精简同样会降低模型推断的精确率(提前退出神经网络模型减少了输入对数据的处理,因而降低了精确率)。针对模型精简所引发的延迟与精确率之间的折衷关系,Edgent以按需的方式协同优化模型分割与模型精简,即对于一个具有明确时延需求的一个模型推理任务,Edgent在不违反其时延需求的前提下选择最佳的模型分割和模型精简策略来最大化其模型推理的准确率。
本文的研究与现有边缘智能方面的相关工作不同且互为补充,一方面,对于移动端设备的低时延与低功耗的深度学习模型推理,已有许多面向移动终端高效执行的深度学习模型压缩与深度学习架构优化的方法被提出[3~5、7、9],不同于这些工作,本文采取一种“向外扩展”(Scale-out)的方法来克服终端所面临的性能与能耗瓶颈。具体而言,本文通过模型分割这种优化策略来灵活融合边缘服务器的强计算力与终端设备计算本地性的异构优势,从而最大程度发挥边端融合在降低模型推理延迟方面的作用。另一方面,虽然此前已有相关文献提出模型分割方法[6]来加速深度学习模型推理过程,本文进一步提出模型精简这一优化策略,并将其与模型分割相结合进行协同优化,从而进一步加速深度学习模型推理过程。
2 研究背景与动机
目前,深度神经网络是支撑计算机视觉[12]、语音识别[10]和自然语言处理[14]等丰富多彩的智能应用的核心机器学习技术。如图1所示,计算机视觉应用程序中使用深度神经网络模型从输入图像中提取特征并将图像分类到某一预定类别。通常,深度神经网络能够被表示为一张有向图,有向图由一系列内部连接的网络层组成,每个网络层由一个个的神经元构成,输入数据经由深度神经网络模型网络层处理后得到输出的过程为模型推理。深度神经网络模型的网络层数目通常高达几十层,全局参数量更是达到百万级,因此深度神经网络模型推理属于计算密集型任务。
当前,针对运行在移动端设备的智能应用,实现深度神经网络模型推理的方法要么是在移动端设备上直接执行,要么将其加载至云数据中心或边缘服务器执行。但这两种方式都可能存在较差的性能(即端到端时延),难以很好地满足实时移动智能应用,如AR/VR、移动游戏和智能机器人[2]。图2展示了经典卷积神经网络AlexNet在不同带宽环境下基于边缘服务器方式执行的性能表现。不难发现,其性能取决于输入数据从移动设备传输到边缘服务器所花费的数据传输时间(取决于带宽),因此,基于服务器方式的深度学习模型推理方法的端到端延迟对可用带宽高度敏感。考虑到带宽资源在实际环境中的稀缺性(用户之间或应用之间的带宽竞争)以及移动设备计算资源的限制,直接在设备端运行和在边缘服务器运行的方式都很难以实时地支持许多新兴的具有严格时延要求的移动智能应用。
3 Edgent优化框架
针对深度学习模型应用部署的挑战,权衡模型推断速度与精度之间的折衷关系,我们定义如下研究问题:对于给定时延需求的深度学习任务,如何联合优化模型分割和模型精简这两个决策,从而使得在不违反时延需求的同时最大化深度学习模型的精确度。针对上述问题,我们提出了基于边缘与终端协同的深度学习模型运行时优化框架 Edgent[15]。如图3所示,Edgent的优化逻辑分为三个阶段:离线训练阶段,在线优化阶段以及协同推断阶段。
上述基于边缘服务器与终端设备协同的深度学习模型推断框架思路为:在离线阶段,我们训练好任务需求的分支网络,同时为分支网络中的不同神经网络层训练回归模型,以此估算神经网络层在边缘服务器与在终端设备上的运行时延;在在线优化阶段,回归模型将被用于寻找出符合任务时延需求的退出点以及模型切分点;在协同推断阶段,边缘服务器和终端设备将按照得出的方案运行深度学习模型。
离线训练阶段,Edgent需要执行两个初始化操作:
(1)分析边缘服务器与终端设备性能,针对不同类型的深度学习模型网络层,如卷积层,池化层等,生成基于回归模型的时延估算模型。在估算网络层的运行时延时,Edgent会对每层网络层进行建模而不是对整个深度学习模型进行建模,不同网络层的时延是由各自的自变量(如输入数据的大小、输出数据的大小)决定,基于每层的自变量,我们可以建立回归模型估算每层网络层的时延;(2)训练带有多个退出点的分支网络模型,从而实现模型精简,这里我们采用BranchyNet分支网络结构,在BranchyNet结构下,我们可以设计并训练出带有多个退出点的分支网络。图4展示了具有5个退出点的AlexNet模型,目前多退出点的深度神经网络模型由开源框架BranchyNet [14]支持。需要注意的是,性能分析取决于设备,而深度学习模型是取决于应用的,因此在给定设备的情况下即限定边缘服务器与终端设备,以上两个初始化操作在离线阶段只需要完成一次。
在线优化阶段,在这个阶段,主要工作是利用离线训练的回归模型在分支网络中找出符合时延需求的退出点以及模型分割点,因我们需要最大化给出方案的准确率,因此在线优化阶段中是通过迭代的方式,从最高准确率的分支开始,迭代寻找出符合需求的退出点和切分点。在这个过程中,Edgent实时测量当前移动终端与边缘服务器之间链路的网络带宽,以便于估算移动终端与边缘服务器间的数据传输时延。紧接着,Edgent沿着尺寸从大到小的网络分支(如图4中从右至左的5个网络分支),依次遍历每个网络分支上不同的分割点,并基于当前网络带宽和不同网络层计算时间估算所选网络分支与分割点对应的端到端延迟与模型精确度。在遍历完所有的分支网络与切分点后,Edgent输出满足时延需求的所有网络分支与切分点组合中具有最大精确度的一个组合。
协同推断阶段,根据上述在线优化阶段所输出的最优网络分支与切分点组合,边缘服务器与移动终端对深度学习模型进行协同推断。
4 性能评估
本文基于Tesla P100 GPU服务器对多分支深度学习模型进行训练,以台式电脑作为边缘服务器,以树莓派作为移动端设备,对框架有效性进行验证。实验设计包含:设定任务时延需求,通过限定边缘服务器与终端设备间的传输速率,记录在不同带宽下的退出点选择以及模型切分点选择;设定不同任务时延,记录在同一带宽下的退出点选择以及模型切分点选择;记录回归模型的有效性即是否能准确估算网络层计算时延;与其他深度学习推理方法进行性能比较。
图5记录了在不同带宽下框架的退出点与模型分割点的选择。从结果可以看出,由框架选择出来的退出点随着带宽的上升而增大,这意味着在高带宽下框架会选用具有更高精度的退出点,即选择出更高精度的模型。
图6记录了深度学习模型不同的推理方式在不同的时延需求下的性能比较。在非常低的时延需求(100ms)下,这四种方法都不能满足需求。随着时延需求的上升,在200ms到300ms之间,本文框架的深度学习模型推理要比其他方法更早地实现工作。
感兴趣的读者可以阅读我们发表在2018SIGCOMM MECOMM的学术论文[15], 以进一步了解详细的Edgent算法设计与性能评估实验。
5 总结
作为人工智能领域的当红炸子鸡,深度学习技术近年来得到了学术界与产业界的大力追捧。目前,深度学习技术已在计算机视觉、自然语言处理以及语音识别等领域大放异彩,相关产品正如雨后春笋般涌现。由于深度学习模型需要进行大量的计算,因此基于深度学习的智能通常只存在于具有强大计算能力的云计算数据中心。考虑到当下移动终端设备的高度普及,如何将深度学习模型高效地部署在资源受限的终端设备,从而使得智能更加贴近用户这一问题以及引起了学术界与工业界的高度关注。针对这一难题,本文提出了基于边端协同的按需加速深度学习模型推理的优化框架Edgent,通过协同优化模型分割和模型精简这两种不同的策略,Edgent能够在保障给定模型精确率的同时最小化模型推断的端到端延迟。通过编码实现了原型系统并将其部署在了由终端设备和边缘服务器组成的真实设备上进行真实实验,本文论证了Edgent能够在网络边缘端高效支撑计算机视觉这一典型深度学习应用。
工业互联网
产业智能官 AI-CPS
加入知识星球“产业智能研究院”:产业OT技术(工艺+精益+自动化+机器人)和新一代IT技术(云计算+大数据+物联网+区块链+人工智能)深度融合,在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的机器智能认知计算系统;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链。
版权声明:产业智能官(ID:AI-CPS)推荐的文章,除非确实无法确认,我们都会注明作者和来源,涉权烦请联系协商解决,联系、投稿邮箱:erp_vip@hotmail.com。