关于javascript:E百科-基于MEC的边缘AI服务

44次阅读

共计 4771 个字符,预计需要花费 12 分钟才能阅读完成。

简介:阿里云边缘计算团队付哲解读 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 容器状态监测和相干日志服务

图 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)。目前在阿里云边缘计算团队从事边缘云资源调度和翻新利用方面的钻研。

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

正文完
 0