自动驾驶---理想汽车智驾进展

news/2024/11/2 8:06:39/

1 背景

        自媒体---“电车通”从2024年初开始推出智能化评测相关栏目,尤其是针对智能驾驶这一功能做了大量的实测工作;根据综合表现,给测试车型给出了能够直观展示其能力的评分。当评测的对象达到一定数量后,对整个国内车市智驾能力分级也有了基本的判断,不同车型智驾系统之间的评分分级,也在一定程度上还原了当下国内市场智驾的竞争格局。整体排名如下图所示(图侵删):

0511ca22cd2d426c88d302fd6a4a565e.png

        在上面的车机系统版本中,理想汽车还不是最新的大模型版本。最近,理想汽车的智驾大模型也算火了一段时间,可谓是“弯道超车”,智驾技术直接看齐第一梯队的车企(华为、小鹏),那么他们做了哪些工作呢?

        本篇博客主要整理了理想汽车研发大佬的一些采访和公开场合的发言,供读者朋友们去了解目前理想汽车智驾在大模型上的应用进展。

2 内容整理

        采访内容来源:端到端智驾上车,理想的智驾团队有什么变化?

(1)端到端的技术架构下,如何把模型训练得更好?或者说如何让体验变得更好?

        这个问题前者更偏技术,后者更接地气,普通消费者直接感受到的就是体验问题。

        大体是分 2 步,第一步找出问题;第二步解决问题。

        第一步:如何找出问题?

        在理想内部有一个工具,相当于医院里的 “分诊台” 的系统,一个场景问题上来,会自动分析它应该属于哪一类的场景问题,更像是一种回流问题的自动化分析工具。

        这个不一定是传统意义上的分类,它也是有模型去训练,会给一个模型的分诊建议,然后再去拿着分诊建议去找到相类似的场景,其实最终还是回归到你需要补充或者替代什么样的数据到我们现在的训练样本里面去,然后再进行下一步的训练。

        第二步:如何解决问题?

        这里有 2 个途径,一个是给模型更多有价值的视频片段(数据);另一个是模型本身的参数调整(参数)。

  • 数据积累

        众所周知端到端是一个神经网络,这个大家可以理解为一个人,这个人的能力强弱,取决于你教他什么,给他有价值的视频片段越多,那他学习到的有价值的东西就越多,实操的表现就越好。所以这里的前提是你有足够多的数据,朗博提供了一个数据,理想现有的 80 万用户,已经积累了超过 12 亿公里的有效训练数据量。

        在采访中郎博和贾老师也表示,这些完整的数据包含所有传感器的数据(摄像头 + 激光雷达等),是 20 秒到 30 秒左右的小视频段,包括在这几十秒之内车辆的驾驶数据,如方向盘、油门、刹车,这些都是最原始的数据。这些原始数据并不会因为智驾的底层算法框架变了就失效了,并不需要重新积累,而且因为理想的车都是 SUV/MPV,车上摄像头配置,包括安装位置都大体一致,所以数据可以共用,这是一个很大的优势。这一点非常重要,传感器配置几乎一摸一样,有些车企传感器的布局以及类型在不同的车型上差异比较大,这样训练的难度就会增加很多。

        有足够多的数据之后,下一个问题是怎么选出有价值的片段?

  • 数据筛选

        首先,理想的智驾团队和产品、整车的主观评价团队,还有内部的一些老司机共同制定了一个老司机标准;

        其次,智驾团队会根据这个老司机的标准给 80 万车主的行驶表现进行打分(这个地方不知道是基于人工的规则还是机器学习),分数高于 90 分的属于优质数据,这个比例大概在 3% 左右。这个 3% 几百万的视频片段构成了理想端到端模型训练的素材数据库。

        除了这个正样本以外,理想的团队还建立了一个错题库,把一些明确不允许的行为纳入错题库中,这些数据也会一并投入到模型的训练过程里。

        其实到这里只是建立了一个优质的素材库,但是并不会一股脑把所有片段全部丢进去训练,这是一个循序渐进的过程。

        现在正在内测的这个版本,是 100-200 万视频片段训练出来的结果,下一个版本会增加到 300 万左右的视频片段。

        这里最核心的是如何基于当前的表现下的缺点,找出质量更高的视频片段,提供给模型进行训练。

  • 模型需要的视频片段筛选

        为了能够能方便的找出需要的视频片段,理想研发很多小一点的模型,比如数据挖掘模型、场景理解模型,包括可以通过一些关键词或者场景描述的句子,直接去数据库中查找类似的片段。

        上面这些查找方式的前提是,能给这些素材打出标签,才能根据这些标签去找对应的片段。

        其实还有一些场景没法打出明确的标签,但又是模型训练非常需要的片段怎么办?

        在这里理想会进行特征提取,看特征本身的相似度,比如说这两个场景上你直观看标签相似度很低,可能一个白天一个夜间,但是他可能行为上很像,这些复杂行为你咋定义?按照图像特征,这俩特征之间的相似度很高,我们就认为它俩场景是比较接近的。

        这些其实是智驾端到端这个大模型之外的一些基建工作。

        而且在这个过程中很重的一点就是调整数据的配比,郎博现场给了一个生动的比喻是,这种感觉就像古代炼火药,讲究一硝二磺三木炭,这样威力比较大,模型的训练也有点类似。

        所以每次都会有不同素材配比的模型进行训练,出来之后看那个模型的效果最好,这个也是一个认知、经验积累的过程。

  • 模型本身的参数调整

        这个步骤的专业说法叫模型的超参,加入新的数据后,模型参数如何调整。这里理想通常会有 5-6 版模型会同时提交训练,然后看哪一版解决了问题。这里延伸出来的新问题就是,无论是【给模型更多有价值的视频片段】还是【模型本身的参数调整】,最后都需要有一个机制来判断模型效果是不是真的更好了?怎么保证模型是在正向迭代的?

(2)怎么保证模型是在正向迭代的?

        为了验证训练完的模型是不是真的变好了,或者有没有出现一些新的问题,理想会建立了一个试验模型,内部叫系统三,相当于是一个考试系统。

        这里面会有常规的正常开的真实数据,也会有一些出错的场景,通过重建技术重建成一个 3D 场景,然后连续测试,在这当中这里面也会有很多安全性测试。

50b42a5d19962a085e88a6e67491bc68.png

        除此之外,还有一些长尾问题,理想会通过世界模型结合生成技术进行场景重建,然后进行测试。不过这里的世界模型不是纯生成,在贾老师看来,纯生成式模型幻觉很多很多,没办法真的拿去用,理想是重建加生成结合在一起的过程。

247e15b1248f205e301e366d02fad07d.png

        把场景真实重建出来,在这个基础上做泛化,其实重建是给系统一个参考的量。在这个基础上再去做生成,让生成的结果是符合世界规律的,也是符合物理规律的。

        这里的测试里程基本都是上万公里的规模,而且这个上万公里不是我们常规开的上万公里,而是各种 case 集合起来的上万公里。

        考试系统会通过上面这些测试,给新的模型进行评分,理想则会根据评分的结果来判断模型有没有变得更好,是否可以推送到车上。

        如果这一轮验证通过了,下一环则是推送给早鸟用户进行内测。

        在这里理想也会通过影子模式来测,必须要时时刻刻记录车辆情况所有的开车数据,后台实时自动回传,数据会自动化的分析,会根据这些数据再进行下一轮的自动迭代训练,然后考试、交付。

        最后,也有一个兜底机制,就是理想的端到端模型输出的是轨迹,而不是直接到控制,轨迹之后会加一些安全兜底。

        理想认为在模型没有达到上限之前,还是要有一些处理的东西,比如说猛打方向盘这样的事。

        这个大家不要有误解,这种兜底只是过滤掉一些不合理的操作,车速、方向都是模型给出的结果,并不是回到规则控制。

        就像是你写完作业,交给老师之前,爹妈再给你检查一遍,看看有没有漏做的,或者在作业上画画这种离谱的行为,并不是帮你再做一遍。

(3)端到端之后,团队的工作流有什么变化?

        手写规则时代的大概流程是需求分析,产品设计,然后再到研发,再到测试,再到交付。

        像常规的距离匝道还有 xx km 触发变道、距离匝道还有 xx km 开始减速,减速到 xx km 就属于产品设计,这种还比较简单,但是到了城区场景复杂度就高多了。

        这里要通过手写规则实现比较好的体验,在产品设计阶段就需要考虑得非常全面,所以最重的任务在中间这一段。

        在端到端时代,团队的核心工作两头,一头是数据,一头是考试,大部分人都在做这两件事,中间模型调整的工作量并不大。

        像以前的产品团队、主管评价团队变成了出题的人,像无图时代做功能的工程师会自己写 prompt 生成非常长尾的问题给模型作验证。

        这里的变化也让【数据】和【算力】变尤为重要。上文中我提到过,在优化模型的过程中,既会通过调整不同的数据配比去训练模型,也会通过模型的超参来进行优化。

        这两种方式都会产生多个模型,这也就是意味着需要足够强大的云端算力,才能进行高效的训练。据说理想最多的时候有 15 个模型在同时训练。

        目前理想的云端算力有 4.5 E FLOPS,不过这里面给智驾的应该是 2.5 E FLOPS 左右。这里的算力相当于1.5 万卡的 A100,一年下来的成本得小 10 个亿美元。数据的重要性就不多赘述了,没有数据相当于端到端的模型没有学习素材。

(4)现在投入训练的视频长度是多少?如何解决有前后逻辑关系的驾驶行为?

        就我自己目前使用智驾的过程中,一个接管率比较高,体验比较差的场景是,在这个 4 车道路口系统走了最左侧车道直行,100 米后的下个 4 车道路口要走最右侧进辅路。

        人在这种场景会提前走右侧车道,确保下一个路口不用在 100 米内连边 3 次车道。

        这种就是一个比较长的时序中发生的有逻辑的决策。

        面对这个问题贾老师回复是:「现在(投入到模型训练的视频)分成两类,一类是 30 秒,一类是 1 分钟,大部分咱们的驾驶决策可能就是 5 秒内,所以 30 秒基本能覆盖几个小的场景。

        但是有些长决策,比如先右转,下个 200 米后立马左转,这种或者是说我前方 500 米要下匝道,我在最左车道我要下到最右下匝道,这种行为一般都一分钟或者更久,我们会把这种分类出来。

        比如说我想要长时间决策的,尤其是跟导航类相关的,其实都是长时决策,这种都是一分钟的。甚至说两个一分钟拼在一起,有持续关系的会拼在一起,并不是都统一 30 秒扔进去,还是得让模型理解到前后关系。

(5)VLM 和端到端系统是怎么协同工作的,VLM 的必要性有多高?

        这个套系统是怎么协同工作的其实很多采访里都聊到过了,简单来说就是两个系统是协同工作的,端到端的模型小一点帧率高能跑 10 几赫兹,VLM 模型参数量大 22 亿参数量能跑 3-4 赫兹。

        大部分情况都是端到端的模型在跑,但是碰到一些比较复杂的场景,需要决策的点,比如上高速前要判断走人工还是走 ETC,哪个是人工哪个是 ETC,在这个时候把决策结果和参考的轨迹扔给系统一,扔给端到端模型,端到端模型推理后,用这个信息。

        这个双系统的必要性上,前特斯拉 AI 工程师老于在直播的时候提出了很多质疑。

        在郎博看来 VLM 可能 90% 以上的时间它不起作用,但它起作用这些内容,是决定这个系统到底是 L3 还是 L4 的一个关键点,是能真正的能去应对这种未知的场景。

        交流现场贾老师也分享双系统后续发展的两个趋势,第一个就是模型规模变大。像特斯拉 12.3-12.5 参数量提高了 5 倍,可以支撑足够的大模型,那端到端和 VLM 两个模型可以合成一个,算力大了之后 VLM 能跑实时了,直接输出 action,那其实更 sexy。

        而且运行的过程是不是走 CoT 思维链的过程,可以是模型自己去决定,变成一个紧耦合的状态,而不是松耦合的状态。

        另一个点是可以借鉴现在多模态模型的大模型发展趋势,他们就朝这种原生多模态走,既能做语言也能做语音,也能做视觉,也能做激光雷达,我觉得这是将来思考的事情。

        我们这套范式应该能够支撑我们做到,因为在机器人具身智能上我们已经看到它的应用雏形,参考人的思维过程,这套东西可能就是我们心目中想追求的终极答案。终极答案的意思是我们用这套理论和这套框架去做真正的人工智能。」

(6)上了端到端的好处是什么?上端到端是不是必要的?

        这个好处其实前面提到过一点,就是之前手写规则时代下,想要通过产品设计来实现非常好的智驾体验那这就变成人海战术了。

        在郎博看来,如果真想达到像老司机这样的开车需求,用户的需求并不是弄一个接管率多少的指标就行,用户可能想要一个老司机体验的辅助驾驶系统。

        这样的话,用之前偏规则的方式是永远达不到的,不管是分段式端到端,还是之前模块化的架构,它里边还是有规则的东西,一旦你有规则,研发流程效率会降低,另外还增加了很多人为的理解。

        还有一个上了端到端的好处就是整个系统的时延会更低,之前我们在是华为 ADS 3.0 智驾的时候,通过红绿灯识别的速度可以发现整个系统的识别速度相比 2.0 提升了一倍。

        在理想上,现在端到端延迟相当于是传感器进来到控制输出大概在 100 多毫秒,不到 200 毫秒,以前分模块大概得到 300 多将近 400 毫秒。

(7)这套系统的上限在哪?

        郎博:我们现在还在摸索数据提升和性能提升的这样边界,现在还没有摸到。我们有个分析,芯片算力是有限的,所以参数规模就有局限性,现在我们是大概三个亿左右的端到端参数规模,三个亿左右参数规模它能吃掉多少数据训练量,其实也有上限,不可能给他无限灌进去,那不可能。

        贾鹏:虽然算力提升,但现在对于大模型来说,目前车端芯片更严重的瓶颈是内存带宽。

(8)环岛能力掉头能力,是不是只有端到端的状态下才能做?

        贾鹏:如果是分段式的,前面是个感知,要给规控去做各种假设,做个掉头,还得把掉头线拟合出来,不同的路口的掉头还不太一样,曲率都不太一样,所以你很难做到一套代码就可以把所有环岛掉头搞定,种类太多了。

        环岛这件事,也有我们其中一个好玩的故事,在我们大概 80 万 clips 的时候,还过不了环岛,后来突然发现一天我们 100 万 clips 他自己能过环岛,我觉得是 100 万里头刚好有一些环岛数据放在里面了,模型确实很厉害,你喂了什么数据他就能学会,这是模型的魅力所在。

3 总结

        从理想智驾的发展历程来看(本篇博客《自动驾驶---各大车企的端到端之旅》有做相关介绍),不得不佩服李想在智驾战略上的改变,在传统方案没有做到极致之前,勇敢的甩掉了这个“包袱”,另辟蹊径,采取与其它单位合作共赢的方式,将VLM大模型上车,并且在性能上获得了不错的口碑。并且总结下来,大模型的核心由以下三要素构成:算力,模型,数据。

 


http://www.ppmy.cn/news/1543807.html

相关文章

小张求职记二:完善简历

金色的夕阳将校园染上一层温暖的橘色,操场上,足球队员们挥洒着汗水,欢笑声在空气中回荡,远处的图书馆里,学生们埋头苦读,偶尔传出翻书的声音。一切都是那么美好,仿佛时间都静止在了这美好的时刻…

红队-shodan搜索引擎篇

如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 一.shodan原理与功能的介绍 Shodan Search Engine 它是专门搜网络设备的,只要联网的,只要有IP地址的都可以称为网络设备 1.shodan&#x…

从0攒一个分布大数据/人工智能/数据库 处理引擎

以下各组件部署方式:嵌入模式 vs 独立服务模式 组件选型: 分布式网络通信: brpc, zmq ...分布式高可靠存储用于存元信息: zk, etcd, braft分布式状态保存用于存储数据: memory/disk storage(shuffle,sort): rocksdbpartition_manage单机计算引擎: Grap…

ICPC区域赛成都站【赛后回顾+总结】

传送门 前言赛后总结赛后回顾赛后感悟 前言 首先,这是本人本赛季第一场XCPC区域赛,也是本人算竞生涯中第一场XCPC区域赛(之前只打过邀请赛和省赛)。 赛后总结 然后赛后总结一下:我队天崩开局,我队出师不利…

一文速通C++17 std::any

std::any 概念 值类型 一般来说,C是一门类型绑定和类型安全的语言。 值对象:被声明为确定的类型,并且不能改变自身的类型。类型:定义了所有可能的操作、也定义了对象的行为。 std::any是一种在保证类型安全的基础上还能改变自…

精准帮扶:SpringBoot扶贫管理系统

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了精准扶贫管理系统的开发全过程。通过分析精准扶贫管理系统管理的不足,创建了一个计算机管理精准扶贫管理系统的方案。文章介绍了精准扶贫管理系统的系…

Python中的PDF处理工具:PyPDF2和ReportLab使用指南

Python中的PDF处理工具:PyPDF2和ReportLab使用指南 在日常工作和项目中,PDF 文件处理是个常见需求,不论是合并报告、加密文档、填充表单,还是生成发票。Python 中有许多用于操作 PDF 文件的库,其中 PyPDF2 和 ReportL…

API网关 - JWT认证 ; 原理概述与具体实践样例

API网关主要提供的能力,就是协议转换,安全,限流等能力。 本文主要是分享 如何基于API网关实现 JWT 认证 。 包含了JWT认证的流程,原理,与具体的配置样例 API网关认证的重要性 在现代Web应用和微服务架构中&#x…