自动驾驶大模型---理想汽车智驾端到端方案

1 前言

        今年,理想汽车在很多场合宣传其自动驾驶技术(技术上笔者称为自动驾驶,在功能上称其为辅助驾驶)端到端系统。本篇博客主要基于公开资料,及个人从业经验,对其进行剖析解读。在很多自媒体的端到端(大模型)测试中,理想汽车的整体表现还算是不错的。

        本篇博客主要介绍理想汽车双系统的工作原理,不足之处,欢迎讨论交流。

2 系统架构

        关于端到端的模型架构以及VLM的模型架构,笔者在之前的博客中都分别进行过介绍。

        《自动驾驶---自动驾驶端到端的一般形态

        《大模型---一文看懂视觉语言大模型VLM

        在博客《自动驾驶---视觉语言模型(VLM)与双系统融合》中,笔者介绍了清华大学和理想汽车合作的一篇关于双系统的论文,有兴趣的读者朋友可以浏览,本篇博客会深入到模型架构中去,更细节的了解自动驾驶大模型的架构及量产信息。

  • 双系统设计

    • 系统1:端到端模型(快系统):直接处理传感器输入,输出驾驶决策(如轨迹规划),模仿人类“直觉反应”。

    • 系统2:VLM模型(慢系统):基于视觉语言模型,处理复杂规则推理(如交通标志语义、道路规则),辅助系统1决策。

2.1 E2E

        整体的One Model架构图如下所示,同之前感知的BEV、Occupancy模型有着非常相似的地方。在原有检测和分割任务的基础之上增加了轨迹解码的任务。

  • 架构

(1)Backbone 网络

        常规传感器信息进入到CNN主干网络(理想专门为Orin-X优化),并提取特征融合,为了增强BEV空间特征表达能力,加入了记忆模块,不仅是时序记忆还有空间记忆。

(2)编码器 + 解码器

        编码器核心特征生成

  • BEV特征:将多视角传感器数据转换为BEV特征,统一空间表达,便于全局感知。

  • 时空记忆:结合历史帧数据,建模时间维度信息,处理动态场景(如移动物体轨迹预测)。

  • Anchor实例:预定义的实例特征(如障碍物、车道线锚点),辅助模型识别和定位目标。

        信息进入Transformer编码器后,和加强后的BEV特征一起解码出动态障碍物、道路结构,Occ,行驶轨迹。输出前三个主要有两重作用,第一重是输出EID,让用户放心,第二重是作为端到端模型的辅助监督任务,加速行驶轨迹的收敛。

  • 输入模块

        并且额外设计了另外两个输入,第一个是自车的这个状态信息,第二个是导航信息。前方有2公里的这个导航信息,比如说前方300米左转,类似这样的都会输入。

        传感器数据:摄像头(视觉感知)、激光雷达(测距与环境建模)。

        位置信息:车辆定位数据(如GPS)。

        车辆状态:车辆位姿(行驶姿态、位置)。

        导航数据:导航信息(目的地、路线规划)。

2.2 VLM

        VLM在整个系统中的作用主要从以下两个方面阐述:

        功能定位:处理端到端模型难以应对的复杂逻辑(如交通规则理解),为系统1提供决策补充。

        交互方式:通过“系统二决策”接口,将规则推理结果输入端到端模型,辅助最终驾驶决策。

  • 架构

        目前绝大部分VLM大模型都是结合了各种LLM与视觉编码器组合而成的。典型的VLM架构主要由三部分构成,如下所示:

(1)视觉编码器

(2)投影器(Projector)

(3)LLM

  • 输入输出

        输入是前视摄像头的数据,输出驾驶决策及粗轨迹信息。

  • 理想汽车VLM

        VLM系统里最核心的部分,它是一个统一的transformer解码器,然后这里面的参数量是非常大的。然后将文本的prompt进行Tokenizer编码,然后输给这个解码器。然后同时把30度相机,120度相机的图片以及导航地图的图像进行视觉编码。然后送给这个模态对齐模块,对齐后的信息也交给这个解码器,最后一起自回归的输出。

        系统二的输出包含几个部分,一个是对环境的理解,驾驶的决策建议,甚至是驾驶的参考轨迹,这些都是可以给到系统一帮助辅助驾驶策略的。

        其实整个世界里面还有三个比较好的亮点。第一个可以看到我们这个视觉编码器这部分其实是一个流式的视频编码器。相比于大部分传统的单帧VLM来说,流式的视频变压器它其实可以缓存更长的视觉的时序。然后相当于一种常识类信息,对于这个物理世界中的AI系统来说是非常重要的。那右下角里面还有一个MemoryBank模块,这里相当于是换一个成了上帧甚至上上帧的那种多帧历史信息。这样拼成了历史信息,就更好的来执行超长时序的推理问题,解决超长时序的推理时延。

        第三个特点的话,有一个自动驾驶的prompt问题库。系统二不但时时刻刻都在看这个周围环境,给系统一做出一些辅助驾驶决策。同时系统一还可以主动向系统二问问题,然后根据prompt库里的问题,帮助系统以解决部分场景,比如说导航有时候也不知道自己在高架上上还是高架上下的时候,这时候系统一可以问当前是在桥上还是桥下,那系统二可以给系统一做出更好的辅助判断。

3 其它方面

3.1 训练方法

  • 多策略训练

    • 监督训练:基于标注数据(如正确轨迹、障碍物标签)训练模型。

    • 模仿学习:学习人类驾驶员的驾驶行为数据。

    • 强化学习:通过奖励机制优化模型决策(如安全行驶、高效规划)。

  • 多任务联合训练优化:

    • 损失函数设计:训练时,为每个任务定义对应的损失函数(如障碍物检测的分类 / 回归损失、轨迹规划的路径误差损失),通过加权求和形成总损失函数。模型优化时,同时最小化所有任务的损失,确保各任务输出精度平衡。

    • 参数共享与特化:部分底层网络参数在多任务间共享(提升特征利用效率),而任务专属分支的参数则针对特定任务优化,既避免冗余,又保证任务特异性。

3.2 推理及建模

(1)并行计算与高效推理

        基于深度学习框架(如 PyTorch、TensorFlow)的并行计算能力,解码器可在一次前向传播中同时处理多个任务分支。例如,输入特征经过一次计算后,并行输出障碍物识别结果、道路结构解析结果、轨迹规划结果等,无需串行执行多个独立模型,大幅提升推理效率,满足自动驾驶实时性要求。

(2)任务关联性建模

        部分任务间存在隐含关联(如障碍物位置会影响轨迹规划),解码器通过网络结构设计(如交叉注意力机制),让不同分支间交换信息。例如,轨迹规划分支可参考障碍物分支的输出,优化路径安全性,实现任务间的协同决策。

3.3 问题

        通过上述设计,解码器在统一框架下高效完成多任务输出,既保证各任务的独立性与精度,又通过特征共享、联合训练提升整体效率,支撑自动驾驶复杂场景的综合决策。

        但其实理想汽车智驾团队刚开始把大模型放在Orin-X部署的时候,面对了非常多的困难。整个推理时间长达4秒,这个是在自动驾驶系统上是完全不可接受的一个时延。因此需要一步一步去思考怎么优化它。

        第一个能想到的就是说内存的带宽通常是大模型推理的一个瓶颈,因此想把大模型先进行量化,减少带宽的一个瓶颈。同时也试了业界主流的一些量化方法,比如说AWQ,GPTQ这种方法。但是发现它的这个精度和性能往往不能很好的平衡,所以最后使用了自研的方法,魔改了GPTQ,然后最终在Orin-X上实现了一个将近一倍的一个性能的提升,延时从4秒钟降到了1.9秒

        后来又发现其实还有个视觉ViT的这个推理,也是一个比较大的瓶颈。然后这时候去跟英伟达合作,在最新的DriveOS上,实现了一个更好的Tensor的算子融合。对attention算子进行了深度优化,发现这也是一个非常好的一个提升点,从1.9秒提升到了1.4秒。

        然后另一个发现是:大模型推理的一个瓶颈,很重要的是这个自回归的推理,每次输出只能输出一个token。业界现在很好的一些思路入就是说用投机采样方法。投机采样指的就是说大模型在一次推理过程中能连续输出多个token。研发团队也在Orin-X上用一套自研的方法实现了自研的投机采样。实现了整个性能的一倍的提升,从1.4秒降到了0.7秒。最后使用了流式的视频流推理,这样使重复的视觉计算得到大大的缓解,最后达到0.3秒的一个推理性能。

        整个提升了将近是三倍之多。这套方案其实是业界首次把大模型放在Orin-X一个部署尝试,感兴趣的同学也可以参考一下理想汽车研发团队的技术方案。

3.4 数据筛选

        项目之初,其实跟产品团队、整车团队一起定义了五星级司机的标准,这就是专车司机的标准,拿这个标准去筛选我们的用户,给他们打分,那就是0到100分,目前来说超过90分的车主只占3%。

3.5 系统配合

        系统一其实会面临各种各样复杂的情况,它处理不了,那这时候就需要系统二来解决,介入来帮忙。精选了一些系统二做的比较有意思的场景给大家分享一下来看看系统二的能力。第一个视频可以看到系统二发现这个地面路面是非常坑洼不平的。这时候系统上会给系统一发一个降速的提醒,并告知驾驶员前方的坑洼路车辆将慢速行驶,减少颠簸。然后使整个自动驾驶系统在过这里的时候会更加舒适。接着就是个黑天场景,整个在光线昏暗的情况下,系统上会让系统一做一个限速,然后这样使得整个驾驶更加安全可靠。

        第二个视频可以看到整个系统二能够在主辅路走错的情况下,能判断出来当前是跟导航是不一样的。比如说导航告诉你现在要走辅路,结果在主路系统二会说是可以切换导航的。这时候能帮助系统一解决各种走错路的情况,然后看甚至可以预防系统一去走错这个导航,这个比人强多了,人也会走错导航。

        第三个视频,可以看到系统二能够稳定的识别公交车道,不但能知道它的类型,还能知道它的位置,更重要是它还能知道上面的时间,并且与当前时间做一个匹配。如果这个时间是合理的,系统二可以给出建议,就是说会合理使用这个车道。在潮汐车道这里也可以看到,系统二已经知道了这个地方是潮汐车道,不可用区域。那系统二会告诉系统一这个地方是不能走的,那也可以保证系统一不会错过导航。

3.6 EID显示

  • 可视化输出:将模型处理结果(如障碍物、轨迹)通过EID(环境信息显示)呈现给用户,增强驾驶过程的透明度和信任感。

        理想汽车车机上开创式的增加了模型推理过程及多模态轨迹的显示。

4 总结

        本篇博客的主要目的就是借助理想汽车公开资料深入剖析理想汽车的自动驾驶技术,特别是其双系统设计:端到端模型(快系统)和视觉语言模型(VLM,慢系统)。

        端到端模型直接处理传感器输入,输出驾驶决策,而VLM则处理复杂规则推理,辅助系统1决策。文章详细介绍了这两种模型的架构、训练方法、推理及建模过程,以及在实际应用中面临的挑战和优化策略。此外,还探讨了数据筛选、系统配合以及EID显示等关键方面,展示了理想汽车在自动驾驶技术上的创新和进步。整体而言,理想汽车通过双系统设计,有效提升了自动驾驶的决策效率和安全性。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能汽车人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值