作者丨王曲苑
学校丨西南大学博士生
研究方向丨人工智能
边缘计算和人工智能是当今业界和学术环境中都频频提到的两个词语,也是如日中天的两个方向。正如“I have a pen, I have an apple, ah, Apple pen"一样,边缘智能应运而生。诚如 Gartner 2018 技术曲线表现出来的那样,Edge AI 还处于绝对的爬坡阶段。但是在边缘智能中,我们更侧重于谁呢?到底是边缘借位智能,还是智能借位边缘?
相比于人工智能来说,边缘计算似乎稍微小众了些。在这里,先向大家简单介绍一下什么是边缘计算。边缘计算的概念是由云计算-移动云计算逐步衍生而来的,所谓边缘计算就是我们可以将手头需要处理的任务卸载到周边距离不太远的边缘云上寻求他人帮助, 以获得更好的用户体验(比如,处理延时更短、自身消耗能量更少等等)。
所谓边缘云,往宏观说可以是带有计算能力的任何可接入点,而一般来说我们认为能够作为边缘云的是资源相对富足、能力相对突出的附近设备(如,他人的手机、楼宇服务器等)。
为了弄清楚边缘计算和人工智能的“借位关系”,我们还是要从二者是如何结合起来来分析。通过阅读一系列边缘智能的学术论文, 作者以为目前学术环境下的边缘与智能结合主要是两个方面:
1. 将边缘计算的思想应用在人工智能领域,试图打造真正亲民的AI系统,让炼丹不再是孤独的 GPU 游戏;
2. 将人工智能方法应用在边缘计算领域,利用人工智能算法参与边缘计算调度、缓存、通信等过程,让边缘端更智能地计算;
总的来说,前者使得人工智能“落地”,后者使得边缘端智能。因此在本文中我们将主要以两篇学术文章为例,分别从以上两个角度去解析和探索当前边缘智能方向的发展。
边缘智能:端边结合的按需深度学习模型和协同推理
引言
论文链接:
https://arxiv.org/pdf/1806.07840v1.pdf
这篇文章是中山大学数据科学与计算机学院的陈旭教授团队发表的 Edge Intelligence: On-Demand Deep Learning Model Co Inference with Device-Edge Synergy,本文以深度神经网络(DNN)为例,主要描述了如何将学习模型部署在资源受限的边缘 端的两种方法:模型切分(DNN partitioning)和模型精简(DNN Right-Sizing)。
模型切分
作者给我们展示了在树莓派运行的每层运行时间和输出数据量,面对每层不同的运行时间和数据输出量,结合边缘计算思想,最直 观最暴力的想法就是把费时的计算密集型层通过网络卸载到计算能力稍大的服务器,以较少的通信开销换取边缘端的处理延迟。在图示这种情况下,作者以 lrn_2 作为切分点,将其之前的层卸载到边缘服务器,而其余层在设备端执行。
模型精简
虽然模型切分可以有效地减少整个模型的训练延迟,但是由于端设备的处理能力有限,模型切分后的模型训练延迟仍然取决于本地运行层的延迟。因此作者进一步提出了模型精简机制。
针对同一个深度神经网络,作者设计了多个训练退出点,分别对应不同的网络大小,根据具体应用的需求选择不同的退出点以减少计算负担从而减少总延迟。但是“早退”点的设计带来的可能是精确度的降低,所以这种方法是以可忍受的精确度降低换取总训练时延。
问题刻画
根据以上两方面的描述,作者认为可以根据不同应用需求,以按需索取的方式在延迟和准确性之间做均衡,因此,这篇文章主要解决的问题是:在给定延迟约束的情况下,如何联合优化模型切分与模型精简以最大化推断准确度。
框架
作者提出了一种名为 Edgent 的在满足时间约束下自动选择最优分割点和退出点以最大化推断准确度的端边按需协同推理框架。如图所示,该框架分为离线训练、在线优化和协同推理三个阶段。
离线训练
在离线训练阶段,该系统需要执行两个初始化:1)根据移动设备和边缘服务器特性对不同类型的 DNN 层(卷积、池化等)生成基于回归的性能预测模型;2)使用 Branchynet 训练具备多个退出点的 DNN 模型; 在对不同 DNN 层进行性能预测时,Edgent 以层为单位而不是以整个 DNN 网络为单位对每层产生延迟进行建模,作者观察到不同层所产生的延迟由各种独立变量确定,如表 1 所示。
除此之外,作者发现 DNN 模型大小对模型加载延迟也有一定的影响。基于以上输入,作者建立了回归模型来预测基于特征的不同层的延迟,如表 2 所示。
在线优化
在这一阶段 DNN 优化器在保证端对端延迟约束的情况下选择最优分割点和退出点以最大化准确性。在这一阶段,主要看重以下三个输入:1)上一阶段的预测模型和不同大小的 DNN 模型;2)边缘设备和服务器之间的可用带宽;3)预先设定的延迟要求。作者给出了联合优化模型分割和模型精简的算法,算法本质很简单,就是找到某一个点,使得总时间最小。算法见图。
协同推理
根据在线优化阶段得到的最优分割点和退出点对整个神经网络进行划分,并按规则执行。
实验
作者以一台普通的 4 核电脑作为边缘服务器,以树莓派作为边缘手机,作者探究了不同带宽限制和不同延迟要求下所提机制的不同结果。
作者还展示了在相对较差的网络条件下(400kbps),⼏种不同的推理模型在不同延迟约束下的性能表现。可见相比于其他模型,作者 提出的 Edgent 的包容性更高,在准确度上也有不错的表现,
结论
这篇文章就是将边缘计算思想用于人工智能的典型例子,通过对深度神经网络的层进行适当地划分和精简,使得在资源受限的边缘端也能完成一定的人工智能推理任务,同时还保证了较好的准确率和低延迟。
智能赋边:通过联邦学习赋能移动边缘计算、缓存和通信
引言
论文链接:
https://arxiv.org/pdf/1806.07840v1.pdf
这篇文章是天津大学计算机科学与技术学院的王晓飞教授团队发表的 In-Edge AI: Intelligentizing Mobile Edge Computing, Caching and Communication by Federated Learning,本文受当前深度学习技术驱动,为了给边缘带来更多智能,提出将深度强化学习技术和联邦学习框架与移动边缘系统相结合,以优化移动边缘计算、缓存和通信。
目前有许多学者针对边缘计算系统计算、缓存和通信等方面的优化问题展开研究,但是目前的研究面临以下三方面挑战:
1. 不确定输入。在以往的研究中,作者往往对某些关键变量、关键信息进行假设,然后作为系统输入给出,但是实际上其中许多变 量和信息由于无线信道的变化和隐私
政策等无法获取;
2. 动态变化。移动边缘计算的特性决定了网络拓扑、信道条件、用户位置等诸多因素很可能是动态变化的,这在以往的优化方法中很难解决。
3. 时间隔离。现有大多数优化算法仅仅考虑当前状态是最优或者近似优的,而不考虑当前决策对资源分配的长期影响。
总之,目前移动边缘计算系统资源配置优化中存在的主要问题是缺乏智能。
在这篇文章中,作者考虑了计算卸载和边缘缓存两种情况,利用深度强化学习技术来管理通信和计算资源。此外,引入用于分布式训练 DRL 智能体的联邦学习机制以达到以下四点目的:
1. 大幅度减少通过上行链路上传的数据量;
2. 动态认知响应移动通信环境和蜂窝网络状况;
3. 在实际网络拓扑中更好地适应异构用户设备;
4. 保护个人数据隐私。
利用深度强化学习优化边缘
作者利用深度强化学习技术作为认知计算的方法以构建智能化的移动边缘计算、缓存和通信系统。整个过程被分为三个主要部分: 信息收集、认知计算和请求处理。
1. 信息收集:感知和收集移动边缘系统中认知计算必不可少的观测数据,包括但不限于通信和计算资源的使用、无线环境的变化和用户设备的请求强度。
2. 认知计算:对大量观测数据进行认知计算并给出调度策略。
3. 请求处理:移动边缘系统基于认知计算给出的调度策略处理用户设备请求。
利用联邦学习赋能边缘
当我们选择用深度强化学习技术来优化边缘时会遇到一个棘手的问题:在哪里训练这些 DRL 智能体?倘若将 DRL 智能体全部放在本地训练,则会为本地设备带来巨大的能量消耗和延迟开销,若全部放在云端或边缘端训练,那么无疑增加了上行链路的负担,此外还要担心所传输数据的隐私安全。
因此我们自然想到
应用分布式深度强化学习技术来应对以上问题,但是当用户设备异构且网络环境动态变化时,这样的方法通常会降低 DRL 智能体的性能。作者引入了联邦学习来解决以下四个问题:
1. 用户非独立同分布。用户设备上的训练数据是根据其无线环境和自身计算能力、能量消耗等参数得到的。因此任何单独的训练数据都不能代表所有用户的训练数据。
2. 有限通信资源。用户常常无法预测什么时候离线或被分配⾄劣质信道。在联邦学习机制中,每一轮仅仅要求一部分用户上传更新。
3. 不平衡。一部分用户可能拥有更多需要处理的任务,经历更复杂的网络情况。
4. 隐私安全。联邦学习中需要上传的信息是所需的最小更新,并且可以利用差分隐私等技术避免在更新中出现敏感数据。
在基于联邦学习的深度强化学习训练过程中,为了训练一般的深度学习模型,联邦学习迭代地请求随机客户端(训练深度学习模型的分布式设备),从某个服务器上下载深度学习模型参数,在下载的模型上执行自身数据的训练过程,然后将新模型参数上传⾄服务器,汇总更新进一步完善模型。对于每个客户端而言可以从中央副武器下载模型,并在训练自身模型后向服务器更新权重。
总之,联邦学习使得用户设备和边缘节点学习共享模型,但是同时保持了训练数据的本地化。联邦学习虽不能优于集中式的训练模型,但也可以达到近似优的结果。
数据驱动的验证实验
作者利用了含有 9514 个移动用户、188447 个内容文件、2107100 条内容请求的真实数据集对所提框架进行了验证。实验证明,从效果上来说,所提出的基于联邦学习的方式很大程度逼近了集中式的效果,在传输开销方面,应用了联邦学习的机制也明显减少了传输开销。
结论
这篇文章是典型的将
人工智能中的技术用于解决边缘计算所面临的问题,使得边缘计算中的任务调度、资源分配和内容缓存等问题得到解决。
从以上两篇文章可以看出,关于边缘和智能的结合可谓是众说纷纭,大家从不同角度出发,目前仍处于“言之有理即可”的阶段。本文所提及的两篇文章都是提出了系统性的架构,并没有详细的理论推导。还有许多文章从纯理论技术的角度将人工智能算法应用到了边缘计算场景中,我们有机会后面再谈。