大家好,我是陋星宇在节目正式开始之前我还是提醒一下大家进群跟买书这两件事进群就是微信加 car 下话线 1105 就可以被拉群 car 下话线 1105 然后就是买书我跟街公益出版社的合作可以搞到一些去往自己家的书然后大家直接去收纳了可以看一下就行好的,我们进节目
大家好 欢迎来到新一期的孤岛池谈 我是新宇孤岛池谈已经很久没有聊自动驾驶了然而在最近这一年多中市面上的 L2 ADAS 智能辅助驾驶有了翻天覆地的变化从 2023 年底首次发表的特斯拉 FSD V12 开始
端到端 大模型等热词从 AI 领域以迅雷不及掩耳的方式进入了 AIDAS 领域本期古老车谈我们就来尝试带大家梳理一下这场技术进化的逻辑线优势在哪 困难又在哪什么时候才能进 L3 等等另外多说一句本期节目仍然采用我旁白 嘉宾穿插引用的方式好了 我们开始
考虑到我们大多数听众包括我本人都不是 AI 专家或者从业者我们可以先从概念科普开始端到端这个词太热了甚至有点热过劲了因为从 2024 年开始这个词就长期占领关于自动驾驶智能驾驶的讨论
我们现在听一段理想汽车创始人 CEO 李响的发言这段发言来自 2024 年 6 月的中国汽车重庆论坛今天很多的自动驾驶团队都在做的端到端的这样的一个技术端到端就意味着其实我们把完整的然后训练片段放进来然后最后产生的结果是输入直接产生输出而不是像过往的一个感知的模块一个规划的模块一个决策的模块一个执行的模块这其实真的不难理解啊
端到端就是从头到尾用一个完整的自动驾驶算法处理驾驶这个任务这段理想的发言很有参考价值我们后面还会用到但在谈端到端之前我想先谈一下传统的辅助驾驶 ADAS 开发流程是怎样的因为只有了解了传统的开发流程才能理解为什么现在行业都要转向端到端就像理想说的传统 ADAS 会用到好几个独立的模块比如说这个预测模块
其实它是一个功能性集成度非常高然后涉及的信息又非常多接口也很多的这么一个模块它是薛岳孤岛社团的老嘉宾了目前在负责自动驾驶高阶功能的开发就比如说预测这里首先在它的位置上来说基本上是在感知模块之后
然后需要对所有的车辆的信息包括本车的信息做一个综合的处理分析然后最后给到决策端一个预测的什么信息这样能保证决策或者说最后的路径规划能基于更好的信息来做出决断
所以说预测模块的任务又可以细分成以下这么几个小的模块比如说很重要的就是需要它首先对车道和车辆信息两部分进行一个拆分那么车道这块就是它需要车道建模
因为我们知道这个传统的开发它都是需要把所有的这些车道信息复现成一个数学或者物理模型然后这样才能进行进一步的分析所以说这块首先有一个车道的建模
然后之后呢还会有这个车道的追踪就是他会录取就是以前比如说这个传感器看到的一些车道信息把它记录下来然后作为一个跟踪然后这个跟踪呢会还有一些好处就是说如果比如说车道这个线突然被其他车辆覆盖掉了啊
或者他本身就车道不清晰了那他还会继续有一个这个追踪来完成他一定的这个这个车道线的稳定性然后之后呢还会有一个车道预测这个其实就是在车道追踪的基础上来去预测下一就是下一针或者下一个时间段那么车道的这个走向
这也是来提高车辆的系统的稳定性比如说我突然看不见车道了我其实还是可以在一定的时间段内根据我之前的预测来进行车辆的控制
还有比如说就是这个模块里还需要完成的比如说车道和车辆之间的关系对吧就是车辆是不是在我本车道内还是在我相邻车道内还是离我两条车道还是说他骑着线走这么一个相互之间的关系也需要处理处理这个目的其实就是为了更好的去区分我之后的车辆这个信息比如说我要做车辆的追踪
这跟车道的追踪其实道理一样然后还需要做比如说相关车辆的一个按照优先级做一个筛选
因为现在我们的传感器其实功能也很强大了然后它感知端给到后面这些模块它的这些数据其实是非常丰富的像一般来说我们是可以拿到 32 个或者
或者说 64 甚至更高有的传感器如果级别更高像素更高然后处理器能力更大的话可能给到 100 多个车辆就是它识别到的就是理论上但是这么多的车辆很多 ECU 它有可能又有它的实现限制它不可能同时处理那么多所以为了提高效率它就会筛选一部分有用的车辆
比如说可以根据速度啊位置信息啊或者说车道和车辆相关位置信息来去筛选就是对我这个本车驾驶有影响的一些车辆就是离我很远像这种车辆可能就不需要做处理了这样也是为了接手算力嘛对然后之后呢会对这些筛选出来的车辆可能做一个动机的预判就比如说
我现在是在一个三条的车道高速上对吧我右边有一辆车然后这辆车前面开了一辆很慢的卡车很有可能跟着卡车后面那辆车就会选择变道超车这个其实就是它一个动机的预判
然后根据这个动机的预判然后再会到下一个玩法就是周围车辆它的一个轨迹的预判对比如说这辆车要变道了对吧它变道是变到哪条道然后大概是什么时间变它打没打灯然后它距离卡车还有多少的距离就跟着等等这些信息来去做一个它未来轨迹的预测
它未来轨距的预测相当于就直接会影响到本车的一个决策和本车的轨迹一个选择对可能我需要刹车或者说可能我
刹车可能都会是造成比如说一定的安全因素可能我最好的策略是变道这样的话给它腾出位置来所以说周围车辆的一个预测其实是对这本车的选择有一个非常大的影响然后基于这些信息还会综合比如说本车的信息分析
很多情况下这些本车信息的一些选择或者说一些变化也会给车辆的这个决策和轨迹带来很大的影响比如举个例子就是说你车辆目前有几个人车里坐了几个人
比如说在美国高速上它有的高速它是限制两个人以上才能开对吧所以说这种情况下比如说车辆我要想换道那就是需要知道提前知道这个信息我是不是能开上这条道这就是本车的一个信息还有比如说我的雨刷器开没开这个是对可视距离可能会产生影响
其实这也是和下一个模块比如说周围环境的这些信息分析也会有一个信息的一个重合或者复验最后把这些所有这些能收集到的信息然后综合给到这些预测的一些模块然后最后判断出一个综合的一个
一个信息载体吧然后把这个最后是给到这个规划或者是决策对所以说这就是刚才说的介绍这些只是在预测模块里就是会涉及到的一些一些下属模块然后还有一些本身的比如说
因为我们都知道项目都是咱们都是在基于 AutoSAR 模型上做的这些开发基于软硬件本身要作为的一些适配你比如说一些数据结构的选择一些处理然后前期数据的处理后期数据处理所以这些整体都算在开发的模块里面所以这最后导致整个传统模块化开发它的
模块数量会非常多因为你只要是想更多的覆盖它的场景更多的能处理到复杂的一些关系那么它需要就是完全用逻辑规则来去制定我所遇到的这些问题然后去解决这些问题
对这就是传统开发说白了就是像搭这个俄罗斯方块就是一层一层搭起来最后搭的一个非常高的高度然后最后完成这么这个支架这个非常复杂的一个功能这就是这个传统开发这个模块化的这种大概一个一个简单的介绍吧这简直太复杂了所以传统的开发方式需要车企对大量的工程师在 ADAS 上是不是很好理解
至少从我做 ESP 的角度,ADAS 的复杂度和开发难度真是比 ESP 高出太多了。我就想想当年我在做那节挖路虎项目的时候,我其实没有太关注那个传感器那边的事儿,但是如果看他们信息的话可能就是认到几个目标,然后他们的叫什么,哦。
知信度是不是会有一个百分比的一个数但实际上这每个百分比的数背后都是很多不同模块的算算完之后最后得到一个数而已是的是的就是如果你要单看就是接口的话可能最后就是简单的几个信号是比如说这个车辆的距离然后你的这个这个
它有一个 possibility 对吧你的这个出现的可能性然后我它有变道的可能性然后是不是在本车道就是几个简单的信号几个数据但是其实要为了达成这几个数据它前期做的工作其实是非常巨大的因为很多时候你要保证数据的这个稳定性然后正确性
还有考虑很多的 corner case 所以最后才能达成可能这么几个这个简单的这个数据这其实就是这个模块开发其实最大的难点之一吧关键词出来了 corner case 这是理想的演讲中也提到过我们自己内部是从去年的九月份开始然后来思考一个问题并专门建立了一个然后用于自动驾驶研究的一个团队
就是一个最简单的问题人类开车为什么不涉及学习 counter case 然后如果我们不能解决这个问题所有的自动驾驶团队每天干的活都是靠人工去调试各种各样的 counter case 而且呢放的人越多 counter case 越多然后和真正的自动驾驶就越遥远这里边最核心的一个原因是然后当人工智能技术在不断发展的时候我们会发现其实人类开车的方式
不是我们过去的这么多年里用的自动驾驶的研发的一个方式这是一个根本的不同因为人开车没那么辛苦没那么累不需要养几千人的团队去搞 corner case 而且团队越多 corner case 又越多所以这时候我们就从理论和技术的两个角度去研究人类到底怎么开车的新的技术如何解决人类开车的解决自动驾驶自动驾驶开车的问题首先其实从理论的角度
然后我们先是从一本书里得到了一个启示这本书叫思考快与慢思考快与慢来讲述了其实我们日常的时候大脑在工作的时候是分为系统一和系统二然后系统一来处理一些直觉快速响应的事情其实就像我们在开车很多时候我们在开车开了十分钟二十分钟三十分钟其实脑子里在想别的事情
但是我们仍然能够在处理然后路上的各种的路况甚至开到家的时候忘记了过去这半个小时我们怎么是工作的其实这时候就意味着我们在用系统一再工作
所以这里理想从工程开发的陷阱中抽离出来从大脑工作原理的角度反思为什么人开车不涉及 corner case 而他提到的这个思想快与慢给出了系统一和系统二相互配合的这个思路这让理想汽车成了利用端到端搞自动驾驶的行业先锋这里我必须给各位听众们画个重点理想本人也强调了我们过去这半年多的时间然后做的一个重要的技术的一个突破
是关于自动驾驶的技术的突破我这里强调一下我讲的是四个字是自动驾驶不是智能驾驶也不是辅助驾驶我觉得这是最关键的他之后又解释到因为端到端是个黑盒子然后 V2M 其实也是黑盒子它跟过去的时候我们在做智能驾驶做辅助驾驶有一个很大的不同是它不再是功能它是能力
我觉得 AI 最大的差别是能力而过去的编程体系然后最重要的是功能功能是要通过然后测试和实验来验证的但是能力一个黑盒子怎么拿测试和实验来验证是不可能的所以这时候的一个新的挑战就是我们用什么样的技术方式来验证能力这个验证方法我们先不提我把这两段录音拎出来给大家画重点的用意很明显大家要从过去以功能来区分 L1 到 L5 的思维科究中跳出来
我们这里必须要意识到一件事 L3 级以上的自动驾驶不是个功能而是能力简单来说它是一个可以被逻辑描述出来的功能它所有的功能定义包括它的安全
都是可以被定义可以被设计可以被计算和可以被验证的这样的一个体系它是有确定的硬件做出来它做出来什么样子在整个生命周期里大概率就是长成这个样子他是杨继峰人工智能专家目前是在一家叫做 Kerasoft Global 的公司工作担任 CTO 然后在之前是在长城负责长城的 AI Lab 然后我也曾经在不同的主机厂
进行过跟自动驾驶 座舱以及更多的 AI 相关的开发有关的这些话题杨总认为 ADAS 在端到端出现之前是一直沿着一个功能开发的逻辑向前走的包括 L3 截止到今天行业里我们谈到的 L3 依然是一个功能 L3 不是一个 AI 问题
L3 准确来讲不解决机器如何像人一样开车的一个这样的一个很范的 AI 问题 L3 解决的是在一个特定的功能场景下由系统负责特定的功能表现在一个尽量可以被计算和量化的安全体系里能够达到一个什么样子的安全目标这是一个今天很典型的我们说的 TJP 类型的 L3 解决的问题
但是从 AI 专家的角度他和理想一样思考的并不是这条路径我们会首先认为自动驾驶解决了一个很底层的问题就是机器怎么像人一样开车那剩下的就是你多大程度上用了什么样子的 AI 的方式去尽可能的解决这个事比方说自动驾驶是不是一个基于海量数据的问题
在大模型以前我们一直认为解决机器如何像人一样开车的唯一方式是从海量数据的习得但是大模型来了以后所以我们看到了另外的一些 AI 的方法或者范式去解决更多的范华问题包括说这是为什么在大模型以后我们开始有一些讨论说人对于开车这个技能的习得并不完全是从数据中获取的
有很多的知识实际上是类似于训练或者是类似于在其他的以更加通用和泛化的方式去习得的这和之前理想提到的自动驾驶不是个功能而是能力的观点不谋而合我觉得这两者依然会存在因为除了中国以外在其他的市场上我们对 Adaf 的理解依然是它是个配置
它是一个有这些功能就需要这些硬件需要这些成本需要这些研发费能跟客户就是收到这么多的这个配置的回报这样的一种商业模式而在另外的一些地方比方说中国比方说特斯拉就很明确的在走说自动驾驶是一个人工智能问题我如果能解决机器帮我开车的问题我实际上最终获得的是机器帮人开车的那个服务成本的节约
然后我实际上是付出了更加平台化的长期的数据成本我要考虑数据的一致性鲁邦性有效性然后以及算法的迭代然后软件和硬件之间的相当程度的结偶然后每一代硬件平台能够支撑就是我多大程度上解决了这样的一个 AI 问题所以今天看起来
中国的绝大部分的智能电动车企或者智能车企和特斯拉已经进入到了这个第二个阶段但是从全球的视角去看依然有很多的区域和市场还没有还是把这个 ADAS 当做一个独立的功能我自己是相信
在 at the end of day 最后大家都会重新走回到说一个我需要解决更通用的更泛化的场景和是更加底层的用 AI 的方式去解决自动驾驶问题的这样的一个状态上
经过杨总和李响对自动驾驶的定义我们再来重新看端到端这件事所以端到端解决什么问题呢其实就从算法的角度来讲它最核心的解决的是信息的无损传递的问题因为当我们把图像然后抽象成了视觉输出的比方说这个目标物类型然后 bonding box
然后颜色等等在这个过程当中它本身是有一些信息损失的然后当你把所有的这些信息再去做融合的时候实际上就基于很有限的信息去获得你最终想要的那个结果但你现在把所有的这些传闻器信息都放在一个大的模型里然后一次性的输出所有你想要的结果那就意味着说你把所有的信息融合在了一个
算法的相当空间里你更多的语义会得以保留这是端德多所带来最大的好处然后再去发展下来这个融合和
decision planning 本身除了今天的这些基于规则以外也产生了大量的 learning base 所以我们看到了一个更大的算法模型把所有的传感器信息作为它的输入然后把你的 planning 或者是你的这个控制指令作为你的输出然后所有的这个
所有的决策过程或者所有的数据要素都放在一个大模型里然后这样的就你可以认为说它可以更多的无损的去处理所有的数据要素然后去避免了这些损失那这样的一个模型它避免到了这些信息在传递过程当中的损失它就构成了一个今天我们说的断断断的
算法系统这种完全从传感器输入进到决策和规划出的方案被称为一段式断道段
但还有一种所谓两段式端到端分别让感知和路径规划各自用一个模型来执行但是这个其实有一个涉及到什么问题呢就是说它这个模型之间或者说大的模块之间它的接口还是人工定义就说是人之前按照我设计的这个思路从感知到路径规划我中间需要传递什么信息
传递多少然后传递的质量怎么样传递的方差是多少这些所有的具体的单位等等延迟这些都是我持天规划好那么说两个模块之间相对是可以说是相对单独独立的也是隔离开的这个是一种端到端的模块化
还有一种这个模块化端到端的就是说我的感知和这个预测模块它的之间的这个信息传递并不是我之前人为规定特别详细的一个信息接口而是它是通过这个叫 feature 来传递就是它是一个呃经过提取过的一个呃信息啊直接是呃
传递给下一个模块说白了就是用集体语言来进行传递而不是我们人为人能理解的这个信息一个结构这个而且呢它是之间可以有相互互动的
就是说可以有正向和反向的可以有反馈的这个其实相对是更高级的一个模块化的端到端然后这个好处其实就是比你人工定义的这个接口呢富含的这个信息更多延迟更低是为了达到这么一个目的
但是其实它还是严格意义上来说还是模块化的系统并没有形成一个整体的断道端那么目前如果说说的一段是断道端也就是说其实已经没有区分具体的模块了或者说在大的系统里没有明显的模块的界限
而是我输入端就是感知的信息输出端就是我的控制输出这是比较正统的端到端但是因为这个行业实在太喜欢炒作了所以市面上有各种尾端到端的蹭热点行为比方说有的人会把我能在用户所有的路径上都提供
各种各样的 AdS 功能去覆盖用户所有的 customer journey 叫做端到端那这些其实更多的就可以把它变可以把它视作是一种跟用户沟通或者是功能层面上的概念但从现在开始大概从去年开始吧因为算法本身就是真正意义上变成了一个 end-to-end learning 的 AI 算法了所以
今天我们在谈端到端什么一段式也好两段式也好实际上指的都是在这样的一个算法模块里边原始信息输入到你所有想要的信息的输出这样的一个巨大的模型把这件事情作为一个今天所谈的狭义的端到端自动驾驶了解了端到端是不是就能无脑猛吹它了呢很显然不能端到端至少目前还不是万能的
我们来聊聊它的好处和坏处它的好处是什么它的好处是就刚才说的其实最大的好处是信息的无损传递那就意味着说我在最后决策说我所输出的这个车应该如何开的规划轨迹的时候我会考虑到所有前续输入的信息换句话来说用传统的方法你是无法预测说在路口
一个被遮挡住的车后面可能会有一个东西冲出来的但是如果你用一个端到端的算法车在这个期间就很有可能会减速也就是说它避免了你在抽象过程当中所损失的那些信息而能带来更拟人的或者更鲁莽的驾驶体验或者这是它的好处但它的坏处是什么呢是一个端到端模型就几乎是必然的会带来
相当的不确定性我举一个例子比方说我们今天所谈到的绝大部分的人在规控的规划控制的这个部分里都不是只有一个顿到顿的模块
都还是沿用了很多的基于规则的 planner 然后以及传统的轨迹规划算法那怎么去实现呢就是用各种的兜底方案吧比方说呃我输出多个多个这个规划这个轨迹的规划然后呢我用规则来兜底去选择呃可执行的或者我用规则来兜底去呃就是避免他会生成一个危险的轨迹呃
另外呢就是在传统的模块式的算法架构里每一个模块你是更容易说清楚的比方说你可以说我的呃视觉
上头的这个模块对于不同类型的目标物识别的精度还有照回应该做到一个什么样子的水平然后呢我的融合应该是一个什么样子的算法指标然后 planning 和 decision 应该是多大的算法指标它的覆盖程度应该是什么样子它更容易对每一个模块去做跟安全有关的定义但你把它变成一个完整的端到端的这个算法问题以后
你就很难说清楚因为它所有的中间过程已经变成隐世的了你只能通过大量的数据说我在这这么大体量的数据学习之后这个车在这个场景下的算法表现是这样的但至于它为什么是这样的或者这样是不是足以论证它是安全的就变成了一个很大的问题所以
在这个这个路线里边我们会经常遇到这样的一些问题啊所以拟人的反面就是呃他同样会有一些场景是不符合我们认知的比方说
我们在可能几年之前的传统 ADIUS 里边会非常规则它所有的行为你会非常理非常非常懂的比方说如果有一个交通标识它有一个限速然后呢那这个车在通过这个限速标识的时候就一定会会低于这个限速的指标这个这个规则是硬写出来的但事实上人不是这样开车的人在这个高速到下匝道的时候你通常不会一脚急刹把速度从
80 或者是 70 直接踩到 30 或者 35 但在这个 ramp in ramp out 里经常会有这样的场景那个地方就给你挂一个限速 35 或者 40 的限速标识那所以在这样的一个过程里如果你按照传统的方式去做它看起来很符合规则但实际上很不拟人但如果你用了一个更多的基于数据学习的方式在通过这个路口的时候或者通过这个杂道限速的时候它看起来会更拟人但它就不符合交通规则
同样的我们在传统的这个功能表现里你几乎不会看到说一个车把你扔到路口这个越过停止线但是在今天的城市 OA 里我自己会开出来大量的场景这个车在红灯的情况下或者他进入到路口之后红灯了他就把你扔在了路口的中间告诉你你要接管了所以在这种情况下就是还是回到那个问题
自动驾驶在这个阶段已经不解决一个特定设计好的功能而解决机器多大程度上能像人一样开车恰好在那个时刻到了他解决不了的时候他扔给你了
所以在很长一段时间里就变成了这个一个端到端的算法希望能够在各种复杂的场景像人一样开车但是他又不能完全做到在他所有做不到的情况下他就会在他认为自己做不到的边界里把车扔给你这个场景可能是红灯他越过了停止线可能是他跨时限想绕过某个东西跨了一半
就是所以在这些场景里在你定义好一个功能的时候是不可能出现的但是这是在今天你把它当做一个 AI 问题去解决路径当中不可避免的那如何设定一个安全的概念说或者论证说你现在的这个系统是足够安全和鲁莽的就会对于你当前的这个阶段产生一些很大的挑战和问题
听上去简直是安全公之师的灾难如果车连不闯红灯都玩不成那这的确不是个能量产的东西换句话说基于规则的 ADAS 是个对传统开发流程相对友好的存在比如说我要放行这个功能放行这个系统那我直接看我的测试报告我有多少的需求已经测试了然后测试结果是什么对所以说而且这个没达成测试结果的
我直接就可以通过这条需求所链接的软件的模块或者说子模块找到问题这个就是一测试而且发现问题比较容易对还有传统模块开发还有一个好处就是
我对数据依赖很低因为我所有的规则系统设计都是基于逻辑和规则来写的对吧我不需要之前有大量的数据来去先验我逻辑因为我本身我就知道逻辑就不需要从数据中再提取逻辑了这步道也就完全省下了
而且还有很多比如说法规的要求工作安全的要求这我相对直接就是一条或几条规则直接写在系统里这样就是非常直接能可以完成这样需求的实现
对然后这样设计功能设计的其实还有一个好处就是它的下限会相对较高就是相对较高的意思是相对于端到端我们一会之后再提
因为我之前就像刚才说的咱们有很多的功能安全的需求还有法规的需求我的系统就是按照这些需求来设计并且实现的那么也就是说我系统至少能完成我法规要求的这些需求而不至于说看见红灯就从理论上来说你比如看见红灯我就要停它不至于吵红灯了这就是保证了它的下限
对这些呢是比如说都是这个传统模块开发的一些优点那么相对应呢其实它的缺点也是非常明显首先呢就是它的上限很低为什么这么说呢因为像刚才说的你所有的这些需求规则都是提前要设计完成的
也就是说你没有设计出来或者说你没有做出到系统里完成实现的你系统就不会去做这个是很好理解所以说最后导致的问题是什么呢为了完成一些复杂的场景你就需要有大量的规则去总结归纳然后最后实现到系统里而且实现过程中还会遇到很多问题就是你比如说实现了规则 A
然后规则 B 可能会推翻规则 A 或者说推翻一部分规则 A 的要求你又不得不重新设计一个规则 C 来同时满足规则 A 和规则 B
然后如果再出现一个规则 D 你发现前面的可能又不适用了又得重新设计一个配置性更高的逻辑听上去你参加过这样辩论的环节是不是那肯定的我当时开发那么多年很多事情都是就是道理最后就是一个死续环
就是没解因为你很多时候你规则就再多你遇到的场景是无限的对吧所以说这个是没有办法穷决也没有办法用规则就是一两条规则完全去概括所以说这就是他最大的缺点他的就是伤险低然后遇到复杂场景能处理的能力就很差
然后还有一个就是咱们刚才说了你想单单一个预测的模块就是下面可能有十几个子模块这些模块之间的接口设计就是说是极其复杂因为你提前要去设定好我这个子模块首先要干什么的
然后我的输入端是什么输出端是什么和每个模块之间的通信因为很多模块它不是线性的对吧就是模块 A 传给模块 B 然后传给模块 C 它不是这样单链路下去的它是一个网状的一个设计结构就是我模块 A 对应的可能是 BCD 然后模块 B 可能对应的是 XYZ
然后模块 C 可能是又对应 A 和 B 加上 XYZ 它就是完全是一个交叉的一个设计情况然后还有不同的反馈然后你还得考虑到这个延迟对吧
所以说它的接口设计难度其实是很大的这也就是为什么传统开发模式都会有一个非常高级的 architecture 就是架构员或者说功能和系统的架构师他的任务真的是非常重要你设计不好整个的框架你的模块你功能开发的再好
你最后开发出来可能是错的或者说没有用处或者说这个逻辑不对位置错了就是你模块在整个的系统中的位置有问题那么其实它涉及的这个那真的是千亿号和董贤顺的这个最后遇到的问题所以说
就是模块之间的这个集成包括它的架构设计它的难度是很大的薛岳我这边插一嘴他是张翔这是我们这期节目的第三位嘉宾功能安全专家孤岛车谈老朋友不知道是不是你以前碰到过这样的情况由于我的个人感觉是在这样的设计工作中尤其系统教授师的一个情况其实最大的问题处理是原先我们在做 DFA 的时候只需要关注于 System Level
也就是说关注于你说在这个控制器的设计方面而现在实际上的话因为自动驾驶的存在实际上 DFA 的设计已经扩展到 concept level 了就在你在做 concept 的设计做 feature 设计和你底下的 2G 功能设计的时候你的 2G 功能之间的功能之间的 DFA 设计反而变得更重要的一个作用了
而不会像原来的那种传统的只涉及到一个单独控制器了因为你现在的涉及到有不同的不仅是供应商的问题而是在你的 feature 和你在底下 feature 的各个功能以及功能的这些规则定义的时候这个时候以及甚至包括它的功能的部署的方面都在传统上面都需要一个架构师来做取舍这个是我觉得我个人经历过的项目中我发现的这是一个很
很需要系统架构的一个工作是的完全正确就是其实自动驾驶它目前的发展到现在这个阶段它是一个高度集成的一个系统了它并不是单一的一个呃
一个小的功能它是真的是呃集合了多多科学然后这个所有整车控制然后整车设计这么一个集成度很高的一个一个系统对所以说从整个系统大的系统层面来看你需要一个很好的一个架构怎么去呃分配你的资源怎么去和其他的这些整车的这些呃其他的 ECU 啊通讯协议啊包括这个呃
communication 这些去达成一个很好的一个和谐的状态然后因为原先我发现一个什么事情的这边差一句就是说你在看所有的安全设计标准也好尤其是汽车业的话天天盯的 26262 来说
从 2020 来说的话对于这种 dependent failure analysis 就 DFA 这一部分它们所有的权限都是依赖于系统而且给出来这些所谓的 dependent failure initiator 的这些用力都是基于传统的控制器设计的而现在实际上对于自动驾驶而言的话它已经不适用了
那么如果你不从这个那个 concept 和概念概念架构的角度来做最早期不做好这个事情的话到下面会现出无限制的这种这个你为了把它这个 systematic feeling 摘出去之后你要做多次的这种系统调整你相当于就是说什么呢就是说你早期的那个概念设计做得很糟糕的话
到下面的话就相当于是不停地迭代无数次的循环就像刚才说的有无数种规则也好无数种场景也好导致的说你最早期的设计的话你得不停地在修改是的就是这样对这是我当时做的一个自动驾驶项目的一个感触
张翔你说的很有意思但是你有没有非常具体的或者说大家能听懂的例子呢不能说例子啊我一说就把人说出来了你这例子里不说人不能说是吗反正他也倒了无所谓对我的意思是说就像你刚才说那种功能跟功能之间怎么在架构上能够发生这些 dependent 因为是这样就是说传统的设计的话他做好了这个
模块架构就是这个逻辑架构和和那个和这个物理架构的早期的物理架构啊他会做一个所谓的这个功能分派
但是通常来说是做完功能分派之后的话分到了各个单独的不管是感知模块也好控制模块也好然后的话只会在控制器这个层面上这个控制器这个系统层面上他还做他的这个系统层次的一些这些事效分析包括这个功能的这个怎么叫做系统事效分析 systematic failure 吧
在那种情况下来做的时候的话往往会跟后续的你的安全功能机制分派会相冲突所以呢导致了说哦原来发现最早的这个这个这个功能的 allocation 啊
原先分的实在是太随意而后续的话跟这个各个场景而比的话它会出现说好像有些东西我们覆盖不了那我们可能需要重新不管是要有额外的农渔功能也好或者说有农渔的安全设计也好甚至会出现功能的额外的分配这样的话呢就相当于说你的系统可能会导致说为了覆盖更多场景然后你会经常性的要求推导重来
你的系统的这个迭代次数会增加那其实大的问题就是说在我们开始的这个开始做这个安全分析也好做这个系统的架构分析也好我们开始的晚了我们把它分到了个下一个层级而没有再说再找到那个上一个层级在他更早的在这个这个 concept 这个在概念阶段就要做而在概念阶段做的一个东西的话偏偏呢就是说在不管是任何的规范也好在任何的研发流程也好这个东西的话是并不是强制的
所以这里导致的一个问题就是说,如果你死死的按照原有的 model based system engineering 的方法来说,然后按照原来的安全标准来说,我们这个东西的话实际上是往后拖了一步。
这样的话呢导致了说实际上在最早的架构设计就有问题而偏偏如果是有经验的架构设计师呢刚开始他们其实也不做这个相应的分析他们只不过说我大概觉得这个没什么问题就是说根据经验属性来做但实际上的话这个东西是可以避免可以在早期的时候来尽量能够做好哪些功能是需要有冗余的哪些功能是有这个 function availability 的这个问题那这个东西的话呢
我的个人感觉就是说如果你做得更早期的话会对你的这个系统设计也好会有很大的帮助当然这个只是基于传统而言了 OK 其实我可以再举个例子我突然想到我觉得这个可能正好比较契合这个主题我就不说是谁了因为这个涉及到前东家一个反面例子就是当时我们在做一个 L2 加的一个功能
然后其实呢当时也在考虑就是这套系统是会直接用到一个 L3 的功能上也就是说这个前期的这个功能设计或者说这个架构它是把 L2 和 L3 放在了同一架构下
然后后来我们是等于是先开发了 L2 的功能其实问题就没有暴露出来也算比较顺利然后很多预期也达到了然后之后我们觉得 L2 已经做好了那就继续做 L3 如果架构这些都差不多的话然后发现不是这么回事真的是
这天差地别就是 L3 的这个需求首先我们要知道就是它对这个功能安全要求要比 L2 高很多对吧因为 L3 一个 SLB 和一个 SLD 的对对对而且它的这个如果一旦出事这个
负责责任方是车企而不是驾驶员对吧这是这主要的所以说他需要公的安全他需要这个冗余设计也就是说他有一条正常的这个系统作为这个 main path 就是主要来行使这个车辆控制然后还需要一条这个
备用路线然后还需要一个相当于是监视器一样就是它会去判断我什么时候是可以用这个主要链路然后如果主要链路失效的情况下我什么时候启用备用链路对吧然后它就相当于有这么一个
其实是一个 two out of the two 的架构然后这一部分的话就是你涉及到一个系统的呃中间的有个 arbitration 的问题所以你经常会涉及到你的主 lane 和你的 fallback lane 的两个问题对对对呃然后当时我们遇到的是一个什么问题呢就是说在这个呃 L2 的这个项目中我们的一些传感器然后它的呃
设计比如说我前向有前向雷达然后有摄像头啊然后有后向雷达啊但是呢 L3 呢它是需要有容易度的也就是说每一块这个覆盖的呃
呃场景都需要有至少两个不同呃这个感测感知原理有不同的 diversity 要求对需要叠加说白了就是说我比如说前测的检测我既需要有这个 camera 还需要雷达甚至可能会有激光雷达这就是三个就是感知原理不一样的传感器进行叠加啊
如果是两个比如说我前面又有摄像头了我再来一个摄像头这个不可以因为它的这个感测原理一样就是有一个摄像头失效那有大概率另一个摄像头在极端场景下也会失效对吧所以说这个是不同的没错所以说这就是说的那个 dependent failure analysis 的问题就是你分的你刚才说的这种就是
传感器技术端的 diversity 问题然后软件端的相互不能有额和干扰的 free-friented interferences 的问题
以及后续你在硬件层次上的你的系统硬件设计的这个 systematic failure 的问题对这个的确是一个很头疼的问题由于这就是这就是其实最大的一个悖论就是说很多人现在推什么 central 的这个架构其实你推的所有的这个 central 架构也好 domain 架构也好最终在这三个东西的话总有一个择不干净不管他们现在什么这个 high performance computer 也好做什么也好
这个是很难摘干净而且大部分的在 FSE 的 level 上就包括你刚才说的 2/2 的 Line 里面
很多都很难决策,尤其是 Arbitration 这个模块以及两个 Interlane 的这个 communication 是极大的一个困扰而且本身来说的话,2/2 这个东西从他们最早来源来看,从 AEC-6508 来看也好,从 262 来看也好实际上是有很大的问题的,有很大的 bug,它通常如果等于是 fail-safe system,没有问题但是如果你要 fail operational
你可以去看那个 NASA 的一些论文关于这个先空转向的论文基本上三条 Lane 跑不了你想一你想两条 Lane 来解决这个问题在 L3 以上基本总有 scenario 覆盖不了的情况
这段关于失效和冗余的讨论在我看来是很少有却也非常重要的对话如果之前那两期关于 MBSE 的节目过于理论的话这部分应该给了大家一个非常鲜活的案例让大家理解 MBSE 的意义和难点当然回到这期节目的主线当车企在 2024 年面临基于规则 vs 基于大模型端到端的选择时更多车企选择了特斯拉先用 FSD V12 蹚出来的这条端到端的路
我觉得生命一点就是说虽然说特斯拉是第一家这个实现端到端的这个车企或者说这个实现这个技术一个玩家但是我觉得从我的这个了解到信息来说即使特斯拉
他会晚一些或者说不是底下也会有其他玩家或者车企或者工程商做这个事情因为其实这是一个必然的结果
就像我刚才说的其实大家都已经认识到了传统的逻辑模块开发流程或者说架构它的局限性是极大的而且要实现尤其是城区的高阶指甲再用传统的开发模式是
不可能的啊所以说这个呃经过这个慢慢的这个迭代啊就像刚才也说过这个端到端他有一个演进的过程他并不是直接从所有的模块逻辑逻辑模块开发一下变到了一段式端到端对吧他也是有一个慢慢的一个演化啊过程
所以说我觉得 24 年其实是这个变革的一年吧就是即使没有特斯拉或者很多人认为说是特斯拉的这个
出现或者说它的短短的应用才会导致国内这些车企跟风或者说抄袭等等我觉得这个是不准确的其实我觉得很多技术的积累只是一个过程而只不过是在那一瞬间爆发出来而已对所以我认为
就是技术已经迭代到这个地步了它所对应自然而然的这么一个产生的结果那选了端端端之后行业还发生了怎样的变化呢它的功能迭代非常快对吧几个月甚至一两个月
甚至几周就可以发送一个小的迭代然后大的迭代就可能是一个月或者一两个月都能达到这个速率这个在传统开发的这个
模式下这简直是不可想象因为咱们也知道传统的汽车开发可能是车的开发可能是 5~6 年甚至于可能还有更长一点其实对于一个自动驾驶它的一个项目开发它的周期可能也会是一年计算至少比如像在欧洲这边是 2~3 年 3~4 年这样一个周期
那么国内现在目前功能更新可以做到以越北单位甚至周围单位那么其实它能实现的主要一个原因也是因为端到端的一个优点就是它的开发流程就大大减化了因为不需要那么多人去写规则了对吧你比如之前华为就是它的能力墙 ASD2.0 的时候还都是以规则为驱动它有几千个工程师
去做这个事对吧所以说你同时一个项目协调几千人和我现在只要是为这个模型大量的数据他可以业余积值的去他不需要休息对吧这个迭代能力那肯定是天长之别
而且包括你比如之前理想也是了解到可能也不完全是因为换到端到端但是可能也会有一部分原因就是大量裁人然后直接是他的新推出的功能也是直接上端到端模型对所以说这就是节省了大量的人力努力然后能缩短开发流程
还有优点呢就比如说它的这个放话能力强或者说它的全局优化能力也很强就比如说我原来用规则写的我在 A 路口能实现我的车道线是两条那我到了 B 路口我车道线变成三条有可能还包括左转线左转车的右转车的公交车的
可变车道等等那我一下傻眼了对吧我原来我只会开两条车道的知情的你现在一下给我变这么多我咋整但是你要端到端它就是你只要是有数据我可能学过或者说甚至我可能都没开过但是我开过类似的它的泛化能力就要比原来的逻辑单纯的逻辑驱动的功能就要强很多
而且刚才咱们也提到模块化开发你如果发现了一个 bug 那么你首先要定位我这个 bug 具体在哪个模块出现然后再去修改这个问题在端到端也不存在因为我只要发现一个问题我只要重新去训练就好了对吧或者说直接现在有的更高级的我强化学习然后或者说有专家模式
去重新让模型去看到这些事情再去学习或者说现在甚至有的更像 DeepSeek 咱们也知道他更先进的他的理念是他是存在一个叫
学生模式或者说老师模式就是他有一个大的基准模型他会去教他的学生模型来去做一些事情也就是说他不用已经是不用人来去告诉这个模型什么是对什么是错什么是数据可以学什么不可以学而是模型自己就本身完成了这个任务所以说进一步去削减了这个开发的这个难度或者说这个流程的复杂性
对所以说这样的话就更快更准确的能达到我这个整个全局的优化对某一个 use case 或者说整个功能的这个 performance 的一个提升这个要比之前模块开发真的是这个效率要极大的提高
还有一个好处就是它也极大地减少了人工偏差什么叫人工偏差因为在传统的 Mockup 开发下规则都人写的对吧但是说白了你试验就会犯错我可能写错了一个数据结构算错了一个小数点
我的信号可能定义有问题但是很多情况下当时是后期都可以检测出来但是还是会存在出现错误的可能性这个是可以说从理论上来说就无法避免但是如果是交给模型这种错误就可以很大的可以避免了而且它的学习能力相对于也是更强对吧因为就是它
他的这个不只是基于规则了而是说你所有这些数据你所有他接受到这些场景他都可以学习就是你规则想到的他可以学他规则没想到的他还可以学这样就可以大大提高了他的发话能力和学习能力这都很好不过怎么还会有闯瘟灯让司机接管的问题呢
从策划的角度来讲吧大家正在努力的从监督学习往无监督学习的方式上去发展监督学习就可以认为说你是通过标注的方式告诉 AI 什么是对的比方说我们采了很多数据回来然后做了大量的标注无论是对于感知的标注还是对于你应该如何开车的这个决策或者是 planning 的标注
但总之就是我们通过标注告诉一个人工智能系统什么是正确的然后这个人工智能系统会这个逐渐从数据中去学到正确的
或者越来越接近我们认为正确答案然后呢而非监督学习可以把它看作是一种数据的聚类啊就是我不给数据任何的标注然后呃让 ai 自己从数据当中去学习呃什么跟什么是相似的啊那然后另外还有一些比方说呃强化学习或者是呃迁移学习这些在增加实力也会有一些也会有一些探索
但从今天去看的话自动驾驶基本上是一个监督学习问题我们都在等特斯拉的这个是监督学习的版本到底什么时候会上然后以及它跟现有的版本到底会有多大的区别因为所这个自动驾驶所带来的这个算法模型已经变得越来越大了所以实际上这个行业里已经越来越少有算法层面的秘密了
越来越像是一个名牌的游戏了端到端的模型大家都知道它基础的这些模型的结构然后那实际上大家比的就是谁有更多的高质量数据然后谁能够更好的使用这些数据然后谁能够形成更多的闭环除了高质量的数据很多车企也在用多模态模型 VLM 来兜底
还记得理想在重庆论坛上说的那个系统一和系统二的例子吗系统一是端到端自动驾驶系统二就是多模态模型 VLM 它这个全称叫 vision language model 相对就是世界语言模型它的作用呢一个具体的一个应用例子就比如说我在一个复杂的路口我有红绿灯我有行人我有车辆我有自行车等等
这个车最后需要停下来那么问题来了我是为什么要停我是因为看见红绿灯要停了还是说我前面有车辆加三停了还是说这个有自行车突然拐到这个我的本车道停了
还是说因为其他原因还是因为看到斑马线对吧如果说在一段是端到端传统的那种黑盒模式我很难解释但是引入 VRM 它的一个作用主要就是在前端的感知模块下或者说在感知的任务
它会提取这些有用的元素我们这个管它叫 feature 比如说因为你这个团种的端到端你接收到是一个比如说一张图片你创办器发来的一张原始图片它是由像素组成的
但是这些像素呢,它是需要进行提取的,就是说我识别红里灯是需要哪些像素,或者说反过来说这些红色的点点,对吧,最后组成了一个小的红的圆圈,那么它会识别成红里灯。
那就是说我这个 VRM 它的任务就是说我根据你的原始主向我会提取出对我对这个后续角色可能产生影响的元素比如说红绿灯比如说斑马线比如说自行车就是我把这些相当于是用语言自然语言的形式从一个二维的
像素中提取出来然后翻译成人类能理解的一个自然语句然后再显示给无论是开发人员还是说我现在甚至比较火的就是在 HMI 中我可以直接利用 VRM 进行一个语音播报比如说我前方看见红绿灯了需要怎么样或者说我前方看检测到施工道路了
我需要怎么怎么样相对于是他说的甚至更直白点他是一个翻译器就是把你前端模型所看到的这些收集的这些场景一些信息转换成语言自然语言这是它的一个主要作用当然它还有另外一个作用就是说我把这些
这个提取出来的一些信息我再反馈给我的这个顿道端模型说白了就是我原来的这个顿道端它是直接基于像素来进行一个逻辑控制或者说一个处理也好转变成我现在提取出的语句或者说一个 feature
来做处理那么这个效率相对其实是更进一步加大了比如说我前面看到红绿灯了那我传统的这个这个端到端我就需要去检测有这么多的一个像素对吧然后再提起就我可能是一个红绿灯然后再传给下一个那么如果有这个 VLM 那我就说我就直接告诉你我前面看到红绿灯了
对吧你模型应该怎么处理我说我直接看到自行车了我直接看到行人了我需要怎么处理相对是他给了一个提取过后的一个反馈这个是之前比较主流应用的一个 VRM 的一个应用就是来加强你黑盒的一个可解释性
然后来提高这个端到端模型对复杂场景的一个理解这是它的作用这是端到端加 VLM 不过我们也发现了一些需要改进的地方它是理想汽车的自动驾驶技术研发负责人贾鹏首先虽然我们可以通过一步联合训练让端到端和 VLM 协同工作但由于它们是两个独立的模型而且运行于不同的频率
整体的联合训练和优化是非常困难的其次我们的 VLM 模型是基于开源的 LM 大语言模型它使用了海量的互联网二级图文数据作为训练但是在三级空间理解和驾驶知识方面是有所不足的虽然可以通过互训练进行一定程度的弥补但是它的上限还不是很高第三自动驾驶芯片如 RX 和骚油它的内存带宽和酸力是不及服务器 GPU 的
如果进一步提升模型的参数量和能力同时还能实现高效的推理这是个巨大的挑战第四目前驾驶行为的学习更多的依赖于 Transformer 进行回归建模但这种方法难以处理人类驾驶行为的多模态性这里的多模态性是指在相同的场景下不同人的选择是不同的即使是同一个驾驶员不同心情的时候驾驶行为也是不同的那么有什么方法能够进一步提升模型的上限让用户体验到更加丝滑的产品呢
同时我们认为不仅仅要提升模型的上限同时也要提升模型的下限如何对齐到人类的价值观也是急需要解决的问题幸运的是在我们交付端到端加 VLM 的期间空间智能 LIM AIGC 和巨神智能有了快速发展也给了我们很多启示我们在思考能否将端到端模型和 VLM 模型合二为一像 GPTO-1 和 DeepSeq R1 一样模型自己学会快慢思考
同时赋予模型强大的 3D 空间理解能力和行为生成能力将双系统天花板进一步打开基于以上的思考我们提出了理想的 VLA 模型 MindVLAVLA 是视觉语言行为大模型它将空间智能语言智能和行为智能统一在一个模型里 VLA 是 PhysicalAI 的最新范式它赋予自动驾驶这样的物理系统感知思考和适应环境的能力 MindVLA 不是简单的将多段段模型和 VLA 模型结合在一起
所有的模块都是全新设计的 3D 空间编码器通过语言模型和逻辑推理结合在一起后给出合理的驾驶决策并输出一组 XN token 最终通过 Diffusion 进一步优化出最佳的驾驶轨迹这里所谓的 XN token 是对周围环境和自车驾驶行为的编码整个模型推理过程都要发生在车端而且要做到实时运行这是目前 2025 年 4 月在量产车上能看到的最先进的自动驾驶技术
贾鹏的发言我们后面还会接着听不过我想先给大家放松一下听了这么多技术理论讨论我们该找一个现实生活中存在的案例了那请谁都不如请整个行业中最呼风唤雨的特斯拉了 2025 年 2 月 25 号自动驾驶界不可一世的特斯拉在中国终于发布了 FSD V13 它的表现怎样呢
一句话上限高下限低我们来听一段这个叫智能车研究所的自媒体的测试视频和评价
这个大大的红色的红绿灯 圆灯看到并且做到红绿灯手停我们国内很多的车都有做那个红绿灯的读秒功能这个车子没有的哎呀 闯红灯了你刚才不是已经停在红灯前面的吗为什么突然又冲过去了我不知道我在说串词的时候一脚油就给我杀过去了那现在绿灯没有啊绿了 可以走了
我们是纯视觉也要观察一下没问题好红灯停对不起我这关看来真的只有焦景灯拦下他红绿灯都拦不了他喂
他想走这个里面进去但其实是封住的我又绕去广州大道了他把我绕出去了
他又差点走错路了又要去四右新马路了
这几点车控行车节奏真的是美的 FSD 走的是真的顺怎么走错路也走得很顺毫不犹豫的点形的上限高下限低是吧手脚比脑子快我这么理解吧
好了由于时间关系本期古岛车谈到这里就先暂时告一段落在下一节目中我们将接着这个话题聊的特斯拉 FSD 在中国水土不复的原因是什么世界模型是什么该如何从社会层面思考自动驾驶的风险最终我们甚至还聊到了马斯克从政的动机敬请期待
to win