电动知士大雨 25-11-07 18:03
微博认证:汽车博主

刘先明的Workshop,是最近一年来,我听过最好的自动驾驶讲演。他能用最简单的语言,把清晰的逻辑,做最准确的表达。

大家关心第二代VLA中,“L”的问题,是当天媒体提问最多的。我也问了,并且尝试换了个提问角度,他的回答很清楚,如果你有疑问,不妨读一下。

Q:外界对VLA的理解,可能更早来源于像Lingo这样方案。它就是把Vision转成文字,用COT的方式去表达。这一次我们把L拆掉,外界会说你为什么还叫VLA?为什么不叫VA?为什么要坚持叫第二代VLA?

拆掉L,是不是因为自动驾驶,是一个实时性要求很高的任务。把L加进来的时候,它的性能不够好?未来某一天,当我们的芯片性能足够好、算法足够好的时候,是否可以把L显式的再加回来?

A:挺好的问题。关于未来会是什么样子,我们只能去推测,因为技术突破永远是待定的,一旦出现突破之后,没有人知道下一代会发生什么,我们只能去猜测。

我先回到前面那个问题,我们为什么还叫 VLA?其实现在也是 Vision 加上 Language 去作为输入,Language 只是可选,中间干掉了所有 Language 的输入之后,直接出 action。

关于 VA 也好还是 VLA 也好,我们不想让这个问题变得那么复杂,因为现在大家起名字起得太多了。每天出来一个新名词,一个新技术就一个新名词,那明天没词了怎么办?那就不妨挑一个大家都比较容易理解的词去说。

呃,为什么不要 L?它只是因为 latency (延迟)吗?我觉得不完全是。Latency 肯定是其中的一个考量,当你要部署放在定制的 SOC 上面时,你没有那么大的 power supply,你没有那么大的算力,是必须要做一些取舍。

但根本性的问题,就是像我刚才说的。VLA 中间有 L,很大原因是因为大家在做这件事情的时候,学术界更多利用的是开源模型。开源模型基本上都是以 Language 为主去 train 出来的。train vision 的模型非常消耗算力和费钱,因为它的数据体量太大,而且也没有足够多的数据来去做这件事情。

它不像 Language,一个爬虫能把整个互联网爬下来去做这个事情。你可以在开源数据集,轻轻松松拿到3、4B,甚至更多的token,有很多开源的VL 数据集来去做这个事情。

所以,很多企业的做法还是倾向于在风险和突破之间,选择更多的保守,尽量去跟随。因为这个事情毕竟是一个比较的大投入,而且有一定的未知性。

当你做出这样的判断后,第一个选择是什么?是看学术界做什么! 学术界做什么又限制于资源,资源告诉你,VL train 出来,Vision 我没有足够多的训练数据,大部分的训练数据都是 Language。

所以做世界模型,大家现在更多还是 follow 这条路径,来出 Language做better action也好,还是做 CoT 也好,再去 decode 成最后的 action。

我还是那个观点,当要去处理物理世界的时候,你的输入信号、输出信号都是连续的。那也不再存在一个结构化的空间或者一个推理,需要让你用语言去解释。昨天大师兄的PPT上放了一个图,我觉得挺好的。就是当你想把一件事情解释得很清楚的时候,你需要很多的文字,算成 token 可能一千多个 token,而且它是离散化的,你没有办法用那些 token 来去完全还原整个场景,那这个地方就是有损的。

一旦出现这样的问题(数据损失),就意味着你的 Data scaling 就不是可行的事情。Data scaling 中间一定不能存在瓶颈。一旦存在瓶颈了,你给越多的数据,也不会有结果,因为你完全被中间的瓶颈卡死了。这就是那个核心原因。

所以我们也想过,拆掉 Language 之后到底会不会影响它泛化能力?比如说刚才红绿灯的问题、待转区的问题。我们一开始觉得,实在不行我就拿 Vision Language 去 train 一遍,后来发现并没有解决。所以用文字去做的推理、用视频或者是多模态的数据去做推理,本质上没有什么太多的区别。

Q:我理解,我们是可以 decode 出来 Language对吧?有没有可能把这个东西加到车端,增加可解释性。

A:婷婷一开始讲的,我们有可解释性的意图,之前确实就这么做的。 decode 一些特定的文字。但这个肯定不太符合一开始的目标,它只是一个中间的结果。

————————————————————

如果上面这个Q&A的整理回答,你还是看不懂,那就只能有空的时候,我再做进一步解答了。

#小鹏科技日#

发布于 北京