共计 6799 个字符,预计需要花费 17 分钟才能阅读完成。
2023 年寰球人工智能开发者先锋大会(GAIDC)于 2 月 25 日、26 日在临港胜利举办,大会深刻贯彻党的二十大报告指示精神,以“向光而行的开发者”为主题,围绕 AI 开发者所关注的前瞻摸索、开源凋谢、人才引育、生态培养等方面开展。本届寰球人工智能开发者大会汇聚寰球顶尖行业大咖,邀请到 Linux 凋谢元宇宙基金会执行董事 Royal O’Brien、中国科学院院士鄂维南、中国工程院院士王坚、商汤科技联结创始人徐立,此外还有泛滥开发者红人、代码大神。
1 小时 42 分观看李翔演讲视频
边无际北京科技有限公司的 CTO 李翔受邀参加论坛演讲,进行了“Shifu 云原生赋能 AIoT 开发”的主题演讲,深刻解说了云原生和 IoT 的联合的技术门路,以及边无际公司在这该畛域的实际和教训。以下为演讲原文:
1、云原生进入边缘场景
云原生这个名词置信大家都不生疏了,当初十分风行。随着云服务厂商在各大畛域的逐步攻城略地,云原生作为一个开发理念也被带入了其余各个领域,简略来说它给咱们带来了四个个性:
首先是高扩展性,云原生能够依据咱们的需要进行弹性伸缩,保障不浪费资源,也不会缺资源。
第二是高灵活性,它是对之前这种耦合度很高的零碎进行解耦,造成一个个的小小的微服务,如此一来,服务其实就模块化了。如果哪个中央呈现问题,想减少哪些方面的需要,就能够只开发这一个微服务,而不须要管其余的服务。
第三是高适应性,云原生开发理念要求咱们的服务能够适应绝大多数软硬件环境,简略来说就是跨平台,不受外界环境的影响。
最初是高敏捷性,咱们须要对任何问题和需要产生快速反应,继续的开发和部署。服务器和容器化编排等技术其实都是发祥于云原生理念,对于企业来讲,它带来的益处就是更棒的降本增效。
云服务厂商给咱们提供了根底硬件和技术软件,咱们不须要花工夫和精力去思考怎么买硬件,怎么配置这些硬件,这就给咱们升高了很大的老本。同时,依赖于对立的开发工具,升高了软件开发者的学习老本。容器化提高效率,比如说云原生的开发者其实绝大多数都是在用麻利开发准则,因为它们之间是相辅相成的。
每次要开发一个货色,只有关注这部分的微服务,更改这一部分的代码,而不须要去思考是否会造成牵一发而动全身,是否会造成软件整体的间接崩塌。因为在微服务高度解耦的体系下是很难产生的,所以就不须要管不相干的服务带来的影响,只须要专一于问题自身。
如此一来,设计和开发的老本就会升高很多。同时咱们进行软件更新的时候,因为微服务架构以及云计算厂商提供了大量的冗余,软件更新不会导致服务的长时间离线,用户体验变得十分高。
云原生架构的外围概念一共有 6 个。
- 不可变基础设施。简略来讲它就是保障服务器是可替换的,或者说硬件是可替换的。咱们在设计软件的时候齐全不须要也不应该去思考软件变动会对硬件带来什么影响。咱们能够当做硬件不存在,或者说是当做这个硬件永远是适宜软件的就能够了。
- 微服务。微服务也是一个十分风行的名词,每个微服务之间彼此是独立的,这样在开发的时候就加重了很多累赘。
- 服务网格。服务网格其实就是一个不被感知的交换层,换句话说咱们在开发微服务的时候,只有保障微服务自身是能够交互的就能够了,至于他们怎么交互,微服务之间是怎么交换,微服务和用户之间是怎么交换,咱们不须要管,这是服务网格主动帮咱们解决的。
- 容器。容器也是一个十分风行的词了,它能给咱们带来很轻的环境、很少的资源节约、进步了扩展性,简略来说就是跨平台这种成果。咱们只须要把服务打包成容器镜像,那么它跑到哪个中央以及怎么跑都无所谓。
- 可继续集成和可继续部署,或者说 CI/CD。它给咱们提供了一整套的开发和部署流程,咱们只须要把代码上传,剩下的包含编译、测试、部署都是由 CI/CD 来实现的,咱们齐全不须要管。
- API。API 是用户跟软件进行交互的最外围的货色,它是所有沟通的基石,其实用软件实质上来说就是在调 API。
这六个概念能够合成一个简略的架构。用户先进行 API 调用,而后 API 调用信息通过服务网格传送给各个微服务,再进行解决。如果有新版本要更新,新版本会经由 CI/CD 来部署到各个微服务之中,保障服务的顺利更新。最底下计算资源(不可变基础设施)齐全不必管,它就是在那,而且会始终反对咱们。
上图是对于云原生畛域的倒退进度。依据 CNCF(cloud native computing foundation)给的数据,从中能够发现:contributor,member,end user,project 的数量逐年增长,而且越来越多,增长速度越来越快,所以咱们能够说云原生在各个领域的扩大是呈燎原之势或者说是不可阻挡的潮流。
上图是以云原生为根底开发的一系列我的项目。从中能够看到很多驰名我的项目,比方 kubernetes,etcd 以及 helm 等。这些咱们耳熟能详的我的项目其实都是云原生孵化进去的,而且的确都是在各个领域有了十分宽泛的利用,占有十分重要位置。
2、AIoT 逐步在边缘场景风行
AIoT 当初逐步成为一个十分炽热的风行概念,是因为随着边缘计算算力的一直增长,咱们能够把 AI 的工作放在边缘端进行。一旦提到边缘计算,那么显然这就是 IoT 的天下了。
当初有了 AIoT 这个词,或者说是 AIIoT,因为 AIoT 是 Artificial Intelligence of Things。咱们当初探讨的是设施之间进行万物互联,所以是 AI 和 IoT。当初的趋势是:首先设施自身是越来越智能;AI 运算也逐步下沉到边缘端,很多设施自身都曾经开源,本人的 API、甚至是设计图也开源了。所以咱们在物联网畛域会遇到越来越多的能够让咱们自在编程的设施、自在交互的设施。
咱们发现,在线下的社区中,有很多开发者甚至在本人制作这种人工智能设施。这种智能硬件越来越多,同时也给咱们带来了更多的 AIoT 需要。所以当下是非常适合 AIoT 进行进一步的蓬勃发展。
ChatGPT 的风靡寰球其实给咱们带来了很大启发:人类跟设施进行交互到底是在干什么?其实就是人与设施进行交换。按这个按钮是要通知设施:你要执行这个操作。而后设施反馈绿灯一亮就是在通知咱们操作执行实现了。所以这其实是在交换。
那么如果应用 GPT3 或者相似的 LP 模型来赋能设施的话,就会发现:咱们甚至就不须要看说明书来学习这个按钮是干什么的。咱们只须要给设施下命令,以自然语言跟它说:“请帮我做这个”,设施就会以自然语言来回复:“我做完了”。这对于用户体验的晋升以及学习老本的升高都十分无利。
上图是一个十分乏味且有启发性的 Project。Ellee 是一个以 Jetson Xavier 和 GPT3 联结训练进去的一个玩具熊。作者让玩具熊能够跟他孩子进行自在交换对话。
云原生其实给 AIoT 提供了很多十分有用的个性,甚至能够说云原生就是为 AIoT 开发了这些个性。比方以 Kuberbetes 为核心的编排零碎提供了 CPU 管理策略,能够间接隔离 CPU,也就是说保障 CPU 资源间接被无效利用在 CPU-heavy 的工作中。这就保障 CPU 不去掺合 AI 这些事了。家喻户晓,AI 是要用到 GPU 的,那么 Kuberbetes 提供的设施插件让利用领有能够用 GPU 的能力。拓扑管理策略用于保障资源无效地调配给 GPU 和 CPU。Pod 和 Operator 用于保障微服务的相互独立以及自动化运行。这都是非常适合 AIoT 在边缘端进行操作的一系列个性。
3、Shifu 赋能云原生 AIoT
所以边无际就开发出了 Shifu 这一云原生 AIoT 开发平台,其目标是为了把这些方才提到了云原生和 AIoT 的个性进行联合,开释出更大能量。
Shifu 是基于 Kuberbetes 的开发框架,它的核心技术或者外围个性就是结构性虚拟化。Shifu 把一个个设施虚拟化成一个个微服务,这些微服务对于用户来讲就是一个 API,用户能够间接通过调用 API 来调用设施;同时因为这些 API 是对立的,用户基本不须要什么学习老本就能够操纵所有的设施,这是一个十分棒的交互能力。
如上图所示,是 Shifu 的技术架构。能够看到最底层的物理设施就是实在设施,曾经由 Shifu 变成了形象的虚构设施,一堆物理设施集群能够形象到虚构设施的集群,整个场景就变成了可编程的场景。由此也就有了虚构实验室和虚构工厂一类的货色。事物外部自身有这种平安框架,能够保证系统的平安。管控框架能够保障设施连贯和交互顺利运行,以及互联框架保障设施之间的单干,平台框架能够用 UI 进行操作,由主动调度零碎进行设施自动化以及资源调度,这就是 Shifu 的一个大抵构造。
Shifu 提供的是从接入设施到整个零碎运维一整套的解决方案。首先,Shifu 对市面上绝大多数的协定和驱动都是兼容的,能够即插即用,没有生态壁垒。在利用开发局部,Shifu 其实给用户提供了一系列 API,让用户能够自行调用,保障用户可能非常简单地调用任何设施。最初一环是零碎运维,是 k8s 原生架构。Kuberbetes 自身是一个十分好的运维工具。鉴于已利用了这种微服务架构以及对立的 API,所以在运维方面也是非常简单的,提供了超高的零碎稳定性,是一个从 0 -100 的整套解决方案。
咱们给 Shifu 的定义是连贯云端和设施的桥梁。开源我的项目中有 K3s、Edge X、EMQ 之类的产品,也是服务于物联网局部,其实他们的个性其实并不齐全跟 Shifu 一样,Shifu 采纳了云原生一体化架构将设施间接管起来。
所以,这是 Shifu 的一个十分好的竞争劣势。Shifu 的次要发力点其实是在工业智能制作畛域,因为 Shifu 能够首先保障连贯所有设施,而后保障整个场景智能化,以及让开发更加疾速。Shifu 给厂商或者客户提供了这一整套解决方案,会解决他们在云端、在边缘侧,以及在它的设施或者工业现场的接入、设施治理、运维的一系列痛点。
具体而言,咱们首先实现了十分好的云边协同 。Shifu 能够在云端做一些比较复杂的操作,在边缘端做一些比方边缘 AI 算力的部署,边缘 AI 利用的部署这些货色,保障云和他人之间的交换是通顺的。其次能够保障对设施的百分百兼容,保障云边端这三局部能够互通有无。 如果没有云或者说不想联网,那么也能够保障只在边缘侧和设施侧进行部署,也是一个十分好的、十分残缺的私有化解决方案。
Shifu 实现的成果是把这种传统的管制架构,比方图里的工业软件 ANDON、EMS、SCADA 跟底下的控制器设施进行连贯的复杂性升高。在实在的工业现场。异构设施 PLC、HMI 的联系方式不一样,所以咱们就须要思考如何连贯到 MES 零碎,这些是须要高度定制化的,而且牵一发而动全身,十分难以复用。
Shifu 就是用来改善这个问题。Shifu 能够把上层局部的这些业务全副兼容,北向凋谢的就是残缺对立的 API,不须要任何学习副本,只须要进行调用。实际上咱们凋谢的是 HTTP,比如说咱们在调用的时候间接调用 HTTP API 就能够实现这所有。这就是 Shifu 提供的一个十分好的对立计划。
4、Shifu 利用案例
咱们方才提到了 Shifu 框架,其实该框架曾经在很多客户那里失去了正确和宽泛的利用。
第一个例子是工业 4.0 液体实验室。客户有一系列实验室,实验室里有一堆分液器、美标仪、液体定量器、主动导引车、机械臂等货色。咱们有必要理解这些货色是干什么的吗?其实没有必要,咱们不须要晓得它们是什么,只须要晓得有什么能力。比如说某个仪器提供摇试管的能力,那么 Shifu 就能够将其形象成 API,摇这个动作就是一个 API,用户就能够进行调用。
Shifu 对所有的设施做的都是这些事,把设施自身变成一系列 API。有一个乏味的事就是机械臂和主动导引车,这两个其实能够组装到一起的,而且咱们在 Shifu 外面也实际上真的把它俩组装成一起。这两个是一个数字实现或者说一个微服务,这是 Shifu 能够提供的比拟高级的能力,设施的聚合。
整个流程是把机械臂安在导引车上,而后拿这些试管别离送到分液器上,再送到酶标仪上,再送到震荡器里进行解决,而后再拿下来送到另外一个机器上。Shifu 管制的就是这一套流程,它管控和编排所有的设施,而后运行用户的自动化的生产逻辑。
软件的架构如上图所示。其实也并不简单,Shifu 这边有一个 Shifu Controller,相当于一个中枢,这些 node 用户能够本人定义,processing unit 蕴含了解决液体的货色,MovingArm 是一个治理主动导引车加机械臂合起的一个聚合。其实这是一个非常简单的架构,Shifu 能够反对边缘平台 Prometheus,SQL,MQ 等对底下数据利用。
以下是用户应用 Shifu 的办法。用户首先提供驱动文件(设施厂商提供),不论该文件是什么格局,是可执行文件也好,是 Python Library 也好,是动态链接库也好,都无所谓,间接提交到 Shifu 平台上,Shifu 就能够给它打包,变成能够应用的货色。而后进行文件配置。
配置文件就须要用户填写一些货色了。用户填写内容包含硬件设施 sku、硬件设施的名字、驱动镜像的名字、以及这个设施是怎么连贯的,它的连贯形式的名字以及它须要用到哪些 API。就检测办法而言,无限状态机的自动化设置这些都是可选的,依据用户的需要来决定填什么内容。
简略来说无限状态机是一个比拟高阶的个性,它用于实现简略自动化,决定了设施在哪个状态下接管到另外一个命令,会转移到哪一个新的状态之中,其实简略来说就是依据以后的环境以及以后的命令,进行自动化应答的一个个性。
第二个例子是咱们跟中国船舶进行的第一轮单干,在中国第一艘自主大油轮船上部署有 Shifu 的生物降解零碎。“首制船”的生物线零碎是装置在每条船的一部分,而后而后船上会有很多个生物链零碎来解决厨余垃圾。咱们在船上部署了 Shifu Framework,保障了其能够很疾速敏捷地降级或者更改,以及操控生物业余零碎。
上图是交付发云边独立集群解决方案。首先咱们在云端应用 k8s 收集船上所有的数据进行剖析,而后在边缘端(也就是船上)部署 k3s,能够实现一些在边缘端做的简略利用,包含一些小 AI 解决,比如说实时报警、机电管制等。
第三个例子是咱们跟中国船舶进行的第二次单干实现云边端协同。利用阿里的 OpenYurt 实现了云边的买通。如此一来,咱们不仅能够保障这个零碎能服务于每一艘船,还能够服务于整个船所形成的船队,或者说寰球的所有船。
最初一个例子是给某央企提供的基于 AR 设施的 AIoT 近程操作和运维的场景。图示是一个 AR 巡检的场景,咱们的指标是应用 AI 对于工人操作进行领导和检测。简略来讲,工人通过戴 MR 头盔,能够实时依据 MR 头盔给他的提醒进行设施操作去进行学习,同时 MR 头盔也会检测操作是否出错,以及 MR 头盔会看四周的环境,来通知他下一步要干什么。
Shifu 把 MR 头盔以及场景里的机器设备,以及包含传感器进行虚拟化,而后保障 AI 在解决这些货色的时候,用到的资源是足够的,并且没有任何节约。
上图的软件架构十分像之前的液体实验室,惟一区别就是它多了一个 AI core。在边缘端有一个 AI core 能够解决场景里的所有 MR 头盔给他发送的信息。MR 头盔下面还也有一个 AI on Device(机载 AI/ 设施端 AI),能够辅助设施解决工人当初的操作状况。Shifu 接入的设施是 MR 头盔的数字孪生,机器下面的传感器,环境的传感器以及摄像头。
整个工作流程首先工人在这场景外面戴上 MR 头盔,头盔上会给他眼前显示出操作流程,工人就跟着操作流程进行解决。而后而后依据 MR 头盔 POV,还有 AI on Device 就会判断工人操作是否正确,正确就进行下一步,谬误就立马叫停,再进行其余解决。
Shifu 会记录所有检测到的操作,记录设施的报警,记录每一步他做了什么。如果开启,还会以视频流或者是照片的模式记录摄像头拍到的货色。若须要,还会上传到云端或者上传到边缘端。工程师也能够近程连贯到 MR 头盔的 deviceShifu,而后开始开启视频通话。视频通话为双向通话,工程师能够看到工人的 POV,工人也能够看到工程师的视频通话界面,这也是通过 deviceShifu 进行视频流传输来失去的。
Shifu 自身也会收集来自头盔,设施,传感器,摄像头等设施的所有数据,并传输给边缘侧以及云端进行剖析。这些数据包含所有,比方读数、文本模式、声音视频等所有货色。最初云端或者边缘的 AI 会将本人剖析进去的后果传到上传到 Shifu 平台数据库,以及在必要的时候,通过 deviceShifu 通知工人下一步操作等更加下层的提醒,或者说是进行相干设施,保障操作不对其余的设施产生影响。
上述三个案例次要讲述了 Shifu 平台为液体实验室、船还有 MR 车间到底提供了哪些云原生方面的帮忙,以及 AIoT 方面的帮忙。能够看到,客户对此是受益匪浅的。咱们也心愿把 Shifu 的这种能力提供给更多的 AIoT 利用场景,来帮忙大家更好的降本增效。
扫码增加小助手,支付演讲报告
开启物联网解决方案征询