智能边缘计算的兴起 在集中式和分布式之间摇摆

2019-10-23 14:31:35

导读

人工智能的蓬勃发展离不开云计算所带来的强大算力,然而随着物联网以及硬件的快速发展,边缘计算正受到越来越多的关注。未来,智能边缘计算将与智能云计算互为补充,创造一个崭新的智能新世界。本文中,微软亚洲研究院系统与网络研究组首席研究员刘云新将为大家介绍智能边缘计算的发展与最新研究方向。

01

智能边缘计算的兴起

近年来,“物联网”“云计算”等技术得到广泛应用,但是随着万物互联以及 5G 高带宽、低时延时代的到来,各类业务如车联网、工业控制、4K/8K、虚拟现实 / 增强现实(VR/AR)等所产生的数据量爆炸式增长,对计算设施带来了实时性、网络依赖性和安全性等方面的要求,为了解决这些问题,国内外学者们提出了边缘计算的概念。

边缘计算的“边缘”指的是在数据源与云端数据中心之间的任何计算及网络资源。例如,智能手机就是个人与云端的“边缘”,智能家居中的网关就是家庭设备与云端的“边缘”。边缘计算的基本原理就是在靠近数据源的地方进行计算,是在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力,就近提供边缘智能服务的开放平台。与云计算相比较,边缘计算就近布置,因而可以理解为云计算的下沉。

边缘计算实现了物联网技术前所未有的连接性、集中化和智能化,由此可以满足敏捷连接、实时业务、数据优化、应用智能、安全与隐私保护等方面的需求,是实现分布式自治、工业控制自动化的重要支撑。

边缘计算是计算系统从扁平到边缘,以及面向 5G 网络架构演进的必然技术,同时也提供了一种新的生态系统和价值链。第三方数据分析机构IDC 预测,到2020年,全球将有约500亿的智能设备接入互联网,其中主要涉及智能手机、可穿戴设备、个人交通工具等,其中 40% 的数据需要边缘计算服务。边缘计算有着强大市场潜力,也引起了各研究机构、标准组织、服务提供商和产业界极大的关注。

边缘计算(Edge Computing)在学术界和工业界都成为了一个热门话题。事实上,边缘计算是相对于云计算(Cloud Computing)而言的。在云计算中,所有的计算和存储资源都集中在云上,也就是数据中心(Datacenter)里;在终端设备上产生的数据通过网络传输到云上,计算任务和数据处理都在云上进行。而在边缘计算中,计算和存储资源被部署到边缘上(边缘服务器或者终端设备),可以就近对本地的数据进行处理,无需把数据传输到远端的云上,从而避免网络传输带来的延迟。

虽然边缘计算成为广受关注的热门话题的时间并不久,但边缘计算的概念并不新。早在2008年,微软研究院的 Victor Bahl 博士邀请了学术界和工业界的知名学者,包括卡内基·梅隆大学的 Mahadev Satyanarayanan 教授、AT&T 实验室的 Ramón Cáceres博士、兰卡斯特大学(Lancaster University, U.K.)的Nigel Davies教授、英特尔研究院(Intel Research)的 Roy Want 博士等,一起探讨云计算的未来时 [1],就提出了基于 Cloudlet 的边缘计算的概念;并于次年在 IEEE Pervasive Computing 期刊上发表了广为人知的名为 “The Case for VM-based Cloudlets in Mobile Computing”的文章 [2]。

此后,越来越多的研究人员开始关注边缘计算。值得一提的是,2016年,首届专注于边缘计算的学术会议 The First IEEE/ACM Symposium on Edge Computing 在美国华盛顿特区召开 [3]。目前,边缘计算已成为相关顶级学术会议(比如MobiCom)的重要专题之一。在工业界,2017年微软公司 CEO 萨提亚·纳德拉就将边缘计算和云计算并列成为全公司的战略之一。之后,各大云计算公司和运营商都纷纷推出了自己的边缘计算服务;边缘计算相关的创业公司更是不断涌现。

在人工智能时代,边缘计算不仅仅只是计算,更是智能+计算,我们称之为智能边缘计算(Intelligent Edge Computing)。

02

计算模式的轮回:

在集中式和分布式之间的摇摆

唯物辩证法指出,事物的发展总是曲折、循环往复,并在波浪中不断前进的。计算模式(Computing Paradigm)也不例外。如图1所示,如果我们回顾计算模式的发展历史,就会发现一个简单的规律:计算模式是在集中式计算和分布式计算之间不断摇摆,往复式发展前进的。

图1:计算模式的发展历史

在大型机(Mainframe)时代,计算资源稀缺,很多人共享一台主机,计算是集中式的;到了个人计算(Personal Computing)时代,硬件变得小型化,价格低廉,人们可以拥有自己的个人设备,计算成为了分布式的;在云计算时代,通过高速网络,人们可以共享云上的海量的计算和存储资源,计算模式又回到集中式的。此时,人工智能蓬勃发展,云上提供的众多智能服务带来了智能云计算。而随着边缘计算的出现,计算模式再一次成为分布式的。现在,我们不仅有智能云,还有智能边缘。

智能边缘计算的出现当然不仅仅是满足表面上的简单规律,背后有其必然性和强大的驱动力,是计算机软硬件和新应用新需求不断发展的必然结果。

首先,随着物联网特别是智能物联网(AIoT)的发展,各种新型智能设备不断涌现,产生了海量的数据。比如,监控摄像头已经无处不在(据统计,在伦敦每14个人就有一个监控摄像头 [4]),每天产生大量的视频数据。而每辆自动驾驶汽车每天更是会产生多达5TB的数据。把所有这些数据都传输到云上进行处理是今天的云和网络无法承受的。

其次,新的场景和应用需要对数据在本地进行处理。比如,自动驾驶和工业自动化对数据处理的实时性有很高的要求。数据传输带来的网络延迟往往无法满足实时性的要求,如果网络发生故障可能带来灾难性后果。再如,人们对个人隐私越来越关注,而很多数据(视频、图片、音频等)都包含大量的个人隐私。保护个人隐私的最好的方法就是在本地进行数据处理,不把个人数据传到网络上去。

另外,同样重要的是,硬件的快速发展使得智能边缘计算成为可能。随着 AI 算法的日益成熟,人们开始设计制造专用的 AI 芯片,特别是专门用于深度学习模型推理的 AI 芯片,这些 AI 芯片不仅数据处理能力强大,而且尺寸小、功耗低、价格便宜,可以应用到各种边缘设备上,为智能边缘计算提供了坚实的硬件基础。

需要指出的是,智能边缘计算并不是要取代云计算,而是和云计算互为补充,一起更好地为用户提供服务。云计算和边缘计算会不断融合;智能计算分布在不同的地方,但又相互连接,协同合作。

03

智能边缘计算中的关键问题研究

在微软亚洲研究院,我们致力于研究智能边缘计算中的关键问题,更好地将 AI 赋能于边缘设备(包括终端设备和边缘服务器)和应用,提高智能边缘计算的系统性能和用户体验。具体来说,目前我们主要关注以下几个研究方向:

针对不同设备的模型压缩和优化。高精度的深度学习模型通常都十分庞大,由数百万甚至以亿计的参数构成。运行这些模型需要耗费大量的计算和内存资源。虽然智能边缘设备的处理和存储能力大幅增长,但仍远远比不上云计算设备。因此,如何把深度学习模型在资源受限的边缘设备上运行起来是一个巨大的挑战。传统的模型压缩和优化(比如剪枝、量化等)主要关注的是在如何把模型变小的同时尽量少损失模型精度。然而,边缘设备的特点是类型多、差异性大,处理器类型性能和内存大小千差万别。我们认为,没有一个统一的模型能够适用于所有的边缘设备,而是应该结合硬件的特性,为不同的设备提供最适合的模型,不仅考虑模型大小和精度损失,更要考虑模型在设备上的执行性能,比如延迟和功耗等。

基于异构硬件资源的系统优化。即使有了一个可以运行的模型,如何提高模型的运行效率仍是一个值得深入研究的课题。我们需要一个高效的模型推理引擎,把系统性能提高到极致。这不仅需要软件层面的系统优化,更要有软件和硬件的协同设计,能够充分利用底层硬件的能力。边缘设备往往有着各种异构的硬件资源,比如智能手机拥有大小不同的 CPU 核(ARM big.Little)、DSP、GPU、甚至 NPU。而现有的系统往往只能利用其中一种计算资源(比如 CPU 或者 GPU),还不能充分发挥硬件的性能。我们的工作致力于研究如何充分利用同一设备上的异构硬件资源,深度优化系统性能,大大降低模型执行的延迟和能耗。

隐私保护和模型安全。如前所述,用户隐私数据保护是一个重要的课题。在边缘设备无法运行高精度模型的情况下(比如在低端的监控摄像头上),利用云计算或者边缘服务器来执行深度学习模型就不可避免。在这种情况下,我们就需要研究如何利用远程的计算资源的同时还能不泄露用户的隐私数据。另外,在边缘设备上运行模型还带来了一个新的问题——模型的安全。训练一个好的模型需要花费巨大的人力、物力。因此,模型是重要的数字资产。在云计算模式下,模型的存储和运行都在云上,终端用户无法直接接触模型数据。而在边缘计算中,模型是部署到本地设备上的,恶意用户可以破解终端系统,复制模型数据。所以,如何在智能边缘计算中保护模型的安全就是一个新的重要研究课题。

持续学习和合作学习。智能边缘计算还带来了新的改善模型的机会。目前的模型训练和模型使用通常是割裂的。一个模型在事先收集好的数据集上进行训练,然后被部署到设备上进行使用。然而,模型使用中的数据通常是和训练时的数据集不一样的。比如,每个智能摄像头由于其位置和光线的不同,它们看到的图像内容和特征都不尽相同,从而导致模型精度下降。我们认为,模型被部署到设备上以后,应该根据设备上的输入数据进行适配和优化,而且随着设备处理越来越多的新数据,它应该从中学习到新的知识,持续不断地提高它的模型,这就是持续学习(Continuous Learning)。此外,多个设备还应该把它们学习到的不同的新知识合并到起来,一起合作来改进完和善全局的模型,我们称之为合作学习(Collaborative Learning)。与主要关注如何利用多方数据集进行模型训练而不相互泄露数据的联邦学习(Federated Learning)不同,持续学习和合作学习的重点是如何在模型部署后从新获取的数据中学习新的知识。

此外,我们还关注智能边缘计算中的各种新场景和新应用,比如视频分析、VR/AR、自动驾驶、AIoT 等,特别是随着 5G 的到来,如何构建更好的智能边缘+智能云的系统,为这些场景和应用提供更好的支撑。

在过去两年,我们和国内外的高校紧密合作,在这些研究方向上取得了一系列的进展,也在相关学术会议上发表了多篇论文。其中,我们和北京大学和美国普渡大学关于如何利用缓存技术(Cache)提高卷积神经网络(CNN)执行效率的工作发表在 MobiCom 2018上 [5];和哈尔滨工业大学等学校合作的关于如何利用模型稀疏性(Sparsity)加速模型执行的工作发表在 FPGA 2019和 CVPR 2019上 [6] [7];和韩国 KAIST 等学校合作的关于如何利用 SGX 保护用户隐私的工作发表在 MobiCom 2019上 [8];和美国纽约大学和清华大学合作的关于合作学习的工作发表在 SEC 2019上 [9]。

04

世界发展现状与趋势

目前,边缘计算技术与应用仍处于发展初期阶段,亚马逊、谷歌和微软等云计算巨头是该领域的领跑者。

2017年,亚马逊携AWS Greengrass 进军边缘计算领域,走在了行业的前面。该服务将AWS扩展到设备上,这样就可以“在本地处理它们所生成的数据,同时仍然可以使用云来进行管理、分析数据和持久的存储”。

微软公司计划未来4年在物联网领域投入 50 亿美元,其中包括边缘计算项目。2017 微软发布了Azure IoT Edge 解决方案,该方案“将云分析扩展到边缘设备”,支持离线使用。该公司还希望聚焦于人工智能应用。

谷歌2017年以来已宣布了两款相关的新产品,即硬件芯片Edge TPU 和软件堆栈Cloud IoT Edge,意在帮助改善边缘联网设备的开发。谷歌表示,“Cloud IoT Edge 将谷歌云强大的数据处理和机器学习功能扩展到数十亿台边缘设备,比如机器人手臂、风力涡轮机和石油钻塔,这样它们就能够对来自其传感器的数据进行实时操作,并在本地进行结

果预测。”

国际上许多公司也在开发软件和技术帮助边缘计算实现腾飞。惠普公司计划在未来 4 年内向边缘计算领域投资40亿美元。该公司的 Edgeline Converged Edge Systems 系统的目标客户是那些希望获得数据中心级计算能力,且通常在边远地区运营的工业合作伙伴。其系统承诺在不依赖于将数据发送到云或数据中心的情况下,为工业运营(比如石油钻井平台、工厂或铜矿)提供来自联网设备的洞见。

人工智能芯片制造商英伟达于2017年推出了 Jetson TX2,这是一个面向边缘设备的人工智能计算平台。它的前身是 Jetson TX1,它号称要“重新定义将高级AI 从云端扩展到边缘的可能性”。

有关边缘计算的标准化工作也逐渐受到各大标准化组织的关注,主要国际标准化组织纷纷成立相关工作组,开展边缘计算标准化工作。2014年,欧洲电信标准化协会(ETSI)成立移动边缘计算标准化工作组;2015年,思科、ARM、戴尔、英特尔、微软、普林斯顿大学等机构联合发起成立开放雾计算联盟;2017 年 ISO/IECJTC1SC41 成立了边缘计算研究小组,以推动边缘计算标准化工作。2017年 IEC发布了VEI(Vertical Edge Intelli-gence)白皮书,介绍了边缘计算对于制造业等垂直行业的重要价值。2018年初,ITU-TSG20(国际电信联盟物联网和智慧城市研究组)成功立项首个物联网领域边缘计算项目“用于边缘计算的 IOT 需求”。

来源:沈向洋博士在2018微软人工智能大会上的演讲 [10]

05

我国发展现状与水平

2016年11月30日,我国边缘计算产业联盟(ECC,Edge Computing Consortium)在北京成立。该联盟由华为技术有限公司、中国科学院沈阳自动化研究所、中国信息通信研究院、英特尔公司、ARM和软通动力信息技术有限公司创始成立,首批成员单位共 62 家,涵盖科研院校、工业制造、能源电力等不同领域。2016年和2017年分别出版了国内的《边缘计算参考架构》1.0 和2.0版本,梳理了边缘计算的测试床,提出了边缘计算在工业制造、电力能源、智慧城市、交通等行业应用的解决方案。

边缘计算是 5G 的核心能力之一,是实现 5G 性能提升的关键。2017 年,中国通信标准化协会(CCSA)发起了边缘计算研究项目。CCSA 无线通信技术委员会(TC5)和工业互联网特设任务组(ST8)都分别立项了有关边缘计算的项目。在 CCSA ST8 中,重点讨论面向工业互联网的边缘计算和边缘云标准化内容。目前,ST8 任务组已经立项标准包括:《工业互联网边缘计算总体架构与要求》,《工业互联网边缘计算技术研究》《工业互联网边缘计算边缘节点模型与要求》,《工业互联网边缘计算需求》。

在 CCSA TC5 中,三大运营商分别在边缘计算领域立项,涉及边缘计算平台架构、场景需求、关键技术研究和总体技术要求。中国联通发起并主导的“5G 边缘计算平台能力开放技术研究”项目,将结合边缘计算平台架构以及移动网络能力,进行 5G 边缘计算能力开放的场景分析和方案研究,进一步标准化网络信息开放框架与内容。中国移动和中国电信也分别牵头立项《边缘计算总体技术要求》和《边缘计算关键技术研究》,内容涵盖了 5G MEC 的关键技术,包括:本地分流、业务缓存和加速、本地内容计费、智能化感知与分析、网络能力开放、移动性管理和业务连续性保障。

三大运营商在边缘计算方面已经展开广泛探索。其中,中国联通 2018 年 2 月宣布正式启动全国范围内 15 个省市的 Edge-Cloud 规模试点和数千个边缘数据中心的规划建设工作;中国移动在江苏、浙江等地通过核心网下沉网关分流至 CDN 边缘节点,并探索了一些商用场景;中国电信在 2018 年搭建了基于边缘计算的vCDN 概念验证解决方案环境,测试结果理想。

目前,运营商的边缘计算主要处于技术研究、实验室测试,以及相对简单场景的预商用阶段。英特尔和阿里云联合在重庆瑞方渝美压铸有限公司打造的工业边缘计算平台,采用了英特尔开发的深度学习算法和数据采集到协议转换的软件,以及阿里云开发的基于 Yocto 的操作系统(AliOS Things)、数据接入云端Link Edge。该平台可以运行在工业边缘计算节点本地,并将结果聚合并存储在边缘服务器上,再通过阿里云的 LinkEdge 实现数据上云。该平台采用的机器视觉解决方案在 0.695 秒的时间内,几乎可以实时地识别制造缺陷,检测精度约为 100%。

总体来说,我国的边缘计算研究还处于起步阶段。

06

边缘计算面临的挑战

目前,关于边缘计算的研究才刚刚起步,虽然已经取得了一定成果,但从实际应用来说,还存在很多问题需要研究,下面对其中的几个主要问题进行分析。

第一,多主体的资源管理。边缘计算资源分散在数据的传输路径上,被不同的主体所管理和控制,比如用户控制终端设备、网络运营商控制通信基站、网络基础设施提供商控制路由器、应用服务供应商控制边缘服务器与内容传输网络。而云计算中的资源都是集中式的管理,因此云计算的资源管理方式并不适用管理边缘计算分散的资源。而目前关于边缘计算的研究也主要集中在对单一主体资源的管理和控制,还未涉及多主体资源的管理,实现灵活的多主体资源管理是一个十分富有挑战性的问题。

第二,应用的移动管理。边缘计算依靠资源在地理上广泛分布的特点来支持应用的移动性,一个边缘计算节点只服务周围的用户,应用的移动就会造成服务节点的切换,而云计算对应用移动性的支持则是“服务器位置固定,数据通过网络传输到服务器”。所以,在边缘计算中应用的移动管理也是一种新模式,涉及到资源发现和资源切换等问题。

第三,虚拟化技术。为了方便资源的有效管理,边缘计算需要虚拟化技术的支持,为系统选择合适的虚拟化技术是边缘计算的一个研究热点。目前,新型的虚拟化技术层出不穷,如何打破虚拟机和容器的规则与界线,将两者充分融合,同时具备两者的优势,设计适应边缘计算特点的虚拟化技术,也是一大挑战。

第四,数据分析。数据分析的数据量越大,往往提取出的价值信息就越多。但是收集数据需要时间,价值信息往往也具有时效性。边缘计算使数据可以在汇集的过程中被处理与分析,很多数据如果被过早地分析,可能会丢失很多有价值的信息,所以如何权衡提取信息的价值量与时效性是一个关键性问题。

第五,编程模型。边缘计算资源动态、异构与分散的特性使应用程序的开发十分困难。为减少应用的开发难度,需要可以适应边缘计算资源的编程模型。

07

我国发展边缘计算技术的对策

据估算,2017—2026 年美国在边缘计算方面的支出将达到 870亿美元,欧洲则为 1850 亿美元。因此,为应对新的发展机遇,对我国发展边缘计算技术,建议采取以下对策。

第一,加强边缘计算的技术标准和规范建设。边缘计算涉及到海量的终端设备、边缘节点,是数据采集、数据汇聚、数据集成、数据处理的前端,而这些设备往往存在异构性,来自于不同的生产厂商、不同的数据接口、不同的数据结构、不同的传输协议、不同的底层平台等。为此,统一的技术规范和标准亟待达成一致。这些标准和规范的制定,也将大大节约边缘云等的建设成本。

第二,注重将边缘计算技术发展与新一代信息技术结合。应将边缘计算技术的研发和应用与“互联网 +”、云计算、大数据和新一代通信技术等研发计划发展协同起来。边缘计算是与云计算相生相伴的一种技术,并且与大数据、5G 通信和智能信息处理技术等高度联接。因此,我国在制定相关研发计划的时候,要将对边缘计算技术和应用的发展纳入进去,加快相关核心技术的研发,促进边缘计算技术成熟度的提升。

第三,加强边缘计算的开源生态建设。边缘计算本身由海量的终端设备构成,而众多智能终端如采用统一的开源操作系统,便可形成边缘计算的开源生态环境。利用开源生态来维持核心代码,形成业界认可的技术接口、关键功能、发展路径等,将会给各厂商提供均等的发展机会。

08

结论

边缘计算给基于人工智能的系统的开发者带来了下一个巨大的挑战。随着设计师增加更高层次的智能,需求将增长的解决方案,可以更快速和准确地响应不断变化的环境条件。寻找开发人员采用广泛的技术来满足这一新的需求。

关闭
精彩放送