Waymo,百度,再到 8 年前开始的创业——小马智行联合创始人兼 CTO 楼天城,可能是中国最懂 L4(全无人级别)自动驾驶的人。
今年,百度萝卜快跑在武汉出圈,Google 旗下 Waymo 在旧金山的日均单量超过当地出租车,Robotaxi(无人出租车)和 L4 都在低谷反弹。
在小马智行于美股 IPO 后,我们与楼天城聊了他思考和实践着的 L4 技术:他几乎没提今年自动驾驶领域最火的 “端到端”。
在他看来,描述车端模型架构的端到端本就不是关于 L4 的 “对的问题”。
真正的关键,是训练车端模型的虚拟环境,楼天城称之为 “世界模型。
楼天城说,世界模型是车端模型的 factory(工厂),L4 自动驾驶技术的真正差别在 “工厂” 的精度,因为它会决定它所生产的产品,即车端模型的上限。
这套与流行的 “端到端” 相去甚远的方法背后,是小马智行过去 5 年经历的技术路线切换,楼天城总结为:从 Learning by Watching(通过观察学习)到 Learning by Practicing(通过练习学习)。
前者是学习人类驾驶行为的模仿学习,“端到端” 就是一种模仿学习思路:通过学习 “传感器数据” 与 “人类驾驶轨迹” 的海量对照,让车端模型能做到输入传感器数据后,输出合理的驾驶轨迹。
而后者的关键则是通过 AI 生成技术,构造训练车端模型的环境,这包括道路情况,路上其他车和人的行为,还有各主体间的交互,然后再用强化学习方法,让车端系统在这个训练环境里自己进化。
楼天城分享了与这个技术切换相关的一些洞察:
-
Learning by Watching 最多是像人,但像人永远无法做到 L4。
-
越是优秀的人类司机,学起来越是反向优化。
-
MPI 为 1000 公里的 L2 产品不存在,因为它反人性。
-
在 Learning by Watching 思路下,L2 做得越好,它的上限离 L4 越远。
-
L4 也不会反向取代 L2。
楼天城说,过去 5 年,外界几乎看不到 L4 公司的进展,他自己也是因 2019 年的瓶颈,对当时已做了 3 年的技术方法感到绝望,所以开始寻找新方向。
除了理性的技术判断,感性上的挑战在于:自动驾驶是复杂系统,技术切换并不立竿见影。
在小马智行开始新方法的头两年,团队内部也难感知到进展。“我就不断告诉他们:这是正确的,我们应该这么做。” 楼天城说,认知上的转折,在当年的 L4 业界并非特立独行,但真能做下来的不多,因为这需要一家公司部分放弃过去的积累,且熬过一个正反馈不明显的阶段,“很多人放弃在黎明前的那一刻”。
本次访谈的音频也已在我们的播客节目《晚点聊 LateTalk》上线,可长按或扫描下图中的二维码收听:
以下是我们与楼天城的访谈,文字有删减、修改。
学习优秀人类司机是反向优化;
MPI 为 1000 公里的 L2 产品反人性
《晚点》:2022 年,我们对小马有过一次报道,当时的标题还是 “
市场不相信无人驾驶了
”,而今年 Robotaxi 水温明显回暖,变化是如何发生的?
楼天城:
过去遇冷,是因为 2019 年之后,L4 公司的技术进展没法被外界感知了。我们当时做的无人化 demo、拍的视频,现在可能也做不出更好的,因为 2019 年就已经很好了。
而随着 Waymo、百度和我们开始真正规模化地无人运营,外界才感受到了进展。今年夏天,百度在武汉是 400 多辆车,Waymo 现在是 800 辆到 1000 辆,我们也是百辆级。
用户拿 App 就能打到一辆无人车,它是一个产品了,这是最根本的。
《晚点》:如果过去 5 年外界感知不到明显进展,那作为从业者你看到了什么?
楼天城:
技术至少有百倍到千倍的提升。就是车辆从几百公里就会遇到一次危险性接管(MPCI,指不接管就会发生危险事故),到了几十万公里级别。但即使对自动驾驶很有热情的人,也不会一连坐几百公里的车,所以大家感知不到。
最本质的变化是,过去 5 年,我们重构了整个技术的做法,突破了 2019 年突破不了的门槛。
《晚点》:当时具体遇到了什么瓶颈?
楼天城:
其实就是 MPI 很难再上去了,也就是平均多少里程需要接管一次,它指向安全性。
在那之前,我们的技术路线是 Learning by Watching,是靠收集数据来模仿,但我当时意识到,模仿最终做不到 L4。
所以我们彻底换了方法,用 Leraning by Practicing 来做,就是在一个虚拟环境——我们后来叫它 “世界模型” 中自我训练、自我演进。这是整个技术的路径切换。
《晚点》:当时一定需要重构整个路线吗?不可以加更多数据,大力出奇迹?
楼天城:
Learning by Watching 是一种模仿学习,端到端就是这样——输入所有传感器的数据,可能还包括动力学或地图信息,输出是车的轨迹。
但它有 3 个很严重的问题:第一,它没法学习驾驶员是怎么想的,比如驾驶意图,和一些潜移默化的习惯模式。单纯做模仿,没法学到这些,因为就没有这个数据,能搜集到的数据是车怎么开,不是司机怎么想。
从学习的角度——这句话真正做深度学习的人会理解——就是从超高维到低维的学习,常常只能学到表层的 feature(特征)。这造成,最后学的数据里,1 万帧中可能 9999 帧都是一样的,而不一样的那一帧的失效会导致严重错误。这叫知其然,不知其所以然。
《晚点》:马斯克他经常说,人靠看见就能开车。你不同意吗?
楼天城:
他如果说的是狭义的 “看”,我不同意。人如果只看车上摄像头拍的视频开车,也不一定能开得很好。人开车时还有很多超视距信息,甚至位觉器官也在起作用,比如帮人维持平衡感的耳石,而它在耳朵里。
《晚点》:Learning by Watching 的其它两个局限是什么?
楼天城:
第二个是双标——人类司机可能因为严重身体问题失去驾驶能力,但人不接受机器失效。再比如一些鬼探头的场景,人类司机尽力了,有时可以是无责,但大家不接受 AI 这样。
所以 AI 就算真的完美模仿了人类司机,也不满足人的要求。而 Learning by Watching 的上限只能做到像人。有人会说,向优秀司机学习是不是就可以了?
《晚点》:现在很多车企就是这么说的。
楼天城:
那他们还没意识到问题,意识到之后,我不知道他们会多绝望。我先说说我的绝望。
越是优秀的人类司机,你向他学,越是反向优化。
因为人开车,是眼观四路、耳听八方,不是看传感器的数据,他有一些传感器没法得到的信息,包括他的经验。所以越优秀的司机,让他用传感器数据开车,(决策)偏差就越大。
这背后是 Learning by Watching 的第三个局限,就是它是一个开环训练。这时,自动驾驶车辆无法自己判断是学得更好还是更差了,而向优秀司机学的策略,会放大系统和人类司机的输入偏差。这两个加起来,就会导致反向优化。
这里还补充一个 MPI 卡住的非技术原因,
就是世界上不存在一个 MPI 1000 公里 L2 的产品。
1000 公里什么概念?一个人如果一天开 30 公里,MPI 1000 公里就是一个月才接管一次。那我反问,到时你真能接管得了吗?你开了 29 天都觉得挺好,第 30 天突然发生状况,驾驶员真能有注意力吗?这是做不到的。
如果 MPI 还没逼近 1000 公里时,可能意识不到这个问题,但当你真接近时就会发现,它不存在,因为这反人性。
重点在于生产车端模型的 “工厂”,
而不是车端模型本身
《晚点》:当你们发现 Learning by Watching 的局限后,怎么找到了第二条路?
楼天城:
故事从闭环说起,就是我需要让自动驾驶系统自己知道学得好不好,让它自己能练习。就像学游泳,你看多少遍游泳视频,都不如自己下水管用。
具体技术上的思路,主要是转向强化学习。这也不是一个新东西了。AlphaGo 和 AlphaGo Zero 做了什么,你了解吗?
《晚点》:AlphaGo 是学习历史上已有的棋谱,AlphaGo Zero 是不学棋谱,自己和自己下棋来进步。
楼天城:
其实 AlphaGo 也做了强化学习。这样更可怕,你会发现,先学人类棋谱,再强化(AlphaGo),甚至不如从零开始强化(AlphaZero)。
《晚点》:围棋是一个封闭规则的游戏,更容易使用强化学习。你们在自动驾驶上怎么使用 Learning by Practicing 的强化学习?
楼天城:
关键是搭建训练模型的虚拟环境,也就是 “世界模型”。它是四个东西的组合:数据生成器生成的场景数据,驾驶行为好坏的评估体系,高真实性的仿真,最后是数据挖掘工具和引擎。
这四个里,只有数据生成器是个模型,其它东西严格来说不一定是模型。
《晚点》:构建出目前这个世界模型的过程是怎样的?
楼天城:
首先是数据生成。在 2019 年时,小马智行的数据也不少了,几百万公里。那之前我经常说,中国数据很多样,但那个时刻之后,我基本放弃了之前说的优势,开始用生成数据,生成数据不表示不使用真实数据,但生成能力是关键,数据量本身没那么关键了。
一个错觉是:相比实际收集的数据,生成数据会不会覆盖不了常规场景或 corner case?其实那都是没做好,如果做得好,它的覆盖率和一致性(consistent)远超实际路采数据。
《晚点》:做好和没做好的差别在哪儿?
楼天城:
比如真不真实,比如路上的交互行为做得好不好。自己的车怎么开,跟别人的行为是相关的,一个反常识的点是,车不是开得越谨慎越安全,因为太谨慎,会让周围的司机疑惑。
所以我们专门训练了一个还真的挺大、挺复杂的模型来做这种交互。还要考虑对长尾场景的覆盖,不能生成那些太难、不可能发生的事,但又要有一些会真实发生的场景,这背后是把握事件的整体概率分布。以及我们刚刚不是聊到人的双标吗?还要理解人能接受什么样的 AI 行为。
《晚点》:所以在设计模型时,最初其实有很多主观判断?
楼天城:
对,但不是对车怎么开的判断,主要是对世界是怎么样的判断。
还有一个是评价体系,就是什么叫车开得好,这也是当年构建世界模型的一个重要维度,它开始也是需要主观判断和通过标注来学习的。
《晚点》:我们 2022 年聊时,你就讲了很多评价体系的事,说小马 2020 年的一个重要决策是花 2/3 的研发力量做评价体系,但当时你没提 “世界模型”。
楼天城:
那时还差一个东西,就是自我演进的引擎,这是后来补充世界模型的关键。这个东西不是第一天做好的,第一天有很多人为的东西,后来慢慢自动化,变成一个 AI 司机能自我演进、自我学习,非常少的人类监督。
其实我 2022 年在公司讲这个,很多人也不认同。后来我说,人的一生也很少经历强化学习,我接受教育的前几年都是模仿学习,直到差不多是高中时,我意识到人可以通过强化而不是模仿来变强。
本质就是,向未来的自己学习:通过一个虚拟环境去模拟未来,就能反过来想当下的判断对不对。在驾驶任务里,5 到 10 秒后的决策对不对,单纯预测车的行为时不知道,但在环境里是可以知道的,因为可以模拟 5 到 10 秒后的环境。
另外我把这个东西叫世界模型,也是不想和 Waymo 撞,他们叫 Foundation Model(基础模型),这个词很容易被误解,它其实是整个训练环境。
《晚点》:但 “世界模型” 现在的意思也很模糊,杨立昆(Yann LeCun)说要做世界模型,李飞飞新创业公司的目标也是实现 “大世界模型”。这些世界模型的异同是什么?
楼天城:
有一些技术,比如说生成式技术是相通的,但做的事完全不同。总之它是一个训练环境,我也没有找到另一个描述方式。
《晚点》:你讲了这么多世界模型,其实它并不是我们一般讨论自动驾驶时说的那个车端模型。
楼天城:
对,它是个车端模型的 factory(工厂)。
《晚点》:你认为,过去 5 年更重要的技术进化是在 factory,也就是训练环境的部分,而不是 product,就是车端模型本身?
楼天城:
没错,非常对。现在大家总喜欢会问,你是不是端到端?但其实自动驾驶技术的真正差别在于 factory 的精度,而不在于车载模型的能力。或者说,是 factory 决定了车载模型的上限,就像一个模具的精度决定了它生产出来的零件的上限。所以我们几乎所有软件研发的人都在参与做 “世界模型”。
Learning by Watching,数据量和算力是关键,Learning by Practicing,世界模型的精度是关键,这也是为什么 Robotaxi 现在公司很少说自己数据多,因为技术的关键不在这。
《晚点》:当 “工厂” 的精度提高了,你们车端模型的实际变化是什么?
楼天城:
我们事故率降低得非常明显,做到了 10 倍人类司机的安全性。当然 10 倍只是简化的表达,其实是解决双标问题。
《晚点》:这是从效果上,车端模型的结构上呢?大家还是会好奇,你们是不是端到端?
楼天城:
我们现在车端的模型也含有端到端系统,打通了感知、预测、规控三个模块,而且已经上车应用了。
《晚点》:你们找到这第二条路的过程,是参考 Waymo 的,还是自己摸索的?
楼天城:
从我的感受,各家刚好都在那个时候意识到这个方向值得尝试,这是 Robotaxi 行业的共识。我是对之前方法绝望了,必须走的路我就去走。
《晚点》:你现在分享关于世界模型的思路,会担心别人模仿吗?
楼天城:
Demon in details(魔鬼在细节)。
以及前面说的都是理性的东西。我说几句感性的,我们开始这个新方向时,是先做了 3 年 Learning by Watcing,已经达到一个不错的水平,然后 Learning by Practicing 从零开始追了近两年,这个过程非常痛苦。这两年别说对外,对内都很难展示进展。但我就不断告诉他们:这是正确的,我们应该这么做。
那时压力巨大。有些公司后来没有尝试(这个方向),可能就是这两年撑不住了。也许只要再坚持半年就可以了,但就在黎明前那一刻放弃了。
《晚点》:你没有怀疑过自己的判断吗?
楼天城:
我一直相信。当然我觉得有一个运气,是疫情时整个行业比较慢,大家心态相对稳一些。如果那时我们就登陆二级市场了,可能我这么做压力会更大。
《晚点》:其实 2021 年你们计划过上市,但没有继续推进。
楼天城:
我就不说什么 “天意” 了。竞赛圈有一个说法:当年的迷失可能是为了今天更好的相遇。
《晚点》:世界模型的终极形态可能是什么?
楼天城:
我想过。我觉得是车不再发生由系统错误产生的问题和事故。
《晚点》:多久能实现?
楼天城:
以十年记。这已经属于探索 AI Driver 的极限了。
L2+ 和 L4,
没有谁做出错误的决定
《晚点》:在你经历了从 Learning by Watching 到 Learning by Practicing 的转变后,你怎么看以特斯拉为代表的 L2+ 做法?——继续用更多数据来学习人类驾驶行为,而且今年取得了惊艳的进展。
楼天城:
我首先声明,没有谁做了错误的决定,因为目标不一样。L2 是提供帮助以产生价值,L4 是减少人工需求产生价值。所以 L2 对成本和应用范围都很敏感,L4 则有弹性,它不需要特别大的范围,比如在一个城市里也可以,所以这方面不是它最大的优化目标,安全性才是。
不做到 10 倍于人类司机的安全,L4 连牌照都没有。而据我了解,今天大部分 L2 系统的 MPCI,就是如果不接管可能发生很危险的情况,大概最高到 300 公里,而 L4 至少是 10 万公里级别。所以 L2 使用 Learning by Watching 完全没问题。300 公里接管一次的车在性能上也没问题。
还有一点,Learning by Watching,数据量是关键,所以也符合 L2 公司的核心竞争力,车越多,数据越多,是真正能发挥特长的路线。
而为什么 L4 选择 Learning by Practicing?是因为其它的不 work,别无选择。同时,它要投入很多 engineering(工程研发),需要技术理解和时间积累,这也符合 AI 公司的核心竞争力。
就是说,不同公司有不同长项,用不同方法做不同的事,实现不同的目标,这非常协调。
《晚点》:现阶段 L2 和 L4 确实用途不同。但市场之所以反复比较特斯拉路线和直接做全无人驾驶的 Waymo 路线,是因为不少人相信 L2 再往下发展能覆盖 L4。
楼天城:
这要看有没有越过那个分界点:比如长跑和短跑,对普罗大众来说,强身健体可以同时提高二者的成绩。但如果你想成为专业运动员,这两个就不能同时练。
就像一个 Y 字型,开始可能是共通的:一些基础架构、训练环境等,但真过了那个点,才会理解这两个东西原来有这么大差别。我们也是到后面发现,人类司机的驾驶数据没法共享。
而且 L2 和 L4 要优化的重点场景刚好是不重叠的:L2 会主动提醒接管,而这些需要人类接管的场景,才是 L4 的主要任务。
我还说过,L2 做得越好,距离 L4 越远。这背后是那个双标问题:就算我完美模仿了优秀人类司机,距离 L4 也有 Gap,所以 L2 和 L4 的区别是上线的区别,还不是距离本身,这就是越不过去的坎。
同时还有一个刚才说过的运营问题,就是我不能依靠车主实现 MPI 等于 1000 公里的产品,但渐进提升,又没法直接从 100 跳到 10000。
反观 L4 系统,它在性价比上没有优势,所以可能也很难反向取代 L2。
《晚点》:你觉得特斯拉现在来做 Robotaxi,它和 Waymo,和你们会有什么不同?
楼天城:
不会因为它是特斯拉,Learning by Watching 就能 work。将来总有一天,它会意识到这一点,也许今天马斯克就已经意识到了。
《晚点》:你怎么看出来的?
楼天城:
比如马斯克的 X.ai 就有 Learning by Practicing 的理念,就是要跳出模仿学习,但目前不是用来做自动驾驶。
不过这条路我们都走了 5 年了。特斯拉虽然有更多资源,也许也有决心,那也得走一段时间,先从它有 DMV license(加州全无人路测牌照)说起吧。
《晚点》:既然 L2 和 L4 的目标、方法都不同,为什么你们现在两个都做?这是为了技术积累,还是商业化?
楼天城:
L2 也会产生价值。
《晚点》:你说过和 Waymo、百度相比,小马资源更有限,这种情况下不能就做一个吗?
楼天城:
或者这么说,就是因为我们两个都做了,而且通过了分界点,才能很好地解释前面那些问题。
规模运营目标:
1000 台有毛利
《晚点》:前面聊的都是技术,在 Robotaxi 的商业化落地上,可以看到现在 Waymo、百度、小马等都在扩大常态商业运营的车队数量。你觉得到什么量,Robotaxi 才会真正开始赚钱?
楼天城:
如果算毛利,我觉得千台就可以,这是未来一到两年的任务。
而毛利转正之后,净利转正和规模扩大就是一个策略选择问题了,你可以铺更多规模,不要那么快到净利。我们的策略可能和 Waymo、百度不同,我们要在一个更优的成本结构下扩规模。
《晚点》:在扩大运营范围这件事上,除了自动驾驶系统本身?你们遇到了哪些其它运营上的问题,怎么解决的?