点击下方
卡片
,关注“
自动驾驶之心
”公众号
>>
点击进入→
自动驾驶之心
『
世界模型
』
技术交流群
本文只做学术分享,如有侵权,联系删文
和
任少卿
的对话,是从最基本的一个智能驾驶使用场景开始的——
在北上广城市快速路的限时段公交车道,
智能驾驶系统如何能像人类一样,限制的时间段避开,非限制时段高效利用
?
在过去,AI系统会严格按照人类写好的规则驾驶。但现在,
端到端自动驾驶
模型的范式之下,手写规则的方法开始被剔除,意味着AI系统需要自己去学习“限时公交车道”的特殊路况和场景,这需要时间,也可能短期内无法直接满足需求。
所以是不是智能汽车业内业外,过于迷信“端到端”了?
自动驾驶作为一个综合工程,为什么要端到端?
端到端又为何会出现在此时此刻?其本质是什么?
对智能汽车研发和车圈变革又会带来怎样的影响?
上述问题,没有人比
任少卿
更有发言权了。他既是世界级AI科学家,深度学习经典成果
ResNet
作者之一,近十年来也躬身产业一线,见证和实践自动驾驶技术从研发到上车,当前是蔚来智能驾驶副总裁、蔚来自动驾驶研发的负责人。
任少卿
认为
端到端是一种必然
,类似造车会走向一体化的必然,有技术难度但不存在谁有独家秘籍,甚至“被强调太多了”……在他分享的四大关键技术要素中,模型只是第一点——数据、优化机制和功能体验,四位一体,缺一不可。
在他的视角里,AI也好,自动驾驶也好,这几年有变化,但本质没有变化。于是对于很多业内热议的具体问题,他都有着从本质出发的回答:
-
原来不考虑端到端是高速NOA场景简单。
-
AI发展本质就2件事:一是更好效果,二是更强泛化性、更通用。
-
不需要有拥抱端到端的建议,我觉得被强调得太多了。
-
世界模型是打开通用自动驾驶的方式。
-
如果L4追求的就是Robotaxi,那我觉得社会意义没那么大。
-
L5实现后,变革的不光是汽车、交通,还会是整个城市组织模式。
-
智能辅助驾驶和无人驾驶,技术架构上不一样的东西没有那么多。
-
激光雷达是成本问题不是技术问题,纯视觉只能说系统更简单,两种路线没有优劣高下之分。
-
L3会是自动驾驶里程碑,可能就是ChatGPT时刻。
-
城区能不能开,是当前智能驾驶第一梯队的分水岭要素。
-
自动驾驶是泛机器人领域
-
世界模型的框架也能做机器人
-
AI一步一步地从不如人,然后超过人,是AI发展的规律
-
我们希望从今年开始,每年能实质性地减少10%-20%的事故
-
重构是对于时空理解和对原始数据理解最深刻的表现形式
以下是对话实录
:
聊端到端
智能车参考
:端到端怎么识别公交车道,实现按时段规避和利用?
任少卿
:如果说要
特别精确
的识别,可能还要学习怎么识别文字。
智能车参考
:现在还不行?
任少卿
:还没加识别文字(的能力),现在更多的是以历史的经验去看,历史的经验里可能噪声比较多。
现在系统其实一部分是靠历史的经验,一部分是实际的(感知)。比如说旁边如果有个车进去(公交车道)了,那系统可能考虑也进去。旁边一直没有车进去,系统就也不会进去。
我觉得这确实是一个核心的点,需要去解决。
智能车参考
:这两年大家都在聊端到端, 很多玩家All In进去。
假设没那么原教旨主义,就写一条规则,告诉系统什么时间能走公交车道,从而解决这个问题不是也挺好吗?
为什么一定要把手写的规则都剔除掉?
任少卿
:举个例子,比如说不同城市,北京(公交车道)可能相对来说还规则一些。大部分都是早上7点到 9 点,晚上5-7点在高峰期(不能走)。
但
很多其他的城市,有各种各样的规则
。
比如说上海的71路公交车,什么时间都不让你走,还专门给它搞红灯,连红灯都跟别人不一样。
那这个问题,如果让工程师一个一个去搞,搞不定。
所以第一个事情就是刚才说的,
这种案例太多
了。
再比如说做AEB ,原来其实是有一个法规清单和测试标准。按照测试标准,一个一个案例去搞。
比如去判断一下前面一辆车跟我自车的角度。
做测试时,为了提高通过标准,减少误刹,原来写规则时的逻辑是:
这个车的角度发生抖动,或者这个车的角度大于某个度数就不刹。
但是实际场景中,车子各种各样,甚至你前车可能就是一个奇形怪状的车,检测出来的Object框一直在晃。
那AEB在这种情况下,怎么去刹车?
如果让人去写这个规则的话,有很多的工作要去做,整体来说效率低。
原来为什么大家不考虑端到端?
比如三五年前,大家都在高速NOA的时候,
因为场景简单
。
在高速上,就看前面三辆车:
本车前面那辆车,然后左边车道一辆车,右边车道一辆车,三辆车一起建模,然后写个规则结束。
虽然也得写好几万行的代码,但是它毕竟场景简单。
现在到了城区,还要做主动安全,想去处理各种各样的复杂场景,比如说城区路口的场景,拐进来的两轮车你都不知道什么角度、什么速度,什么样的都有可能。
如果让人一个一个规则去写,从根本上来说,第一个是
效率的问题
,第二个是
效果的问题
。
我觉得这是
自动驾驶要搞端到端的核心原因
。
如果我们跳出自动驾驶的领域,还有一个原因就是,大家要做
更统一的东西
。
其实只有自动驾驶领域的人才会说端到端和非端到端,别的领域不说这事,基本看不到。
比如做语言模型的、做机器人的,就不会蹦出来说,我端到端了,我就厉害了。
那是因为自动驾驶它本身有历史的原因。
自动驾驶的历史比较长,在很多年前
算法模型的能力没有这么强,所以大家只能把这件事情变成一个流水线
。
就
跟造车一样
,比如说压铸件,之前工艺不行,就只能给它分成一小块,先造出来,然后再焊。
其实自动驾驶跟这很像。
因为自动驾驶用自回归模型用得比较早,早期不成熟,所以自动驾驶就有一项非端到端的事,也是因为它问题复杂。
到了今天大家觉得
模型性能提升
了,就把它合起来。
还是跟工厂一样,工厂为什么用一体压铸,其实就是时间效率。
而且理论上自动驾驶开发,肯定比工厂更麻烦,因为工厂可以堆很多工人,但如果也堆很多工程师,其实更复杂。
所以
端到端本质是用一个更统一的方式,去提升计划效率
,包括时间的效率,包括人的效率。
实际上再进一步说的话, 从AI 的发展来看,其实深度学习就是这个逻辑。
最近10到15 年,
所有AI 算法的发展,包括应用,本质上就是两件事
:
第一件事情是产生
更好的效果
,第二件事情是产生
更好的泛化性
。
产生更好的泛化性,就是用同一个方法解决更多领域的问题
。
整个15 年的 AI就是不停地在做这两件事情的循环
。
第一件事情比较容易理解,原来一个任务,可能AI去做比人差很多,比如说大家现在用得最多的是人脸识别,至少对于一个陌生人的人脸识别,一开始AI没有人做得好,后来跟人差不多,现在是绝对比人好。
其他任务其实也都这样:
AI一步一步地从不如人,然后超过人,这是
性能提升
,是AI发展的第一个方向。
第二个发展方向,实际就是
通用性
。
比如说一个图像识别的算法,和物体检测的算法,分别用来判断一张图是什么类别和判断这张图里面有什么物体,开始都是不同的算法、不同的框架,后来这些东西就融合了。
再后来所有图像类的任务基本上都融合了,现在说图像类的任务跟语音类的任务也快融合了。
在自动驾驶上也是一样,实际上是希望它最后变成所有智能体的任务,自动驾驶开车也好,机器人走路也好,机器狗爬山也好,所有任务都是用同样一套框架去做,这也是端到端之后要做的事情。
智能车参考
:所以
Transformer
是一个很重要的变量,带来了效果上或者是算法能力上的提升,还带来了什么?
任少卿
:Transformer算是一个工具。
但是我想说AI 的发展,实际上大家都在追求这两件事情,没有transformer,可能也会有其他的(工具),但
大家追求的这个方向实际上是没有变的,就是想追求更好和更通用
。
回到我们刚才说的这个事情上,自动驾驶的端到端实际上是某种程度上追求更好。
另外的就是什么样的框架,除了自动驾驶外,相关的所有的智能体或者类机器人的方向,都能用同样的方式去解决。
这个是我觉得一定会有人去做,大家想做的事。
智能车参考
:在三年前我们讲自动驾驶还是要讲四个堆栈。那时候可能也有人说一定要做一个模型,但那个时候实现不了。
这两年大家都觉得可以这样做了,中间是什么关键的要素发生了变化?
任少卿
:如果我们先不考虑算力的话,为了做一个任务,肯定是要有数据的。算法现在是要依赖数据,当然也有人在说要做一些小数据量的算法。
反正现在这一代的人工智能的算法,肯定都是 data onwards。
现在要解决的问题,针对一个任务,可以标注一些数据,但是没有必要标注很大的量。
针对另外一个任务,又要标注很多数据,所以我觉得这里面
第一个跨领域的核心点,实际上是怎么把这个数据的描述统一,以及把数据量拉上去
。
但实际上为了统一,就要标得更复杂,数据量要拉上去就更难。
同时为了统一需要数据量更大,如果
标注方法或者训练方法本身没有办法去承担更大的量的话,就是标不起更多的数据,量也拉不上去
。
之前因为没有办法统一两个领域的数据,也没有办法把这两个领域的数据都搞到足够大的量。
比如一个领域搞1, 000 张图,另外一个领域搞 1, 000 张图,独立的分置就变简单了。
那现在的状态是什么呢?有这个数据的基础,可以让它不分置。
那不分置的基础,一个是数据量增大,一个更根本的基础,实际上就是数据标注,
从人工标注变到自动化,以及从自动化变到完全不需要标注,这是非常大的进展
。
所以回答这个问题,我们再总结一下。
原来的问题是要分置,我没办法做到统一,因为有两个限制,一个数据,一个算力,所以我要分置。
现在就是说数据和算力都能支持,不要分置,合在一起搞。
数据的角度能支持合在一起搞的话,从要标注到自动标注再到不需要标注,
自动标注跟不需要标注还不一样,不需要标注是一个更好的状态。
如果这个东西彻底不需要标注了,那你的算力又能顶住更大的数据量扔进去,就相当于把两个东西合在一起做,这个是核心。
所以回到自动驾驶这件事情上,很重要一点就是要把这个标注给取消。
智能车参考
:现在自动驾驶的标注成本,到什么程度了?
任少卿
:自动驾驶这几年变化很大,
五年前可能标一个框几毛钱
。
前两年,整个标注还需要花钱,但是它通过
自动化标注
的方式,每
两年可能效率提升100倍,三年可能效率提升了万倍到百万倍
。
现在我们其实追求的,就是想不标注
。
因为无论自动标注什么东西,虽然它效率提高了,原来可能 5 毛钱一个框,现在5 毛钱能标1万个框,或者说能标 100 万个框,但是
毕竟还是要耗时间的
。
现在就想不标注了,就是原始视频直接进入(模型)。
智能车参考
:现在用户都会去关注,车企的智驾是不是端到端的系统。
多少有点诡异,因为端到端这个的事情它更大的意义是在于研发,在于厂商本身,对于用户其实没有那么大的意义。我不在乎我的这个车是不是端到端的系统,我觉得他能处理很多或体验很好就行。
任少卿
:我觉得挺有意思一件事,就是说这个事情本身也只存在于先锋用户,或者说这个早期体验用户里面。
我觉得这里面其实有两点,首先用户愿意去关注这些工作还挺好的。
就比如说做语言模型的相关用户,他甚至关心你模型怎么训练的一样,大家关心关心这事也挺好。
第二个事情,也是因为我觉得最近半年功能上的热点没有那么多,因为你想去年年底到今年年初,大家也不是说没在做端到端,没在做模型化,只是说有一个可能,
更贴近产品的所谓的城区开城的事,吸引到大家的注意力
。
今年开始,头部几家开城开得差不多了、故事几乎讲完了。蔚来在4月开完全域全量智驾发布会后,这也不是个故事。尤其是对于早期领航用户来说,讨论的这些话题对他来说是有意思的,他才参与这个过程。
那现在讨论啥呢?
现在不是只能讨论端到端嘛?
那我觉得,再往后那是不是也许大家会讨论点到点,讨论 L3 ,只是说厂商还没有去引导这个方向。
智能车参考
::端到端对于厂商研发的变革会有很大吗?
有两派的观点,一派觉得车辆是一个系统性的工程,你不要
迷信端到端
。
有一派则认为这是新范式,得All in一样拥抱。
你是怎么看?
任少卿
:
我觉得说的都没有错
。
我们一直不是二极管逻辑,这本质上是大家用开发工具一样,都是写的代码,或者说我都是编辑个视频,或者说大家都写文章。
拿文章举例,那我们都是写文章,那chatgpt 用不用好像也没事。
用了后你可能也带来一些额外的问题,但是用了之后如果用顺手了,可能效率能更高一点。
说你不用ChatGPT就落后了,或者说你用了这个就太激进了——这没什么必要争,对吧?
只是说
大家挑自己顺手的效率工具
。
第二个从
长期的角度
来说,那可能会是个趋势,只是说大家进入端到端的时间,用起来的时间和你自己的学习时间不一样。
智能车参考
:端到端会给你们研发的流程带来什么样改变?
任少卿
:
这其实就是个模型化的事
,大家现在过多地关注这个事。
模型化对于自动驾驶而言,绝对不是只是半年的事
。
自动驾驶最早可能2013年就开始用深度学习,逐渐地在增多比例,只是说最近可能大家其他的话题也不多,所以就多说一说。
智能车参考
:端到端是一个模型化的事。
后进入端到端的玩家能够通过开源模型,再投入自己的数据,实现后发优势吗?
任少卿
:这就跟打魔兽或者打星际一样,本质上就是你先爆兵还是先点科技的问题,一个意思。
当你点科技就意味着说你的生产力,你的钱,花在了科技上,那你爆出来的兵就少一点。
其实就是说你的功能少一点,或者说你的细节上,用户体验调整少一点。
智能车参考
:所以你觉得还是不同的选择的问题?
任少卿
:但是这件事对于头部玩家实际上是个长期的事,当然短期也要照顾。
所以说科技总得点,只是说你在什么时间点,有的早升级,有的晚升级。
那节奏的话就很难说了。
因为它跟你的种族相关,跟你的资源相关,跟你选择英雄相关,跟你想打什么,出什么兵也相关,
所以大家自然按自己的节奏来了,最后就看结果呗
。
智能车参考
:端到端对研发的要素会有什么样的改变吗?比如数据的自动化之类的。
任少卿
:我觉得数据一直都是重点。
只是说大家这个重视度不一样,但是我觉得这个方向是没有变的,大家肯定是越来越重视。曲线有一点不一样。
智能车参考
:你有什么拥抱端到端的建议?
任少卿
:我觉得不需要,就是
强调端到端有点太多了
,本质上就是AI的一个应用。
人工智能应用实际上就是两个核心,第一个是基础的能力:模型数据。
第二个是对于专业的应用领域的理解,就这么两件事。一拨人可能更多的点的是通用技术栈,一拨人点的更多的是 domain knowledge。
智能车参考
:所以其实算法、算力和数据,这三要素是没有变化的。
任少卿
:只是说现在模型的基础,模型的变化使得它的通用性变得更强一些,那大家需要去升级自己的技术栈。
智能车参考
:端到端会改变自动驾驶好与不好的评价标准吗?
任少卿
:我觉得好与不好一定是由用户体验定义的。
这跟技术是没什么特别强关联。只能说有的技术可能去做这件事情花的精力更少一些。
智能车参考
:就现在来看,评价系统的好坏,更多的还是从数据层面,比如接管间隔时长。
任少卿
:对,因为如果同样一个用户,接管的倾向是一样的,那接管的比例或者接管的里程,是一个比较重要的参考。
但是不同的用户其实也不一样,因为有的用户,你可能对他造成了惊吓,或者说不安全感的,这个优先级会更高一些,或者换句话说,有不安心的监管和正常的监管,就只是用户觉得说没什么不安全,也没什么不安心,只是我觉得你这个效率低,可能需要分一下。
智能车参考
:自动驾驶会不会犯类似“分不清9.11和9.9哪个大”的常识性错误?
任少卿
:有的,其实是一样的,
语言模型
里面叫
幻觉
,
自动驾驶
就叫
Corner case
。
什么叫Corner Case,或者说误检,漏检。
比如说,语言模型突然输出了一句莫名其妙的话,自动驾驶的感知模型突然间有一帧没了,或突然间蹦出来一个实际上不存在的东西,其实都是类似的事。
所以自动驾驶解决这个问题,相对来说比较早了。
那更多的是,通过时序的切割机制,通过校验机制等去解决。
实际上像语言模型里面管控承诺也是这样, COT
(思维链)
的一方面的逻辑实际上就是让系统
自我校验
:
通过一个更复杂的输出表达,然后自我去校验。
现在也有什么MOE ,还有其他的一些方法,比如说实际应用端的后端的校验,都是同样的逻辑,所以整体来说就是模型训练,性能对齐,主要是输出一个跟人类偏好差不多东西。
第三个就是有错的问题,通过多次的校验,用神经网络,非神经网络的方法,再加上一些人力规则的方法去校验这个事情,
把错的东西挑出来变成正确
。比如你用的这些聊天软件的,其实就是把错的东西挑出来,跟你说这个东西我不要了。
世界模型
智能车参考
:进入系统的视频数据,一方面是标注的真实数据,另外一方面就是世界模型的生成数据,有点像LLM中合成数据。
任少卿
:如果要定义一个任务的话,最终要回答一个问题,这个问题就是你定义的任务有多通用。
从自回归的角度来说,你定义的任务越通用越fundamental,从学术的角度意义越大,从应用的角度也是一样。
10 年前大家说计算机视觉领域的三大 fundamental 的任务,图像分类,检测和分割。
大家想一想,去理解一个图像,能对它进行分类,进行提框,找出里面的物体进行分割,确实是根本任务。
但是到了今天,这个fundamental的定义不够了。
我们需要一个更根本的问题。
语言问题定义的根本问题,是预测下一个token,下一个词。
实际上对视觉也是一样。
如果能定义一个更fundamental的任务解决问题,因为它更fundamental,所以在上面找应用,它覆盖的范围就更广。
智能车参考
:用视频生成视频,本质上也是对问题的穷举?
任少卿
:是的,作为一个基础任务,最根本、最本质就是要定义这个东西。
所以现在的定义就是,视频去生成视频这件事情更本质,因为它能包含所有的其他可能性。
输出视频是一个分类,把中间的物体抠出来,那它就是可以做物体检测的任务。
输出的是一个分割的结果,就是可以做分割的任务。
输出的是一个三维重建,换个角度的结果,就可以做三维重建的任务。
所以视频生成视频这件事情,实际上从问题的定义上来说是一个更fundamental 的问题。
而且我们认为,
重建是对于时空理解和对原始数据理解最深刻的表现形式
。
因为基本上原来的信息量,都需要重构出来,才能去做中间的事情。
智能车参考
:现在的
世界模型
和更早前的
虚拟仿真
,本质不同是什么?
任少卿
:
虚拟仿真实际上我觉得完全是一个另外的逻辑
。
实际上是两个方向。
一个方向,我们叫做计算机视觉,一个方向是计算机图形学。
其实是分别干了两件事,一个事情是
理解世界
,一个事情是
再造世界
,就是虚构一个视觉。
但是
最近两年两个方向也越来越近了
。从总体上来说,
完全地理解这个世界是世界模型要干的事
。
那现在也有一些用原始视频的方式来仿真,但它本质上不是要完全理解这个事情,不是说给它一个输入,就要把输入完全理解,而是说要重构一个东西出来。
但
重构的东西不见得是这个世界的全部
。
所以仿真的问题是
仿真不包含这个世界的全部信息
。
比如说最早的仿真,拿游戏来举例,游戏其实某种情况下就是仿真。
最早的仿真就是大家打红白机游戏,有(像素化)粗的信息,但是很多精细的东西是没有的。所以
仿真一直的问题就是它不断地逼近真实世界,但它离真实世界还有距离
。
智能车参考
:蔚来讲世界模型的时候,用了类人脑的方式,将其划分成两个部分,这是为了方便听众理解,还是系统本身就是划分成了两块?
任少卿
:为了让大家理解,我们会把它切得很开。
但实际上做的时候是耦合在一起做的,也不是完全分开。本质上其实也要想办法,就是说有一些概念去处理。但是实际做的时候不会像跟大家说的时候分得这么开,分这么开是为了方便大家理解。
实际上我们讲的时候,第一部分关于重构,其实也是重构成视频。
那重构成视频,某种程度上里面也包含时间的信息,只是说我们给大家讲例子它不会那么长。
我们讲第一部分的时候,重构可能就是一个很小的范围,那讲第二部分的时候,我们就可以更强调它的时间长,它的变化多,但是实际上它是耦合在一起的。
智能车参考
:对生成式AI关注多吗?
任少卿
:我觉得挺好,最近实际上变化很大呀。
就是我为什么要去说世界模型这件事,会往这个方向走?
因为就是回到刚才那个话题,端到端、非端到端只是智能驾驶领域的一个大家讨论的事。
从技术角度来说,实际上从更大的范围之内,那自动驾驶和机器人与大语言模型的融合是什么样的方式?
智能车参考
:世界模型,就是你们给出的一个方式。
任少卿
:对,它是一个更贴近通用的一个方式,自动驾驶能用,机器人能用。
那语言模型,后面的原生规模也会是类似的框架。
当然我们其实还有更激进的方式,就融合所有域,但是那个后面再说。
智能车参考
:规模很宏大,会遇到工程问题吗?
任少卿
:很多工程问题,所以现在给大家讲的世界模型,它会更贴近于下一个阶段的机器人、自动驾驶,以及语言模型的基本框架。
智能车参考
:什么是世界模型的多元自回归生成结构?
任少卿
:其实这里面的这三个东西,和大家实际上都在研发的语言模型,机器人框架,很类似。
里边有三个关键词,从右往左说,第一个是生成,这个生成的方式,它有很多的优势,
你不用标数据了,你的学习效率更高,所以语言模型早就是生成了
。
机器人的数据更少,它也只能生成它,它标也标不动,那自动驾驶往这个方向走也没问题。
那
自回归本质上可以解决长时序的问题
,所以语言模型long contacts也是类似的方式。自动驾驶和机器人要解决长时序的问题,也得用这种方式。
多元是什么呢?
多元就是这个multivariable input 和output
(多模态输入与输出)
,本质上是要解决多数据源的问题,那之后自动驾驶想用互联网的数据,或者互联网想用更多领域的数据,其实都要用类似的这种方式。
我们是希望通过这些框架,去打通跨领域的事。
智能驾驶四大关键技术要素
智能车参考
:现在NAD
(蔚来智能驾驶)
的迭代过程中,车主的反馈也是一个很重要的机制?
任少卿
:比如说一个模型上车了之后,举个简单例子,模型这个时间点执行不减速,那车主突然一脚踩下刹车,肯定就是有问题。
拿出来看看问题在哪,需不需要重新让模型学一下。
智能车参考
:现在都在做城区NOA,但每一家最后呈现的体验不同,你觉得是什么因素决定的?
任少卿
:可以认为有四大因素:
第一是
模型
,第二是
数据
,第三是优化——模型总是会出问题,出了问题之后怎么用其他的方式、基于优化的方式去做联动。
第四个是
功能的多少
,你 feature 有多少,实际上就是基于前面三块,但并不是完全相关。
所以
模型的角度实际上就是我们这次所说的核心
。
每家其实会有不一样,甚至说每家不一样的点还不少,这是模型的角度。
第二个就是
数据
的角度,数据多还是少、频率快还是慢。这方面其实车厂会有一些优势。
因为数据变化跟这些供应商比,车厂会更好一些。
对于我们来说,
蔚来数据闭环做的,我觉得可能是全球最好
。
第三个实际上就是说,模型输出的结果也会有问题,那处理的方式,导致的效果更好还是效果更差?
效果好,其实有两点,第一点是说不要误杀它的结果。
第二个是,如果不是误杀了模型的结果,模型做得不好的时候相对来说更丝滑: