出品丨虎嗅汽车组
作者丨周到
头图丨视觉中国
一直以来,特斯拉智能驾驶功能“王不见王”的跟华局面,如今要有变化了。为开眉山市某某商贸业务部
本月初,特斯拉有特斯拉员工在进行直播时“无意”中泄露,跟华FSD(Full-Self Driving,为开“完全自动驾驶”功能)的特斯拉内测版V12疑似正在中国进行测试。显然,跟华在解决了信息安全合规问题之后,为开在美国大杀四方的特斯拉FSD,终于有望来中国和华为城区NCA一决高下了。跟华
不过对于两家企业的为开高阶智驾产品,究竟谁在中国的特斯拉表现会更厉害这个问题,外界一直有不少争论。跟华一些人认为,为开中美两国的道路环境、交通规则和用户习惯都存在不小的区别,因此FSD来到中国注定会水土不服,在华为面前落得下风。
但是,几乎每一个交流的技术人士都告诉笔者,特斯拉在端到端架构上取得的领先优势,绝对不容小觑。因为在美国,已经实现量产的FSD BETA V12给到了全球车企与科技公司足够大的震撼。
那么问题来了,由特斯拉率先量产,且在国内被华为、蔚小理频频提及的端到端架构,到底是什么?特斯拉如今“仅剩”的这一项优势,其内部原理到底是什么?为此,虎嗅汽车暗信号团队经过多方访谈和调研,为大家呈现这一前沿和复杂概念背后,技术原理和工程难点到底有哪些。
端到端:这边猪进去,那边香肠出来
只要你在B站或者各类带有视频内容的社交网站上搜索“特斯拉FSD V12”,就能看到大量美国车主晒出的FSD体验视频。在这些视频中,已经升级到最新系统的特斯拉汽车在繁忙的美国街道中,智驾表现堪称“类人”。眉山市某某商贸业务部
从上图可以看到,车主驾驶的Model Y在路遇园林工人锯下的树枝时几乎“没打磕巴”,在无需接管的状态下直接操纵车辆绕开了障碍物。
而在更多视频里,特斯拉汽车完成了太多当前其他品牌车型智驾功能没有的表现:面对正在施工的道路,在桩桶的引导下驶入对向车道逆行,并在施工路段结束后回到正向车道;在没有红绿灯的十字路口,准确遵循“STOP”标志停车并等到左侧车辆先行;在到达目的地后并不马上退出,并会在人类驾驶员没有给出进一步指令的前提下,自动靠边停车。而如果该地点无法靠边,便自动向前行驶寻找车位……
这一切实现的基础,便是智能驾驶的端到端架构。在笔者看来,这对于汽车而言可谓是第一个接近于ChatGPT的发明,将极大地改善智能驾驶体验。
所谓端到端(end-to-end)架构,其对应的是如今绝大多数车企采用的模块化架构。在过去,工程师们将一辆车的智能/自动驾驶分为感知、决策规划和控制分为三个模块:感知、决策和控制。
其中,感知模块通过车身传感器信息的接入,实现对道路中车辆、行人以及各类障碍物的识别,并完成对车辆自身的精确定位。决策和控制模块(Planing and Control)负责对于前方移动障碍物的轨迹、速度进行预判,并规划出车辆行进的路线,保障车辆安全行驶。最后,系统将计算得出的操作指令下发给油门、刹车和转向系统,操作车辆行驶。
对于这个架构,其实我们可以理解为“规则执行器”。无论是感知到障碍物特征,并基于数据库对其进行分类,还是在具体场景中根据周遭环境变化而进行相应的操作,系统都是根据一条条工程师写好的规则进行执行。在业内,模块化的智能/自动驾驶架构也叫做“rule-based”。
但端到端的架构下,系统将感知与PNC模块直接打包进了一个大模型。传感器的数据直接输入到模型中,经过计算后直接输出结果,发送给执行器。而大模型则是基于大量测试车辆以及用户实际驾驶的真实数据进行训练而成的,能够主动学习人类的驾驶习惯。
从上图中就可以看到,传感器通过大模型直接连接到了执行器,这就是所谓的“端到端”。用一个不恰当的例子来讲,这就相当于一个整体打包的食品生产线:这边猪跑进去,另一边香肠、卤煮、肉皮冻直接出来。
相比较模块化,端到端架构的优势显而易见。首先,系统不再是基于由工程师所编写的规则进行决策和控制,而是通过数据驱动(data-dirvien)实现成长,这就让系统处理问题具备了泛化的能力。
在过去,如果面对规则中不存在的场景,模块化架构的智能汽车往往会退出系统并提示驾驶员接管,抑或采取了错误的操作造成事故。而端到端架构则能够在面对极端场景(也就是corner case)时,像人类一样基于“直觉”采取包括绕行、避险乃至“硬开”等方式行驶,从而极大地提升安全性和用户体验。
其次,相比较由一条条规则和一个个模块构成的老系统,端到端架构能够在提升决策效率的同时,极大地降低了代码量。例如特斯拉就声称,FSD Beta V12系统相比较过去,减少了30万行代码。这不仅会降低车端的存储压力,还能极大提升系统的简洁度,从而改善运行效率。
最后,也是最重要的一点,端到端架构是一个真正的“大模型”,已经具备了人类驾驶员的部分特征。在未来随着模型训练数据量的不断提升和迭代,我们有望在端到端架构下成功打造汽车人工智能,并最终取代人类驾驶员,实现真正的L4级无人驾驶。
更重要的是,模块化的架构尽管在积累了足够多的策略后能在日常道路环境中顺畅行驶,但面对“计划外”的场景(也就是corner case)时,仍然会退出或做出错误决策。这不仅影响用户体验,还会发生危险。
但真正形成了AI大模型能力的端到端架构不再基于既定的规则进行规划和控制,而是能够像人一样,凭借“经验”和乃至“直觉”开车,因此不再强调对corner case的学习,能带给用户更接近于人类的驾驶体验。
不过,纵然业界都已经明白了端到端架构的好处,但至今在量产车上该技术的汽车品牌,也有且仅有特斯拉一家。因为从技术本身的实现上看,要让车辆像人一样预测道路上其他交通参与者的行为,并制定安全高效的行驶策略,堪称是自动驾驶技术中,最难的一个任务。
如何让机器像人一样开车?
需要说明的是,国内一些企业已经在宣传自己实现了“大模型上车”。但是,他们目前仅仅是将感知部分实现了“端到端”。其实,在感知层面实现所谓的数据驱动,依旧只是让系统自主识别目标物类型、道路环境特征并通过高精地图等方式实现车辆定位,后续的PNC依旧需要依照工程师写好的策略执行。而这已经是业界的通行方案了。
但是,只有一半的大模型,显然不是真正的“端到端”。正如前文所述,事情的关键在于,能不能让车辆像人一样,在“看”到并认识到前方道路环境后,自主选择最优路径前进。
要理解这一问题,我们首先要拆解,PNC实现端到端的过程中需要解决哪些问题。在去年的9月的NIO IN 2023蔚来创新科技日上,该公司智能驾驶研发副总裁任少卿曾分享过该公司的端到端PNC技术架构,属于业界少见的,能公开详细讲解技术思路的实际案例。通过他的解读和资料解析,我们能够对于PNC过程中需要解决的问题,有一个大概的框架。
需要说明的是,蔚来的方案在业界也并非独一无二,大家的技术路线其实大同小异。选取该公司作为案例的原因,在于这是公开资料中,笔者能够找到的,相对而言最为清晰全面的一个。
首先来看蔚来整个PNC的规划方面,如图所示,在一个路口的典型场景,系统在接收到传感器的信号后,会对环境中的动态物体和静态物体进行分类,并筛选出在车辆行驶路径上,可能会造成影响的目标。
伴随着时间的变化,交通参与者下一步的行动也会随之改变。如果想要尽可能提前更多时间预测目标行为,难度就会几何级提升。例如,系统若想预测10个目标物体此刻可能的行为,其复杂度为2^10=1024,那么提前5秒预测的话,复杂度就上升到了1024^5,也就是10^15。
在其中,系统会利用动态场景编码、动态元素编码、动态元素交互编码和动静态交互编码对于每一个目标物,也就是交通参与者的行为进行预测,最终得出可能的交互结果。
在上图最右侧的交互场景表达中可以看到,如果路口中有10个交通参与者,最终根据排列组合可以形成10 ~ 100种预测的交互模式。
在获得环境交互的场景表达结果后,系统就需要根据对于其他交通参与者的行为推演,完成进一步对车辆行驶的路径进行规划了。蔚来的目标是在30毫秒内对环境未来7秒的交通环境进行预测,这比标准电影中的一帧画面的时间还短。
在这过程中,车辆对于不同交通参与者存在可能的多种决策。举例来说,对于第一辆车,系统可能会采取让行、绕行、加速通过,对于第二个行人也可能有让行、左侧绕行、右侧绕行等等各种决策。而对前一个参与者产生不同决策之后,后一个目标也会势必产生连锁反应。因此就产生了图中央部分的决策树形结构。而系统需要的,则是采取最优解,高效、安全地通过路口。
注意,其中最关键的部分来了:工程师需要在这一过程中,为系统设置场景价值排序,引导系统选取最佳路径。例如排在第一的可能是保证乘客的舒适,第二是通行效率,第三是安全,第四是遵循交通法规……当然这些只是笔者的举例,不同企业可能会有差别。但这一切的核心目的,都是让车辆在PNC的过程中,价值取向和人类更接近,从而提供最舒适的决策方案。
在模型迭代的过程中,这被称为RLHF(人类反馈强化学习),是工程师需要大模型强加学习的部分。为此,开发团队会给系统喂大量用户的实际驾驶行为数据,以及其他交通参与者对于车辆行为反馈的数据。
说句题外话,之所以包括特斯拉、蔚来、小鹏等绝大多数智能汽车品牌会对于用户的驾驶行为进行评分,并对于评分高的用户优先推送智驾功能,其背后的另一个原因便在于这部分高分用户的驾驶行为对于系统而言是优良的学习数据。车企的这种做法一方面是给用户以安全驾驶激励和引导,另一方面也是引导更多用户提升驾驶的规范性,进而为系统提供更多优良数据。
最后在决策树中选取了最佳路径后,系统会得出图片左侧显示的“可行域凸空间走廊”。在这条可通行区域里,大模型会结合全交互拓扑编码,以及再一次叠加人类价值偏好数据,最终生成右图中最优的行驶轨迹。
上面这一段文字可能有些烧脑,但这已经是笔者用最简单平实的语言,结合蔚来的技术方案给各位阐释出的PNC路径。这时可能有用户就要问下一个问题了:既然方法和路径已经解决了,为何现在端到端架构还是没有量产上车呢?
这就需要提到下一个问题:大模型的不可解释性,和车企开发规程之间的矛盾和冲突了。
车企的标准“老鞋”,走不了端到端的新路?
对于大模型的不可解释性,很多人可能已经略有耳闻。对于这个概念,简而言之,由于大模型是通过大量的数据训练而成,但其如何得出具体结果的过程并不透明,无法像传统规则算法那样进行详细解释。举例来说,就是无论是ChatGPT还是文心一言,都无法避免在一些专业问题上“瞎编乱造”。
“所以,27到底是不是质数?”
对于一个聊天机器人来说,这显然不会出太大的事故,但放在以安全为准绳的汽车行业,便是一种不可接受的行为了。尤其是对于很多依靠供应商提供智驾方案的传统车企来说,如何验收端到端架构的智能驾驶系统,一直是个难题。
在国内某知名智能驾驶公司任职的不害(化名)告诉笔者,他曾经服务过一家知名德系豪华品牌。该公司像很多汽车企业一样,对于智能驾驶功能有着一套颗粒度细致到代码层的开发标准,其中包含超过100个safety goal(安全目标),其中涉及AEB(自动紧急制动系统)的就有7个。对于其中的每一项,车企都会打分,并对代码进行审核。
举例来说,其中一条安全目标是这样写的:
“要求描述:没有可用的或需要稳定化相关系统的制动干预应被防止。安全状态:AEB不进行纵向控制干预。” “接受标准:最大故障注入后横摆率变化取决于车速。故障注入后10秒内的目标值如下:车速80 km/h时为4°/s,车速130 km/h时为3°/s”
很晦涩是吧?实际上笔者选取的是其中最短的一条。不害透露,这些安全目标一方面为车企的验收提供了指引,另一方面也给供应商的开发给出了方向。这套流程原本在模块化架构下运行得很顺畅,但对于端到端智能驾驶而言却无法适配了。
“传统车企对于功能安全、预期功能安全的相关指标,是基于FSC(功能安全概念)、PSC(产品安全案例)和SSR(系统安全要求)进行的。基于各家车企SSR的不同,供应商会各自写代码开发产品。”不害说道。
传统的汽车测试,只能验证“功能”,而无法考核“能力”
显然,对于模块化架构的智能驾驶,车企是有一整套开发指引和验收标准的,能够从代码层面确保功能安全。但对于参数复杂且处于黑箱状态的端到端架构,车企无法保证其在日常行驶的过程中不会出事故。
换句话说,通过驾校的考试,只能说明一个人具备了基本的驾驶知识,拿到了开车上路的资格。但此人到底开得好不好,以及会不会因为大脑短路,开车冲入了河里,这事驾校无法保证。
“也就是特斯拉这样的汽车企业,能够一定程度上绕过汽车行业的传统开发标准,实现端到端架构上车。”不害调侃道,“这事放在传统车企,软件和测试部门肯定通不过。”
其实就算是特斯拉,其FSD V12也并非一个彻头彻尾的端到端架构智驾系统,其上还有个3000行代码左右的策略“安全壳”,以便兜住安全的底线。“例如,当大模型操作车辆向左变道后,如果左侧后向右车辆高速驶来,安全壳中的策略规则就会制止这次变道,把风险规避掉。”不害介绍道。
不过,这个安全壳到底毕竟是一个打补丁的产物。其中到底要覆盖多少场景,依旧是工程师们需要思考和取舍的问题。更何况,如果安全壳做得太大,又相当于回到了模块化架构下,俨然画蛇添足。
当然,端到端架构要实现量产上车,需要面对的挑战和困难远不止文中提到的这些,笔者只是选取了其中几个比较有代表性的问题进行介绍。但尽管如此,端到端架构相比较如今模块化架构的优势,依旧是在代际层次上的。相信随着我们国内众多汽车品牌,尤其是新势力们的努力,搭载端到端架构的智能汽车很快就将和我们见面了。
写在最后:
正如前文提到的,相比较传统车企,像特斯拉这样的造车新势力们在端到端架构的量产节奏方面,大概率会拥有更大的优势。实际上从今年下半年开始,就将有越来越多的汽车品牌在我国开放新技术的量产交付。
华为在今年4月北京车展前的发布会上透露,采用了端到端架构的ADS 3.0,预计会首搭在享界S9上;小鹏在上个月的AI Day上宣布将上线端到端大模型,并在今年8月实现“全国每条路都能开”;蔚来在今年上半年上线了端到端的主动安全功能,并在下半年量产端到端城市智能驾驶;理想则在这方面的传播相对“搂着”,只是说在今年三季度推送“无图NOA(城市领航辅助)”,在今年年底或明年年初推出端到端大模型驱动的L3自动驾驶体系。
显然,如果特斯拉今年三季度真的能在国内推送FSD的V12版本的话,将大概率会遭遇一场国内汽车品牌的“三英战吕布”。究竟鹿死谁手,显然是一场值得期待的好戏。
注:特别鸣谢智能驾驶公司技术人员“不害”对本文提供的信息支持