E百科 | 基于MEC的边缘AI服务

简介: 阿里云边缘计算团队付哲解读5G下热门场景:边缘AI。作者:阿里云付哲,计算机科学与技术专业博士后,在流量检测、资源调度领域有深入研究,其论文《Astraea: Deploy AI Services at the Edge in Elegant Ways》曾入选2020年IEEE边缘计算国际会议(IEEE International Conference on Edge Computing)。目前在阿里云边缘计算团队从事边缘云资源调度和创新应用方面的研究。

5G关键能力

近年来,5G已成为各国战略竞争制高点和未来社会发展、信息化的关键技术。目前,各国纷纷加快5G战略和政策布局。2019年工业和信息化部正式向中国电信、中国移动、中国联通、中国广电发放5G商用牌照,中国正式进入5G商用元年,这比原计划商用提前了一年。最新报告显示,截至2020年12月,我国三大运营商5G用户已经超过了2.5亿。随着5G技术和商业化的不断普及,5G正渗透到社会生活每个角落。


图1 5G之花-5G关键能力

目前对5G的认知,关注的焦点是极致的速度。但对于5G更多能力的愿景,现阶段涉及还比较少。移动通信专家在5G标准设立之初,为了形象地描述5G关键能力,画出了一朵“5G之花”[1],花朵的每一瓣都表示一种核心技术能力,如图1所示。

在5G的场景中,不仅是道路速度快了10倍,道路宽了100倍,道路承载的流量、移动性、各种效率等指标也均有明显的提升。很多人都存在一个疑问,这些严苛的能力真的能实现吗?例如端到端1毫秒的时延,5G通信怎么可能时延比固网通信还要低?这里需要澄清一下,5G毫秒级的时延指的不是远距离传输的时延。以光速计算,1毫秒时间信息也只能传递300000*1/1000=300公里的距离。无论是5G,还是6G、7G,也是无法突破这一物理定律的。而通过5G网络定制的低时延切片以及多接入边缘计算等技术,将核心网等下沉到市、县、乡等离终端用户百公里级的范围之内,毫秒级时延也并不完全是一句空谈。

多接入边缘计算(MEC)

多接入边缘计算(Multi-access Edge Computing)的概念最早提出于2009年卡耐基梅隆大学所研发的cloudlet计算平台,并逐渐被世界各个标准协会纳入通信标准,发展演进成为5G移动通信技术系统的重要技术之一。
为了避免技术叙述上的枯燥,先举一个通俗的例子。假设我们有两个快递件要发,一个是从深圳发往北京,一个是从深圳福田区发往同城的宝安区。第一个快递会先从深圳发往某地的快递集散中心(例如郑州集散中心),然后再发往北京,最终通过逐级快递点送到用户手中,这种方式是没有问题的。但是如果按此方式运送第二个快递,那么第二个快递也会先从福田区发往郑州集散中心,然后再返回宝安区,最终送到用户手中。


图2 5G与MEC

大家一定会觉得这种方式疯了,同市的快递为什么不直接在市内调度就好,而要先运送到千里之外的集散中心?现实很残酷,5G之前的网络(包括5G非独立组网),数据基本上都是按照接入网->承载网->核心网的处理方式,最后再由核心网决定怎么去调度和处理。即使是同一个城市、同一个基站下的两个终端间的通信,还是得先上报到核心网处理再回来。这一去一回,用户感知的时延明显增大了。而MEC技术,可以将计算能力下沉到基站侧,终端用户的业务请求可以调用就近的算力解决,而不用一层层上报至核心计算中心,再下发处理,从而能够降低网络传输时延,并且减少涌入中心云的网络流量。

基于MEC的边缘AI服务

5G普及之后,大部分的计算交互都可以直接在MEC节点处进行处理,由于节省了承载网、核心网的介入,大大降低了网络时延,同时节省了网络带宽资源。高清视频、VR/AR、云游戏等应用预计将会随着5G的普及迎来下一波爆发。本文将会介绍5G场景下的热点应用之一:边缘AI服务。

站在用户的角度,AI服务(尤其是推理阶段)通常可分为在端侧或者在云侧执行。手机等终端设备的计算能力逐渐增强,使得一些简单的AI模型跑在终端上成为了可能。然而,终端设备有限的功耗是始终无法忽略的问题,不少运行在终端上的AI模型往往会遇到发热、降频、耗电过快的问题;此外,数量更大的其他终端设备,例如摄像头、传感器以及其他IoT设备,其受限的计算资源使得他们难以运行常见的端侧AI模型。另一方面,云侧虽然算力强大,但是由于其执行的AI模型由于离端侧更远,时延无法得到保证;即使对时延并不敏感,在万物互联场景下如果海量端侧设备都依赖云中心的AI服务的话,它们的带宽流量会对现有网络带来不小的冲击。

为了解决这一困境,基于MEC的边缘AI服务应运而生。MEC节点的计算能力虽然比不上中心云,但是相较于终端设备还是要高不少的,部分MEC节点也包含GPU、FPGA等计算加速硬件。卸载到边缘节点的AI服务不仅仅能够节省终端到云中心的通信成本,而且能够提供低至毫秒级的网络通信时延。

计算卸载是边缘计算的主要功能之一,为简化这一场景,我们仅以单任务决策为例进行建模分析。对于终端用户来说,如果满足以下条件(1),那么将AI计算从端设备卸载到边缘执行,在任务完成时延上有明显体验上的提升的。

C / Pd > C / Pe + D / Bc (1)

类似地,当条件(2)满足时,将AI计算任务从端设备卸载到边缘执行,可以降低计算能耗。

C × Ed / Pd > C × Ee / Pe + D × Ec / Bc (2)

以上公式中各参数含义如下:
Pd: 端设备处理速度
Pe: 边缘云服务器处理速度
C: 计算任务量
D:需要传输的任务大小
Bc: 端设备到边缘节点的带宽大小
Ed: 端设备处理功耗
Ee: 边缘云服务器处理功耗
Ec: 端设备到边缘节点的通信功耗

边缘AI部署项目Astraea

人工智能模型的开发人员和数据科学家通常不知道或不太关心他们的模型在生产环境中是如何服务的。例如,在边缘部署模型时,必须考虑到不同框架的AI模型需要不同的部署方式,同时也需要一个API服务器将AI模型对外提供给终端用户。此外,边缘人工智能服务还需要全生命周期管理的能力,包括版本升级、灰度发布、自动缩放等,以及灵活的调度能力,以优化用户体验、计算成本和流量成本之间的权衡。
为此,阿里云边缘计算团队提出了Astraea[2] — 一个适用于边缘计算场景的新型AI服务部署平台,它简化了部署阶段,同时充分利用了边缘计算的优势。通过边缘AI部署项目Astraea,模型开发者能够自动化地完成AI服务在MEC等边缘节点的部署,并将AI服务的推理过程转化为Restful API接口,供终端设备调用,使得终端设备能够充分利用5G/MEC带来的技术红利。


图3 Astraea 总体架构

Astraea具有以下优点。首先,Astraea的用户只需要提交不到10行的模板配置,Astraea能够在1分钟时间内构建映像,在5分钟时间内完成服务边缘部署。其次,Astraea支持Scikit learn、TensorFlow、Pythorch、ONNX等多个人工智能框架,可以一键化为AI服务自动生成Restful API。借助Astraea以及阿里云边缘节点服务,AI服务可以下沉到距离用户10公里的范围内。同时,Astraea基于阿里云边缘节点服务能力实现运维自动化。

Astraea可以基于边缘节点服务平台实现以下能力:
镜像仓库:作为边缘AI镜像的储存仓库,并提供镜像分发加速能力
应用发布:提供边缘AI服务的一键部署和灰度发布功能
监测运维:负责边缘AI容器状态监测和相关日志服务

image.png
图4 Astraea AI模型封装

实时车牌识别DEMO

为了验证基于MEC的AI服务的技术能力,以下基于Astraea实现了一个简单的车牌识别(License Plate Reader)服务示例。实验中使用了Raspberry Pi 4模拟终端摄像头设备。由于目前Raspberry Pi没有5G通信模块,因此实验中额外购置了5G WiFi将5G信号转化为可供Raspberry Pi连接的WiFi信号,用于模拟5G通信链路。


图5 原型验证中使用的实验硬件

由于Raspberry Pi采用的是ARM架构CPU,算力较弱,实测在Raspberry上直接执行车牌检测的程序,采用预训练好的模型,需要大概13s的时间才能识别出一张图片中的车牌数字及其位置。显然,想利用Raspberry Pi本身实现实时的车牌识别是不可能的。

下面,我们将车牌识别这一AI服务部署至边缘节点。在项目目录执行:

astraea build

该步骤将车牌识别的AI模型打包成AI服务镜像,按照用户定义的配置文件暴露出API接口,并推送到到边缘节点的镜像仓库中。

接下来,执行:

astraea deploy

该步骤中,Astraea根据配置文件中指定的调度域、规格和数量信息将AI服务调度到指定的节点。例如,可以将服务部署到了位于上海宝山区的边缘节点,能够为上海宝山区的用户提供就近访问的低时延车牌识别能力。

Astraea能够按照模板定义好的模型调用方法自动生成Restful API,返回服务IP地址以及端口号,提供接口供用户调用。本示例中,直接调用以下接口,就能获得车牌识别的结果。

curl -g http://IP:port/predict -d 'json={"jsonData": "img_base64"}'

被调用后,API会返回车牌号识别结果,包括车牌字符串、位置以及置信概率)。该服务同时支持多车牌识别,如果一张图片里有多个车牌,那么结果将以json数组形式返回。一个API返回示例如下:

{"code": 0,"request_id": "xxx-xxx-xxx","data": {"msg": {},"ndarray": [{"confidence": 0.8996933911527906,"rect": [120.92, 103.3, 73.57536804199219, 23.4],"res": "\u9c81A88888"}]},
}

此外,Astraea还提供了基本的监控功能,访问以下接口,能获得诸如QPM、平均推理耗时、模型调用次数等统计信息。

curl -g http://IP:port/monitor

返回值如下:

{"AvgQPM":33.35,"AvgReqTime":"0.009s","Counter":3022}

该返回值表示该AI服务平均每分钟被调用33.35次,平均处理时延为9ms,一共被调用了3022次。

将Astraea自动生成的API接口进一步封装,就能够实现可视化、以及实时的车牌识别。例如,下图是基于Raspberry Pi 4的实时车牌识别结果。可以看到,基于部署在边缘节点边缘车牌识别服务,算力较弱的终端设备(例如Raspberry Pi、老旧摄像头等)也能实现强大而又低时延的AI处理能力。


图6 基于Astraea的实时车牌识别服务

总结

基于MEC等边缘云基础设施的能力,AI及其他计算任务可以卸载到离用户最近的计算节点执行,在处理时延、处理功耗、网络带宽等方面达到较优的权衡。通过Astraea,模型开发者能将已有模型一键部署到指定的MEC等边缘云节点,提供易部署和低时延AI服务能力。Astraea的愿景是希望在5G时代,AI服务在边缘的部署与运维就像如今使用CDN分发图片和视频一样简单。

作者:阿里云付哲,计算机科学与技术专业博士后,在流量检测、资源调度领域有深入研究,其论文《Astraea: Deploy AI Services at the Edge in Elegant Ways》曾入选2020年IEEE边缘计算国际会议(IEEE International Conference on Edge Computing)。目前在阿里云边缘计算团队从事边缘云资源调度和创新应用方面的研究。

原文链接

本文为阿里云原创内容,未经允许不得转载

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网速dns怎么调快_怎么设置dns?教你快速解决网速慢的问题

体内惊人荒之力很的洪,设置速解速慢设置速解速慢了一但其大批企业高成中中隐藏优质长的,复活,一旦。特斯提高金拉2的第度为的产大量的资7年能投入了三季,教决网仅生0辆产了,理想并不其效果却,交付2辆只有实…

“凡尔赛”式晒校园生活?移动云 9.9 风暴手把手教你!

快开学了卧虎藏龙的校园当然也少不了“凡尔赛大师”看看普通版和进阶版的凡尔赛学霸学神们如何用最低调的话炫最高调的耀LETS GO!考/试/篇假/期/篇生/活/费/篇看完学霸与学神的凡尔赛较量除了羡慕他们能够凡尔赛的资本更重要的是了解到移动云校园套餐原来如!此&…

开源微服务运行时 Dapr 发布 1.0 版本

简介: Dapr 是 2019 年 10 月开源的分布式运行时。早在 Dapr 开源初期,阿里云就开始参与 Dapr 社区建设和代码开发,目前已有两位 Dapr 成员,是 Dapr 项目中除微软之外代码贡献最多的公司。作为 Dapr 项目的早期采用者,…

如何应用数据模型

简介: 数据模型对于常规的数据查询或填写数据提交,是否有使用场景或者价值?数据模型这条路走的是否有问题? 一 前言 Vmo 是我在 18 年发布的一个工具库,用于快速创建数据模型,当时我写了一篇文章《Vmo 前端…

一行代码,揭开 CPU 执行原理!

作者 | 轩辕之风O来源 | 编程宇宙技术计算机如何执行你的代码?知乎上有人提问:电脑怎样执行编程语言的?很多刚刚入坑的小白可能对此完全没有概念,或者模模糊糊知道个大概,我们写下的一行行代码,计算机到底是…

有赞 Flink 实时任务资源优化探索与实践

简介: 目前有赞实时计算平台对于 Flink 任务资源优化探索已经走出第一步。 随着 Flink K8s 化以及实时集群迁移完成,有赞越来越多的 Flink 实时任务运行在 K8s 集群上,Flink K8s 化提升了实时集群在大促时弹性扩缩容能力,更好的降…

mysql怎么看端口号_mysql端口号(怎么查看mysql的端口号)

mysql端口号(怎么查看mysql的端口号)2020-05-07 21:54:58共10个回答如何查看mysql的端口号1使用命令showglobalvariableslikeport;查看端口号2修改端口,编辑/etc/my.cnf文件,早期版本有可能是my.conf文件名,增加端口参数,并且设定端口,注意该端口未被使用,保存退出.总结:注意修…

Serverless 如何在阿里巴巴实现规模化落地?

简介: 2020 年,我们在 Serverless 底层基建上做了非常大的升级,比如计算升级到了第四代神龙架构,存储上升级到了盘古 2.0,网络上进入了百 G 洛神网络,整体升级之后性能提升两倍;BaaS 层面也进行…

php验证mysql内数据_MySQL中数据类型的验证_MySQL

CHARchar (M) M字符,长度是M*字符编码长度,M最大255。验证如下:mysql> create table t1(name char(256)) default charsetutf8;ERROR 1074 (42000): Column length too big for column name (max 255); use BLOB or TEXT insteadmysql>…

专访合一智芯杨桦:做AI芯片核心技术的底层设计师

核心IP设计是国产化芯片的关键,杨桦是这个细分领域的一名创业者。作为曾在威盛电子和ARM公司工作过的芯片领域的老将,他一直追寻的目标就是给“中国芯”最好的设计。 作者 | 王查娜 来源 | 中国高新网 深研AI芯片设计 杨桦本科毕业于北京航空航天大学…

Flink SQL 性能优化:multiple input 详解

简介: 在 Flink 1.12 中,针对目前 operator chaining 无法覆盖的场景,推出了 multiple input operator 与 source chaining 优化。该优化将消除 Flink 作业中大多数冗余 shuffle,进一步提高作业的执行效率。本文将以一个 SQL 作业…

Java异步非阻塞编程的几种方式

简介: Java异步非阻塞编程的几种方式 一、 从一个同步的Http调用说起 一个很简单的业务逻辑,其他后端服务提供了一个接口,我们需要通过接口调用,获取到响应的数据。 逆地理接口:通过经纬度获取这个经纬度所在的省市区…

张一鸣 90 亿购得元宇宙入场券,谁将是头号玩家?

整理 | 禾木木 出品 | CSDN云计算(ID:CSDNcloud) VR 技术不断发展,虚拟网络世界“元宇宙”的概念也愈加火热,VR 已经不再局限于游戏与影视,它将作为降本增效的工具服务于更多行业领域。 8月29日&#xf…

前端开发:如何正确地跨端?

简介: 面对多种多样的跨端诉求,有哪些跨端方案?跨端的本质是什么?作为业务技术开发者,应该怎么做?本文分享阿里巴巴ICBU技术部在跨端开发上的一些思考,介绍了当前主流的跨端方案,以及…

mysql 创建表check如何使用_MySQL怎么使用check约束

在数据库中,CHECK 约束是指约束表中某一个或者某些列中可接受的数据值或者数据格式(用于限制列中的值的范围)。在一些情况下,我们需要字段在指定范围的输入,例如:性别只能输入 男或者女,余额只能大于0等条件&#xff0…

2020年,这个算法团队都干了啥?

简介: 什么是算法?什么是广告算法工程师?算法工程师又是如何定义的?今天作者将就算法、电商算法为主题和我们分享他的理解,同时还将和我们分享ICBU算法团队的整体工作和2020年的一些重要技术突破。 写在最前 我个人有…

为了让你在“口袋奇兵”聊遍全球,Serverless 做了什么?

简介: 江娱互动是一家新兴的游戏企业,自 2018 年成立伊始,江娱互动就面向广阔的全球游戏市场,通过创造有趣的游戏体验,在竞争激烈的游戏市场占得一席之地。仅仅 2 年的时间,江娱互动就凭借 Topwar&#xff…

mysql批量插入 增加参数_MySql 的批量操作,要加rewriteBatchedStatements参数

MySql 的批量操作,要加rewriteBatchedStatements参数作者:赵磊博客:http://elf8848.iteye.com--------------------------------结论 ---------------------------------MySql 非批量 10万条记录, 5700条/秒MyS…

为开发者而生 | 2021 SuperMap开发者大会议程全公布

如果地理信息产业是一片江湖 SuperMap开发者大会 则是一场卧虎藏龙的群英会 技术卓越的大侠们在此一展风采 精通各路应用的绝世门派在此切磋技艺 一起修炼顶级武功秘籍 致敬技术极客精神 为开发者而生(D4D) 9月15日-18日 2021 SuperMap开发者大会…

Flink 如何实时分析 Iceberg 数据湖的 CDC 数据

简介: 数据湖的架构中,CDC 数据实时读写的方案和原理 本文由李劲松、胡争分享,社区志愿者杨伟海、李培殿整理。主要介绍在数据湖的架构中,CDC 数据实时读写的方案和原理。文章主要分为 4 个部分内容: 常见的 CDC 分析…