ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

特斯拉FSD端到端大模型演进:从规则代码到数据飞轮

特斯拉FSD端到端大模型演进:从规则代码到数据飞轮 这两年只要聊智能驾驶绕不开的就是特斯拉FSD。很多人只知道FSD价格不便宜、功能时不时更新一下但真正值得研究的是它从“写了十几万行C规则的模块化系统”转成“端到端大模型”这件事本身。我把特斯拉近5次公开演讲和技术分享反复梳理了一遍从2022年AI Day、2023年CVPR自动驾驶专场到FSD V12两轮大规模推送、2024年财报电话会议再到2024年10月的“We, Robot”发布会把FSD如何切换到大模型路线的逻辑完整理了出来。这篇内容既讲架构、也讲工程适合正在做自动驾驶算法、搞AI大模型落地或者想设计数据闭环体系的团队参考读完你能看清端到端的骨架也能少踩几个常见坑。1. 先聊清楚端到端到底替换了什么1.1 传统模块化自动驾驶的复杂度诅咒以前的自动驾驶方案结构上非常教科书感知模块负责识别车辆、行人、车道线、红绿灯预测模块判断其他交通参与者的未来轨迹规划模块在候选路径里找一条“安全、舒适、效率”的轨迹控制模块再把轨迹换算成方向盘角度和踏板开度。每一层职责清晰但也有一个逃不掉的困局——模块之间的信息在层层传递中不断损失而每一层的工程师都在用“堆规则”的方式去对抗长尾场景。我在前几年接触过不少类似的量产项目最直观的感受是高速场景还好规则够用一旦进入城市左转待转区、潮汐车道、临时施工改道、行人横穿、外卖电动车贴身超车这些情况的组合几乎是无穷无尽的。规则工程师今天修好一个“前车静止”的判断明天又冒出来一个“前车静止但开着双闪且骑在实线上”的变体。代码量越来越大可维护性越来越差最后所有团队都会被这类corner case拖进泥潭。1.2 端到端从一行行规则到海量参数FSD转向端到端的核心逻辑用一个词概括就是“换引擎”。不再是人类工程师去定义“什么是障碍物”“什么是可行驶区域”“什么情况下要减速”而是让神经网络在海量真实驾驶数据里自己学习“这种情况下应该怎么办”。输入是摄像头拍到的视频输出直接是驾驶决策中间没有手工设计的模块链。这就和大模型的概念对上了。FSD的“大”体现在三个地方参数量大骨干网络是Transformer结构训练数据大用的是上千万段真实路驾视频算力规模大训练集群动辄几万张GPU起步。它不再是一个“写规则的软件”而是一个持续被数据喂养、被评测迭代的“模型体”。我会在后面的篇幅里把这三个“大”拆开讲清楚。2. 从5次公开演讲看FSD端到端演进路线特斯拉FSD的技术演进不是一次发布会讲完的而是藏在每一次技术分享的只言片语和架构变化里。我把近5次比较关键的公开节点列成了一张表后文再逐个拆解。序号时间场合核心信息12022年9月特斯拉AI DayBEV统一感知、占用网络、车道神经网络端到端被列为下一阶段方向22023年年中CVPR自动驾驶专场对外讨论视觉基础模型、大规模视频表征开始向“基础模型”逻辑靠拢32023年底至2024年初FSD V12路测与北美推送城市驾驶全栈切到神经网络砍掉大量手工规则代码42024年Q2/Q3财报电话会议与相关披露训练集群算力持续扩张端到端进入“算力军备竞赛”阶段52024年10月We, Robot发布会无监督FSD被正式立为产品目标Robotaxi与Cybercab亮相2.1 2022年AI Day先解决感知的统一表示问题2022年AI Day给我印象最深的不只是机器人而是FSD把感知集中到了一个统一的“BEV空间”里。所谓BEV就是鸟瞰视角把车身周围多个摄像头的画面投射到一个以自车为中心的俯视栅格上。做这项工作的原因很实际摄像头是不同角度、不同焦距装车的每路图像各自识别出的车道线、车辆位置之间可能存在冲突必须转到一个统一坐标系下才能做后续决策。配合BEV的是占用网络Occupancy Network。它不要求模型精确判断“这到底是一台SUV还是一辆三轮车”只要在某个栅格里输出“这里有东西被占用”的概率就行。这对异形障碍物特别友好比如路上横着一根掉落的钢管传统目标检测模型大概率识别不出来但占用网络会说“这一格被占了别压过去”。可以说2022年AI Day已经把感知层“数据驱动化”这件事做扎实了为后续真正的端到端铺好了地基。2.2 2023年CVPR专场从“识别任务”走向“基础模型”到了2023年年中特斯拉团队在CVPR这样的学术场合分享时讲法升级了。他们不再只是谈“用神经网络做目标检测”而是开始谈“在大规模视频输入上学习通用视觉表征”。这个思路和语言大模型的预训练逻辑越来越像先用海量无标签数据学一个通用表征再在下游任务上微调或零样本适配。对FSD来说这种“通用表征”意味着模型不只是认识车道线和车辆而是开始具备一种松散的“驾驶常识”。比如看到前方一群行人聚在路边它不需要精确识别每个人的表情只需要知道“这个区域大概率有动态障碍物出没”从而降低速度、留出横向余量。这种能力很难靠人工规则写出来只能靠大模型从数据里自己长出来。2.3 FSD V12路测全栈端到端第一次量产真正让外界确认“端到端时代来了”的是FSD V12从2023年底开始的小范围用户测试到2024年初在北美的大规模推送。公开信息里最直观的变化是FSD团队把过去负责规划控制的那部分手工代码从系统里大幅移除大量逻辑被合并进一个神经网络模型。当时有一个流传很广的说法是V12“砍掉了数十万行C代码”虽然数字未必精准但趋势是明确的——规划规则在系统里的比重急剧下降。从测试视频看V12在城市道路上的无保护左转、绕行静态障碍、与对向来车博弈等场景做得更像一个老司机了。它不再机械地遵循“停车线前必须停够2秒”之类规则而是会看情况右边完全没车它会缓慢滑行通过有车逼近它就果断停住。这种“像人一样的弹性”正是端到端模型带来的体验升级。当然V12也暴露了不少新问题比如在某些路口的激进判断、对少见灯型的误读这些在后面的章节里我再展开讲。2.4 2024年财报会议算力成了新的护城河端到端模型吃掉算力的速度远超大多数人预期。在2024年的财报电话会议和相关披露中特斯拉多次提到其AI训练集群的扩容进度。和训练语言大模型不一样FSD的训练数据是千万小时级别的多视角视频而且每一段视频不是一张静态图片而是带时间维度的序列。训练模型时要同时处理时间、空间、传感器视角三个维度数据吞吐量比文本大好几个量级。这也是为什么他们在训练基础设施上投入那么重。没有足够的算力数据采回来也只能躺在存储里吃灰。我当时看到他们披露的GPU规模时第一反应是“这不只是一个车企更像一个大模型公司”。到了这个阶段FSD的竞争已经从“谁算法更巧”变成了“谁的数据管线和算力基建更厚”。2.5 We, Robot发布会把端到端推向无人驾驶2024年10月的We, Robot发布会产品属性远大于技术属性但它把FSD的最终验收标准定出来了——无监督FSD也就是去掉安全员、去掉方向盘的车自己跑。会上发布的Cybercab没有方向盘和踏板意味着车辆必须完全依赖视觉大模型在开放道路上做决策。这对模型的鲁棒性要求是指数级提升的以前出错了还能指望人接一把现在出错就是事故。从技术演进角度看这次发布会其实是在给端到端大模型做“毕业答辩预告”。答辩题目不是“能不能识别障碍物”而是“在毫无人工干预的情况下能不能安全完成每一次出行”。这个标准比任何排行榜都残酷但也正是这种极端验收条件倒逼着架构、数据、算力三个轮子必须同时转起来。3. 拆解FSD端到端大模型的架构细节3.1 输入端多路视频流怎么变成tokenFSD的传感器配置很“固执”坚持纯视觉方案。车上装了8个摄像头覆盖前视、前广角、侧视、后视等不同视野。端到端模型要处理的不是一张图而是带时间维度的连续视频流。这套逻辑和最近大家常说的“视频大模型”很像每一帧图像被切成patch通过卷积或线性映射变成嵌入向量然后和多帧的历史信息一起进入Transformer。比较有工程味的部分是多视角的位置编码。每个摄像头在车身上的位置、朝向都不一样模型必须知道“当前这个token是来自左侧摄像头还是前视摄像头”才能在统一的特征空间里做融合。你可以把它类比成语言模型里的“位置编码”——只不过语言任务只需要编码一个维度就是token在句子里的顺序FSD要编码的维度更复杂包含空间位置、时间戳、摄像头ID。处理不好这件事模型会产生感知错乱比如把左侧车道的车误判到右侧去。3.2 主干网络稀疏注意力与动态查询FSD的骨干网络一直围绕Transformer展开但车载芯片的计算资源有限8路视频产生的事件数量又非常巨大所以不能把语言模型那套“稠密全局注意力”原样搬过来。公开演讲里提到的方向基本是稀疏注意力不是每个token都和所有其他token做交互而是先根据空间邻近性、时间关联性筛选出真正需要关注的token子集再做注意力计算。这就像人在开车时也不是同时盯着所有方向而是根据场景动态分配注意力。模型里还有一个很关键的设计是“可学习查询”机制。模型先初始化一组与物体位置无关的可学习向量这些向量通过交叉注意力不断从图像特征里查询和聚合信息最终变成对场景里各种要素的表征。这样做的好处是不需要提前设定“最多检测50个物体”这样的硬上限目标多时就多分配一些查询目标少时查询自动空闲灵活性比传统检测头高出不少。3.3 输出端轨迹束与安全约束层很多对自动驾驶了解不深的人以为“端到端”就是把视频丢进去然后模型直接输出方向盘角度和油门踏板开度。实际上量产系统很少这么鲁莽FSD的模型输出也并不是直接连到车辆执行器。从公开的架构思路来看模型的规划头输出的是多条候选轨迹每条轨迹带一个置信度或代价估计再由后续的车辆控制接口和安全监控模块做一次“可行性校验”。这层安全约束非常关键。模型可以输出“左转”但如果车辆当前时速、转向角已经接近物理极限那么这条轨迹再合理也不能直接执行。控制层会先判断这条轨迹是否在车辆的动力学包络之内是否会和周围障碍物发生碰撞全部通过后才转换为转向、加速、制动指令。也就是说“端到端大模型”接管的是决策大脑但车辆仍然有一套确定性的机械与安全保护底线。这一点对我个人来说启发很大后面我会再展开说。3.4 它凭什么可以叫“大模型”我试着用一张表把FSD端到端模型和我们熟悉的语言大模型放在一起对照你会发现它们在方法论上惊人地一致。维度语言大模型FSD端到端大模型输入文本token序列多摄像头视频token序列主干网络TransformerTransformer稀疏注意力训练数据网页、书籍、代码真实驾驶视频与轨迹数据预训练方式自监督学习大规模视频表征学习对齐/优化RLHF等对齐手段影子模式安全约束强化学习迭代推理环境GPU服务器/手机端车载计算平台功耗与延迟敏感所以用“大模型”这个词来描述FSD并不是比喻而是它在技术路线上真正跨过了那条门槛以大规模参数为基础、以海量数据为燃料、以数据飞轮驱动持续迭代。它和我们常说的LLM是同一个思想在不同物理世界场景下的映射。4. 数据飞轮与训练工程端到端的背后底气4.1 影子模式一支不用发工资的车队FSD最让传统自动驾驶公司羡慕的资源不是算法团队人数而是它拥有一个庞大的量产车队。这些车在用户日常驾驶时如果开启了影子模式系统会在后台“偷师”人类司机在开FSD在同步运行但不接管车辆。一旦FSD的预测决策和人类司机的实际操作出现明显分歧系统就会把这一段数据自动截取并回传。这个机制让我印象很深因为它本质上就是大模型训练里的“难例挖掘”。日常驾驶数据大部分是单调重复的跟着车流走、在高速上巡航、等红灯。如果只拿这些数据去训练模型会变得平庸。影子模式的价值在于它能自动找到那些真正有挑战性的片段——司机突然紧急避让、遇到复杂路口、前车急刹——这些片段才是模型能力提升的关键。这支“数据采集车队”不用额外发工资、不用规划路线、不用维护设备每天自然产生几十万甚至上百万公里的差异化数据这是很多团队想做端到端却做不起来的核心原因。4.2 自动标注用大模型标注大模型数据传输回来之后不能直接训练得先做标注。如果靠人工标注一段视频里每一帧的车道线、障碍物、红绿灯状态成本和时间都是灾难。特斯拉走的路线是4D自动标注利用车辆多次经过同一路段的历史视频离线重建三维场景然后在一个连续的空间里统一标注而不是一帧一帧标。整个流程有点像一个“学子”流程先用较大的离线模型完成初步标注再把标注结果混合人工抽检和修正形成高质量训练集。这其实是“教师模型-学生模型”的蒸馏思路在数据环节的应用教师模型不直接参与车载推理它只负责离线环境下慢慢打磨数据质量车载的端到端模型作为学生模型从这些高质量标注里学习。离线模型可以不计成本地跑大算力、用更大规模和更多推理时间但量产模型必须在毫秒级延迟内完成推理这个分工非常务实。4.3 场景回放库与回归测试训练数据不是越多越好关键是每一次迭代都不能让模型“退步”。FSD团队会维护一套覆盖历史困难场景的回放库包括各种类型的左转、无保护路口、雨雾天气、施工改道、罕见车辆类型等。每训练一个新版本都要在回放库里跑一遍回归测试确保模型在修复一批场景的同时没有破坏另外一批。这跟软件开发的“持续集成、持续回归”是同一个道理只是对象从“代码库”换成了“模型权重”。我在自己的项目里也会做类似的事把历史出错的案例整理成一个“坏case集”每次模型改完先跑一遍这个集合再放出去做更大范围的评测。没有这层约束大模型迭代就是盲人摸象你可能觉得新版本变聪明了但实际上它在一个偏僻场景里悄悄变笨了。4.4 算力基建数据量级决定训练上限端到端大模型对算力的渴求和语言大模型一模一样甚至更夸张。语言模型处理的是句子每个样本只有几千个tokenFSD处理的是多视角视频一个训练样本可能包含几十上百帧每帧又由8个摄像头画面拼合而成。模型不仅要理解“现在看到了什么”还要理解“过去几秒发生了什么变化”。这种时空联合建模的数据复杂度让训练集群的资源消耗成倍上涨。从公开信息看特斯拉在训练集群上的投入是持续加码的目的是支撑端到端模型不断增大、训练数据不断增多的迭代循环。算力在这个体系里就像水之于鱼没有足够的训练资源数据管线做得再好也白搭。很多团队做端到端卡住不是算法方案不行而是训练速度让我们一天只能迭代一个版本别人可能一小时就转一轮。规模上的差距最终会变成效果上的代差。5. 安全与评价体系端到端不能是失控的黑盒5.1 确定性安全规则还会保留FSD虽然是端到端大模型主导决策但整个系统绝对不是“完全没有一条规则”。我在前面提到模型输出的轨迹集合之后会经过安全校验层。这个实践非常重要它说明一个成熟的端到端系统懂得“大模型负责能力规则负责底线”。底线是什么是车辆动力学极限、是物理上不能穿墙过车、是最基本的碰撞避免。这些约束不适合让神经网络去“学习”因为它们太基础、太刚性一旦违反就是事故。更合理的做法是让模型在约束划定的空间里去自由决策既保留大模型的灵活性又守住安全红线。我在给一些传统行业团队做AI方案时也建议他们用这个思路把模型当“大脑”但外围的强制约束不能省。5.2 怎么评价一个端到端模型好不好端到端模型没有传统模块里“感知准确率”“车道线IoU”这类指标可以直接看评价体系必须从“行为”层面来设计。业内比较通用的是平均接管里程MPI也就是每开多少公里需要人来接管一次以及“人为干预率”“打扰率”前者是不得不接管后者是系统虽然能处理但让乘客感到不适的操作。还有一个非常有意思的做法是影子模式离线重放把新版本模型放到历史采集的驾驶数据里跑一遍故意不让它控制真实车辆而是让它“想象”如果自己当时在开会怎么样然后和真实驾驶员的操作做对比。这本质上是一种大规模A/B测试不需要冒着安全风险就能评估新模型的水平。这种评测思路其实对任何AI项目都适用——在正式上线前先找一个不影响真实业务的“影子环境”去充分验证。5.3 版本灰度与快速回滚大模型的部署不像普通软件那样“发完就完事”。FSD的做法是按车队比例灰度放量先给一小部分用户推送新版本跑一段时间看统计指标再逐步放开。如果某个版本在某类场景下指标异常需要能快速撤回而不是让所有用户都跟着冒险。这种灰度机制背后是一整套模型版本管理和监控系统。每个版本在哪个用户群、开了多少比例、表现如何都要实时可见。我踩过类似的坑早期做模型迭代时新模型在评测集上分数更高就着急全量切换结果用户反馈里出现了一批“旧版本不会错但新版本错了”的场景。从那之后我做了一个硬性习惯——再好的模型也不能全量直接上必须经过灰度观察和可回滚阶段。FSD的大规模推送方式本质上也是这个原则的严格化。6. 从FSD方案里我看到的几个可复用经验6.1 数据质量比参数尺寸更值得投入现在聊大模型很多人第一反应是“把参数做大、堆算力”。但看FSD这几年踩下来真正拉开差距的是数据体系怎么低成本采集、怎么自动标注、怎么筛选有价值样本、怎么维护回放库。参数大只是必要条件不是充分条件。再大的模型遇到乏味或错误百出的训练数据照样学不出好东西。我给做AI落地的团队一个建议如果你准备用大模型替换一个老系统先把“数据从哪来、怎么标注、怎么更新”这三件事想清楚。别等到模型训完一轮才发现数据质量参差不齐再来返工那个成本足够你重新做一次项目。数据工程不性感但它决定了你的模型天花板。6.2 别把规则系统当成一次性成本扔掉端到端模型上线了不代表系统里原有模块都可以拆掉扔进垃圾桶。FSD给我们的示范是部分手工规则被砍掉但“安全规则”“物理约束”这些层面的确定性逻辑仍然保留甚至因为模型的复杂化而变得更加重要。规则和模型并不是对立的规则兜住系统的下限模型负责拉高系统的上限。如果你听到有人喊“有了端到端所有规则都不需要了”那基本可以判断对方缺少量产经验。做工程不是做学术畅想任何大模型产品在真实环境里都免不了要配置约束规则、兜底逻辑、降级策略。这些看起来“不智能”的代码恰恰是让智能模型安全发挥价值的关键所在。6.3 端到端不是目的数据驱动的工作流才是FSD给我最大的启发不是“端到端”三个字而是它背后那个完整的工作流从影子模式采集数据到自动标注到模型训练到回放库回归到影子模式重放再到灰度推送最后又回到数据采集。这是一个闭环而且环环相扣。它的核心价值不是某一次模型的“灵光一现”而是这套机制可以持续、稳定地把数据变成更安全的驾驶行为。这种“不做一次性交付而是搭持续进化体系”的思路其实可以迁移到很多领域。我后来做项目时就刻意从“交付一个模型”转向“搭一条数据迭代流水线”早期多花了一些时间但后续每次迭代的效率都提升明显。你想学习的不是FSD的某个网络结构而是他那一整套“让模型不断变好”的工程体系。把这件事想明白了哪怕你不在自动驾驶行业这套方法论也会很有价值。最后再分享一点个人感受。梳理完这五次公开演讲我最大的感触不是端到端大模型多神奇而是整个行业的“重心”彻底变了以前凭经验和规则写代码现在靠数据、算力和评测体系来养模型。如果你也正打算用大模型去替代你手里那套老规则系统我建议你从第一天就按数据飞轮的思路去设计别把它当成买一个现成的模型而是搭一个能让模型持续进化的系统。采集、标注、训练、评测、灰度少了哪一圈这个飞轮都转不起来。
返回列表