CodeWisdom
“智能化软件开发沙龙是由CodeWisdom团队组织的围绕智能化软件开发、数据驱动的软件开发质量与效能分析、云原生与智能化运维等相关话题开展的线上沙龙,通过微信群访谈交流等线上交流方式将学术界与工业界专家学者汇聚起来,共同分享前沿研究进展与业界实践,共同探讨未来技术发展方向。”
智能CPS系统可信构造
智能化软件开发微访谈·第三十三期
背景介绍
当前,智能CPS系统已成为智能汽车、智能机器人、智能制造等多个领域的研究热点。智能CPS系统在感知、决策、控制方面通过应用先进的人工智能技术,如深度学习和计算机视觉,使得CPS系统能够更准确感知周围的环境、智能决策、实时控制,大幅度提高了系统的自主性,已成为未来智能化系统发展的重要方向。与此同时,AI模型的不确定性、不可解释性等特性也为系统的架构设计、可信构造和功能验证带来了巨大挑战,尤其是自动驾驶、机器人等安全关键领域。
为此,针对这些问题,我们邀请了来自学术界与工业界的专家进行交流,希望促进智能CPS系统领域的进步与创新。
主持人
彭鑫
复旦大学计算机科学技术学院副院长、教授,教育部长江学者
嘉宾
王戟
国防科技大学计算机学院教授,博士生导师,复杂关键软件环境全国重点实验室副主任
詹乃军
北京大学特聘教授,国家杰出青年科学基金获得者
孙军
新加坡管理大学(SMU)终生教授
董威
国防科技大学计算机学院教授、博士生导师,现任中国计算机学会形式化方法专委会副主任
陈铭松
华东师范大学教授,软硬件协同设计与应用技术教育部工程研究中心主任,教育部青年长江学者
马雷
东京大学副教授(卓越研究员荣誉称号),兼加拿大阿尔伯塔大学(University of Alberta)副教授,Canada CIFAR AI Chair, Fellow of Amii - Alberta Machine Intelligence Institute
卜磊
南京大学软件学院教授、博导、副院长,兼任 CCF 系统软件专委秘书长
杨志斌
南京航空航天大学计算机学院教授、博士生导师,软件科学与工程系副主任
冯洋
南京大学助理研究员,加州大学欧文分校软件工程专业博士
董震
复旦大学青年副研究员,中国计算机学会(CCF)软件工程专业委员会执行委员
曹嘉伦
香港科技大学研究助理教授
访谈主题
智能CPS系统可信构造
01
您对CPS是如何理解的,相较于传统的信息系统和嵌入式系统其主要特征有哪些? CPS系统有哪些典型实例及应用场景,其关键问题和挑战是什么?
02
当前,智能汽车、智能机器人、智能制造等复杂CPS系统中深度学习模型等AI模型得到了越来越多的应用,例如在系统的感知、规划、控制与决策等方面。这些AI模型的引入对于CPS系统的设计、构造、验证等方面带来了哪些新的挑战和研究机会,相关的研究进展如何?
03
CPS具有很强的应用领域特性,其在智能汽车、智能机器人、智能制造以及其他各种应用领域中有哪些属于共性技术问题,又有哪些具有较强的领域特定性和差异性?
04
许多领域的技术进步都有赖于行业公认的Benchmark,然而当前CPS领域公认的Benchmark相对较少。您认为当前CPS领域迫切需要什么样的Benchmark,应当如何逐步推动构建这样的Benchmark?这些Benchmark的建立能够推动哪些方面的技术发展,解决哪些技术难题?
05
当前,大模型在很多领域都得到了广泛应用。在CPS领域,大模型的应用也成为了一个热点问题。您如何看待大模型在CPS领域所能发挥的作用及其应用前景?未来3到5年内,大模型最有可能在哪些方面为CPS带来新的突破机遇?
Q&A记录
Question 1
主持人:您对CPS是如何理解的,相较于传统的信息系统和嵌入式系统其主要特征有哪些? CPS系统有哪些典型实例及应用场景,其关键问题和挑战是什么?
王戟:
CPS是“计算、控制、通信深度融合”的系统,这也是其区别于传统信息系统和嵌入式系统的地方。包含了这三个要素的系统都可以说是CPS系统,例如航空航天、高速铁路、智慧医疗、能源网、无人集群、智能家居等等。作为一种新的、发展中的系统形态,其挑战包括异质异构带来的抽象缺乏(离散与连续)、动态的互联与集成(互联互操作互理解)、不确定性的驾驭(开放环境、自主)、需求的多样性(功能、性能、伦理)和系统可信(可靠、安全、价值)等等。刘志明老师和我2020年有篇观点论文可以参考:Liu, Z., Wang, J. Human-cyber-physical systems: concepts, challenges, and research opportunities. Front Inform Technol Electron Eng 21, 1535–1553 (2020). [https://doi.org/10.1631/FITEE.2000537](https://doi.org/10.1631/FITEE.2000537)
詹乃军:
王老师介绍的挺全面了,关于挑战,我稍微补充一点:建模,自适应,异构,智能化等。
孙军:
CPS和传统的信息系统和嵌入式系统的区别,我感觉主要就是CPS天然是开放的,也就是说我们分析CPS必须分析把系统所处的环境包括在里面。
具体的CPS的场景的话,我这边研究的比较多的就是:自动驾驶车和一些基础设施系统,比如说水电处理系统等等。
关键问题和挑战的话,从分析测试验证的角度来说,我能看到的一个比较重要的问题可能就是:CPS里的环境的基本不可能精确的建模。然后因为环境不能建模,很多的传统的方法很可能就不太适用了。比如有安全保障的控制就很难,因为我们没有办法预期环境如何响应。这就需要我们想一些其他的方法来来解决一些问题。
观点讨论
@彭鑫:我觉得开放性可能不是CPS的基本特性,虽然现在很多智能化CPS系统确实是开放的。
@孙军:@彭鑫 我理解是Physical的意思是要和物理世界交互?
@詹乃军:@彭鑫 cps is a netwotked of embedded systems,开放性是带来设计cps困难的根源之一!
@彭鑫:@詹乃军 那看来开放性是CPS的基本特性。
@董威:我感觉开放是现代系统的普遍现象,但CPS更加强调计算系统和物理系统之间的交互以及对控制的协同和精确。
@詹乃军:@董威 那是混成系统!其实现在多数系统都是cps。如果说人机物融合系统,估计都在里面了。
@孙军:@詹乃军 混成系统=hybrid systems? 我感觉可能也不必太纠结于定义。
@詹乃军:@孙军 是的!
@董威:@詹乃军 混成系统应该是计算和物理系统交互的一种情况吧。
@马雷:赞同几位老师观点, cps 和 hybrid system感觉在广义上非常相似,关注的点也比较相似。
@彭鑫:@马雷 嗯,hybrid systems中的“混合”主要就是指离散和连续过程的混合吧?
@孙军:@彭鑫 我理解是,这个定义感觉主要是从建模语言来区分的,而CPS更接近从系统本身来定义,有交集也合理哈。
@彭鑫:@孙军 有道理。
@马雷:@彭鑫 在专门提hybrid system,重点更多强调系统的连续和离散动态行为,但是大部分cps系统也都符合这个性质,物理部分更偏联系续,实际数字化之后就是离散信号形式进行信息传递。
@彭鑫:也许是因为CPS的环境是开放的(因此需要强调环境感知),但CPS的组成元素可以是固化的?
@王戟:@彭鑫 CPS的组成元素也不必固化。
@彭鑫:@王戟 那是的,可以是开放的,但非开放(内部元素固定)的CSP系统也是存在的?
@詹乃军:@彭鑫 cps是传统嵌入式系统的发展,显然传统封闭嵌入式系统也在这个范畴里!
@彭鑫:詹老师强调的建模、自适应、异构、智能化应该是现代CPS系统的典型特征。建模这部分体现的应该是专家对物理系统本身规律的认知?
@詹乃军:@彭鑫 也不全是,主要是环境的困难是环境的不确定性,例如自动驾驶中人的行为建模!
@彭鑫:@詹乃军 但是对于被控对象或其一部分还是有可能有一些规律认知?例如发动机的物理过程。
@詹乃军:@彭鑫 是的,所以许多领域都说数据驱动+机理融合。
@陈铭松:@彭鑫 真人和拟人。
董威:
多年前,何积丰院士曾撰文阐述:“CPS是在环境感知的基础上,深度融合了计算、通信和控制能力的可控可信可扩展的网络化物理设备系统”;国际知名的Edward Lee的定义为 “CPS是计算进程和物理进程的融合,其中,嵌入式计算机检测和控制物理系统,形成反馈回路从而实现计算进程和物理进程的交互”;我国的《信息物理系统白皮书(2017)》认为:CPS通过集成先进的感知、计算、通信、控制等信息技术和自动控制技术,构建了物理空间与信息空间中人、机、物、环境、信息等要素相互映射、适时交互、高效协同的复杂系统,实现系统内资源配置和运行的按需响应、快速迭代、动态优化。我感觉主要特点包括:1)是一种计算、通信与控制融合的复杂嵌入式系统/物理系统;2)系统中计算过程和物理过程在开放环境下持续交互、相互作用、深度融合;3)一体化地实现开放嵌入式计算、网络化实时通信与远程精确控制等先进功能。典型实例和场景覆盖面非常广,不一一赘述。从理论研究看,关键问题包括:时间、并发、非确定、混成等;时空同步与精确控制;人机物场景的抽象与建模;复杂异构系统组合与步演化;动态集成与自适应;鲁棒性、安全性和可靠性;智能化与群智化;高效的测试、仿真与验证;等等。
陈铭松:
信息物理系统和传统的信息系统与嵌入式系统存在很大不同。它在设计优化与部署执行时需要充分考虑物理环境的动态变化,需要考虑连续的物理环境与离散的电子计算,需要考虑不确定环境下基于反馈的自适应控制,因此复杂度极高。
CPS的典型实例场景包括智能无人驾驶、航空航天、智能制造、电力能源、精准医疗等。关键问题包括:
1)如何保证CPS系统实时智能地感知、认知、决策与执行。
2)如何构建面向CPS系统的精确高效的物理世界模型。
3)在缺乏自动化工具的情况下如何保证系统的可信与安全。
马雷:
CPS是一种将计算、通信与物理过程紧密融合的复杂系统。它不同于传统的信息系统和嵌入式系统,具有独特的特征。传统的信息系统主要关注数据处理与信息流转,嵌入式系统则专注于设备层面的控制和计算。而CPS则在深度融合的基础上,强调实时性和高可靠性的闭环控制,处理系统的复杂性远远超出以往。
在CPS中,计算与物理世界的互动不仅仅是单向的,计算结果能够实时作用于物理系统,并产生直接反馈,这种实时性和闭环特性在许多关键领域至关重要。智能电网、自动驾驶车辆和智能制造等领域正是CPS的典型应用场景。通过对物理世界的精确感知与反馈控制,CPS系统能够在这些场景中发挥巨大作用。
CPS的发展也面临诸多挑战。安全性,可靠性,隐私性等在CPS系统中显得尤为重要,尤其是在处理敏感数据时,系统的可靠性更是不能忽视。系统集成与互操作性同样是CPS发展的一个瓶颈,不同厂商的设备与系统需要实现无缝协作,这其中的技术难题不容小觑。此外,CPS系统的复杂性管理、实时性保障、人机协作的优化等问题都需要深入研究和解决。
总结来说,CPS的出现代表着信息系统与物理系统融合的一个新的高峰。在未来的研究与应用中,我们不仅需要关注技术的发展,更需要深刻理解工程方法的演进与挑战。这是一个充满机遇与挑战的领域,值得我们每一位研究者投入更多的关注与精力去探索。
观点讨论
@彭鑫:传统嵌入式系统软件部分和硬件设备之间的边界应该比较清楚,控制逻辑比较简单。CPS中信息和物理两部分的数据和控制耦合可能比较深。
卜磊:
非常同意各位专家的观点。 在我看来,CPS不仅包括传统的信息系统和嵌入式系统的功能,还在更高层次上实现了物理世界与信息世界的互动与融合。 CPS系统在运行时需要对周边环境数据进行采集与理解,并对自身行为进行运行时调整与控制,从而可以精确高效的完成相关任务。
典型案例和场景有很多,比如 列车控制、自动驾驶、智能制造、智慧医疗 乃至智慧城市等等。
关键问题和挑战 我觉得包括几个方面,首先 实时性是这类系统的关键属性,其核心特点就是需要对外界的情况进行实时响应,更新自己的策略、参数,乃至对当下系统的结构进行重组,如何保证实时进行响应,且所生成的策略的安全、高效是一项很大的挑战。
其次,外界环境不是一成不变的,动态不确定的环境与任务,更是对上述问题带来了巨大的挑战。
系统的安全隐私性也非常重要,原来系统是孤立的 不与别人打交道,那么被攻击的可能就小, 而你在获取外界数据的同时,你的窗口和链接也就成为了被攻击的入口,没有做好安全防护的设备在CPS这样一个互联环境下具有很高的风险,存在牵一发而动全身的可能。
杨志斌:
前面各位老师讲得非常好,也非常全面,我这里主要从航空航天领域的角度谈一点我个人的理解。
CPS系统现在是无处不在,尤其是航空航天领域。例如,飞机的飞控系统、航空电子系统、发动机控制系统、卫星姿轨控系统等都是典型的CPS,这类系统都涉及电子、电气、计算机软硬件、机械、控制等多个子系统,属于多个学科领域。其中,计算机软硬件系统一般都是嵌入式系统,嵌入式系统主要关注的是计算机技术,CPS关注的是整个系统。
为什么航空航天领域会非常关注新的CPS系统理论和方法。我们要看看航空航天领域是如何实现整个CPS系统的?主要是采用总-分-总的方式,先总体分析和设计,将整体系统进行分解,设计接口,从而由电子、电气、计算机软硬件、机械、控制等子系统分别实现和验证,最后进行系统测试和验证。然而随着系统复杂度急剧增加,各个子系统都测试验证正确,但集成在一起的时候,可能还存在一些潜在系统的安全性问题和不可预期行为,为此如果能够尽早从整个CPS系统的角度进行建模、分析和验证,那么可以尽早发现潜在错误。
CPS系统的主要特征是异构性。从语义模型来看,这些不同学科领域、不同子系统背后的计算模型大致可以分为:有限状态机、同步数据流、连续时间系统模型、离散事件模型、模式自动机、有些时候甚至可以是计算表达式等。如何支持多种不同计算模型的组合式建模与组合验证,缺乏支持多种计算模型的一体化工具平台可能是目前CPS领域的关键问题和主要挑战。
这里我以一个飞行员弹射控制系统为例,飞行员弹射控制系统就是一类典型的CPS系统,软件主要是用于控制逻辑实现,涉及多个模式,以及有限状态机和同步数据流表达的功能,弹射座椅、电爆管等子系统的行为则采用连续时间模型来建模和仿真分析。
冯洋:
我理解CPS不仅仅是指简单的计算设备或嵌入式系统,而是一个综合性的系统,能够实时感知、分析和响应应用场景变化。相较于传统的信息系统和嵌入式系统,CPS将计算、网络和物理过程深度融合,实现实时监控和控制。这也就使得其对实时数据的处理有着更高的依赖。
一般来说,CPS会通过复杂的网络连接,实现计算部分和物理部分的实时通信。
CPS可以应用到制造、交通、电网、家居、医疗等多个与民生息息相关的领域。比如在自动驾驶领域,自动驾驶汽车通过传感器实时感知,利用计算设备进行数据的智能化与自动化处理和决策,并通过执行器控制车辆的运动。这一过程中,计算、网络和物理部分的深度融合和实时性要求是实现自动驾驶的关键问题,也是最大的挑战。
董震:
我的理解:CPS整体上可分为信息系统(Cyber System,CS)和被控制的物理系统(Physical Systems,PS)两个并发的子系统。CS系统是经典的分布式实时系统,负责计算、通信与控制等子系统的的集成与协同,CS一般通过消息通信的方式完成对PS的感知与操纵。经典的应用场景有智慧交通、智能电网、智慧医疗、智能驾驶等等。
相较于传统的信息系统,CPS涉及复杂物理系统的操控;较于传统的嵌入式系统,更侧重于网络化平台而不是单体的嵌入式系统,最终目标是实现信息世界和物理世界的完全融合,构建一个可控、可信、可扩展并且安全高效的CPS网络,并最终从根本上改变人类构建工程物理系统的方式。
其中一关键难题就是不确定性。一方面源于CPS系统底层的感知层的内在特性,如采样的时空限制(物理系统中事件发生的时间间隔小于信息系统可观测的间隔),另一方面源于系统时间属性的不确定性(Uncertainty),如时钟准确性有限和网络延时抖动。除此之外, CPS具有数据多样性、网络开发性、异构异质、时空约束性、学科间的融合等难题。
观点讨论
@陈铭松:嵌入式系统给侧重计算控制,CPS系统需要在设计时将物理世界与计算世界融合在一起考虑。
@董震:@彭鑫 认同,CPS更侧重互联。
曹嘉伦:
同意。相较于传统的信息系统,CPS对协同性(计算、通信、控制、物理世界)的要求更高,更强调实时性、分布式、及自适应能力。
其次,CPS的实施和运行面临多种关键问题与挑战。首先是系统的可靠性问题,CPS高度依赖其物理和软件组件的稳定性和准确性,任何一个组件的故障都可能导致整个系统的功能障碍,甚至引发严重的后果。其次,安全性也是一个重大挑战,系统必须能够抵御外部攻击,并保护用户数据不被泄露。此外,实时性是CPS的另一大需求,系统必须能够及时响应外部事件,保持低延迟。最后,自适应性也极其重要,CPS需要能够实时监控环境变化,根据实时数据及时调整运行策略,并做出智能决策。
Question 2
主持人:当前,智能汽车、智能机器人、智能制造等复杂CPS系统中深度学习模型等AI模型得到了越来越多的应用,例如在系统的感知、规划、控制与决策等方面。这些AI模型的引入对于CPS系统的设计、构造、验证等方面带来了哪些新的挑战和研究机会,相关的研究进展如何?
王戟:
根据我们论坛的主题,这里的“复杂”CPS系统是包含了深度学习模型等AI模型的CPS系统,其中也往往包含了“人”的CPS系统。也称人机物融合系统。这类系统中深度学习模型等AI模型得到了越来越多的应用,是CPS发展的必然,也是探索1)中CPS关键问题解决方案的结果。例如,利用数据驱动AI模型对开放环境进行感知和建模。自然地,前面挑战会带来新的挑战,就是当这些AI模型作为新的不可信主体进入系统后,CPS系统的设计、构造、验证应该怎样去做,特别是在安全攸关领域。
一方面,从AI模型内入手,研究可信AI模型的构建和训练,包括神经符号融合方法,力求保证AI模型的内生可信。另一方面是发展已有系统添加监控和护栏的容变容错的方法,增强AI模型在系统层的可信。总体上,现在含AI模型的复杂CPS系统仍是工程化途径,在模型驱动方法的基础上扩展,理论上存在很多问题,对于形式化方法带来了新的挑战和机会。例如,面向正确设计的可组合和可演进都还不清楚。
观点讨论
@彭鑫:嗯,通过各种人机交互方式接入“人”的因素也是CPS系统“智能”的一种来源。
@孙军:我感觉用形式化,至少传统的还挺难的。
@王戟:@孙军 是的,很挑战。
孙军:
这个题目还是比较大的,我可能只能用我们最近在自动驾驶车上面做的一些工作来试着回答这个问题。就自动驾驶车来说,AI模型越来越多的被用到感知、规划、控制与决策等方面,甚至端到端的AI自动驾驶也不少了。从系统分析地角度来说,AI模型引入以后系统的测试,验证的难度就变得更大了。因为环境模型的缺失,基本上很难做到特别有效的分析。这样就需要我们通过一些其他的方法来试图提供某些安全的保障。比如说我们尝试过“学习”生成一个带概率的环境模型,然后就可以做一些概率的测试验证。我们也尝试过运行时验证,比如我们有一个工作是在现有的自动驾驶模块的外面另加一个安全模块。这个安全模块可以用来随时监测车的行为,看是不会是违反交规。然后如果确定有违反交规的可能的话,我们做一些微小的改动来减少违反交规的可能。当然,因为环境模型的缺失,从理论上证明我们可以保证车不违反交规是很难的,我们唯一能提供的理论结果是假设在一些微小的扰动下,环境不会产生变化,那么这样我们就可以确定的提高不违反交规的可能性。
观点讨论
@马雷:微小扰动的问题主要是围绕鲁棒性,可以有比较清晰地形式化定义,作为研究目标来说会相对明确一些。
@孙军:@马雷 我们这个倒不是想证明鲁棒性,而是假设微小改变自动驾驶车规划的情况下,环境里的人不会有大变化。
董威:
AI模型的引入一方面提升了传统CPS系统的能力与开发效率,以前需要设计大量复杂算法或者需要人去通过大量精力完成的任务,通过AI模型的训练能够达到更好的效果;但另一方面也为CPS系统的运行带来很多非确定的结果,例如对于AI的一些判断和决策缺乏适当的可预测性,AI的控制对很多CPS系统中要求的精确控制、高效协同、离散连续混成等方面也还难以满足需要。由于AI模型的本质,其不可解释、难以预测等问题短期内还难以解决,这需要对关键领域CPS系统中,AI模块与传统逻辑模块之间如何采用可信的设计和构造方法,如何对AI与逻辑混合的CPS系统进行高效的测试与验证带来研究挑战。这方面近年来有不少研究,但我感觉进展还有限,还难以满足CPS系统研发实践的需要。
陈铭松:
由于智能方面的需求越来越旺盛,越来越多的CPS系统使用AI模型,这丰富了传统CPS系统的设计与实现手段,但也不可避免的带来很多新的挑战。例如:
1 设计方面。如何开展资源受限环境下快速精确 AI 推理的软硬件协同设计优化,不确定环境下最优软硬件设计的空间探索,AI模型驱动因果推理的控制优化。
2 构造方面。缺少面向智能CPS的统一建模语言、编译器/综合器、部署环境,云边端架构下基于数字孪生技术的智能感知控制与决策构造工作极其复杂。
3 验证方面。AI模块可解释性差,这导致CPS系统的行为更加难以约束,状态空间巨大,行为是否满足要求极难验证。需要在设计、构造、运行等不同层面研究可信保障技术来约束系统的行为,实现智能CPS系统行为的在线监控、推演、预防与异常处理。
马雷:
AI模型的引入,一方面可以大幅增强了CPS系统的自适应性,提高了对未知环境不确定性的预测,分析和处理能力,尤其是很难用传统规则定义得方式来解决的场景。但同时,由于AI模型的核心是数据驱动,其性能和可靠性很难得到完全的保障,这对CPS系统的设计带来了巨大的挑战。
首先,如何合理并高效的利用AI模型来解决传统CPS系统无法解决的问题,是AI-CPS设计者应该第一个考虑的问题。由于AI的技术进展十分迅速,有许多不同的算法和模型构架,如何挑选出最合适的模型来处理亟待解决的问题,是非常重要的第一步。
其次,如何将AI模型的特性和CPS系统本身的特性较好的结合起来,也是一个新的挑战。由于CPS系统经常需要对物理世界的物体进行操作,例如自动驾驶和机器人系统,这些系统对AI模型的要求往往跟常规自然语言处理,图像处理的AI模型需求有些差异。如何改变AI模型的特性让他们能更好的解决真实世界的操作问题,是当前CPS研究的一个比较有潜力的方向。除了这些设计和构造上的新机遇,CPS从validation,testing, 到verification也是当下一个比较热门的研究机会。由于AI模型的可解释性往往不够明确,传统的基于系统模型和公式的验证方法可能并不适用于最新的AI-CPS系统,这就促使研究者们去探索新的验证方法。这些方法不仅要符合AI模型的数据驱动特性,同时也要适配CPS系统的特点,这对AI-CPS验证来说是一个巨大的挑战。目前的研究主要还是集中在设计和构造上,既如何利用AI模型来解决传统CPS未解决或解决效果不是很好的问题,包括对环境的感知,对输入信号,譬如图像和声音信号,进行处理,对扰动,噪音,不确定性等进行估计,从而设计自适应性和普适性比较强的CPS系统。对于验证方面,大部分的方法,包括形式化验证,OOD测试等,都还处于一个比较早期的探索阶段,如何将这些验证方法拓展并真正应用到实际系统上去,还有比较长的一段研究工作需要进行。
卜磊:
AI在大量系统中得到了应用,并取得了非常显著的效果。 能做什么事,各位专家已经说的很多了, 我简单谈谈我所关注的挑战。
我主要关注的是系统的安全性,由于AI的不可解释性,其所给出的策略的正确性如何保证,特别是大量CPS系统是安全攸关系统,比如自动驾驶,如何能够保证在没有训练过的场景下,AI实时生成策略的正确性?
其次,AI的使用是需要计算资源的,比如算力、时间等, 一方面系统端侧是否可以有如此大量的计算资源,另一方面,相关计算的过程能否满足CPS的强实时要求,也是相关领域关注的问题所在。
观点讨论
@孙军:我们尝试的做法是runtime verification,相对容易一点。
@卜磊:@孙军 me too,我最近主要做的就是runtime verification。
@董震:@孙军 runtime verification比较实用些,但是系统监控还是好麻烦啊。
@彭鑫:@董震 这涉及到系统技术了,例如操作系统上的非侵入和低成本监控技术。
@孙军:@董震 runtime verification就需要写清楚安全的spec了,这个比较不容易。
@董威:@孙军 这和搞清楚系统安全需求应该类似,但不一定写的spec都能高效运行时验证。
@孙军:@董威 我们试着把中国和新加坡的交规写成spec了,用来做自动驾驶车的runtime verification,还行。
@董震:@董威 对的,系统稍微演进下,验证也要更着更新。
@董震:@孙军 孙老师有没有试过,直接自动生成监控验证程序?
@孙军:@董震 只要写成形式化的spec,比如LTL,自动生成监控验证程序就是完全可以的,这个我们做了的。
@董震:@孙军 spec与实现的关联也是自动完成的?
@孙军:@董震 是的,按照现在对CPS架构的研究,也分为单元级、系统级、系统之系统级。
杨志斌:
随着航空航天系统复杂化、异构化、智能化的发展趋势,对智能感知、规划、控制与决策等方面的需求是越来越迫切。从航空航天领域来看,系统的主要形式应该是传统构件和AI构件融合或者说混合的CPS系统,可能还达不到纯AI系统,主要原因还是高安全高可靠性的要求,这类系统一旦存在不可预测的失效,可能会导致灾难性后果,因此,也被称为安全关键CPS系统。这里AI构件可以包括深度学习构件、强化学习构件以及大模型构件等。
CPS系统本来就具有很大异构性,AI构件的引入,给CPS系统带来更大的异构性,给CPS系统的设计、构造、验证等方面带来了比较大的挑战。
我个人觉得可能有几个方面,不一定全面:
首先,传统构件和AI构件到底如何安全的融合,或者说安全的组合?我们采用什么样的安全架构才能让这些异构构件安全地实现系统的功能。也许我们可以参考综合化航空电子系统的思想,空客A380、波音787、中国商飞的C919都是采用了综合化航空电子系统,通过分区来进行安全隔离,一般包括几十个分区,每个分区又包括几十个任务。不同分区可以具有不同的安全级别,高安全级别可以访问低安全级别。是否可以借鉴这种思想,构建一种面向智能CPS系统的泛在操作系统,基于分区架构支持传统构件和AI构件的安全运行,以及对CPU、GPU、NPU等异构资源的管理。
其次,当我们设定了传统构件和AI构件混合的CPS系统架构的时候,如何来建模、验证、分析以及实现这样的系统,也就是如何可信地构造这种系统。也许我们可以基于模型的方法,比如可以扩展Sysml, AADL, Ptolemy等建模语言,以支持传统构件和AI构件的异构表达,我们可以考虑多范式建模(Multi- Paradigm Modeling)。
第三,模型验证方面,基于契约的组合验证、组合测试也许是一种选择。传统构件已经有很多验证和测试方法,AI构件目前也有一些测试验证方法,但AI构件很难像传统构件一样去验证(完全)正确性,可能是一种(部分)正确性或者说可信性,因此基于契约的方式,可以较好表达AI构件在什么样的环境假设(Assume)条件下,符合我们的预期(Guarantee)。
第四,在航空航天领域,可靠性、安全性要求极高,因此在CPS系统开发与实现的全生命周期中,并行进行安全分析,包括功能危害分析、系统初步安全分析、子系统安全分析等,涉及FHA、故障树、失效影响分析、马尔可夫分析、基于模型的安全分析、STPA等安全分析方法,当我们考虑智能化CPS系统,AI构件如何纳入安全分析过程也是我们要考虑的问题。另外,智能CPS系统的代码生成以及合成、粘合也是一个问题。
最后,工业界有构造智能CPS系统的迫切需求,但缺乏一个规范的流程,如何建立一套标准或规范的开发、验证与实现方法,也是一个重要问题。例如在航空航天领域,我们是否可以考虑扩展现有标准(ARP4754, ARP4761, DO178C)、国军标等,支持智能CPS的开发与验证。
冯洋:
现在AI模型已经被广泛地应用到了社会的各个领域,当然也包括许多复杂的CPS系统中。可以说AI模型的引入使得系统具有更好的表现,但也带来了不少挑战和研究机会。首先就是可解释性,深度学习模型通常是“黑箱”,很难解释这些系统究竟是怎么做出决策的,进而无法确认这些决策的结果是可信的。
这些特点使得基于AI模型的CPS在应用过程中会存在一个“可信”的问题。为了解决这个问题,一方面,研究人员在尝试开发可解释的AI技术,比如一些可视化工具和模型解释算法。另一方面,深度学习模型需要大量的计算资源和时间以取得更好的模型表现,但这对需要实时响应的CPS系统来说是一项需要进行取舍的任务。为此,研究人员在优化模型的计算效率,开发轻量级模型和加速硬件,比如现在也有人在做边缘计算设备和专用AI芯片这些。
还有一个方面,就是数据的获取以及相关的质量保障问题;深度学习模型需要大量高质量的数据进行训练,但在某些应用中,获取足够的数据并不容易。为了解决这个问题,研究人员在开发数据增强技术合成数据生成方法,包括我们团队现在也在做一些数据生成和扩增相关的任务。再就是安全性以及鲁棒性。AI模型可能对对抗样本和环境变化很敏感,导致系统在实际应用中表现不稳定或不安全。为此,研究人员在研究对抗训练和鲁棒性增强技术,确保AI模型在各种环境下的稳定性和安全性。
另外,把AI模型集成到CPS系统中也是一个难点,需要解决模型与其他系统组件(如传感器、执行器)的协同问题,尤其需要考虑到兼容性。研究人员在开发系统级的集成和协同方法,确保AI模型与其他组件的无缝协作。
以自动驾驶领域为例,自动驾驶系统因为属于是安全攸关系统,对这方面的要求会更严格。自动驾驶系统需要实时处理大量传感器数据,做出快速而准确的驾驶决策,这对模型的计算效率和实时性提出了高要求。此外,自动驾驶系统的安全性和鲁棒性至关重要,必须确保在各种复杂环境下的稳定运行。当前工业界与学术界的同行正在积极探索解决这些挑战的方法,以推动自动驾驶技术的进一步发展和应用。
董震:
AI是双刃剑呀,不同于逻辑代码,AI模型是由数据训练而来,具有不可解释性、不确定性,给CPS系统的安全保障带来巨大挑战,尤其是CPS系统的验证。很多学者已经开始探索这块的研究,比如NASA的Corina组提出的组合验证,把模型与逻辑代码分开验证;UP的Rajeev Alur组的结合机器学习与组合验证的方法,杜克大学提出的概率模型检测方法等。总体上讲,这个领域的研究仍处于开始阶段,现有技术在实用性上还有很大差距,未来仍需要更多的研究。
观点讨论
@彭鑫:@董震 能否简要解释下这种组合或者概率验证的基本原理?
@董震:@彭鑫 组合验证那个工作是把逻辑代码与AI模型分开验证,逻辑代码使用传统技术验证,AI模型通过检测OOD的假设条件。
@彭鑫:看过一个公众号分享,里面提到虽然自动驾驶中AI模型得到了很多应用,但其中还包含很多很多规则驱动的模块来托底。
曹嘉伦:
针对可靠性,除了前面老师们提到的AI不可解释性、不确定性等,补充一下 **训练数据** 带来的不可靠性:AI模型往往依赖于大量的训练数据,如果这些数据存在偏差,模型的输出也可能带有不可预见的群体或个体偏见,从而影响决策的公正性和准确性。
另外,随着外部环境和任务需求的变化,原有的AI模型可能无法适应新的情况,如数据分布的变化(data shift),这需要对模型进行重新训练或微调,而这一过程往往资源消耗巨大,更新困难。此外,AI模型的不可解释性也为故障诊断和系统测试带来了难题,使得定位问题和验证系统行为变得更加复杂。
在系统设计方面,AI模型的不确定性要求设计者在系统架构中考虑如何处理和应对AI决策的潜在风险。这意味着需要在设计时引入相应的保障机制,例如,设置决策回退方案、AI输出后处理等。
Question 3
主持人:CPS具有很强的应用领域特性,其在智能汽车、智能机器人、智能制造以及其他各种应用领域中有哪些属于共性技术问题,又有哪些具有较强的领域特定性和差异性?
王戟:
CPS随行业不同,会有一些差异,但我理解既然都是CPS,必然有共性。目前看,其最大的共性技术问题是模型驱动的CPS的开发与演化方法(例如,CPS建模、综合与验证都是共性技术),以及CPS运行平台(操作系统)的底座。至于到不同的行业CPS,它们的特定性和差异性会呈现出来,例如行业移动性的强弱对架构设计的影响;实时性能需求带来的通信基础设施的不同;环境感知模态的多样性引起的时空辨识上的差异等等。不同行业的领域特定性和差异性,通过生态去解决。
孙军:
共性我理解还是挺多的,比如这些系统要求实时性,都对可靠性有比较高的要求、也都需要处理实时数据,并做出相应的决策支持。具体来说就是需要数据采集、处理、分析和决策。同时从系统分析的研究来说,也经常会用到一些类似的方法,比如fuzzing,通过学习的方法来建模等等。
差异的话,可能就是细节上个个不同。比如这些CPS的环境都不太相同,虽然每个CPS都由多个组件组成,每个系统的组件都不太一样。
董威:
我认为不同领域CPS系统在一些离散和连续混成控制理论与设计建模、异构系统的通信与架构设计方法、脆弱性模式以及安全机理和防护方法、AI模块的学习与生成等方面存在共性的理论与技术问题。但各个领域的差异性也比较大,尤其是和物理环境交互的相关功能与处理模块。例如智能汽车中的控制对实时性、安全性等要求较高,需要满足各种交通规则,其CPS系统中组件之间的通信方式、对安全的特殊考虑、与人之间的交互等需要进行深入考虑;而智能制造可能对不同部件之间的精确协同等方面更加注重;等等。因此,目前CPS系统还是缺乏普遍认可的系统架构和设计实现方法,需要和领域紧密结合。
观点讨论
@彭鑫:另外,我想CPS系统的粒度差异是不是也很大?例如一个无人机群,既可以把单个无人机当成一个CPS系统(此时CPS系统的组成成分是一些传感器、执行器),又可以把机群整体当成一个CPS(此时每个无人机是一个基本单元)。
陈铭松:
确实,CPS具有很强的应用领域特性,不同领域在方法学与技术方面自成体系,这是主要由于不同领域面对的物理模型之间的差异以及不同领域CPS应用需求不同所造成的。但是,我们又能够发现,很多不同的CPS领域存在着共性的技术需求。例如,不同的CPS系统需要一定的确定性,例如CPS系统内部任务的最差执行时间、网络的传输时间等都需要量化。这些需求推动了很多面向CPS系统的实时调度算法与网络基础设施(例如,时间敏感网络)的研发。此外,很多CPS系统对于系统的安全可信有着同等严苛的要求,其底层的软硬件验证核心技术(例如,模型检验、定理证明、约束求解等)是相同或者类似的。
马雷:
从共性技术问题来说,大部分复杂 CPS 系统都对鲁棒性,可靠性,安全性,隐私性,实时性和软硬件协同有较高要求。具体来讲,系统的可靠性和鲁棒性在任何安全关键型领域都是重要的考量。CPS系统需要能够在面对固件故障,网络问题,软件错误等不确定因素时仍能正常运作并保障使用者的生命财产安全。冗余设计,故障隔离和集合共识算法都是在提高系统的容错能力来进一步确保可靠性。相较于传统物理固件系统,CPS的计算单元和网络模块显著提升了系统的能力边界与任务多样性,但也同时带来了共性的数据隐私隐患。尤其在智能医疗和智能制造系统中用户的数据隐私保护至关重要,很多工业应用都从软件工程领域采用加密算法,身份认证机制和访问控制来确保数据处理和传输过程中的安全性。CPS的共性技术问题不仅仅来源于单独的物理,网络与计算模块,不同模块之间的通讯,协调与合作也给 CPS 的设计与开发带来了新的技术挑战。
除了共性技术问题,CPS也在不同应用领域有着较强的差异性和特定性。比如在智能汽车中,CPS要对不同感知模块(摄像头,激光雷达,雷达)提供的多模态信息进行融合与处理来确保高精度的定位和障碍物检测。而在智能机器人领域,除了视觉感知模块,触觉传感器和压力传感器也是辅助实现机器人控制不可缺少的一环。并且高精度的的机器人控制系统要求毫秒级的响应时间来确保时间敏感任务(如传感器数据处理和决策控制)的及时性。这些不同的领域的特定性需求也给CPS系统的适应性带了个不同的挑战。近几年,大量CPS系统开始尝试引用AI模型来处理这些领域特定性问题,如用DNN去对系统未来状态进行预测去规避系统缺陷,用强化学习模块去辅助控制决策生成。如何利用特定领域的专门知识去设计对应的AI 模型以及如何建立更可信与安全的AI模型与传统模块的交互与合作机制还需要更多的探索与研究。
卜磊:
我想刚才各位老师提到的实时性、安全性、分布异构性等都是共性问题, 而差异性随着问题场景和领域的变化也必然会有其所对应的领域特定问题存在。
比如 自动驾驶中的开放环境下需要做实时的问题感知与处理,这其中还有乘客、行人、其他物体等的影响,人机交互乃至误操作就会是一个蛮重要的角度, 在智能制造中环境的开放就不会体现如此强烈,更多的是 针对实时到达的任务,在当前车间的工况下进行快速决策与重组, 而智慧医疗或者聚焦到手术室内部的话,外界的环境变化就更少了,针对当下病人的生理体征 和当下医疗设备的工作状态 进行安全有效的治疗就更重要,那么传感器的准确性、网络连接的稳定性等等的重要性就非常重要了。
观点讨论
@彭鑫:嗯,不同领域不同CPS系统中C与P之间耦合的深度应该也有所不同。有些CPS系统二者耦合较低,此时物理部分的控制接口非常明确,控制比较宏观;有些CPS系统二者耦合较高,控制非常微观。
@卜磊:@彭鑫 是的,各个问题领域之间的区别一定是存在的。
杨志斌:
我非常赞同前面各位老师说的。我这里主要补充一下我个人对智能CPS系统中AI构件的领域特定性和差异性的一点点理解,还不全面。
对于深度学习构件,我们以基于卫星图像数据的目标识别为例。相比通常的yolo v5, yolo v8模型和图像数据,卫星图像数据存在时间敏感性、多源异构性(红外图像、SAR图像、光学图像等)、图像分辨率差异大等特征,我们需要围绕领域特定任务,训练模型,并且要考虑更多的能力和要求,例如所识别目标的时空关联特性,深度学习模型的识别效率和实时性如何?可靠性、安全性和鲁棒性如何?为此在训练特定模型之后,再考虑模型的测试和验证方法,例如蜕变测试、变异测试、对抗测试甚至形式化验证。但是领域的不同特征,对蜕变策略、变异算子、对抗网络的构建都有影响。而在无人车领域,目标识别之后,可能考虑行人的行为分析。所以确实存在一些领域特定性和差异性。
另外,对于强化学习构件,我们前期研究中,实验性地采用强化学习来做卫星交会对接策略规划,通过仿真分析,取得一些效果。在实验中,我们考虑了一些安全强化学习方法。
而对于大模型构件,目前航空航天领域也都会尽量去实现自己的本地专用大模型。一方面是考虑数据安全和隐私,另外也是考虑不同领域应用的特殊性,也称为垂域应用。一般可以采用“通带专、大带小”的大模型使用策略。
总体来说,CPS具有很强的应用领域特性,确实存在一些领域特定性和差异性。
冯洋:
我对这个问题有一些感触。CPS系统在智能汽车、智能机器人、智能制造等领域都有广泛应用,确实存在一些共性技术问题,首先,不论是出于效率还是安全的考量,所有这些系统都需要实时性。无论是自动驾驶汽车、工业机器人还是智能制造设备,都需要快速处理传感器数据,做出及时的决策。比如,自动驾驶汽车需要实时处理道路信息,工业机器人需要快速调整动作以适应生产线变化。其次,所有CPS系统都需要处理大量的传感器数据,并从中提取有用的信息。比如,智能制造中的质量检测系统和智能汽车中的环境感知系统都依赖于高效的数据处理和分析。此外,CPS系统通常应用在关键任务中,安全性和可靠性至关重要。比如,自动驾驶汽车需要防止黑客攻击,智能制造系统需要确保生产过程的稳定性。同时,一些涉及到网络的终端也需要考虑到在网络连接不好的情况下的特殊处理。
另一方面,每个领域肯定也会有该领域的特定问题。比如,智能汽车需要处理复杂的交通环境,包括行人、其他车辆和交通信号等。它们对高精度地图和定位技术有特殊需求,还涉及车联网技术。智能机器人则需要具备灵活的运动控制和环境交互能力,对机械臂的精度和灵活性要求高,还涉及人机交互技术。智能制造则需要优化生产流程,提高生产效率和产品质量,对生产设备的互联互通和数据采集有特殊需求,还涉及工业物联网技术,包括像医疗等领域对于数据的隐私性上也要尤其注意,需要避免数据泄露,确保数据隐私和安全。
董震:
跨领域的我了解不多,但是绝大部分领域的CPS都会与物理环境交互,如何应对物理环境中的不确定性、动态性是一个共性难题。同时,CPS又具有较强的领域特征,比如智能驾驶系统具有高实时性的要求;智能机器人会涉及复杂的决策过程,相关研究还是应该根据具体的领域展开。
曹嘉伦:
关于共性,各位老师提到了很多,我就不一一赘述了。
关于差异,各位老师也提到了关于自动驾驶、工业制造、卫星遥感等方面的应用。我补充下一下人文色彩方面的差异,如对人文健康、环保等的要求。例如CPS 应用于家庭、养老等领域时,除技术上安全可靠等,还需考虑保护健康、情感陪伴等。在智能制造领域,生产线的效率优化和设备故障的预测与维护是核心关注点,这对于保持生产连续性和降低成本至关重要。
Question 4
主持人:许多领域的技术进步都有赖于行业公认的Benchmark,然而当前CPS领域公认的Benchmark相对较少。您认为当前CPS领域迫切需要什么样的Benchmark,应当如何逐步推动构建这样的Benchmark?这些Benchmark的建立能够推动哪些方面的技术发展,解决哪些技术难题?
王戟:
Benchmark对一些领域发展的牵引是很重要的。实际工程中,用典型应用作为Benchmark是有不少的,这往往在一个大型项目或者学术界工业界的合作中产生。怎样合理的公开出来还需要思考。公开的在验证技术方面有一些,如VNN-COMP、ARCH-COMP、以及AISoLA的benchmark papers等。设计本身的benchmark就不多见,往往就是open problem了。
CPS涉及到跨领域、跨学科的问题,共享知识的缺乏和行业的壁垒使得公开Benchmark比较少。构建benchmark需要对CPS的技术领域现状有深刻的了解,属于提出问题的范畴,并不容易。利用开源硬件和软件构造无人车群、无人机群的CPS系统平台和场景应用,会逐渐形成一些公开的Benchmark。
观点讨论
@孙军:嗯嗯,就是我感觉标准化,维护这些benchmark可能不容易。
詹乃军:
其实关于这个benchmark现在还是挺多的,像控制和计算机共同关注的,像Arch这个比赛,它对于不同的技术,不同的领域都有不同的benchmark,然后不同的进技术进行比较,每年基本上要么和阿尔法克,要么和控制的像平时CDC等几个会议联合举办,如果各位老师感兴趣,可以看看Arch这个竞赛。
我们过去做的中国高速铁路控制系统,还有太原工程的有几个案例都已经成为这里面标准的benchmark了。
另外还有像CPS-Weak每年都组织自动驾驶竞赛,还有其他类型的竞赛,我觉得这个都是挺好的benchmark,如果说自动驾驶技术做的好的话,大家就可以再比一比,当然它可能也分不同的track。
观点讨论
@马雷:我们接触到一些企业,cps内部模块是高度商业敏感,一般很难说服企业拿出真实系统,哪怕是简化版本来做公开benchmark。
@孙军:自动驾驶车的benchmark确实可能相对容易,因为标准化做的好吧。
@彭鑫:@孙军 我觉得好的物理引擎很重要。
@孙军:@彭鑫 这个确实也是,自动驾驶车这块确实做的更成熟。
@陈铭松:@孙军 自动驾驶做得好是因为游戏行业成熟。
@彭鑫:@陈铭松 确实,娱乐游戏与严肃应用实现融合。
@孙军:@陈铭松 主要还是需求多。不过就算这样,自动驾驶的仿真数据大家还是认为不能用,或者不好用啊。
@彭鑫:@孙军 车圈的说法是三支柱法:封闭场地测试、开放道路测试、模拟仿真测试。
@孙军:@彭鑫 做测试确实可行,仿真数据用来训练啥的就不太行了。
孙军:
CPS的benchmark比较少我感觉是由CPS的特性决定的。因为真实的CPS需要物理的环境,硬件,同时还经常需要多个组件的交互,这些都很难做成标准化的benchmark。Digital twin当然是一条可能可以用来构建这些benchmark的途径。不过我不认为这个可以做的多好,因为像上面提到的,复杂环境的建模的问题总是会是个问题。
我们之前尝试过把真实的系统,具体来说是一个缩小版的水处理系统,作为benchmark开放出来,允许甚至鼓励大家利用这个系统来进行安全攻防啊等等的研究。实际效果一般,一是真实的安全隐患很难处理,比如我们的水系统就淹了好几次。这也是为什么我们的智能电网一直不敢开放 -- 万一火灾呢。二是实际上因为各个CPS天然就不尽相同的问题,单个系统上的研究结论是不是有通用性也经常不好说。
总的来说,我不确定通过建立大型benchmark来研究CPS是一条可行的路。
观点讨论
@彭鑫:可能CPS系统的复杂性之一就是跟物理世界相关的枝节特别多。一旦进行一些抽象之后可能就会丢失关键性的部分,导致过度抽象和失真。
@孙军:@彭鑫 是啊,我们试过做一个水处理系统的digital twin,太复杂了,比如水处理里有加化学药剂的步骤,这我们完全不会啊,写了一系列的偏微分函数,结果都差很多。
@马雷:@孙军 这个最好跨领域合作,引入领域专家。
@詹乃军:@彭鑫 彭老师说的是对的,其实现在很多信息物理融合系统设计,当然通讯控制这些是很大的问题,但很多更大的问题来自于物理的部分,就是比如说,我们做无人船的控制,或者是航天器损落的预测这些,困难就是这些复杂的物理模型建模难。其实知道模型,它可能处理起来也难,可能就是像物理仿真,像现在CFD就是流体力学仿真,还有一些其他的PDE的仿真,就是非常难的。这个对于物理,数学,还有其他领域都是挺难。
@彭鑫:Benchmark很难,但是做成了价值高、影响力大。
@詹乃军:另外,CPS领域数据集少可能还有一个重要的原因是,这有很多都是安全攸关领域或者是一些保密的,比如说航空航天之类的,这些数据不可能公开的。
@孙军:@詹乃军 确实,我们当时按新加坡的真实水处理系统搭了一个相对小一些但都是全的系统,研究用,不过最后也维护等等的也是很多问题。
董威:
我认为对于共性基础理论研究和特定领域技术,应该建立不同有针对性的Benchmark。例如对于实时、混成系统的验证技术、代码安全性分析检测技术、复杂环境自动建图等,可以有较为共性和通用的Benchmark;而对于一些特定领域,可以有针对性的Benchmark,例如智能驾驶面对的各种场景进行判断和决策、智能制造中各种不合格产品的智能识别等。此外,我觉得有些方向的发展是需要Benchmark来驱动的,尤其是一些需要数据驱动的CPS技术;但同时还有很多方法、理论是需要从其机理、原理上需要深入研究的,是需要系统的理论和逻辑方法支撑的,在这些方面的理论创新可能比Benchmark更加重要。
陈铭松:
我认为目前缺少贯穿CPS系统从顶层设计到底层实现各层级的Benchmark,支持科研人员能够开发更高效的共性技术自动化工具来优化CPS系统的设计流程,缩短产品投放市场的时间,保障最终产品的质量与可信。例如,基于智能驾驶领域benchmark,可以形成一套自动化的设计工具链来辅助设计人员来快速实现最终高质量的无人驾驶系统。
推动这些benchmark的建立,需要:1)面向各CPS领域制定相关的行业标准;2)充分发挥产学研的力量,做有组织的Benchmark规划策划;3)全面倡导开源软件的思想。
马雷:
Benchamrk这块我们之前也有一些相关研究经验,这里大概总结一下一些想法。
由于 CPS 是基于多学科交叉的复杂系统,各个领域对于系统和技术的评估与比较有不同标准和需求,我认为现在行业迫切需要两种类型的 Benchmark:一是领域定制化的Benchmark,二是兼顾了仿真到现实(sim-to-real)评估的 Benchmark。
如上一个问题所提到的,CPS具有很强的应用领域特性。这就导致对于某个特定领域,一个合格的标准化的Benchmark不仅仅要支持常规的泛用性的评估还要包括该领域的特性评估。在与不同机构的合作中我们发现,不同领域的从业人员更加关注本领域特有的专业性需求与相关评估。比如我们和Autoware开源社区合作的项目中,车企人员对于智能汽车的Benchmark,更着关注无人驾驶系统在不同场景下路径规划能力的安全性与合规性,而对于智能电网,从业人员更倾向于测评系统对于电网动态负载的平衡能力以及不同能源节点之间的分配管理能力。这些差异以及领域特性导致CPS 行业对于不同领域需要构建客制化的 Benchmark去满足开发者的专业需求。总得来说,对于新兴的技术我们需要泛用性的 CPS Benchmark 探索评估该技术在不同场景下的适用性,但对于某领域进一步的深入性研究,我们需要客制化的Benchmark 去支持更专业评估及开发。
我们接触到的另一类有迫切需求 CPS Benchmark就是包含了仿真到现实能力评估的Benchmark。现有的大部分 CPS Benchmark 使用的还是数据集或者 ODE-based 模拟器,基于这种Benchmark开发出来的产品以及得出的评估并不能无缝迁移到实际的使用场景当中。比如一个在数据集或者模拟器中表现优异的 AI 模型在部署到真机后可能会有很大能力退化。这种情况在自动驾驶和智能机器人场景中尤其常见,从业人员需要大量的时间和算力去将设计好的感知,决策或者控制系统部署到实际应用场景中。这个过程不仅需要多轮迭代修正,甚至需要整个技术方法上的重构去解决现实场景中遇到的问题。导致这个现象的根本问题是开发与测评过程中使用的Benchmark 并不能完整反应并还原出现实场景下的复杂度以及不确定性。导致开发的技术只适用于理想场景或者简化后的场景,因而导致技术不能快速部署到实际的生产应用中。考虑到 CPS 往往代表着现实中的复杂系统,Benchmark 中这种模拟与现实的差距与割裂就变得尤为明显且关键。所以现在 CPS 领域需要更能还原以及模拟现实复杂度的 Benchmark 去推动 CPS 的技术能顺利部署到实际应用中。近一段时间已经有企业开始采用数字孪生技术(digital-twin)去加速技术从模拟到现实的迁移。我们在和 NVIDIA 的合作中,也使用了物理引擎驱动的模拟器(Isaac-sim) 去构建智能机械臂的 Benchmark 来开发和评估 AI 驱动的智能机械臂。在实验与设计过程中我们发现了许多在以往数据集和简单模拟平台中未遇到问题,比如摩擦力,光线在物体表面反射和可形变物体带来的更贴合现实的复杂问题与挑战。但是在这种更拟真的 Benchmark 下开发出来的技术也能更顺利地部署到实际机械臂中。
对推动构建这样的Benchmark我认为主要有三个方面:一是加强工业界与学术界的合作来建立跨行业和学术的联盟,集合不同领域的专家一起制定标准化的Benchmark。考虑到很多 CPS 系统的高复杂度,研究人员从头开始构建复杂 CPS 环境往往是不现实的。因此要建立行业和学术的紧密合作去最大程度各取所长减少重复“造轮子”。二是鼓励开源项目的发展和共享测试平台,以便各方共同完善Benchmark,使其更具广泛适用性和可信度。并且与国际标准化组织(如ISO、IEC等)合作,推动Benchmark的标准化,合规性以及全球范围内的接受度。三是基于实际案例进行测试和验证,确保Benchmark的实用性和准确性。使得 Benchmark 能更有效地推动模拟到现实的迁移以及技术落地。
以上这些Benchmark的建立能够推动并解决现有 CPS 以及 AI-CPS 一系列技术难题,比如系统的鲁棒性,可信性,透明性和适用性。Benchmark提供标准化的方法来评估不同系统和算法的性能,使研究和开发结果更具可比性。有了统一的评估标准,更多的企业和研究机构可能会公开他们的代码和数据集,以便社区共同进步,推动新的解决方案和创新。通过标准化测试,产品和解决方案的性能更加透明和可信,这有助于快速识别优秀技术,并且公共的Benchmark使得理论验证和实验证据更加一致,有助于增强系统的可靠性和安全性。总而言之,通过设立和推广标准化,客制化以及兼顾模拟到现实迁移的Benchmark,CPS领域可以实现更高效、公正的性能评估,推动技术进步,同时解决复杂系统中的关键技术难题。构建Benchmark需要行业共同努力,通过多方合作、开源共享、标准化推进和实际验证,逐步构建一个包含多层次、多维度的Benchmark体系,来提升CPS业界整体技术水平,推动行业健康发展。
观点讨论
@彭鑫:关于好的CPS Benchmark的两个关键词:领域定制、仿真到现实(sim-to-real)。
@马雷:@彭鑫 是的,最好是广泛被企业所采用的CPS 开发部署流才能。
卜磊:
Benchmark一定是有意义的,对于我而言,如下几个方面如果能有benchmark我会非常感兴趣:实时性能评估Benchmark(评估系统在各种负载和环境下的响应时间、数据处理速度以及系统的整体性能)、环境感知与决策Benchmark(这个在自动驾驶领域应该已经有一些了,很多主机厂都在建自己的案例集):安全性与鲁棒性Benchmark(CPS的网络攻击的形式、方式等等)。
构建方式呢, 一方面行业相关者的收集和构建,比如刚提到的自动驾驶主机厂收集里程数据, 测试机构收集构建风险场景集等等,另一方面,各类比赛 竞赛的收集也是建立benchmark的重要途径,比如刚才王老师、詹老师都提到的ARCH-COMP等, 最后,能否有统一的测试规范和标准也是很重要的。
杨志斌:
非常赞同前面各位老师说的,我个人也觉得建立Benchmark需要和各个行业及其标准组织紧密联系,共同制订和维护。
冯洋:
在CPS领域,目前确实有一些公开的数据集,但是较为有限,同时缺少公认的Benchmark,这对技术进步和标准化带来了一些挑战。我认为我们需要的Benchmark可以分为两部分:一方面我们需要一些通用的Benchmark,能跨多个CPS应用领域使用,比如数据处理、实时性、安全性和系统集成等方面的测试。另一方面是针对特定领域的专用Benchmark,比如智能汽车、智能机器人和智能制造,这些Benchmark应该反映各自领域的独特需求和挑战。
马雷老师和我有一篇合作的文章,发表在FSE2023上,提出了面向多模态数据融合算法测试的一个benchmark,那个文章得到了同行的高度认可。
推动构建Benchmark需要行业合作,学术界、工业界和政府机构需要共同努力。可以通过成立行业联盟或标准化组织来推动这一进程。也可以举办一些公开竞赛和挑战赛,来吸引广泛的参与者来测试和改进Benchmark。同时维护一个开放的数据平台,用于提供高质量的训练和测试数据集,也能让研究人员和开发者更容易进行Benchmark测试。最后,制定标准化的测试流程和评估指标,确保Benchmark的公平性和一致性。
同时,Benchmark的建立能推动很多方面的技术发展。首先,它能提高技术透明度和可比性,让不同技术和系统之间的性能对比更加透明和公平。其次,它能加速技术创新,研究人员和开发者可以更快地识别技术瓶颈和改进方向。Benchmark还能推动CPS领域的标准化,促进不同系统和组件之间的互操作性。最后,通过严格的Benchmark测试,可以发现和解决系统中的潜在问题,提高系统的可靠性和安全性。具体来说,Benchmark能帮助解决很多技术难题。比如,数据处理和分析方面,Benchmark可以帮助评估和改进算法,提高系统的感知和决策能力。在实时性和响应速度方面,通过Benchmark测试,可以优化系统的实时性和响应速度,确保在关键任务中的表现。安全性和鲁棒性方面,Benchmark可以用于测试系统的安全性和鲁棒性,发现和修复潜在的安全漏洞和不稳定因素。系统集成和互操作性方面,Benchmark可以评估系统集成和互操作性的效果,确保不同组件和子系统之间的无缝协作。
总的来说,建立CPS领域的Benchmark是个复杂但非常重要的任务。通过行业合作、公开竞赛、数据共享和标准化流程,可以逐步推动Benchmark的构建。这不仅能推动技术发展,还能解决许多技术难题,提高CPS系统的整体性能和可靠性。
董震:
CPS领域Benchmark确实相对较少,主要是因为系统与硬件耦合性强,相关的系统都是有产业界在做,整体上开源程度不是很高,公开数据集不多。从迫切性角度来看,可以构建机器学习驱动的控制器(AI based Controller)数据集。当前,越来越多的机器学习模型被应用到控制系统,其可靠性、安全性的评估是非常迫切。构建这样的benchmark可以很好促进AI驱动系统的保障技术的研究,提升此类系统的安全性可靠性,进一步推动AI-CPS系统的发展。
曹嘉伦:
我们最近做了一个调研,调研了200+ 代码benchmarks,粗略结果发现:~70%+的benchmark 没有人为质量保证,~30%没有测试集或oracle,~20% 不提供参考答案。还有不少benchmark 存在不可运行、不可获取、质量低下等情况。且仅不到5%的benchmark明确了数据安全(即liscence)。
另外,最近我们也着手构建了几个代码benchmarks,包括多编程语言、多任务、多规模的benchmarks 等。构建过程中遇到不少问题,比如质量难以把控、人工成本和经济成本高、如何避免数据泄漏等。
Coding benchmark 尚且如此,更何况CPS Benchmarks。假如有这样一个CPS benchmark,我认为强调 可运行(包括可运行环境)、可验证、质量可控,且最好能够模块化,便于故障定位,可能是比较理想的一些属性。
Question 5
主持人:当前,大模型在很多领域都得到了广泛应用。在CPS领域,大模型的应用也成为了一个热点问题。您如何看待大模型在CPS领域所能发挥的作用及其应用前景?未来3到5年内,大模型最有可能在哪些方面为CPS带来新的突破机遇?
王戟:
大模型在CPS中作用会不断加大,具有重要的应用前景,大体上可以有两个方面。作为CPS的组成部分,功能覆盖并不限于感知、交互、推理、规划。LLM为例,LLM有望通过IoT对物理世界进行交互和推理,形成“渗透式”人工智能(Penetrative AI);利用LLM实现领域化的规划和决策。这里面的挑战包括LLM安全性、LLM运行时的调控、LLM的部署等。另一方面是作为智能增强的CPS开发和演进的智慧引擎,典型的如模型驱动方法各个环节的智能增强。未来3到5年,大模型为CPS带来新的突破机遇是用AI agent重塑CPS的形态,大模型使能的CPS,从而进入智能CPS蓬勃发展阶段。
观点讨论
@彭鑫:LLM有望通过IoT对物理世界进行交互和推理,形成“渗透式”人工智能(Penetrative AI):这就是让大模型“长手”的一种体现?
詹乃军:
我对LLM的作用并不是那么积极,是倾向于消极的,我并不认为它能够解决CPS设计中的一些实质性问题。但可能有用的地方是比如说在一些建模,特别是从自然语言文档到图形模型或者到形式模型转换,这些有可能可以做一些事情,还有一些感知方面可以做一些事情,但真正到决策这块,我估计帮助不大。
观点讨论
@彭鑫:詹老师对大模型在CPS系统中的应用不太乐观,认为可能的应用主要是在一些辅助环节,例如分析验证过程中的数据处理转换等。
孙军:
我理解总的来说,大模型的主要作用就是在一定程度上替代人的作用。就和别的领域一样,但凡有一些不得不用到人类专家的地方可能大模型就可以用来帮助解决一些问题。比如我们最近尝试了一个工作,定义一个简单的语言,让人可以更好更直观的控制自动驾驶车。这个工作的初衷是每个人对自动驾驶的需求很可能并不相同,所以就需要有定制的功能。但同时,让普通用户来生成这个定制的规则有相对比较难。比如人没有办法很快的分析很多交通事故的场景,再决定自己想要的定制是什么样子的。这种场景,我感觉就很适合大模型。我们的初步尝试的结果还是比较有意思的,如果我们让GPT-4o系统的看自动驾驶车违反交规的录像,然后让它按照我们的语言生成一些简单的规则来避免同样的问题,效果还是不错的。
观点讨论
@彭鑫:@孙军 定义一个简单的语言,让人可以更好更直观的控制自动驾驶车:相当于把人驾驶汽车的基本操作做一些归纳总结形成基本的原子动作,然后让大模型生成驾驶策略?
@孙军:@彭鑫 是的是的。
@彭鑫:基于大模型的端到端自动驾驶现在是个热点方向,行业内似乎主流的观点都认可这是未来方向。
@彭鑫:对于传统控制来说,我在路口等着别的车都走掉,肯定是一个比较保守且安全的策略:前阵子萝卜快跑就有点这种保守的意思,非常耐心、忍让,在武汉被称为“傻萝卜”,后面好像改进了策略好一点。
董威:
大模型在CPS的众多领域都有较好的应用前景,但我感觉首先还是对那些需要更多经验和知识支撑的方面起到较大作用,例如在开发过程中对于特定领域CPS系统的需求推荐、代码架构与常用软件功能代码的自动生成、测试场景和用例的自动构造等;在CPS的具体应用中与用户进行交互和提供知识推荐与建议,例如智能驾驶过程中提供路径、目的地各种选择和建议,医疗、看护、保安等机器人对特殊情况的识别和处理,等等。对于具体的一些控制,对可信性和正确性要求很高的实时和连续控制方面可能短期还难以达到要求,但在一些简单场景、或具有一定容错度的领域可能也会很快发挥重要作用。
陈铭松:
大模型不仅可以成为CPS系统感知、认知与决策的核心部件,也对于CPS系统的设计与构造具有很好的辅助作用。例如大模型在智能驾驶的控制决策设计与测试方面已经存在很多令人鼓舞的工作。虽然大模型的实时响应与在智能终端的部署是个问题,但我看好LLM4CPS的未来,相信大模型必将成为CPS设计自动化的主流技术。
马雷:
我们注意到有一些在自动驾驶上基于大模型做端到端的车辆控制的工作,比如LMDrive;也有一些专门用于机器人控制的多模态模型,比如所OpenVLA。这些早期的探索性工作向我们展示了大模型在解决复杂的现实控制问题上的巨大潜力。这些积极的信号也吸引了不少工业界的潜在合作伙伴。在我们与企业的交流中很多合作方都表现出了对用大模型赋能CPS应用的强烈兴趣。不过在我们的早期探索,实验和研究当中发现,目前大模型在直接应用在CPS相关应用上,也存在着不少挑战。一个比较经典的例子就是前些日子大家发现的很多大模型没法判断是9.11大还是9.9大。这个潜在的局限性可能与大模型的训练方式,Tokenization的方法有很大关系。然而,目前的很多CPS应用要求大模型能够直接生成符号化,参数化的底层控制命令。那么这就要求相关的大模型研发对它的数学能力有一个针对性地大幅改进和提升过程。另一个重要的挑战是我们目前还很难保证大模型的输出符合各种安全攸关场景下的严苛要求。对于大模型,我们很难做到像传统控制器那样的做很形式化地验证和限定。
在未来今年的时间里,大模型在CPS领域的机遇,可能主要集中在那些没有办法用传统控制器解决,很难用数学方法进行描述和明确规则定义的问题里。我举几个例子,一种比如说是依靠大模型去处理一些corner case,一些可能超出了设计者预先设想的问题。还有一种是让大模型去处理一些和人有关的事情。比如说在十字路口判断对象来车的意图。对于传统控制来说,我在路口等着别的车都走掉,肯定是一个比较保守且安全的策略。但是如果我能用大模型去智能判断到别的车有等我先走的意图,就可以从比较high-level介入我的控制逻辑,提前快速通过。像这种情景是比较难用数学模型去界定的,但是引入大模型就能带来效率上的大幅提升。最后就是处理一些human-in-the-loop的控制问题。大模型的一大优点是可以建立从自然语言到低级别控制语言的桥梁。那么在一些终端使用场景里,需要实时地将人类的自然语言指令快速转换成控制命令的情况下,大模型具有它独特的优势,也是一种能够把智能工业,智能控制快速带到普通人身边的重要接口。
观点讨论
@彭鑫:@马雷 目前的很多CPS应用要求大模型能够直接生成符号化,参数化的底层控制命令。那么这就要求相关的大模型研发对它的数学能力有一个针对性地大幅改进和提升过程:如果是端到端自动驾驶模型,是不是就不用了?比如通过视觉信号分析直接产生驾驶决策,就像人看到一个物体后凭感觉下意识做出刹车或转向的操作,此时并没有在大脑中去做一些距离计算等理性推敲思考。
@马雷:@彭鑫 这个想法主要是基于我们近期ICRA (ISR-LLM: Iterative Self-Refined Large Language Model for Long-Horizon Sequential Task Planning)的一篇通过LLM 进行任务说明,然后如何一步步转换为high level plan,low level action 指令, 再到机械手臂控制,完成物体抓取任务。在我们这个场景下是4个流程每一步都是单独的模块, 如果是完全端到端的,我得理解是把这四个流程整合到一个起,在后端实际物理信号控制部分还是要通过指令形式进行手臂的行为控制。
@彭鑫:后端实际物理信号控制部分还是要通过指令形式进行手臂的行为控制:这部分应该依靠机械臂的原子动作就可以了,原子动作应该有成熟的数学物理模型来精确控制。
@董震:CPS在应对物理环境的不确定性上一直很难,大模型利用常识、经验能给出还不错的方案,倒是能处理不少情况,但是guarentee也是问题。
卜磊:
大模型在CPS领域的重要性刚才很多老师都提到了,我非常赞同。
我个人认为 在环境感知理解,多模态数据融合处理、控制预测与优化、乃至人机交互方面 大模型的作用是自然直接的,在大量领域有着巨大的空间,比如自动驾驶领域很热的端到端大模型方案就是一种表现。 但是其给可信、安全带来的风险也是必然需要去面对的挑战了。
观点讨论
@彭鑫:嗯,比如基于大模型的端到端自动驾驶效果好像不错,但可解释性、可干预性变弱了,带来了新的挑战。@马雷 这方面日本政府和产业界有什么倾向?
@马雷:@彭鑫 无人车还有更广义上的CPS,日本这边很多企业都是从传统制造,还有控制时代就开始开发系统,过去10年主要是在完成从传统机械化到数字化转型,其中比较大的痛点就是怎么能够保障系统的安全性, AI尤其是大模型近几年性能快速提升背景下,这些企业比如三菱,日立,都希望发挥他们在之前领域的积累,然后通过数据化,智能化提升整体复杂CPS系统的functionality 层面的performance,优化系统性能。 不过带来的痛点就是如何在有AI引入情况下,一定程度上给安全的说明,如果出了故障和事故,是不是好跟客户解释,定责等等。 据我所知,大部分相关企业今年4月份在大模型领域化应用上做了不少预算。
@彭鑫:@马雷 好像跟国内趋势差不多。
@董震:@马雷 兜底方案很重要。
@彭鑫:@董震 嗯,有多少智能背后就有多少规则兜底,只是宣传的时候主要突出智能。
杨志斌:
我目前主要思考了两个方面。
一方面,大模型增强的CPS建模、分析与验证可能是一个研究方向,比如基于语言模型的CPS系统安全分析,我们可以基于大语言模型来挖掘CPS系统的各种失效状态和事件,相比人工抽取,可以提高效率,并覆盖更多不可预见的失效场景;基于大语言模型的CPS系统架构建模;面向CPS模型验证和测试,可以考虑基于大语言模型的验证性质和测试用例生成,以及基于大语言模型的代码生成和粘合等。
另一方面,带有大模型构件的CPS系统可能是未来一个应用场景。例如,特定环境下的机器人,是一类智能化CPS系统,我们关注到目前特别热点的具身智能系统(Embodied Intelligence),是否可以让融合大模型构件的CPS系统具有更强执行力和自适应能力?另外,这类系统的大模型部署可能需要考虑资源受限条件,以及数据安全和隐私的问题和挑战。
观点讨论
@彭鑫:确实,大模型在CPS中的应用可以从多个方面去考虑。既包括CPS系统开发生命周期中各环节上的应用,又包括运行时控制环路中的应用。
冯洋:
大模型在CPS领域的应用确实是个热门话题,我个人觉得它有很大的潜力。首先,大模型能处理和分析大量的传感器数据,这在自动驾驶和智能制造中特别有用。比如,自动驾驶汽车需要实时处理来自摄像头和雷达的数据,大模型可以帮助提高感知和决策的准确性。另外,大模型还能预测系统的行为和性能,帮助优化系统的运行。比如,在智能制造中,大模型可以预测设备的故障,进行预防性维护,从而减少停机时间和维护成本。同时,大模型还有很强的自适应和学习能力,可以根据环境变化和新数据进行自我调整和优化。这对于需要在复杂和动态环境中运行的CPS系统非常重要,比如智能机器人需要在不同的工作环境中自适应。
未来3到5年内,大模型在CPS领域最有可能带来几个方面的突破。首先是自动驾驶,大模型可以显著提高自动驾驶系统的感知和决策能力,帮助实现更高等级的自动驾驶。据我了解目前已经有了一些自动驾驶汽车试点城市,我相信这个技术会在未来5~10年内落地。其次是智能制造,大模型可以用于优化生产流程、提高产品质量和进行预测性维护。智能机器人也是一个重要领域,大模型可以赋予它们更强的感知和决策能力,使其能够在更复杂和动态的环境中工作。最后是智慧城市,大模型可以用于交通管理、能源管理和公共安全,通过分析城市中的各种数据,帮助优化资源配置,提高城市运行效率。当然,大模型在CPS领域的应用也面临一些挑战,比如计算资源的需求、数据隐私和安全问题等。但这些挑战也是推动技术进步的动力。
董震:
物理环境的不确定性、动态性是CPS系统面临的一大挑战,而大模型在应对不确定性与动态性上展现出了很好的表现。从这个角度来看,大模型在CPS系统中感知、决策模块具有很大的发挥空间。最近,产业界与学界也在探索大模型上车、端侧大模型的方向,相信这块会有快速的发展。另一方面,大模型在构建CPS系统保障技术中也有很大的发挥空间,现有的保障技术非常依赖严格的spec,然而spec本身需要人工去定义,这块大模型也有很大的发挥空间。
曹嘉伦:
除了刚刚提到的大语言模型,还可以考虑多模态大模型和Agent的能力。通过整合不同模态的信息(如视觉、语音、温度、湿度等),多模态大模型能全面地理解环境和系统状态,从而作出更精确的决策。
另外,Agent作为集成程度更高、综合能力更强的大模型集合形式,有望为CPS提升跨领域、跨学科的综合决策能力。例如,一个集成了医学、心理学和物联网技术的健康监护agent能够根据患者的生理数据、行为模式和环境因素,提供更为全面和个性化的健康管理建议,从而在医疗保健领域创造新的解决方案和价值。
访谈结束
CodeWisdom
一个有知识的软工公众号
发现智能化编程之道