毫不意外,随着Tesla V12在北美大范围推送以及凭借其良好的表现开始获得越来越多用户的认同,端到端自动驾驶也成为了自动驾驶行业里大家最为关注的技术方向。最近有机会和很多行业中的一流工程师,产品经理,投资者,媒体人进行了一些交流,发现大家虽然对端到端自动驾驶很感兴趣,但甚至在一些对端到端自动驾驶的基本理解上还存在着一些这样那样的误区。作为有幸体验过国内一线品牌有图无图城市功能,同时又体验过FSD V11和V12两个版本的人,在这里我想结合自己专业背景和对Tesla FSD常年的进展跟踪,谈几个现阶段大家谈及端到端自动驾驶的常见误区,并给出我自己对于这些问题的解读。
疑惑一:端到端感知,端到端决策规划都可以算作是端到端自动驾驶?
首先端到端自动驾驶的定义基本上大家明确了是指从传感器输入开始到规划甚至控制信号输出(马斯克所说Photon to Control)中间所有的步骤都是端到端可导,这样整个系统可以作为一个大模型进行梯度下降的训练,通过梯度反向传播可以在模型训练期间对模型从输入到输出之间的全部环节进行参数更新优化,从而能够针对用户直接感知到的驾驶决策轨迹,优化整个系统的驾驶行为。而最近一些友商在宣传端到端的自动驾驶的过程中声称自己是端到端感知,或者端到端的决策,但这二者其实我认为都不能算作是端到端的自动驾驶,而只能被称作纯数据驱动的感知和纯数据驱动的决策规划。甚至有的人将模型出决策,再结合传统方法来做安全校验和轨迹优化的混合策略也叫做端到端规划,另外也有说法认为Tesla V12并不是纯粹的模型输出控制信号,应该也是结合了一些规则方法的混合策略,根据就是http://X.com上的著名Tesla黑客Green前段时间发过一条twitter称在V12技术栈里还是能够发现规则的代码。对此我的理解是Green发现的代码很可能是V12高速技术栈保留的V11版本代码,因为我们知道目前V12其实只是用端到端替换了原本城市技术栈,高速仍旧会切回V11的方案,因此在破解的代码中找到一些规则代码的只言片语并不代表V12是假“端到端”而是找到的很可能是高速的代码。实际上我们从2022年的AI Day上就可以看出,V11及以前的版本已经是混合方案,因此V12如果不是彻底的模型直出轨迹,那么方案上就和之前的版本没有什么本质的区别了,如果是这样V12的性能跳跃性提升又没办法合理的解释了。关于Tesla之前的方案可以参考我的AI Day解读EatElephant:Tesla AI Day 2022 - 万字解读:堪称自动驾驶春晚,去中心化的研发团队,野心勃勃的向AI技术公司转型。从2022年AI Day上来看,V11已经是混合了NN Planner的规划方案总而言之,无论是感知后处理代码,还是规划的候选轨迹打分,甚至是安全兜底策略,一旦引入了规则的代码,有了if else的分支,整个系统的梯度传递就会被截断,这也就损失了端到端系统通过训练获得全局优化的最大优势。另一个常见的误区是端到端就是推翻了之前积累的技术进行彻底的新技术的革新,并且很多人觉得既然Tesla刚刚实现了端到端自动驾驶系统的用户推送,那么其他厂商根本不用再在原本感知,预测,规划的模块化技术栈上迭代,大家直接进入端到端的系统,反而可以凭借后发优势快速追上甚至赶超Tesla。确实以一个大模型来完成从传感器输入到规划控制信号的映射是最为彻底的端到端,也很早就有公司尝试过类似的方法,例如Nvidia的DAVE-2和Wayve等公司就使用了类似的方法。这种彻底的端到端技术确实更接近黑盒,很难进行debug和迭代优化,同时由于传感器输入信号如图像,点云等是非常高纬度的输入空间,输出控制信号如方向盘转角和油门刹车踏板是相对输入来说非常低维的输出空间。由高维空间向低维空间的映射是由非常多的可行映射,然而这其中真正对应正确可靠逻辑的映射则只是其中一个映射,也就是说直接进行这样的端到端训练非常容易过拟合,导致实车测试完全无法使用。彻底的端到端系统也会使用一些常见的如语义分割,深度估计等辅助任务帮助模型收敛和debug所以我们实际看到的FSD V12保留了几乎所有之前的可视化内容,这表明FSD V12是在原本强大的感知的基础上进行的端到端训练,从2020年10月开始的FSD迭代并没有被抛弃,反而是成为了V12坚实的技术基础。Andrej Karparthy之前也回答过类似问题,他虽然没有参与V12的研发,但他认为所有之前的技术积累并没有被抛弃,只是从台前迁移到了幕后。所以端到端是在原有技术基础上一步步去掉个部分的规则代码逐渐实现的端到端可导。V12保留了FSD几乎所有的感知,只取消了椎桶等有限的可视化内容
03
疑惑三:学术Paper中的端到端能否迁移到实际产品中?
UniAD成为2023年CVPR Best Paper无疑代表了学术界对端到端的自动驾驶系统寄予的厚望。从2021年Tesla介绍了其视觉BEV感知技术的创新后,国内学术界在自动驾驶BEV感知方面投入了非常大的热情,并诞生了一些列研究,推动了BEV方法的性能优化和落地部署,那么端到端是否也能走一条类似的路线,由学术界引领,产业界跟随从而推动端到端技术在产品上的快速迭代落地呢?我认为是比较难的。首先BEV感知还是一个相对模块化的技术,更多是算法层面,且入门级性能对数据量的需求没有那么高,高质量的学术开源数据集Nuscenes的推出为很多BEV研究提供了便利的前置条件,在Nuscenes上迭代的BEV感知方案虽然无法达到产品级性能要求,但是作为概念验证和模型选型,是具有很大借鉴价值的。然而学术界缺乏大规模的端到端可用数据。目前最大规模的Nuplan数据集包含了4个城市1200小时的实车采集数据,然而在2023年的一次财报会议上,Musk表示对于端到端的自动驾驶“训练了100万个视频case,勉强可以工作;200万个,稍好一些;300万个,就会感到Wow;到了1000万个,它的表现就变得难以置信了”。Tesla的Autopilot回传数据普遍认为是1min的片段,那么入门级别的100w视频case大概就是16000小时,比最大的学术数据集至少多一个数量级以上,这里还是要注意nuplan是连续采集数据,因此在数据的分布和多样性上有着致命的缺陷,绝大多数数据都是简单场景,这也就意味着使用nuplan这样的学术数据集甚至无法获得一个能够勉强上车的版本。Nuplan数据集已经是非常巨大规模的学术数据集,然而作为端到端方案的探索可能还远远不够于是我们看到包括UniAD在内的绝大多数端到端自动驾驶方案都无法实车运行,而只能退而求其次进行开环评测。而开环评测指标的可靠度非常低,因为开环评测无法识别出模型混淆因果的问题,所以模型即使只学到了利用历史路径外插也能获得非常好的开环指标,但这样的模型是完全不可用的,2023年百度曾经发表一篇叫做AD-MLP的Paper(https://arxiv.org/pdf/2305.10430)来讨论开环规划评测指标的不足,这篇Paper仅仅是用了历史信息,而没有引入任何感知,就获得了非常不错的开环评测指标,甚至接近一些目前的SOTA工作,然而显而易见,没有人能在闭上眼睛的情况下开好车!AD MLP通过不依赖感知输入取得不错的开环指标来说明用开环指标作为参考实际意义不大那么闭环方针验证是否能够解决开环模仿学习的问题呢?至少目前来讲学术界普遍依赖的CARLA闭环仿真系统来进行端到端的研发,但是基于游戏引擎的CARLA获得的模型也很难迁移到现实世界来。最后端到端不仅仅是一个新的算法那么简单。模块化的自动驾驶系统不同模块的模型可以使用各自任务的数据分别迭代训练,然而端到端系统各个功能是同时进行训练的,这就要求训练数据具有极高的一致性,每条数据要对所有子任务标签都进行标注,一旦一种任务标注失败,那这条数据就很难在端到端训练任务中使用了,这对于自动标注Pipeline的成功率和性能提出了极高的要求。其次端到端系统因为需要所有模块都达到一个较高的性能水平才能在端到端的决策规划输出任务中达成较好的效果,因此普遍认为端到端系统数据门槛远高于各个单个模块的数据需求,而数据的门槛不仅是对绝对数量的要求,还对于数据的分布和多样性要求极高,这就是得自己没有车辆的完全控制权,不得不适配多个拥有不同车型客户的供应商在开发端到端系统时候可能遇到较大的困难。在算力门槛上,Musk曾在今年三月初在http://X.com上表示目前FSD的最大限制因素是算力,而在最近马老板则表示他们的算力问题得到了很大的环节,几乎就在同一时间在2024年Q1财报会议上Tesla透露如今他们已经拥有35000块H100的计算资源,并透漏在2024年底这一数字将达到85000块。毫无疑问Tesla拥有非常强大的算力工程优化能力,这意味着要达到FSD V12目前的水平,大概率35000块H100和数十亿美金的基础设施资本开销是必要前提,如果在算力使用方面不如Tesla高效,那么可能这一门槛会被进一步拔高。4月初马斯克表示今年Tesla在算力方面的总投入将超过100亿美元另外在http://X.com有网友分享了一张Nvidia汽车行业的高管Norm Marks在今年某次会议的截图,从中可以看出截止到2023年底,Tesla所拥有的NV显卡数量在柱状图上是完全爆表的存在(左图最右侧绿的箭头,中间文字说明了这个排名第一的OEM所拥有的NV显卡数量 > 7000个DGX节点,这个OEM显然就是Tesla,每个节点按照8卡计算,23年底Tesla大概有A100显卡超过56000卡,比排名第二的OEM多出四倍以上,这里我理解不包括2024年新购入的35000卡新款H100),再结合美国对出口中国显卡的限制政策,想要赶超这一算力的难度变得更加困难。Norm Marks在某次内部分享截图,来源X.com@ChrisZheng001除了上述数据算力挑战外,端到端的系统会遇到什么样的新挑战,如何保证系统的可控性,如何尽早发现问题,通过数据驱动的方式解决问题,并且在无法利用规则代码的情况下快速迭代,目前对于绝大多数自动驾驶研发团队而言都是一个未知的挑战。最后端到端对于现在的自动驾驶研发团队还是一个组织变革,因为从L4自动驾驶以来,绝大多数自动驾驶团队的组织架构是模块化的,不仅分为感知组,预测组,定位组,规划控制组,甚至感知组还分视觉感知,激光感知等等。而端到端的技术架构直接干掉了不同模块间的接口壁垒,使得研发端到端的团队需要整合全部人力资源来适应新的技术范式,这对不够灵活的团队组织文化是一个极大的挑战。