前言

最近看到一个新的名词,"edge computing" 和 "fog computing",不知道是什么来的,于是来记录一下。

这篇文章大概会主要围绕着边缘计算来讲,对于雾计算而言,其更像是在IoT设备环境下的一种边缘计算。

正文

其实《什么是边缘计算?一文读尽秒懂》的导读说错了,边缘这个词语并不是在物联网的世界里才开始被赋予新的定义,特指在设备端附近。对于最早的计算机网络而言,边缘这个词语就已经被赋予了设备端,或者host的意思;在计算机网络中,可以分为中心网络和边缘网络,中心网络由各种大型中心路由器,或者DNS组成;边缘网络一般是城市、公司、学校、家庭这种不在互联网中心的对整个互联网中心影响不大的网络。

但是,我们的主体还是围绕这篇文章写,因为其结构真的很好,而且说的很明白。

1. “边缘计算”究竟是何方神圣

边缘计算出现的时间并不长,这一概念有许多人进行过概括,范围界定和阐述各有不同,甚至有些是重复和矛盾的,就作者个人而言,比较推崇OpenStack社区的定义概念:“边缘计算是为应用开发者和服务提供商在网络的边缘测提供云服务和IT环境服务;目标是在靠近数据输入或用户的地方提供计算、储存和网络带宽。”

通俗地说:边缘计算本质上是一种服务,就类似于云计算、大数据服务,但这种服务非吃靠近用户;之所以这么靠近,是为了让用户感觉到刷什么内容都特别快。

边缘计算着重要解决的问题,是传统云计算(或者说中央计算)模式下存在的高延迟、网络不稳定和低带宽问题。举一个现实的例子,几乎所有人都遇到过手机APP出现“无法访问错误”的情况,这样的一些错误就和网络状况、云服务器带宽限制有关系。由于资源条件的限制,云计算服务不可避免受到高延迟、和网络不稳定带来的影响,但是通过将部分或者全部处理程序迁移至靠近用户或者数据收集点,边缘计算能够大大减少在云中心模式站点下给应用程序所带来的影响。

边缘计算 和 雾计算同一时间出现,事实上这两个概念之间有重叠的地方。这两个词是从2011年开始出现,如今已经成为巨头的投资热点,先来看看世界上的科技巨头们选择的方向吧:

  • Arm、Cisco、Dell、Intel、Microsoft、普林斯顿大学共同投资创办的雾计算研究项目OpenFog
  • Orange(法国电信)与Inria(法国国立计算机及自动化研究院)共同主导的雾计算与大规模分布式云研究项目Discovery
  • 华为的“全面云化”战略,EC-IOT,2016年成立边缘计算产业联盟
  • Intel的“Cloud computing at the Edge”项目
  • NTT的“Edge Computing”项目,AT&T的“Cloud 2.0”项目
  • 亚马逊AWS发布的GreenGrass项目(边缘计算代号)
  • 微软Azure发IOT Edge项目,重点发展边缘计算项目
  • 谷歌发布的IOT Core项目
  • 阿里云发布的LinkEdge项目

从2016年到现在,巨头们已经在边缘计算的路上展开了激烈的角逐,赛道已经非常的拥挤。具体的概念图如下,它其实是云计算的延申,不过其更倾向于靠近用户设备,也就是边缘。

image.png

边缘计算起源于广域网内搭建虚拟网络的需求,运营商们需要一个简单的、类似于云计算的管理平台,于是微缩版的云计算管理平台开始进入了市场,从这一点来看,边缘计算其实是脱胎于云计算的。随着这一微型平台的不断演化,尤其是得益于虚拟化技术(指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率)的不断发展,人们发现这一平台有着管理成千上万边缘节点的能力,且能满足多样化的场景需求,经过不同厂商对这一平台的不断改良,并加入丰富的功能,使得边缘计算开始进入了发展的快车道。

2. 为什么需要边缘计算

云计算和边缘计算通常会被用来做比较,上文也提到,边缘计算其实脱胎于云计算,那么,既然有了云计算,为何还要有边缘计算?

大家都熟悉云计算,它有着许多的特点:有着庞大的计算能力,海量存储能力,通过不同的软件工具,可以构建多种应用,我们在使用的许多APP ,本质上都是依赖各种各样的云计算技术,比如视频直播平台,电子商务平台。边缘计算脱胎于云计算,靠近设备侧,具备快速反应能力,但不能应付大量计算及存储的场合。这两者之间的关系,可以用我们身体的神经系统来解释。

云计算能够处理大量信息,并可以存储短长期的数据,这一点非常类似于我们的大脑。大脑是中枢神经中最大和最复杂的结构,也是最高部位,是调节机体功能的器官,也是意识、精神、语言、学习、记忆和智能等高级神经活动的物质基础。人类大脑的灰质层,富含着数以亿计的神经细胞,构成了智能的基础。而具有灰质层的并不只有大脑,人类的脊髓也含有灰质层,并具有简单中枢神经系统,能够负责来自四肢和躯干的反射动作,及传送脑与外周之间的神经信息。我们在初中的生物中都学习到了膝跳反应,这就是脊髓反应能力的证据。边缘计算对于云计算,就好比脊髓对于大脑,边缘计算反应速度快,无需云计算支持,但低智能程度较低,不能够适应复杂信息的处理。(这一句说的很好!)

每个人都有受过伤的经历,无论是被刺到还是被烫到,我们的身体都能够快速反应。就以烫伤为例,我们的神经系统大概的流程图如下所示:

image.png

在脊髓发出指令的同时,还会向大脑传递痛感的信号,让人能感觉到痛。大家看看整个过程,这钟避开风险的行动是在产生意识之前,而且速度非常快,避免了你身体的伤害。经过了亿万年的演化,现在人类的身体机构已经非常完善了,既然结构这样设计一定有他的道理。大家看看这组数据:“就人类而言,在联结脊髓到肌肉的神经细胞中,外层覆盖有髓鞘质层、直径大的神经元的信号传递速度为每秒70-120米,与之相反的脑神经元的信号传递速度为每秒0.5-2米。其间差距实在太大。”如果我们让大脑来处理避开烫伤这样的决策,并产生动作,那么我们的手有可能都烧熟了,我们人还没有反应过来将手拿开,这是因为大脑就类似中心网络,有高延迟的属性,但是脊髓就类似边缘网络,靠近边缘设备手掌,延迟很低。所以,脊髓取代大脑做处某些快速的决策,完全是为了满足身体的某些特定功能,有不可替代的作用。如果认可存在即合理的解释,我们完全可以心安理得地接受:有云计算的时候,仍然需要边缘计算这一论断。当然 经过严密的逻辑分析,这个结论仍然成立。

未来物联网的发展会有两个趋势:海量连接及由此产生的海量数据。 具体连接和数据有多大? 根据Garter(全球最具权威的IT研究与顾问咨询公司,成立于1979年,总部设在美国康涅狄克州斯坦福)预测,2019年使用的联网物件将多达142亿个,到2021年总数将达到250亿个,它们会生成大量的数据。手机也是联网物件,每个月能够产生的流量大家自己能够估算出来,大体会在100G 的范围内。但是,物联网中的联网体,可不只有手机,比如说还有 飞机 和 风力发电机。

  1. 波音787为例,其每一个飞行来回可产生TB级的数据,美国每个月收集360万次飞行记录;监视所有飞机中的25000个引擎,每个引擎一天产生588GB的数据。这样一个级别的数据,如果都上传到云计算的服务器中,无论对于算力和带宽,都提出了苛刻的要求。
  2. 风力发电机装有测量风速、螺距、油温等多种传感器,每隔几毫秒测一次,用于检测叶片、变速箱、变频器等的磨损程度,一个具有500个风机的风场一年会产生2PB的数据。

如此PB 级别的数据,如果实时上传到云计算中心并产生决策,无论从算力和带宽的角度,都提出了苛刻的要求,更不要说由于延迟而产生的即时响应问题。面对这样的场景,边缘计算就体现出它的优势了,由于部署在设备侧附近,可以通过算法即时反馈决策,并可以过滤绝大部分的数据,有效降低云端的负荷,使得海量连接和海量数据处理成为可能。所以,边缘计算将作为云计算的补充,在未来共同存在于物联网的体系架构中。

总而言之,边缘计算具有以下的优点:

  1. 低延迟:计算能力部署在设备侧附近,设备请求实时响应
  2. 低带宽运行:将工作迁移至更接近于用户或是数据采集终端的能力能够降低站点带宽限制所带来的影响。尤其是当边缘节点服务减少了向中心网络发送大量数据处理的请求时
  3. 隐私保护:数据本地采集,本地分析,本地处理,有效减少了数据暴露在公共网络的机会,保护了数据隐私

3. “边缘计算”的应用场景

既然边缘计算是云计算的重要补充,那么边缘计算的应用场景又有哪些呢? 边缘计算模式的基础特性就是将计算能力更接近于用户,即站点分布范围广且边缘节点由广域网络连接。

  1. 供零售/金融/远程连接领域使用的“开箱即用云”:提供了一系列可定制边缘计算环境,这类边缘计算主要提供给企业使用,并服务于特定产业应用。它从根本上与分布式结构相结合来达到以下效果:降低硬件消耗,多站标准化部署,灵活更替部署在边缘侧的应用(不受硬件影响,同一应用在所有节点上一致运行),提升弱网络条件下的运行稳定性。如果联网的条件有限制,通过将联网方式设定为有限网络连接时,可以提供内容缓存或提供计算、存储服务以及网络服务,比如新零售边缘计算环境。
  2. 移动连接:在5G网络大规模普及前,移动网络仍保持着受限和不稳定的特性,因此移动/无线网络也可以看作是云边缘计算的常见环境要素。许多应用或多或少都依赖于移动网络,例如应用于远程修复的增强现实、远程医疗、采集公共设施(水力,煤气,电力,设施管理)数据的物联网设备、库存、供应链以及运输解决方案、智慧城市、智慧道路和远程安全保障应用。这些应用都受益于边缘计算就近端处理的能力。
  3. 通用用户驻地设备(uCPE):特点是网络连接有限,工作量较为稳定但需确保可用性高,同时,它也需要一种方法来支持跨上百至上千节点的数据应用混合安置,而拓展现有uCPE部署也将成为一项新要求。而这点非常适用于网络功能虚拟化(NFV Network Function Virtualization)应用,尤其当不同站点可能需要不同系列的服务链应用,或是区域内一系列不同的应用需要统一协作时。由于本地资源的利用以及必须满足在间断的网络连接下进行存储和进行数据处理,我们可需要支持网状或层次式的结构。自我修复以及与远程节点管理相结合的自我管理都是必须条件。
  4. 卫星通信(SATCOM):该场景以大量可用的终端设备分布于最偏远和恶劣的环境为特征。将这些分散的平台用于提供托管服务极为合理的,尤其是当考虑到极高的延时,有限的带宽以及跨卫星通讯的费用。具体事例可能包括船舶(从渔船到油轮),飞机,石油钻井,采矿作业或军事基础设施。

4. “边缘计算”的头号玩家

4.1 云计算巨头

边缘计算对云计算有一定冲击,但它与云计算也有很强的协同。国内外云服务商为了守住原本该有的市场空间,纷纷提前布局边缘计算避免被吞噬。物联网时代,更多的终端或传感器接入物联网,节点规模远远大于互联网,每个物联网节点都会产生大量的实时数据,这意味着云服务商要在边缘端布局计算,投入规模和时间周期都是巨大的挑战。当然,云服务商也不甘心被人来动自己的奶酪,国外有微软、亚马逊、谷歌,国内有阿里、华为还有百度都在积极部署边缘计算。

这些公司边缘计算技术路线虽然各不相同,但总体遵循一个规律:把边缘和云紧密结合,充分发挥边缘的低延迟,安全等特性同时,结合云的大数据分析能力。

最早发布自己的边缘计算技术的是亚马逊 AWS,框架是Greengrass,允许用户数据在本地流转,通过设计函数提取数据上传云端。

随着而来,微软推出了Azure IOT edge 。 微软在今年彻底瓦解了Windows 团队以后,投资50亿美元进军物联网市场,而主要领域则是边缘计算:微软在Build 2018开发者大会上正式宣布Azure IoT Edge开源,微软表示未来可以让开发者能够修改、调试Azure IoT Edge,同时拥有更多对于Edge 应用的控制。

2017年发布了全新的边缘计算服务Cloud IoT Core,协助企业连接及管理物联网装置,以及快速处理物联网装置所采集的数据。

阿里云在2018年 3月份推出了自己的边缘计算框架称为linkEdge,可被用于AI实践,在发布时已经有16家芯片公司、52家设备商、184款模组和网关支持阿里云物联网操作系统和边缘计算产品 。

2016年,华为发起了边缘计算产业联盟,到目前为止,已经有超过100家会员单位,其中不乏重量级的ARM,INTEL。华为自有EC-IOT平台 ,提供云管端边一体化的边缘计算开发模式。

百度在2018年伊始,百度云天工发布“智能边缘”,并开启邀请制测试。百度云天工将云端的数据管理与计算功能以软件的方式放在设备端上,将智能计算能力带向离数据源更近的地方,与云端计算良好协同,让设备变得更加智能。

4.2 传统设备巨头

由于IOT的迅速崛起,Intel开始发力边缘计算市场,推出了若干平台。 在边缘端,Intel能够提供不同规模的计算能力套件 ,或者叫做计算容器 。Intel的野心并不止于作为硬件平台商,他想要建立自己的生态,目前已经联合Wind River推出了便利操作的边缘计算系统。

Dell早在2016年就高调宣布进军物联网市场,而且作为Linux Foundation 基金会下的边缘计算项目发起人,其地位不容低估。Edgex Foundry,是linux 基金会下的开源项目,致力于发展出具备即插即用功能的边缘计算平台,Dell已经率先推出了基于Edgex foundry 的边缘网关,目前并未在中国发售。

思科在2017年年中将边缘计算实现与微软Azure云平台之间互联,确保为企业提供从边缘到云端的整体性服务。

ARM 平台目前有 CortexA, CortexR. CortexM, Mechine Learning , SecurCore几个平台,目前,大量的智能手机(ios, android),商业广告机,快递柜等,都是由ARM 支持。 由于边缘计算技术的兴起,特别是在设备侧的人脸识别, 语音识别能力兴起,ARM的高阶芯片开始面向市场,可以有利地支持AI的发展。

随着大量的视频监控IP化,视频监控类企业也日益成为IOT企业 。 监控设备具备物理采集的功能——图像,结合强大的边缘设备分析能力,可以提供人脸识别,交通监控等作用,成了智能城市的重要一环,主要以海康、大华为代表。

4.3 CDN巨头

CDN(即内容分发网络)的核心价值是将数字内容智能分发到离用户更近的节点,进而提升整体分发效率,降低网络延时、节省带宽资源,其与生俱来的边缘节点属性,低延时和低带宽,令其在边缘计算市场具备先发优势,CDN本身就是边缘计算的雏形。

Akamai作为全球CDN领头羊早在2003年就与IBM合作边缘计算,今年6月Akamai与IBM在其WebSphere上提供基于边缘Edge的服务。

网宿科技也已将边缘计算当成核心战略,2016年开始建设边缘计算网络,2017年逐步推出边缘计算微服务,并将逐步开放边缘IaaS和PaaS服务。

CloudFlare公司在2017年就推出了CloudFlare Workers,以微服务的形式开放边缘计算服务,支持用户在边缘端编程,这标志着它已经初步搭建好了边缘计算的平台。

Nuu:bit宣布可以与微软的Azure宇宙数据库进行整合,同时微软的Azure系统也可以把Nuu:bit的数据整合在平台上,这也是一个极大的突破。

Limelight在今年上半年在其CDN网络上推出了增强版的EdgePrism OS软件,允许用户在边缘端进行本地内容输入和交付。

4.4 运营商

在竞争激烈的市场中,为了获得高性能低延迟的服务,移动运营商纷纷开始部署移动边缘计算(MEC)。

中国移动已在10省20多个地市现网开展多种MEC应用试点。2018年1月,中国移动浙江公司宣布联合华为公司率先布局MEC技术,进一步推动网络实现超低时延、更佳体验,打造未来人工智能网络。

中国电信与CDN企业合作,想要通过MEC边缘CDN的部署,作为现有集中CDN的延展,同时为多网络用户服务。

AT&T表示边缘计算是支持新技术的关键部分,包括物联网、软件定义网络、区块链、人工智能和5G。AT&T正在AR/VR型应用、自动驾驶和智能城市项目的支持方面使用边缘计算。

德国电信(Deutsche Telekom)在提高自动驾驶汽车的连接性、数字化转型以及推进5G更好的网络性能方面使用边缘计算。

4.5 核心研究机构

如今边缘计算的市场越来越大,不仅是众多的知名企业开始部署边缘计算,很多研究机构包括国内外的一些大学等都开始投入边缘计算这个大市场的怀抱。

中国信通院是边缘计算产业联盟ECC的发起成员之一,中国信通院与联盟多个成员共同对于边缘计算应用场景、技术架构、主要技术能力等方面展开了深入研究。在2018年1月召开的ITU-T SG20(国际电信联盟物联网和智慧城市研究组)WP1全会上,中国信通院与中国联通联合主导的《IoT requirements for Edge computing》国际标准项目成功立项。

卡内基梅隆大学在2018年1月领导了一项新的项目-CONIX,该项目获得了2750万美元的资金,在接下来的五年中,CONIX将创建位于边缘设备和云之间的网络计算架构,为边缘计算的兴起做准备。2月德国电信与Crown Castle合作在美国设立了边缘计算实验室,匹兹堡卡内基梅隆大学是该项目的中心站点。

4.6 产业联盟

边缘计算产业联盟ECC(中国)在2016首届边缘计算产业峰会上宣布正式成立,该联盟由华为、中国科学院沈阳自动化研究所、中国信息通信研究院、英特尔公司、ARM 和软通动力共同发起成立,联盟成员总数共 62 家,这表明了边缘计算生态发展正式进入关键落地阶段。

Edgecross联盟(日本)于2017年年底成立,由6家公司创始,包括三菱电机、研华、欧姆龙、日本电气、日本IBM和日本甲骨文。边缘融合联盟Edgecross定义的边缘计算领域平台有两个目标,一个是实现生产现场小范围的物联网IoT系统,第二个是为生产数据匹配IoT化的数据标签。

Avnu联盟是一个利用开放标准创建低延迟、时间同步、高度可靠的联网设备的互操作性生态系统的社区。2017年12月5日,Avnu与边缘计算产业联盟签署了合作协议,目的是为了推动工业网络和边缘计算的共同利益。

ETSI(欧洲电信标准化协会)主动标准化MEC。运营商可以向授权的第三方开放其无线接入网络(RAN)边缘,使他们能够灵活快速地为移动用户、企业和垂直网段部署创新的应用和服务。MEC是移动基站演进和IT与电信网络融合的自然发展的结果。

2019年1月24日,Linux基金会在旧金山宣布成立针对边缘计算的LF Edge基金会。新的LF Edge基金会旨在为边缘计算的各种应用类型制定统一的软件堆栈、术语定义及开发框架,并促进边缘计算领域在底层形成架构上的统一,从而推动整个行业的快速发展。

5. 从 边缘计算 到 边缘智能

设想未来任意一种电器,利用极低功耗的嵌入式系统,能够对使用者进行人脸识别,并且能够听懂使用者的语言指令,智能实现相应的功能,那生活将无比美妙。这样的未来已经到来,由于tinyML 技术的迅速发展,设想的场景已经能够变成现实。一个售价为10美元(约合人民币70+人民币)的硬件模块,可以嵌入电视、风扇、遥控器、无人机、摄像头等设备中,轻松实现智能功能。电视可以根据主人的手势实现遥控、风扇可以判断主人的位置对准送风、摄像头可以自动识别房间里的人员数量...。 这就是前谷歌TF Lite Micro 创始人皮特的初创公司Useful Sensors正在努力实现的场景。

从2022年开始,皮特团队秘密研发这款名为Person Sensor的智能模块,尺寸为20 x 20毫米,正面有一个摄像头,背面是微控制器。这个只有硬币大小的模块可以检测附近的人脸信息,反馈人数、相对位置,并进行面部辨识。皮特认为有智慧的传感器才是真正有用的传感器,智能分析越靠近传感器,就越能降低功耗,而且这种功耗的节约是指数量级的,轻松实现10倍改善。以Useful sensor 为代表的TinyML 技术迅猛发展,正式开启了一个黄金时代——边缘智能时代的全面到来。

5.1 机器学习 越来越“边缘”

image.png

无论何时何地,数据都需要即时可用,这一趋势越来越明显。全球各行各业都在经历由这种需求推动的“数字化转型”。根据IDC的分析,到2025年,全球创建的数据中,超过四分之一的数据在本质上都是实时数据,而物联网实时数据将占这部分数据的95%以上。

大量涌现的数据催生出了一系列全新的技术,机器学习、自然语言处理和人工智能,它们将数据分析从不常见的、追溯式的实践,转变成为战略决策和行动的前摄式推动因素。这些技术可以大大提高各种行业、环境和应用数据分析的频率、灵活性和即时性。同样根据IDC的预测,到 2025 年,属于数据分析的全球数据总量将增长至原来的50倍,达到 5.2ZB;而机器学习所“触及”的分析数据总量将增长至原来的100倍,达到1.4ZB。

由此导致,目前存在的机器学习,从处理的时空地点划分为3种形态,Cloud ML、Edge ML和Tiny ML。TinyML正是针对占比超过95%以上的物联网实时数据处理场景:

  1. Cloud ML:是指机器学习在企业内部或云端特定计算数据中心的应用。这些云服务器涵盖所有类型,包括公共云、私有云和混合云。此外,它还包括运营控制中心,例如管理电网或电话网络的那些运营控制中心。
  2. Edge ML:是指机器学习在不处于核心数据中心的,企业级计算机/设备中的应用。边缘设备包括服务器机房,现场服务器,以及位于各个地区以加快响应速度为目的的小型数据中心。
  3. Tiny ML:是指超低功耗的机器学习在物联网各种终端微控制器中的应用。TinyML通常功耗为毫瓦(mW)级别甚至更低,因此可以支持各种不同的电池驱动的设备,和需要始终在线的应用。这些设备包括智能摄像头、远程监控设备、可穿戴设备、音频采集硬件以及各种传感器等等……根据行业研究报告2010-2018 年全球物联网设备连接数高速增长,由 2010 年的 20 亿个增长至 2018 年的 91亿个,复合增长率达 20.9%,预计 2025 年全球物联网设备(包括蜂窝及非蜂窝)联网数量将达到 252 亿个。这个数量级下,真正有落地价值的智能创新应用,将开辟巨大的蓝海。

5.2 为什么需要TinyML

TinyML是机器学习和嵌入式IoT设备的交叉领域,是一门新兴的工程学科同时具有极大的应用前景和商业价值。

TinyML 的主要受益者,是边缘计算和节能计算领域。TinyML 源自物联网 IoT 的概念。物联网的传统做法,是将数据从本地设备发送到云端处理。一些人对这一方式在隐私、延迟、存储和能源效率等方面存在疑虑:

  1. 能源效率。无论通过有线还是无线方式,数据传输都非常耗能,比使用乘积累加运算单元(multiply-accumulate units,MAU)的本机计算高出约一个数量级。最节能的做法,是研发具备本地数据处理能力的物联网系统。相对于“以计算为中心”的云模型,“以数据为中心”的计算思想已得到了人工智能先驱者的一些先期探讨,并已在当前得到了应用。
  2. 隐私。数据传输中存在侵犯隐私的隐患。数据可能被恶意行为者拦截,并且存储在云等单个位置中时,数据固有的安全性也会降低。通过将数据大部保留在设备上,可最大程度地减少通信需求,进而提高安全性和隐私性。
  3. 存储。许多物联网设备所获取的大部分数据是毫无用处的。想象一下,一台安防摄像机每天 24 小时不间断地记录着建筑物的入口情况。在一天的大部分时间中,该摄像机并没有发挥任何作用,因为并没有什么异常情况发生。采用仅在必要时激活的更智能的系统,可降低对存储容量的需求,进而降低需传输到云端的数据量。
  4. 延迟。标准的物联网设备,例如 Amazon Alexa,需将数据传输到云来处理,然后由算法的输出给出响应。从这个意义上讲,设备只是云模型的一个便捷网关,类似于和 Amazon 服务器之间的信鸽。设备本身并非智能的,响应速度完全取决于互联网性能。如果网速很慢,那么 Amazon Alexa 的响应也会变慢。自带自动语音识别功能的智能 IoT 设备,由于降低甚至是完全消除了对外部通信的依赖,因此降低了延迟。

上述问题推动着边缘计算的发展,也是边缘计算能够存在的理论基础。在云计算日益发达,带宽限制日益提升,5G 日趋完善的大背景下,边缘计算仍然发展如火如荼,因为能效、隐私、经济性、延迟等因素是云计算无法解决的难题,这个世界总能给不同的技术路线留出一扇窗,我尝试通俗解释TinyML 为啥有存在的合理性:

假如小栗子家有个小朋友,需要一台家用摄像头来照看他的日常,所有的人都会打开某宝找到摄像头链接直接下个单,送到家后APP 上一顿操作就能正常使用了。现在能够24小时看到小朋友的生活状况,美中不足的是大部分时间是不需要盯着,只有吵闹的时候是需要关注。这个时候设备厂家根据大数据推荐了AI 识别功能,只要开通云端智能检测就能实现按需监控。(但是仍要上传到云端,涉及到隐私和延迟问题)

这样的功能推荐肯定有成本,毕竟图形显卡加速功能不是每个普通的ECS 都有的,云服务商还指望着这些人工智能模块多赚点钱。我们换一个思路,下面这样的摄像头加入了TinyML 模块,前面说了成本大概70元RMB,但他能够在摄像头上识别模式,并直接给手机打招呼,对于用户而言这是最直接的经济性提升。除此外,数据全部上传云端,一直都存在较高的隐私泄露风险,如果仅仅关键信息上传,隐私泄露风险就低了许多,边缘计算TinyML的优势就在这里。(经济实惠了 + 隐私安全了)

5.3 TinyML的原理

TinyML 既然能实现神经网络的功能,但消耗却远远低于云端AI 资源消耗,这是怎么实现的? 如何能让马儿不吃草,还能让马儿跑的快?这里涉及到神经网络的压缩技巧,技术分析如何实现压缩并不是本文的主旨,毕竟我的使命是科普,我只擅长用周星驰的语调来解释最深奥的技术问题。

5.3.1 知识蒸馏

一讲到蒸馏,你也许只能想到白酒。什么是蒸馏?简单说是提纯的过程。知识蒸馏,顾名思义就是把知识也提纯了,酒的蒸馏是去掉不必要的水分和酒糟,知识蒸馏去掉的又是什么?

GPT-3 是OPEN-AI 提供文字描述的神经网络,这是一种具有1,750亿个参数的自然语言深度学习模型,比以前的版本GPT-2高100倍。该模型经过了将近0.5万亿个单词的预训练,并且在不进行微调的情况下,可以在多个NLP基准上达到最先进的性能。带来的问题是神经网络的运行一次的资源消耗也异常庞大,有没有什么取巧的方法?如果我们使用来自大而笨重的模型的预测来训练一个更小的,所谓的“学生”模型来逼近大模型会怎么样?其实简单来说就是,用小模型毕竟大模型。

这本质上就是知识的蒸馏,这是由Geoffrey Hinton、Oriol Vinyals和Jeff Dean在论文Distilling the Knowledge in a Neural Network中介绍的。大致说来,过程如下:

  1. 训练一个很好的大模型,这被称为教师模型
  2. 利用你所应用的所有数据,计算出教师模型的预测。带有这些预测的全部数据集被称为知识(数据+预测输出的数据集).
  3. 利用先前获得的知识(数据+预测输出的数据集)来训练一个较小的网络,使其无限逼近教师模型,这称为学生模型,虽然准确度可能不及教师模型,但是复杂度要比教师模型要小得多。

5.3.2 剪枝

神经网络剪枝首先会从大型网络中筛选出不重要的神经元以及权重,之后将它们从网络中删除,在此同时尽可能的保留网络的性能。简单来说,神经网络就像是一棵树,保存主干就不影响主要推理性能。

剪枝技术按照细粒度的不同可分为结构性剪枝以及非结构性剪枝:

  1. 结构性剪枝剪除的基本单元为神经元(neuron,是很多条线来自一个选定的神经元和其他所有与其相连的神经元),由于是对神经元直接进行剪枝,结构性剪枝后的模型能够在现有硬件条件下实现明显的推理加速以及存储优势。但其缺点是剪枝的颗粒度较大,往往会对压缩后模型的精度产生较大的影响。
  2. 非结构剪枝剪除的基本单元为单个权重(weight,只是一条两个神经元的线),其经过剪枝后的模型精度损失更小,但最终会产生稀疏的权重矩阵,需要下层硬件以及计算库有良好的支持才能实现推理加速与存储优势。

5.4 TinyML的应用 - BrainChip

BrainChip是第一家神经形态AI芯片的商业提供商,宣布推出第二代Akida平台。新平台专为嵌入式边缘 AI 应用而构建,增加了 8 位处理以实现更高的性能以及新的高级功能,其中包括使用视觉转换和时空卷积来加速边缘的性能并提高电源效率。Akida平台的新功能为一系列工业,汽车,智能家居和城市应用提供了关键优势,该平台还适用于医疗保健和消费电子领域的小型设备。新一代的Akida使设计师和开发人员能够完成以前在低功耗边缘设备中无法实现的事情。

BrainChip使用视觉转换器来完成图像识别等视觉处理任务。该公司表示,它们在物体检测和图像分类方面非常有效。Akida平台的更新还包括基于时间事件的神经网络(TENN)时空卷积。该技术简化了视频分析、目标跟踪和音频分类的流数据处理。通过从原始传感器数据中推断和学习,消除对数字信号预处理的需求,我们在提供无云边缘AI体验方面迈出了实质性的一步。

6. 边缘计算和雾计算

6.1 边缘计算

边缘计算,进一步推进了雾计算的“LAN内的处理能力”的理念,处理能力更靠近数据源。不是在中央服务器里整理后实施处理,而是在网络内的各设备实施处理。

这样,通过把传感器连接到可编程自动控制器(PAC)上,使处理和通信的把握成为可能。

和雾计算相比的优点,根据它的性质单一的故障点比较少。各自的设备独立动作,可以判断什么数据保存在本地,什么数据发到云端。

6.2 雾计算

雾计算,经常是在IoT背景下被提及到,典型的主要业务是路由器、接入点甚至是与传感器和执行器一起的计算设备。

处理能力放在包括 IoT设备的LAN里面,这个网络内的IoT网关,或者说是雾节点用于数据收集,处理,存储。多种来源的信息收集到网关里,处理后的数据发送回需要该数据的设备。

雾计算的特点是处理能力强的单个设备接收多个端点来的信息,处理后的信息发回需要的地方,和云计算相比延迟更短。

和边缘计算相比较的话,雾计算更具备可扩展性。

雾计算不需要精确划分处理能力的有无,根据设备的能力也可以执行某些受限处理,但是更复杂的处理实施的话需要积极的连接。

6.3 边缘计算和雾计算的区别

雾计算和边缘计算在某些方面功能一致, 比如将数据和智能推送到分析平台方面;分析平台位于或靠近数据源自的位置,无论是屏幕,扬声器,电机,泵还是传感器。

“雾计算和边缘计算实际上是一回事。两者都关注利用本地网络中的计算能力来执行通常在云中执行的计算任务,”Temboo市场营销和传播负责人Jessica 说。(私以为雾计算和边缘计算从定义上和功能上都十分接近一回事儿)

这两种技术都可以帮助企业和组织减少对云平台的依赖,从而分析数据,这通常会导致延迟问题,而且能够更快地制定数据驱动的决策。边缘计算和雾计算之间的主要区别在于处理数据的位置。

“边缘计算通常直接发生在传感器所连接的设备上或物理上”靠近“传感器的网关设备上。雾计算将边缘计算活动转移到连接到LAN或LAN硬件本身的处理器,因此它们可能在物理上远离传感器和执行器。“ Vantiq联合创始人兼首席技术官Paul Butterworth说。

因此,通过Fog计算,数据在雾节点或位于LAN内的IoT网关内处理。对于边缘计算,数据在设备或传感器本身上处理而不在任何地方传输。

6.4 边缘计算和雾计算的优缺点

6.4.1 边缘计算

优点

根据HarperDB的首席技术官Kyle Bernhardy的说法,边缘计算的一个主要好处是数据不会传输,而且更安全。“边缘计算在创建它的设备上维护所有数据和处理。这使得数据保持离散并包含在真实来源中,即原始设备,“他解释说。

Stratus Technologies业务线管理副总裁Jason Anderson 也强调了边缘计算如何帮助降低成本:

“边缘计算技术通过实时收集和分析数据,节省了维护操作的时间和资源。边缘网络提供近实时分析,有助于优化性能并延长正常运行时间,“Anderson说。

缺点

然而,正如OSIsoft的工程副总裁克里斯·尼尔森所指出的那样,边缘计算的一个重大缺点是需要在保持数据处于边缘和 在必要时将数据带入中央云之间取得平衡。

“公司可能很难理解将数据引入云与处理边缘之间的平衡。在成本方面,有时在本地分析数据更有效,但在某些情况下,数据可能需要进入云端,“尼尔森说。

它可能成为品牌处理的一个复杂问题,因为需要更复杂算法的数据集在云中得到更好的处理,而更简单的分析过程最好保持在边缘。

6.4.2 雾计算

优点

Bernhardy表示,随着数据存储和处理在雾计算架构中的局域网中进行,它使组织能够“将来自多设备的数据聚合到区域商店”。这与从单个触摸点或设备或连接到云的单组设备收集数据形成对比。

此外,由于雾计算使公司能够从各种不同的设备收集数据,因此它还具有比边缘计算更大的处理更多数据的能力。“Fog能够同时处理更多数据,并通过处理实时请求的能力实际上提高了边缘的能力。实现雾计算的最佳时机是当您有数百万个连接设备来回共享数据时,“Anderson解释道。

缺点

虽然Bernhardy承认雾计算的优势在于能够连接更多设备并因此处理比边缘计算更多的数据,但他也发现雾计算的这个维度也是一个潜在的缺点。

“需要更多的基础设施[因此需要更多投资用于雾计算,而且你依赖于大型网络的数据一致性,”他说。

总结

主要介绍了什么是边缘计算,Edge Computing,这是一个很重要的概念~! (其实也是一直在看论文的时候会出现,但是不知道是什么)

但是现在知道了,边缘计算,其实就是将本来处于中心网络的服务器的云计算,转移到边缘网络的靠近用户的设备上,甚至有的是预装了机器学习/神经网络的IoT设备(TinyML),可以进行本地化预测,并不需要将数据上传。

雾计算,Fog Computing,个人觉得和边缘计算没有什么区别。(如有误,请纠正我!)

参考

[1] 边缘计算 VS 云计算,谁才是未来
[2] 什么是边缘计算?一文读尽秒懂
[3] 大话:边缘计算、雾计算、云计算
[4] 边缘计算与雾计算:有什么区别?
[5] 如何通俗的解释 雾计算 和 云计算 之间的区别?

Q.E.D.


立志做一个有趣的碳水化合物