大模型与端到端会成为城市自动驾驶新范式吗?

news2024/11/24 23:50:54

摘要:

最近可以明显看到或者感受到第一梯队的城市自动驾驶量产已经进入快车道,他们背后所依靠的正是当下最热的大模型和端到端的技术。

近期,城市自动驾驶量产在产品和技术上都出现了新的变化。

在产品层面,出现了记性行车或者称为通勤NOA的新形态,首先学习和记忆用户自行驾驶的路线,等到学习成功以后,就可以使用该路线实现城市NOA,大疆、理想等多家公司已经正式官宣该产品。

在技术层面,最近可以明显看到或者感受到第一梯队的城市自动驾驶量产已经进入快车道,他们背后所依靠的正是当下最热的大模型和端到端的技术。从各家发布的技术路线来看,可以归纳出城市NOA的四件套

1)以BEV大模型为基础的城市道路交通全栈感知大模型;

2)至少上亿公里或者上百万个视频的数据训练;

3)至少上百P的算力平台,用作大模型数据训练;

4)智驾芯片上Transformer的高效部署。

某种程度而言,要真正实现数十个城市的大规模量产,以上四件套缺一不可。

虽然种种迹象表明城市自动驾驶量产呈现快速发展势头,但是我们仍然应该理性认识到在国内数十个城市解决每一个复杂场景和corner case的不确定性、复杂度和难度。四件套是基础,但足不足够我依然会打一个问号,毕竟拥有上述豪华四件套的特斯拉也依然还没有迎来V12版本,依然没有全量推送。

从技术路线上来说,大模型和端到端是继高精度地图路线后的一次冲锋,在chatGPT席卷浪潮之下下可谓是生逢其时,那么他们会是否会成为城市自动驾驶量产的新范式呢?让我们来分析一下各家的武器库。

注:以下素材均来源于网络公开资料,如有侵权,请联系删除。

0理想:智驾全面拥抱大模型

2023年6月17日,首届理想家庭科技日在理想汽车常州智能制造基地举行,分享会上宣布本月即将开启城市NOA内测,也宣告理想AD智能驾驶进入大模型时代。

其自动驾驶大模型能力体现以下几点:

1.BEV感知大模型

感知采用BEV大模型,不依赖高精地图,能够实时感知和理解环境中的道路结构信息。通过大量的训练,目前理想的BEV大模型已经可以在绝大多数的道路和路口实时生成稳定的道路结构信息。这里的「绝大多数的道路和路口」到底是多少,个人认为还有待验证,毕竟全国道路总里程有1000万公里。

2.路口神经先验网络(NeuralPriorNet)

对于城市中的复杂路口,仅通过BEV大模型来进行感知依然不够稳定。例如在一些跨度较大的路口,通行车辆较多,传感器视野容易被遮挡,导致车端实时感知的结果会丢失局部的信息。

针对这类复杂路口,理想使用自研的神经先验网络(NeuralPriorNet,简称为NPN网络),提前提取和存储路口NPN特征,当车辆再次行驶到该路口时,将之前提取好的NPN特征,与车端感知大模型的BEV特征层进行融合,从而得到完整的感知结果。

NPN特征是一堆神经网络参数,人类无法从这些参数直接理解复杂路口形态,但是大模型可以。相比高精地图,NPN特征的信息量更大、保密性更高。可以理解为,它用网络模型替代了人为规则,进行环境信息的理解和环境信息的使用。

通过NPN特征增强BEV模型的研究论文,发表在AI领域的国际顶级会议CVPR上,论文题目为:Nerual Map Prior for Autonomous Driving。

据业内某专家分析,从他们的模型流程来看:车队的数据训练好之后会被存储,当用户车(offline)走到这里的时候,就会查询当前位置(比如路口)对应的全局NMP,然后用户车端编码器提取到的BEV特征会和当前位置存储好的全局NMP进行一个融合,类似于定位,最后解码器输出一个车端的路口语义地图;如果发现车端观测的特征和全局NMP不一样,又会做一轮融合更新,重新存储到全局的NMP里,相当于用户车只要是走过自动驾驶车队走过的路口,都有图参考。

3.端到端的信号灯意图网络(TrafficIntentionNet)

众所周知,路口红绿灯的通行规则一直是城市道路中的难点。一般需要从高精地图中获取信号灯与道路、车道的绑定关系来确定当前车道所对应的红绿灯。这个规则的建立需要人工提前处理,而理想选择用大模型解决。

训练了一个端到端的信号灯意图网络(TrafficIntentionNet,简称为TIN网络)。不需要人为设定任何规则,甚至不需要识别红绿灯的具体位置。只要将图像视频输入给TIN网络模型,网络就能直接给出车辆现在该怎么走的结果——左右转、直行或停止等待。其核心是通过学习大量人类司机在路口对于信号灯变化的反应,来训练TIN网络模型。

在路口处,TIN网络根据输入的视频图像,实时给出的路口不同通行意图的概率,概率值最大的就是实际使用的意图,这与信号灯的指示一致。

此外,面对道路上可能会出现的通用障碍物,比如施工路障、遗撒物体、卡车后斗伸出的货物等,理想也和特斯拉、华为一样使用Occupancy网络,来精准地识别它们的边界和类型。近几个月,通过“喂”大量训练里程,Occupancy网络识别的内容和准确性又得到了很大的提升。

4.1200P和6亿公里的训练平台

大模型的训练,需要一个强大的基础训练平台,才能完成快速高效的训练和迭代。理想到今天为止已经拥有1200 PFLOPS算力的自动驾驶训练集群。自动驾驶训练里程,已经突破了6亿公里。

在这个平台上,大模型可以进行高度自动化的闭环学习训练。整个训练过程主要包括:样本采集、样本挖掘、样本标注、模型训练和测试验证。

0小鹏:已量产BEV

截至2023年,小鹏已成功在国内提供一流的自动驾驶解决方案:开发、部署了小鹏的BEV感知架构XNet,直接感知自动驾驶车辆周围的环境,可以处理动态物体、复杂的道路拓扑,乃至交通信号灯的极端长尾情况(例如多类型交通灯一起推理、以及与附近的倒计时计时器或交通标志一起推理)。
 

1.端到端的BEV

BEV感知可以看作是一个端到端的感知系统,是迈向端到端自动驾驶系统的重要一步。在小鹏自动驾驶总监Patrick看来,端到端自动驾驶系统是完全可微分的管道,它将原始传感器数据作为输入,并生成高级驾驶计划或低级控制动作作为输出。

在传统的自动驾驶堆栈中,2D图像被输入感知模块以生成2D结果。然后利用传感器融合对多个摄像机的2D结果进行推理,并将其提升为3D。生成的3D对象随后被发送到下游组件,例如预测和规划。

然而,传感器融合步骤需要大量手写规则来融合多个摄像机流的感知结果。每个相机仅感知到观察的物体的一部分,因此结合获得的信息需要仔细调整融合逻辑。本质上是通过工程师的头脑进行反向传播。此外,制定和维护这些规则会带来一系列复杂性,导致复杂的城市环境中出现许多问题。

为了克服这一挑战,应用鸟瞰图 (BEV) 感知模型,它使我们能够直接在 BEV 空间中感知环境。BEV 感知堆栈将两个独立的组件组合成一个解决方案,从而消除了脆弱的人为逻辑。BEV感知本质上是一种端到端的感知解决方案。这标志着迈向端到端自动驾驶系统的关键一步。

2.BEV实现原理

Xpeng 的 BEV 感知架构代号为 XNet。

下面的可视化描述了正在运行的车端XNet 感知架构。中间的红色车辆代表自动驾驶车辆在环形交叉路口行驶。周边静态环境完全靠车端感知,不使用高精地图。可以观察到 XNet 准确地检测了车辆周围的各种动态和静态物体。

小鹏AI 团队在两年多前(2021年初)开始试验 XNet 架构,此后经历了多次迭代才达到目前的形式。利用卷积神经网络(CNN)主干来生成图像特征,同时通过交叉注意模块(变压器)将多摄像头特征转置到BEV空间中。

然后,过去几帧的BEV特征与自我姿势(在空间和时间上)融合,以从融合特征中解码动态和静态元素。

以视觉为中心的BEV感知架构提高了大规模部署自动驾驶解决方案的成本效益,减少了对更昂贵的硬件组件的需求。准确的3D检测和速度展现了冗余的新维度,并减少了对LiDAR和雷达的依赖。此外,实时3D感性环境感知减少了对高清地图的依赖。这两种功能都有助于打造更可靠、更具成本效益的自动驾驶解决方案。

3.BEV部署的挑战与方案

将这样的神经网络部署到生产车辆上会带来一些挑战。

首先,训练 XNet 需要数百万个多摄像头视频剪辑。这些剪辑涉及大约10亿个需要注释的对象。按照目前的标注效率,标注大约需要2000人年。从模型训练的角度来看,使用一台机器训练这样的网络需要将近一年的时间。此外,在 NVIDIA Orin 平台上部署这样一个没有任何优化的网络将占用一个芯片 122% 的计算能力。

小鹏通过自动化标注、大规模训练、以及Orin芯片上的高效部署来解决BEV大模型实际落地应用问题。

1)自动化标注

为了提高标注效率,开发了一个高效的自动标注系统。这种离线传感器融合堆栈将效率提高了高达4.5万倍,使小鹏能够在短短17天内完成需要200个人年才能完成的注释任务。

以上是基于激光雷达的自动标签系统,除此之外还开发了一个完全依赖视觉传感器的系统。这让注释从没有激光雷达的客户车队获得的剪辑成为可能。这是数据闭环的关键一环,促进了自我进化的感知系统的发展。

2)大规模训练

关于大规模训练,从以下两个角度优化了 XNet 的训练流程。

首先,应用混合精度训练和算子优化技术,简化了单节点的训练过程,将训练时间缩短了10倍。

然后,通过与阿里云的合作,构建了一个算力为600 PFLOPS的GPU集群,将训练从一台机器扩展到多台机器。这进一步减少了训练时间,这个过程并不简单,因为需要仔细调整训练过程以实现近线性的性能扩展。

3)Orin芯片上高效部署

如果没有任何优化,在Nvidia Orin芯片上运行 XNet 将需要该芯片 122% 的计算能力。在分析开始时显示的分析图上,可以观察到变压器模块消耗了大部分运行时间。

这是可以理解的,因为变压器模块在 Orin 芯片的初始设计阶段并未受到太多关注。因此,需要重新设计Transformer模块和注意力机制以支持Orin平台,从而实现3倍的加速。

为了进一步优化,通过修剪进一步优化了网络,从而使速度提高了2.6倍。最后,在GPU和DLA之间采用工作负载平衡,进一步实现了1.7倍的加速。

通过这些不同的优化技术,将XNet 的GPU利用率从122%降低到仅9%。总体而言,XNet的训练时间从276天减少到仅仅11小时。

0UniAD:感知决策端到端

2023年6月22日,CVPR 2023最佳论文新鲜出炉,有2篇论文从总量高达9155篇的投稿中脱颖而出,其中一篇就是Planning-oriented Autonomous Driving,即以路径规划为导向的自动驾驶。该论文由上海人工智能实验室、武汉大学及商汤科技联合完成。这是近十年来,计算机视觉三大顶级国际会议(CVPR、ICCV、ECCV)上,第一篇以中国学术机构作为第一单位的最佳论文。
 

自动驾驶历来被人们称为集AI技术之大成者。一般在自动驾驶任务中,通常包含三大模块,分别是感知、预测和规划,主流方案通常是分开来处理具体任务。

由此导致的缺陷也是比较明显,要么是任务之间协调不足,要么是影响到了整体性能的提升。

基于这样的一个背景,这篇论文便首次提出了感知决策一体化的自动驾驶通用大模型——UniAD

UniAD是一个综合框架,将全栈驾驶任务整合到一个基于Transformer的端到端网络中。

除了我们刚才提到的三个主任务之外,还包括六个子任务,包括目标检测、目标跟踪、场景建图、轨迹预测、栅格预测和路径规划。

那么如此“大一统”的方式之下,结果又如何?

根据论文显示,在nuScenes真实场景数据集中,UniAD的所有任务均达到SOTA!

具体“实战”效果如下:

在面对采访时,上海人工智能实验室青年科学家李弘扬介绍:

凭借其充分的可解释性、安全性、与多模块的可持续迭代性,UniAD是目前为止最具希望实际部署的端到端模型。

0小结

大模型已成趋势,端到端不断扩展,学术研究虽距离实际应用尚早,但是完成了原型验证,为工程化指明了方向。


同时,从各家技术发展路径来看,也在逐步过渡到大模型和端到端,目前主要处在感知大模型的阶段,可以预见未来将会发展到感知决策甚至规控一体的大模型,真正实现端到端。
除了模型算法本身的研究、迭代和优化,背后所需要的训练数据量、算力以及芯片上的部署,都是不可忽视的巨大挑战。

来源 | 企鹅智驾

引用:

1.https://mp.weixin.qq.com/s/IZzZGhzNqMT6fNZOC-uVRQ

2.https://mp.weixin.qq.com/s/1ua51GA1AJbodLIZVZY8zw

3.https://mp.weixin.qq.com/s/bWaqD8GNGRrLxE1F_7r1fA

4.https://arxiv.org/abs/2212.10156

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/743170.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【python】逻辑中断(and or)

今天学习javascript的时候竟然有一个额外收获:逻辑中断。而且我实验了一下,逻辑中断同样适用于python。 0 and 2返回: 0 1 and 2返回: 2 0 and 2返回的是0,而1 and 2返回的是2。就是因为在0那里出现了逻辑中断。 解…

Git的使用以及在IDEA2022中使用Git

目录 前言 一、Git下载与安装 二、Git常用命令 1.全局设置 2.获取Git仓库-在本地初始化Git仓库 3.获取Git 仓库-从远程仓库克隆 4.Git工作区、暂存区、版本库 概念以及工作区中文件状态 (1)工作区、暂存区、版本库 (2) G…

centos7.9 rc.local启动失败

最近在虚拟机上整个centos7.9,想要把程序设置成开机自启动,发现rc.local状态是failed,重启服务器也没用。 自己之前写过两篇相关的博客 centos7重启后/etc/rc.local中的脚本没有执行_lanren312的博客-CSDN博客 centos7开机运行java的sh脚本…

Sui 8192:如何使用Sui对象撼动游戏领域

Ethos通过其Sui 8192游戏不仅展示了对象在Sui上的力量,还展示了基于对象的游戏如何有力地撼动游戏行业。每个玩家在移动游戏中的方块时都会铸造一个新的对象,类似于铸造NFT,这为每个独立玩过的游戏提供了永久上链的机会。 Sui 8192游戏的规则…

10.4.4 终端机的环境设置: stty, set

在 tty1 ~ tty6 这六个命令行的终端机(terminal) 环境中登陆,登陆的时候我们可以取得一些字符设置的功能。举例来说,我们可以利用倒退键 (backspace,就是那个←符号的按键) 来删除命令列上的字符…

强化学习模型

目录 引言 1 强化学习的理论基础 2 强化学习的实践 3实战案例:自动驾驶

【InnoDB 存储引擎】InnoDB 数据页格式(详细版,数据页格式对于理解索引详细的原理很重要)

文章目录 1 InnoDB 数据页结构1.1 File Header2.2 Page Header2.3 Infimum 和 Supremum Record2.4 User Record 和 Free Space2.5 Page Directory(InnoDB 数据页结构最重要的部分)2.6 File Trailer 2 参考资料 1 InnoDB 数据页结构 我们已经知道页是 In…

PS 2023 24.7 Beta Ai 如何解决橙色错误弹窗问题?

距离Adobe软件公司首次将图像编辑及数字绘画软件Photoshop推出到大众面前已经过去35年,最近该公司又再次书写了属于Photoshop的历史新篇章。 Adobe 发布的 Photoshop(Beta)新增「创意填充(Generative Fill)」功能&…

jmter连接mysql数据库取值

测试情况下需要大量的测试数据进行模拟测试,如何使用接口插入大量数据,使用jmter进行插入 步骤如下: 第一步:\lib\ext导入mysql-connector-java-5.1.44-bin.jar驱动 F:\TOOLS\apache-jmeter-5.4.1\apache-jmeter-5.4.1\lib\ext …

Vue的入门学习

Vue 1 Vue概述 通过我们学习的htmlcssjs已经能够开发美观的页面了,但是开发的效率还有待提高,那么如何提高呢?我们先来分析下页面的组成。一个完整的html页面包括了视图和数据,数据是通过请求 从后台获取的,那么意味…

SpringBoot中集成阿里开源缓存访问框架JetCache实现声明式实例和方法缓存

场景 SpringBoot中通过自定义缓存注解(AOP切面拦截)实现数据库数据缓存到Redis: SpringBoot中通过自定义缓存注解(AOP切面拦截)实现数据库数据缓存到Redis_霸道流氓气质的博客-CSDN博客 上面讲的通过自定义注解的方式实现查询数据库数据缓存,除此之外…

数据结构--哈夫曼树

数据结构–哈夫曼树 带权路径长度 结点的 权 \color{red}权 权:有某种现实含义的数值(如:表示结点的重要性等) 结点的带权路径长度 \color{red}结点的带权路径长度 结点的带权路径长度:从树的根到该结点的路径长度(经过的边数)与该结点上权值的乘积 树的…

Element UI组件中el-col、el-row布局学习笔记

一、简介 el-col:列。是Element UI布局中的核心组件,他的作用的将一行分成24个网格,为了方便我们在不同的设备上适配不同的屏幕大小。我们可以通过指定span属性来确定一行中所占的网格数。 el-row:行。包裹在el-col外层&#xf…

【单片机】MSP430f5529单片机,msp430单片机,识别按键单击双击,按键双击判定,驱动程序

文章目录 需求思路介绍程序源码 需求 MSP430f5529单片机的开发板上面只有2个按键硬件,但是通过识别双击,就可以拥有4个按键了! 识别按键,单击P2.1返回1,单击P1.1返回2,双击P2.1返回3,双击P1.1…

第一百零三天学习记录:数据结构与算法基础:算法和算法分析

注:截图转自王卓数据结构教学视频 算法和算法分析 算法的定义 对特定问题求解方法和步骤的一种描述,它是指令的有限序列。其中每个指令表示一个或多个操作。 算法的描述 自然语言:英文、中文 流程图:传统流程图、NS流程图 伪…

辅助驾驶功能开发-功能规范篇(22)-2-L2级辅助驾驶方案功能规范

1.3.2 TSR 系统功能定义 1.3.2.1 状态机 1.3.2.2 状态迁移表 初始状态转移状态转移条件INITOFF系统自检过程中,为 OFF 状态,自检无故障且车辆上次掉电前,为 OFF 状态INITON自检无故障,车辆为首次上电,或者上次掉电之前,系统为非 OFF 状态INITFAILURE系统自检故障,且上…

系统架构设计师-软件工程(4)

一、软件测试 1、软件测试类型(动态测试 / 静态测试) ● 动态测试【计算机运行】 (1)白盒测试法【结构测试】:主要用于单元测试阶段。 a:控制流测试【逻辑覆盖测试(语句覆盖最弱&#…

【数据结构与算法】栈算法题

TS 实现栈 interface IStack<T> {push(e: T): void;pop(): T | undefined;peek(): T;isEmpyt(): boolean;size(): number; }// implements: 实现接口, 一个类可以实现多个接口 class ArrayStack<T> implements IStack<T> {private data: T[] []; // private…

【已解决】词云图只显示方框,无法正确显示中文

文章目录 报错及效果图报错代码解决后效果图 解决方案 报错及效果图 报错代码 from wordcloud import WordCloud def drawing_wordcloud(jieba_split):colormaps colors.ListedColormap([#33b846, #a9be70, #e50000])# 生成词云&#xff08;自定义样式&#xff09;mywc1 Wor…

docker 挂载共享文件夹

docker 挂载共享文件夹 1. 目前不太清楚怎么在已经启动的容器中挂载1.1 也不是完全没办法&#xff0c;把当前的容器打包&#xff0c;再使用-v参数重新启动就可以了 1. 目前不太清楚怎么在已经启动的容器中挂载 1.1 也不是完全没办法&#xff0c;把当前的容器打包&#xff0c;再…