KubeEdge Sedna v0.6 & Ianvs v0.2 重磅发布:边云协同终身学习全面升级

本文分享自华为云社区《 KubeEdge Sedna v0.6 & Ianvs v0.2 重磅发布:边云协同终身学习全面升级》,作者: 云容器大未来 。

本文探讨了边缘智能应用在开放世界问题中的挑战和解决方案,重点介绍了KubeEdge SIG AI发布的KubeEdge Sedna v0.6 及 Ianvs v0.2,这两个开源项目全面提升了边云协同终身学习的功能和性能。边云协同终身学习模仿人类的学习方式,结合云端的知识库和边缘的数据,实现了多任务迁移学习、未知任务的识别和处理、灾难性遗忘的防止等能力。

本文重点展示了本次功能升级的主要内容,包括:

  1. 支持非结构化数据场景下的开放世界边云协同终身学习

  2. 提供开源数据集、基线算法和评价指标的完整测试套件

  3. 针对机器人巡检、自动驾驶等场景,开发了新的未知任务识别和处理能力,包括新样本识别、训练数据生成、多模型联合推理等

一、背景

机器学习技术在过去十年里经历了资本市场的起伏,但始终保持着技术创新的势头。例如,AlphaGo多次战胜世界围棋冠军,AlphaFold预测了98.5%的人类蛋白质结构,ChatGPT聊天机器人的对话能力令人惊叹,甚至已应用到专业咨询和研发等领域。不可否认,机器学习在规则明确的封闭环境中,如游戏场景,已经展现出超越人类的智能水平,并且在这样的环境中出现错误的风险也相对较低。直到现在,这场持续十年的技术盛宴时有中场休息,但仍在不断延续,并非一时之兴。

然而,在这场耀眼的机器学习盛宴背后,也存在着不少挑战。随着机器学习应用逐渐向边缘部署,在更接近用户、面对更多开放环境的边缘智能场景中,机器学习的局限性也日益显现。近五年来,相关的公开报道屡见不鲜,如图1所示。

  • 2017年,双足机器人标杆Atlas于演示过程失足摔落国际会议舞台

  • 2018年,U公司、T公司及G公司等头部公司自动驾驶系统先后引发多起伤亡事故

  • 2020年,福州中防万宝城导购机器人跌落数米高的电动扶梯并撞倒前方两位客人

  • 2021年,双足机器人Walker X于世界人工智能大会演示过程意外摔倒

  • 2022年,轮式机器人小蛮驴驶入河南大学校园未干水泥地后陷入泥中无法前行

  • 2022年,四足机器人Go 1递送饮品时频繁摔跤视频在互联网上引发高热度关注

图1 近五年的国内外边侧智能设备异常样例

从这一系列案例可以看到,在开放世界(Open World)中的边缘智能技术会面临许多长尾应用(Long Tailed Application)或异常案例(Corner Case),用户会发现部署的机器学习模型遇到与训练数据不同或不匹配的输入,导致模型的性能下降或出现错误。例如,物体识别模型可能无法识别在复杂路况中的障碍物,语音识别模型可能无法处理噪音干扰的语音,图像生成模型可能无法根据复杂的文本生成合理的图像等。

通常,当模型部署在多变边侧环境中,就容易出现开放世界问题。用户也可以通过下列基准测试方法量化判断边侧模型是否面临开放世界问题:

  • 测试集评估:使用与训练数据不同的测试集,尤其是包含异常或罕见情况的测试集,来评估模型的准确率、鲁棒性和泛化能力。比如用户可以使用开放世界图像分类数据集来测试图像分类模型。

  • 在线反馈:在部署模型后,收集用户的反馈和评价,以及模型的错误率和故障率,来监控模型的实际效果和用户满意度。比如用户可以使用在线评估方法来实时更新模型的性能指标。

图1的案例同时也说明,开放世界是边缘智能应用的普遍问题,而不只是某款特定产品或服务设计缺陷的特例。开放世界问题将长期、持续且普遍存在于边缘智能领域,主要有两个原因:

  • 边缘智能呈现需求森林化态势,边侧需求由于应用、硬件、环境等复杂多样。
  • 边缘智能领域处于方案摸索期,各业务模型乃至平台的协作生态仍在成长。

开放世界问题是边缘智能应用面临的一个普遍而持久的挑战,需要从系统和算法两个层面进行解决。

开放世界的长尾应用或异常案例有两个特点,形态多样和数据稀缺。这对边缘智能技术的系统性能和算法性能都有影响:

  • 系统性能方面,数据在边缘产生,而算力在云端集中。这意味着,如果机器学习服务全部在云上处理,就难以保证数据安全、服务离线自治能力和实时性;如果全部在边侧处理,就无法享受云端的算力、开发环境和产品生态,这会降低智能服务的质量,增加研发、维护和销售的成本。

  • 算法性能方面,开放世界带来的数据异构和小样本会影响边缘智能应用服务的稳定运行,进一步引发灾难性遗忘(Catastrophic Forgetting)问题。

因此,开放世界问题是边缘智能应用面临的一个普遍而持久的挑战,需要从系统和算法两个层面进行解决。

二、版本全面升级

▍1. 社区历史解决方案

为了解决开放世界中的边缘智能问题,我们可以借鉴人类的学习过程。人类能够在开放世界中正常工作和生活,是因为每个人在不断地积累和活用过去以及他人的知识,学习更多知识 [3]。基于人类的学习机制,KubeEdge SIG AI已在国际学术会议上发表了边云协同终身学习的正式定义 [4,5]:在云侧知识库中有N个历史训练任务情况下,推理当前任务和未来M个边侧任务,并持续更新云侧知识库。其中,M可以无限增加,而边侧M个推理任务可能与云侧知识库N个历史训练任务不同。 具体来说,边云协同终身学习从系统和算法两个方面,采用下述技术应对开放世界问题。

  • **系统方面,**边云协同架构在应用云上资源同时,保证边侧数据安全合规与边缘AI服务离线自治能力;

  • 算法方面:

多任务迁移学习技术为不同分布建立不同任务,实现"千人千面"精准预测,应对数据异构;

未知任务增量处理技术在小样本基础上通过数据采集、生成等多种方式进行持续学习和改进,逐步实现AI工程化与自动化,应对样本稀缺问题;

云侧知识库技术来存储历史知识、更新场景中的新知识,避免灾难性遗忘;

KubeEdge SIG AI持续开源边云协同终身学习研发成果。2021年KubeEdge-Sedna v0.3版本发布了业界首个边云协同终身学习开源特性。2022年KubeEdge-Ianvs v0.1发布业界首个分布式协同AI基准测试,并支持增量学习特性。如图2所示,Sedna和Ianvs的终身学习历史实现在架构及工程层面有下述优势能力:

  • 系统模块化

一体化系统流程已分解为多个模块且各模块具备明确功能,方便边云调度

开放模块配置,所有模块均提供可跳过的热链接功能

开放模块算法配置,所有模块均提供在符合模块接口下的算法切换功能

  • 模型插件化

开放Estimator接口,满足接口的任意类别模型均可接入,并使能终身学习

未知任务识别等模块内置元模型和样本迁移,可自适应学习接入模型行为

  • 场景可扩展

平台核心与应用程序实现解耦,不同应用互不干扰

开放基于云原生方法的超参数选择,不同应用可通过K8S-CRD实现云原生客制化

  • 云原生边缘计算

受益于 KubeEdge 的云原生边缘计算能力,便于应用的边云调度、迁移和通信

受益于 K8S以及CRD开放灵活的接口,便于与云原生生态系统集成,丰富功能

图2 KubeEdge SIG AI边云协同终身学习架构

▍2. 边云协同终身学习全面升级

本次KubeEdge SIG AI对边云协同终身学习全面升级,以应对开放世界应用场景。KubeEdge SIG AI最新发布的Sedna v0.6和Ianvs v0.2提供以下增强特性:

  • 边云协同终身学习不仅支持结构化数据场景,更进一步支持图片视频等非结构化数据场景

  • 边云协同终身学习提供了包括开源数据集、基线算法、关键指标的全面基准测试套件

  • 边云协同终身学习具备未知任务识别与处理高级能力

图3 KubeEdge SIG AI边云协同终身学习算法流程

对应的更新版边云协同终身学习流程如图3所示,下面章节对三项新特性分别展开介绍。

2.1 升级特性一:支持非结构化数据场景

边云协同终身学习需要适应开放世界的多种场景。开放世界中不仅有机器控制等结构化数据,还有音视频等非结构化数据。同时,面向开放世界的工作也将贯穿整个边云协同终身学习流程,边缘模型运行时可能遇到未知任务,需要提前识别、及时处理和更新,确保服务鲁棒性和可靠性以应对开放世界。下面分享一个相关案例。

图4演示案例展示机器人智能导航案例,可用于机器人递送或工业巡检。该案例在华为园区部署基于KubeEdge-Sedna终身学习的语义分割技能,终身学习可以通过斜坡等新类别检测,应对未知情况,如越过低矮障碍物,最终实现智能导航。案例演示视频已在国际开源顶会Open Source Summit Japan 2022、第一届云原生边缘计算学术研讨会(KEAW'22)、以及KubeEdge社区公开课 [12-14]发布。验证结果显示,该模型在Corner Case下的精度提升1.78倍,单次递送时间减少28.04%。

图4 KubeEdge-Sedna云机器人终身学习案例

2.2 升级特性二:发布全面基准测试套件

终身学习相关算法如终身SLAM、终身目标检测等,近年来因为能够应对边缘数据异构和小样本问题而收到关注。但现实世界的实践,需要进一步考虑其边云协同实现。为加速研究和成果转化, KubeEdge SIG AI开源了边云协同终身学习基准测试套件,帮助人工智能应用开发者验证并选择最合适的边云协同终身学习算法。本次发布的特性还支持语义分割应用样例,可用于机器人导航、巡检、清洁、送货等场景。

在本次版本发布中,KubeEdge-Ianvs 同时提供了开箱即用的真实数据集(名称待定)、基线算法、关键指标,供开发者探索和使用,如图5所示。

图5 边云协同终身学习基准测试套件:全新数据集

2.3 升级特性三:新增未知任务识别与处理高阶能力

(1)机器人巡检场景:

基于占位符的未知任务识别 未知任务识别是机器人异常检测和巡检场景中终身学习的关键问题。在这些场景中,如果无法检测到未知情景,将会造成严重的经济损失。传统机器学习方法只能通过训练有限的已知样本来进行测试集推理。对于新类别的未知样本,它们无法有效识别,而是将它们当作已知样本来处理。因此,如何识别和处理未知样本或未知任务,将成为人工智能未来的重要研究方向。KubeEdge Ianvs在边云协同终身学习场景下,复现了CVPR2021论文《Learning placeholders for open-set recognizes》[15],如图6所示。该论文提出了一种模仿新类出现的占位符方法,可以将封闭集训练转化为开放集训练。这项工作可以推动未知任务识别的研究,帮助我们探索解决这一问题的多种方案。

图6 机器人巡检场景:基于占位符的未知任务识别

(2)机器人巡检场景:基于生成对抗网络的未知任务处理

在机器人异常检测和巡检场景中,终身学习需要处理识别到的未知任务。终身学习过程中,未知任务的数据可能是异构和小样本的。生成对抗网络(GAN)是一种先进的生成模型,可以根据真实数据的分布生成数据。KubeEdge SIG AI在Ianvs上发布了一个新特性,尝试用GAN来解决小样本问题,但GAN生成的数据没有标注。自我学习(Self-taught learning)是一种利用稀疏编码和未标注数据构建高级特征来提高分类性能的方法。因此,社区成员把GAN和自我学习结合起来,帮助终身学习处理未知任务,如图7所示。

图7 机器人巡检场景:基于生成对抗网络的未知任务处理

(3)自动驾驶场景:基于多任务联合推理的未知任务处理

自动驾驶是边缘AI的重要应用领域之一,它需要研究如何协同边缘和云端资源为自动驾驶应用提供支持。自动驾驶对边缘 AI 推理性能有很高的要求。一方面,由于车辆运动的特点,自动驾驶车辆面临的场景复杂多变,适用的任务不确定,因此需要根据任务关系动态更新联合推理的方式。另一方面,自动驾驶对实时性的要求也很高,这需要我们在精度和延迟之间进行权衡。因此,边缘设备支持此类应用的难度很大。在自动驾驶感知的情况下,很多因素都会影响某个任务训练的模型的性能,而对于某些任务,我们不得不使用次优的模型进行推理,这会大大降低推理性能。联合推理可以提高感知性能,并且这种方法已经成功应用于Sedna历史项目中,例如头盔检测示例。本次发布在Ianvs上的算法为终身学习功能添加了对多任务联合推理的支持。该功能将支持以自动驾驶汽车为代表的边缘设备在满足实时需求的基础上,在本地完成高精度的神经网络推理,主要基于BDD100k等异构多任务自动驾驶感知数据集进行研究。

图8 自动驾驶场景:基于多任务联合推理的未知任务处理

****▍****3. Release Note

如果读者对于本次版本发布的更多细节感兴趣,欢迎查阅 Sedna v0.6 及 Ianvs v0.2 Release Note:

github.com/kubeedge/se...

github.com/kubeedge/ia...

后续KubeEdge SIG AI将发布系列文章,陆续具体介绍本次全面升级的特性,欢迎各位读者继续关注社区动态。

参考文献

[1] Zheng, Z., Li, Y., Song, H., Wang, L., & Xia, F. (2022, October). Towards Edge-Cloud Collaborative Machine Learning: A Quality-aware Task Partition Framework. In Proceedings of the 31st ACM International Conference on Information & Knowledge Management (ACM CIKM'22), pp. 3705-3714.

[2] Zheng, Z., Luo, P., Li, Y., Luo, S., Jian, J., & Huang, Z. (2022, June). Towards lifelong thermal comfort prediction with KubeEdge-Sedna: online multi-task learning with metaknowledge base. In Proceedings of ACM e-Energy'22, pp. 263-276.

[3] B. Liu, Lifelong machine learning: a paradigm for continuous learning., Frontiers of Computer Science. 11, no. 3 (2017): 359-361., 2017.

[4] Huawei Cloud Developers. Support edge-cloud collaborative lifelong learning features, KubeEdge sub-project Sedna 0.3.0 version released! [EB/OL]. 2021-06-07. segmentfault.com/a/119000004....

[5] 郑子木. KubeEdge-Sedna v0.3:迈向次时代自动定制的AI工程范式 [J]. 自动化博览. vol. 39., no. 344 (2022.02): pp. 72-75. 2022.

[6] Zheng, Zimu, Jie Pu, Linghui Liu, Dan Wang, Xiangming Mei, Sen Zhang, and Quanyu Dai. "Contextual anomaly detection in solder paste inspection with multi-task learning." ACM Transactions on Intelligent Systems and Technology (TIST) 11, no. 6 (2020): 1-17.

[7] Zheng, Z., Xie, D., Pu, J., & Wang, F. (2020, June). Melody: Adaptive task definition of cop prediction with metadata for hvac control and electricity saving. In Proceedings of ACM e-Energy'20. pp. 47-56.

[8] Zheng, Z., Wang Y., Dai Q., Zheng H., Wang, D. "Metadata-driven task relation discovery for multi-task learning." In Proceedings of IJCAI (CCF-A), 2019.

[9] Zheng, Z., Chen, Q., Fan, C., Guan, N., Vishwanath, A., Wang, D., & Liu, F. "Data Driven Chiller Sequencing for Reducing HVAC Electricity Consumption in Commercial Buildings." In Proceedings of ACM e-Energy, 2018. Best Paper Award.

[10] Zheng, Z., Chen, Q., Hu, C., Wang, D., & Liu, F. "On-edge Multi-task Transfer Learning: Model and Practice with Data-driven Task Allocation." In Proceedings of IEEE TPDS (CCF-A), 2019.

[11] Chen, Q., Zheng, Z., Hu, C., Wang, D., & Liu, F. "Data-driven task allocation for multi-task transfer learning on the edge. " In Proceedings of IEEE ICDCS (CCF-B), 2019.

[12] Siqi Luo. From Ground to Space: Cloud-Native Edge Machine-Learning Case Studies with KubeEdge-Sedna [EB/OL]. 2022-12-05. www.youtube.com/watch?v=bIa...

[13] 郑子木. 边云协同终身学习在智慧园区及工业领域创新探索及落地 [EB/OL]。KEAW'22。2022-11-17. www.bilibili.com/video/BV1Me...

[14] 郑子木,杨浩进. KubeEdge云原生边缘计算公开课12-边缘智能进阶:适配多样场景和应对分布式系统 [EB/OL]. 2022-12-27. www.bilibili.com/video/BV1W4...

[15] Zhou, D. W., Ye, H. J., & Zhan, D. C. (2021). Learning placeholders for open-set recognition. In Proceedings of CVPR (pp. 4401-4410).

号外!

华为将于2023年9月20-22日,在上海世博展览馆和上海世博中心举办第八届华为全联接大会(HUAWEICONNECT 2023)。本次大会以"加速行业智能化"为主题,邀请思想领袖、商业精英、技术专家、合作伙伴、开发者等业界同仁,从商业、产业、生态等方面探讨如何加速行业智能化。

我们诚邀您莅临现场,分享智能化的机遇和挑战,共商智能化的关键举措,体验智能化技术的创新和应用。您可以:

  • 在100+场主题演讲、峰会、论坛中,碰撞加速行业智能化的观点
  • 参观17000平米展区,近距离感受智能化技术在行业中的创新和应用
  • 与技术专家面对面交流,了解最新的解决方案、开发工具并动手实践
  • 与客户和伙伴共寻商机

感谢您一如既往的支持和信赖,我们热忱期待与您在上海见面。

大会官网: www.huawei.com/cn/events/h...

欢迎关注"华为云开发者联盟"公众号,获取大会议程、精彩活动和前沿干货。

点击关注,第一时间了解华为云新鲜技术~

相关推荐
豌豆花下猫3 分钟前
Python 潮流周刊#78:async/await 是糟糕的设计(摘要)
后端·python·ai
YMWM_5 分钟前
第一章 Go语言简介
开发语言·后端·golang
云计算DevOps-韩老师6 分钟前
【网络云计算】2024第47周-每日【2024/11/21】周考-实操题-RAID6实操解析2
网络·云计算
码蜂窝编程官方22 分钟前
【含开题报告+文档+PPT+源码】基于SpringBoot+Vue的虎鲸旅游攻略网的设计与实现
java·vue.js·spring boot·后端·spring·旅游
hummhumm40 分钟前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
J老熊1 小时前
JavaFX:简介、使用场景、常见问题及对比其他框架分析
java·开发语言·后端·面试·系统架构·软件工程
AuroraI'ncoding1 小时前
时间请求参数、响应
java·后端·spring
好奇的菜鸟1 小时前
Go语言中的引用类型:指针与传递机制
开发语言·后端·golang
Alive~o.01 小时前
Go语言进阶&依赖管理
开发语言·后端·golang
许苑向上1 小时前
Dubbo集成SpringBoot实现远程服务调用
spring boot·后端·dubbo