KubeEdge SIG AI是KubeEdge社区的多个特别兴趣小组(Special Interest Group)之一,主要聚焦边缘AI相关的技术讨论、API定义、参考架构、开源实现等,使能AI应用在边缘更好的运行(包括成本节省、性能提升、隐私保护等)。
边缘AI趋势已现
随着边缘设备数量指数级增长,以及设备性能的提升,数据量爆发式增长,数据规模已由原来的EB级扩展到ZB级。数据回传中心云处理成本太高,目前业界对边缘计算的价值已经被证明。数据在哪里,计算就应该在哪里,人工智能也正逐步向边缘迁移,将云上AI能力下沉到边缘节点,做到本地处理,打通AI的最后一公里。
目前各大厂商均推出了自研的边缘AI芯片,据德勤预测,至2024年边缘AI芯片销量预计将超过15亿片,万物智联的时代不再是遥不可及。比如园区里面随处可见的智能摄像头,进行人脸识别,车牌识别;家里面的智能电视,智能音响;工业领域里面的无人机进行电力线路智能巡检等等,边缘AI正在极大的提高了我们的生产生活效率。
AI在边缘落地过程中面临的挑战
虽然边缘AI技术的相关研究和应用都有着显著的进展,然而在成本、性能、安全方面仍有诸多挑战:
- 数据孤岛,边缘天然的地理分布性, 隐私保护和网络瓶颈等因素导致数据集天然分割, 传统集中式AI模式在收敛速度, 数据传输量, 模型准确度等方面仍存在巨大挑战。
- 边缘数据样本少,冷启动等问题,传统大数据驱动的统计ML方法面临无法收敛、效果差等问题。
- 数据异构:现有机器学习基于独立同分布假设,同一模型用在非独立同分布的不同数据集的效果差别巨大。比如摄像头的角度、远近等导致实验室训练的模型推到边缘时精度会下降大约5%-10%。
- 资源受限:相对云上资源的海量易获取,边侧资源受限(算力、供电、场地等均受限),建设与维护成本更高。
如何发挥边缘计算的实时性和数据安全性,结合中心云的海量算力优势,实现AI的边云协同,就成了解决上述挑战的关键课题。
KubeEdge Sedna子项目
作为时下最活跃的云原生边缘计算社区,KubeEdge吸引了全球多个领域用户和开发者落地和参与,并于2020年下半年成立了AI SIG(Special Interest Group)。
KubeEdge SIG AI致力于解决AI在边缘落地过程中的上述挑战,提升边缘AI的性能和效率。结合前期将边云协同机制运用在AI场景的探索,AI SIG成员联合发起了Sedna子项目,将最佳实践经验固化到该项目中。
Sedna基于KubeEdge提供的边云协同能力,实现AI的跨边云协同训练和协同推理能力,支持业界主流的AI框架,包括TensorFlow/Pytorch/PaddlePaddle/MindSpore等,支持现有AI类应用无缝下沉到边缘,快速实现跨边云的增量学习,联邦学习,协同推理等能力,最终达到降低成本、提升模型性能、保护数据隐私等效果。
Sedna架构图如下所示:
1)GlobalManager:基于Kubernetes Operator 实现边缘AI控制器,用户通过创建CRD来实现模型/数据集管理,边云协同AI任务管理,以及AI任务的跨边云协调。目前支持如下AI任务:
- 增量训练: 针对小样本和边缘数据异构的问题,模型可以在云端或边缘进行自适应优化,边用边学,越用越聪明。
- 联邦学习: 针对数据大,原始数据不出边缘,隐私要求高等场景,模型在边缘训练,参数云上聚合,可有效解决数据孤岛的问题。
- 联合推理: 针对边缘资源需求大,或边侧资源受限条件下,基于边云协同的能力,将推理任务卸载到云端,提升系统整体的推理性能。
2)LocalController:实现增量训练、联邦学习、联合推理特性的本地闭环管理。数据集和模型管理的本地控制,AI任务的状态同步等。
3)Lib:给应用提供边云协同AI特性接口,用户基于该Lib实现边云协同的训练、聚合、评估和推理。
后续计划
基于目前Sedna的能力,后续将持续演进,包括但不限于:
- 支持更多边缘硬件和AI平台,如NPU, Pytorch,KubeFlow,ONNX等。
- 增强跨边云数据集管理、模型管理。
- 自动转换边缘模型。
- 支持多种边缘AI关键特性,比如基于知识库的终身学习、多任务迁移学习。
- 构建边缘AI benchmark。