【HDC.Cloud 2021】边云协同,打通 AI 最后一公里
前言:4 月 25 日,在华为开发者大会 2021(Cloud)上,华为云边缘云创新 Lab 技术生态专家欧争光发表了《边云协同,打通 AI 最后一公里》的主题演讲, 分享了边缘 AI 的应用场景、价值和技术挑战,与传统离线 AI 和云上 AI 应用的差异以及如何基于边云协同 AI 框架 Sedna 开发具备边云协同 AI 能力的应用。
演讲主要包含四个方面的内容:
1)边缘 AI 的挑战
2)KubeEdge AI SIG 介绍
3)边云协同 AI 平台 Sedna 架构及特性
4)Sedna 后续计划
ps: 完整视频见文末
边缘 AI 的挑战
边缘智能的应用场景
目前,边缘智能在很多场景都有应用,比如在智能家居方面,很多家居里面有老人的跌倒检测,婴儿的哭声检测,这些其实都相当于是一个边缘智能;医疗里面的智能诊断;智慧城市的各种占到经营违法识别;还有 AR/VR, 它和边缘智能的关系主要体现在 AR/VR 有大量的数据需要传输,是不是也通过一种 AI 的方式来进行数据的压缩,在端侧进行高清低码的重建,来把数据传输量大幅度降低,这也是一种边缘智能;智慧交通领域像隧道里的烟雾检测、逆行检测;工业互联网里面的 PCB,最常见是电路板的质检;还有智慧农业,现在使用无人机打农药施肥已经非常普遍了,它就是个典型的边缘智能的场景,无人机这里面加入智能,可以识别杂草,进行精准打农药操作,来提升工作效率;还有智慧零售,比如酒店商超用机器人来负责送货,导购等,这都是有很多边缘智能存在。
业界的发展趋势
边缘计算与 AI 深度融合成为发展趋势,Gartner 技术成熟度曲线(2019)认为边缘 AI 处于快速上升期,2~5 年内将成熟。整个业界的话,发布的边缘 AI 相关的产品,还是处在比较初期的阶段,在成本、性能、安全等方面仍有诸多挑战。
边缘 AI 面临的挑战
1)边缘计算节点软/硬件异构
目前很多厂商都有自己的硬件产品或软件架构,硬件比如华为昇腾,百度昆仑,寒武纪等,AI 框架如 MindSpore, Tensorflow, PaddlePaddle 等,如何让用户在这些不同的框架,不同的硬件的条件下,保持它的用户体验一致,只需要开发一次调一个接口,就能将庞大的边缘的这种异构资源管理起来,这是一个非常具有挑战性的问题。
2)边缘资源受限
智能硬件成本高
高性能,低功耗要求高
需要适应多种多样的边缘环境和电力要求
计算、网络、存储资源有限
3)边缘数据异构
数据异构从时间维度来说,比如在一年四季,摄像头拍照的背景是不一样的,春天是绿色居多,冬天可能是白色或者黄色居多,这就是时空上数据分布的差异,分布样本的分布也不一致。而数据异构从空间维度来说,比如摄像头在东边的入口和西边入口,因其角度、位置等不同,也有可能导致数据的分布差异。数据分布的不同,会导致你之前在实验室或公司所采集的样本训练出来的样本模型的精度下降,这个叫概念性漂移的问题。这是异构会带来的问题,在边缘里面是比较突出的一个问题。
4)数据样本少、模型冷启动等问题导致云上训练的大而全的模型效果差
5)隐私与安全
数据不想上云或者不想离开本地,如何通过一些技术手段来严格保护用户隐私数据,解决用户的顾虑,这也是一个非常大的挑战。
边缘 AI 典型场景:安全帽检测
场景:
智能摄像头采集视频图片,识别未戴安全帽人员,标记并报警
视频图片数据,目标检测任务
挑战:
数据异构:同一安全帽检测模型应用于不同视角、背景和远近,效果差别较大
小样本导致精度低下:舞台与工地场景样本量小,难以支撑高性能模型的训练,甚至不能进行 finetuning
KubeEdge AI SIG 介绍
KubeEdge SIG AI 是 KubeEdge 开源社区成立的关注边缘 AI 方向的 SIG (Special Interest Group, 特别兴趣工作组)。其工作目标是基于 KubeEdge 的边云协同能力,提供具有低成本、高性能、易用性、隐私保护等优势的边缘智能平台。
KubeEdge SIG AI 工作范围
1)自动化异构边缘资源适配
解决上述提到的软硬件资源异构问题,希望实现自动化的异构资源匹配,来减少用户管理异构资源的工作量,来提升整个 AI 应用的部署管理维护的效率,这是解决的第一个基础,进一步话可能还包括各种框架,各种硬件的对接等。
2)实现边缘 AI 基础框架
包括功能如 EdgeAI API,EdgeAI Lib,数据集管理,模型管理,跨边数据同步,统一配置等。
3)端边云协同训练和推理
高效合理利用端、边、云的各类资源,并能根据负载,应用类型实时的模型调度,实现高性能、低成本、隐私安全兼备的边缘 AI 系统。
4)增量学习和终身学习
解决边缘数据样本少,统计分布 Non-IID,冷启动,灾难恢复等问题,使边缘 AI 越用越聪明。
KubeEdge SIG AI 全景图
边云协同 AI 平台 Sedna 架构及特性
Sedna 基于 KubeEdge 提供的边云协同能力,实现 AI 的跨边云协同训练和协同推理能力,支持业界主流的 AI 框架,包括 TensorFlow/Pytorch/PaddlePaddle/MindSpore 等,支持现有 AI 类应用无缝下沉到边缘,快速实现跨边云的增量学习,联邦学习,协同推理等能力,最终达到降低成本、提升模型性能、保护数据隐私等效果。
边云协同 AI 框架 Sedna 架构
Sedna 架构图
主要包含 4 个组件:
1)GlobalManager:基于 Kubernetes Operator 实现边缘 AI 控制器,用户通过创建 CRD 来实现模型/数据集管理,边云协同 AI 任务管理,以及 AI 任务的跨边云协调。
2)LocalController:实现增量训练、联邦学习、联合推理特性的本地闭环管理。数据集和模型管理的本地控制,AI 任务的状态同步等。
3)Worker
执行训练或推理任务, 训练/推理程序, 基于现有 AI 框架开
按需启动, docker 容器或 function
不同特性对应不同的 worker 组, 可部署在边上或云上, 进行协同
4)Lib:给应用提供边云协同 AI 特性接口,用户基于该 Lib 实现边云协同的训练、聚合、评估和推理。
边云协同 AI 平台 Sedna 特性
1)边云协同推理:边侧资源受限条件下,提升整体推理性能
AI 开发者:提供数据训练产生深模型和浅模型
业务开发者:通过 Lib 库调用协同模型, 并部署到边缘
边侧浅模型推理,判断满足置信度要求则直接返回
否则送到云上大模型推理
2)边云协同增量学习:小样本和非同分布下,模型越用越聪明
使边缘上面的应用,能根据它所处的环境去自动的适应,越来越适应它的环境,来提升其精度,解决上述提到的被独立分布的问题。
业务 APP 开发者:开发时使用边云 AI Lib 库, 集成边云协同增量学习功能
部署业务 APP,启动增量学习
APP 运行,识别难例,上传到云上标注服务中
人工定期介入,对样本进行标注。
系统基于任务知识库,自动增量训练产生新模型
更新边缘模型
3)边云协同联邦学习:孤岛数据不出边缘,知识聚合产生模型
开发者:导入边缘 AI Lib 库, 开发边云协同联邦学习程序。
启动联邦学习任务,部署训练程序到边缘
多任务检测,划分 Non-IID 样本集,与云端配合识别相似任务
本地训练,模型参数上传云端,云端运行跨边迁移+模型聚合算法
从开发者视角如何使用边缘协同能力?
设计目标:与现有主流训练和推理框架兼容,不要求开发者学习新框架,减少学习成本
使用:
导入边缘 AI Lib 库: 开发者采用熟悉的 ML 框架(如 TensorFlow),导入边缘 AI Lib 库 (图中 sedna 库)
协同训练(联邦学习为例):从 sedna 库中导入本地训练 loss 函数, optimizer, 并调用 federated_learning.train 函数
协同推理:替换原 load 模型对象部分,配置并产生边云协同模型,后台将自动生成云上大模型。开发者无须改变代码其他部分。
案例:安全帽检测效果
采用边云协同大小模型协同推理 + 增量学习,目标检测场景(安全帽检测场景验证): 精度提升 14% (78% 至 92%)
Sedna 后续计划
2021.3
Dataset、model 对象模型
整体框架
联邦学习
协同推理
增量学习
2021.6
终身学习
2021.9
边边协同推理
边云协同轨迹跟踪
2021.12
边缘模型自动压缩优化
华为云 IEF 集成
欢迎更多对边缘计算感兴趣的同学们加入 KubeEdge 社区,参与 AI SIG,一起建设云原生边缘计算生态。
附:KubeEdge SIG AI 社区技术交流地址
项目地址:https://github.com/kubeedge/sedna
例会时间和地址:
时间:每周四上午 10: 00
地址:https://zoom.us/my/kubeedge
SIG AI 工作目标和运作方式:https://github.com/kubeedge/community/tree/master/sig-ai
社区专家入驻,技术问题随时答疑扫描下方二维码
发送暗号“KubeEdge SIG AI”加入技术交流群
社区专家入驻,技术问题随时答疑
完整演讲视频,点击下方观看:
评论