智能边缘开源框架Baetyl,构建边缘融合智能应用
Posted 边缘计算社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能边缘开源框架Baetyl,构建边缘融合智能应用相关的知识,希望对你有一定的参考价值。
内容来源:全球边缘计算大会·深圳站
分享嘉宾:百度智能云物联网主任架构师 李乐丁
整理编辑:上海第二工业大学 徐盼望
出品:边缘计算社区
1.
边缘计算已来到舞台中心
边缘计算,在今天已经不是一个陌生的词汇,全球一线的科技企业和大型组织无论在讨论物联网、CDN、5G,还是各种产业应用的时候,都会提及Edge,边缘不再是“边缘”,它已然走到了舞台的中心,而这个舞台就是计算。现如今,日常工作和生产作业中,基本上已经被各式各样的智能应用或者数字化设备所围绕,“计算”正在成为一个无处不在的事情。
如果要让计算存储网络这样的算力实现真正的无处不在,为生活中所需之处提供服务,那就必须看到它的与众不同,其中最典型的特点就是计算能够不受到物理空间条件的限制。例如,位于中心的IDC系统虽然具有无比强大的弹性算力,但其所在世界上的物理位置相隔各种各样终端设备的距离比较长,可能需要几十甚至上百毫秒的时间,这样就会产生网络延迟。
为了克服此类延迟,实现大量的如自动驾驶或者工业场景等实时应用,就需要在事件发生的就近位置进行快速的数据处理,因此当计算离开数据中心之后,就进入了边缘计算的范畴。例如,在CDN网络上构建边缘计算,实现快速的视频和直播的处理,进一步将计算下沉到5G MEC的网络中,在得到一个十几或者几十毫秒的快速数据处理的同时,还可以利用5G网络,进一步下沉到物联网的终端设备上,以毫秒级或者亚毫秒级进行快速处理。基本上,边缘计算无处不在提供服务。
2.
智能边缘开源框架——Baetyl应运而生
图1:边缘计算要解决的四项问题
接下来,围绕边缘计算整个产业的运作方式以及边缘计算要解决的问题展开介绍。通常而言,边缘计算要解决四大问题,数据的接入、存储、处理、同步。接入是指各式各样不能跨越特别长网络延迟的终端设备,需快速连接到本地数据中心的同时保证网络的安全和隐私,因此需要做私有网络下的接入。在私有网络接入数据后,需要进行实时的存储和处理,这样既可保证应用的延时,也能保证数据的安全和合规。安全和云不是割裂的,往往需要既在边缘快速处理数据,又需要使用云的弹性资源进行各样的迭代和挖掘支持,帮助来自边缘的数据和云上的核心算力实现互联。
图2:百度智能边缘计算架构
今天的边缘计算项目层出不穷,那么通常是用什么样的组织方式呢?上图可以基本上反映出目前一线科技公司在边缘计算方面主要的处理策略。一方面大多数公司会支持一个开源的项目,因为目前边缘仍然处在早期阶段,通过开源项目或社区的合作,可以快速推动整个方向的发展。另一方面是基于开源的项目而不仅仅是单一公司或者单一组织的项目,使来自社区的力量整合出的开源技术具有更加面向企业的能力,从而去提供商业化的服务方案,最终这个商业化的解决方案能够将各式各样的设备、算力与落地的应用相结合,这通常是组织一个开源的边缘计算项目和一个商业的边缘计算业务两者之间的关系。
基于这样的理念,百度建立了Baetyl这个开源项目。Baetyl项目是在2019年由百度向LF基金会捐助,也是LF基金会成立以来最早加入的项目。该项目的目标是为边缘侧提供各种各样的云原生编排能力。如今,大家通过不断地使用容器化、Kubernetes等技术去迭代应用,而这些应用不仅仅是运行在云端,同样正在渗透到应用当中,所以Baetyl要为边缘侧提供云原生的能力。与此同时,一旦边缘侧具有了运行容器和云原生应用的能力,云上积累出来的各种各样的应用就需要无缝下沉到边缘,在边缘侧实现各式各样的业务处理。正因为当前边缘侧各种各样的场景中呈现出高度碎片化的状态,涌现了各种不同的软件和硬件设施,因此Baetyl从设计上就以跨平台为目标接触到各种主流的软硬件设备。
Baetyl项目目前定义了三个主要目标。
第一个目标是为各种各样的边缘场景提供一个标准化的云原生运行环境,所以当用户安装了Baetyl框架后,无论是使用小型的计算盒子,还是使用相对大型的工业网端或边缘AI一体机等,都将统一具备云原生能力,使得一个标准的K8s控制面接口可以将原先所有积累的K8s知识直接应用到边缘上。
第二个目标是为大量的无人职守设备提供远程管理能力,边缘计算的设备通常都离散部署在全球或全国各个地方,而这些地方很难保证能够有大量的运维人员帮助其运行,因此这些设备需要完全在无人管理的情况下自主的运行和管理,Baetyl这个项目正是希望所有的设备在保证网络和电源的情况下就可以运行并纳入到边缘计算的网络之中。
第三个目标是为各种各样的边缘应用提供工具和服务。
图3:Baetyl云原生机制
上图展示了Baetyl的主要架构和其在边缘计算的开源大视图中所处的位置。Baetyl着力于解决如何将云上普通的应用以及AI应用与边缘进行同步,这其中还包括将云上的应用无缝地下发到边缘上运行,也可以将边缘上采集获取到的数据进行脱敏上传到云端进行深入的加工。这张图上半部分是Baetyl的云端管理部分,也是一个标准的K8s的应用程序,可以运行在支持K8s环境、K8s模式的基础设施环境中。在这个环境中,它将与云端的系统进行无缝结合,通过在云端定义各种各样的边缘设备节点,就可以使用K8s知识,而后在Baetyl云端部分将所有的配置采集后打包,通过网络下发到边缘节点上。
在边缘节点上,Baetyl主要将边缘节点升级成一个云原生节点,完全运行在一个K8s的环境中,接受云端的配制和管理,将云端下发过来的各种配制和管理重新翻译成K8s的应用在边缘侧运行。通过这个方式可以实现完全远程的管理,无论是一个还是成千上万个节点都可以在云端使用单一的控制台,使用单一的K8s技术进行编排应用以及升级和管理设备。
3.
Baetyl构建的智能应用案例
图4:BIE边缘AI推断
既然Baetyl具备从云端向边缘下发应用的能力,那么在Baetyl支撑上可以下发什么样的应用值得一探究竟。
这个DEMO项目是一个边缘的AI视觉处理项目,该项目基本在Baetyl上运行了各种各样的应用程序,应用场景非常广阔,可以进行建筑的勘测,安防、交通管理等。在边缘侧,首先将一个视觉的理解应用程序下发到Baetyl上,就能够实现视频的接入服务。比如,USB摄像机,采集他们的图片并对其进行抽帧,接着送交一个AI的应用程序在云端进行训练,得到模型之后再下发到边缘节点上,在边缘节点上直接进行AI的推断。同时,Baetyl会去解决推断加速问题,例如,使用了什么样的硬件,比如GPU或是新的神经网络芯片。无论模型训练的时候使用的是百度、TensorFlow、PyTorch、或PaddlePaddle的模型,Baetyl会自动让模型在硬件上得到AI加速进行推断,推断的结果可能是裸的结构化数据,它如何应用到具体应用当中,需要各式各样的辅助功能。
例如可以由一个时间的触发机制,定时地进行清理和加工,还可以进行云端上传能力,将推断的结果发送到客户云端部署的服务器中,这样他就能知道我现在发生了一件什么样的事情;还可以进一步的图片编辑和解码,将识别出来的内容在原始图片上进行标注,很好地实现可视化。
这些辅助功能都可以作为一个容器化的云原生应用程序应用在Baetyl上,而这些程序的开发、测试可以完全在云上使用。得到这些边缘数据之后,因为边缘和云不是割裂的,我们可以将边缘中整理提取出来的数据进一步上传到云,使用云端进行存储,连接到云上各种AI系统,进行多样的深入分析和模型迭代,也可以在云上直接进行管理,分发应用。这就是各种各样的应用程序在Baetyl上的运行模式。
从百度智能云的几个实际案例中,可以更清晰展示如何使用Baetyl去构建智能的应用程序。首先介绍一下在物联网和AI方面的解决方案,通过对设备进行观察获得知识,最终形成各式的行动,比如,通过视觉的技术去观察路面上所有车的运行状况,再利用AI技术分析路面的交通情况,从而实现助力交通问题的改善,这就是洞察和行动的过程。
为了实现这些,百度智能云建立了云端的物联网平台-百度智能云天工物联网平台,也是国内最早提供商业化的物联网平台之一。目前已有过亿的设备连接,每年会处理数十亿的数据。基于这样一套系统,可以在云端进行大规模的数据采集,而后结合这些采集过来的数据帮助客户实现AI智能。
图5: 百度智能云天工物联网平台架构
整个天工物联网平台覆盖的范畴非常广泛,一系列的物联网基础设施助力百度智能云天工具备连接万物的能力,其中就包括Baetyl项目的商业化版本,即智能边缘计算BIE,物联网核心套件IoT Core、时序时空数据库TSDB等;而基于这些基础的产品构建了面向视觉、数据、语音的智能应用,通过智能应用给予天工物联网对话万物的能力;最后将其广泛应用于能源、交通、工业等一系列应用场景中,从而实现智慧万物。
图6:BIE能源AI中台解决方案
上图对应展示了百度智能云针对能源提供的AI中台解决方案,该方案可分成应用、模型和平台三部分。应用层面向具体的场景进行各种各样的检测和识别能力,模型层利用百度的AI能力提供各种各样预训练好的AI模型,背后则是百度强大的AI训练和分析能力。实现AI能力的背后数据是必不可少的,数据的获取则是通过下面的物联中心,包括物联网和边缘计算采集的数据。
基于这套平台,我们将AI能力与物联网进行无缝结合,最底层是各类的电网设备,包括电表以及在成千上万公里的输电网络上引入的无人机和机器人进行检测和巡检,这些设备采集来的数据将实时进入边缘计算层进行处理。例如,在电表旁边的电箱进行处理,在电站旁边我们会配置一个相对强大的服务器,在无人机旁边会通过Lora网络或者5G网络连接到就近的MEC节点上进行处理,这样就可以尽快的进入我们边缘层进行处理。这些数据处理将帮助我们的电网更好的预测电能,更好的改善能源的供应,提升它的效率。而这些算法或者AI模型将在最上层的百度AI平台得到不断的迭代和运行才是背后助力效率提升的根本。
整体而言,百度智能云在能源方面提供了度能-综合能源服务平台,该平台通过结合边缘计算的实时数据处理能力和AI模型训练能力,提供更好的用能核算,降低运维能力,让用户能够清楚看到能源使用情况并对所有的能源和电力设备进行全生命周期管理。
图7:度能应用案例
左侧的图片直观展示了目前所有电能的运行情况,右侧的图片展示了所有终端设备通过传感器采集的数据,这些数据会直接进入边缘计算的设备节点中进行处理。这些节点中运行的是我们为用户提供的供能专用AI模型,可以帮助用户更好的预测能源使用情况,从而提升效率。
在交通方面,天工物联网结合自动驾驶和边缘计算推出了V2X边云融合解决方案,助力百度在智能驾驶智能交通领域持续探索前进。在这个方案中,主要通过两方面帮助智能驾驶更好得提升其能力。一方面让车和路能够协同起来,和一些更发达的国家相比,我国的路况更复杂,有更多难以预知的情况,现阶段最快实现自动驾驶的方法不是完全依赖车的智能化,而是要做到车和路的同时智能。我们可以在路侧或者停车场中增加视频的采集能力,就近进行分析和处理,从而实时获取一条路上出现的车、人、物的信息,这些信息再通知就近自动驾驶的汽车,同时实时通知到交通管理部门。既提升车的自动驾驶环境,又让交管部门具备更强的控制力,这样真正实现整个城市的智慧交通,帮助我们最终走向L3、L4高度的自动驾驶。
另一方面,帮助现行大量的存量汽车实现L1、L2相对辅助的自动驾驶。V2X边云融合解决方案提供各种实时的辅助检测,可以在路上进行路的检测,以及对司机进行疲劳检测。同样是在车上进行智能设备的部署,通过该设备运行智能边缘计算的应用,边缘计算背后正是Baetyl,Baetyl将云端训练出来的模型和应用下发到对应辆车上,实现智能应用的运行。
图8: V2X边云融合解决方案应用案例
上图左侧,如果只是为了检测司机的一次疲劳,例如,打哈欠,这样的解决方案并不困难且非常多。但是实际上面对各种各样的路况和人,一次性的检测并不全面,需要有能力让检测模型不断的升级和迭代以应对所需检测图像不断变化的挑战。V2X边云融合解决方案不是提供一个所谓完全离线的智能设备,而是经由边缘计算Baetyl的框架将该设备与百度智能云连接起来,通过在云端不断的采集大量数据去升级和迭代相应的检测算法,不断的将更新更好的模型和算法分发到所有的智能设备上,形成一个数据上行、知识和应用下行的闭环,最终更快地向着高度自动驾驶去迈进。
一直以来,智能边缘开源框架Baetyl在开放中立的社区环境中得到不断的支持和发展,在众多活跃的贡献者努力下,baetyl已实现更多具有挑战性的功能。未来,baetyl将持续向着构建开放、安全、可扩展、可控制的智能边缘计算平台方向前进。
点击“阅读原文”,或访问 GitHub,体验 Baetyl 更多内容。
以上是关于智能边缘开源框架Baetyl,构建边缘融合智能应用的主要内容,如果未能解决你的问题,请参考以下文章