![]()
文|三少爷
最近,特斯拉推送了FSD V14.3,尽管有不少马斯克的小迷弟、小迷妹开始脑补这一版FSD有多么惊艳,但是,既然依然采用小版本号,说明FSD的改善幅度真的很有限。
不过,这一版FSD的更新说明里还是有一行字引发了特斯拉的死忠粉对其硬核实力的无尽想象:“基于MLIR框架重写AI编译器与运行环境,实现20%更快反应速度。”于是,一种声音开始流传了起来:特斯拉重写了AI编译器。
这个“重写”显然与事实相差甚远,特斯拉做的实际上是另一件事——这个且容我们稍后细说。但这次误读,像一块无意间抛入水中的石头,让我们得以窥见水面之下长期涌动的暗流。原来,在自动驾驶这场硬仗里,还有一个战略价值需要被重估、名为“编译器”的隐形战场。它不只是工程师后台的工具,而是已经成为决定算力效率、乃至系统能力上限的关键变量。
编译器,算力效率的隐形裁判
谈论自动驾驶系统的性能时,我们总是习惯性地仰望芯片的TOPS数字,或是算法模型的参数量级,但还有一环,常被忽略在聚光灯外,那就是编译器。
本土头号自动驾驶芯片厂商地平线曾经总结过决定算力效率的三大要素:芯片架构、算法、编译器,其中,芯片架构是硬件地基,算法设计是软件蓝图,编译器则是连接两者的翻译官与调度师。特斯拉使用的MLIR便是编译器中的关键一环,为的就是通过更准确的翻译和更精细的调度,将其AI 4芯片的算力发挥得更加淋漓尽致一点。
![]()
图片来源:地平线
为什么说编译器这个翻译官很关键呢?
想象一下,芯片是一个分工明确、各怀绝技的天才工匠团,团里面有擅长矩阵计算的、精于向量处理的、专攻高速缓存等各项任务的大师,算法是一份意图宏大、结构精妙的建筑图纸。如果两者之间只有一个笨拙的翻译,看不懂图纸的精妙之处,也无法利用工匠团的独门绝技,那么,再豪华的工匠团,再精妙的蓝图,也会因为糟糕的协同调度而功亏一篑。
编译器,正是这个决定最终成败的翻译官和调度师。他既要吃透图纸里面的结构意图(算法逻辑),也得洞悉每一位工匠的特长与工作节奏(硬件微架构),然后将宏大的设计分解、调度、翻译成一系列能让最合适的工匠在最佳时机、以最高效率执行的工序。是它,决定了算法意图能被硬件执行器理解并实现多少,是它,决定着系统的软硬协同效率。
那么,编译器这个翻译官如何工作的?简单来讲,它要做多次转换,每一次转换都是语义层次的Lowering,每一次转换的中间结果都是IR(Intermediate Representation)中间表示。在传统的LLVM编译器框架下,它先将AI算法转换成计算图,再转换为统一的中间表示LLVM IR,最后生成机器码。这种方式的问题在于Lowering的过程比较粗放,等到最后生成机器码的阶段,编译器才看到硬件的细节,这样一来,就无法再利用AI芯片那些宝贵的专用计算单元、复杂的内存层次、独特的流水线设计了。其结果便是,芯片纸面算力耀眼,实际利用率却可能惨淡,大量晶体管在功耗的消耗中徒然空转。
![]()
图片来源:LLVM
MLIR的出现,正是为了打破这种粗放的。它基于LLVM框架进行了改进,引入了MLIR(Multi-Level Intermediate Representation)多级中间表示,允许在从高级算法描述到底层机器码的漫长Lowering链条上,通过多级“方言”,更早地利用芯片的硬件特性。你可以把“方言”理解为给硬件特性颁发的“官方语言证书”。芯片厂商可以用MLIR定义一套专属方言,来声明自家硬件的独门绝技。比如,我有一种擅长做矩阵乘加的特殊计算单元,它的名字叫Tensor Core;我的内存分为全局、共享、寄存器三层,数据应该这么流动。这套方言,在编译的早期、高层阶段就介入,让编译器从一开始就摸清了硬件的脾性,从而做出全局最优的调度,而非在最后关头才手忙脚乱地适配。
这样,我们便能理解特斯拉在FSD V14.3中究竟做了什么了。它并非从零重写了一个编译器,而是做了一次关键的生态接入与硬件定义:特斯拉加入MLIR主流生态,并为自家的AI 4/AI 5芯片定义了一套专属的硬件方言。在这之前,FSD芯片的强大特性,可能需要通过后期复杂的指令调度才能部分发挥。现在,通过MLIR方言,这些特性被提前、结构化地暴露给编译流程。编译器能更早、更智能地规划计算与数据流,将任务精准分配给最合适的硬件单元。那20%的反应速度提升,正是“翻译官”拿到了更精准的“方言词典”后,指挥“天才工匠团”更高效工作的自然结果。这不是重起炉灶,而是在既有的精密体系中,插入了一把更契合的钥匙。
特斯拉走的这条“芯片层拥抱MLIR”的路,并非孤例。在大洋彼岸,中国的头部玩家们,早已在编译器这片深水区,布下了各自的棋子。路径或有不同,但它们对编译器战略价值的认知早就同频共振了。
国内战事:编译器深水区的中国棋路
当特斯拉通过MLIR方言释放硬件潜力时,国内的先行者同样构建了复杂的编译器战略。这不是简单的工具优化,而是从芯片架构原点出发,倒逼编译器革新,进而重塑软硬协同范式的系统工程。
既然针尖对麦芒,那就先派头号种子选手华为上场。华为的路径,与特斯拉在逻辑上同构,但体系更为厚重。华为为昇腾AI处理器打造的毕昇编译器,其地位如同特斯拉的自研编译栈。跟特斯拉的秘而不宣不一样的是,华为公开表示为昇腾定义了基于MLIR的硬件方言层-AscendNPU IR。这套方言详细描述了昇腾“达芬奇架构”中计算立方、内存层级等独特设计。于是,在编译高层,优化器就能看到“哦,这里有个矩阵乘,昇腾的3D Cube算它最快”,从而提前做好数据搬运和计算映射。华为通过毕昇编译器与AscendNPU IR,实现了与特斯拉相似的目标:让硬件特性在编译前端就成为一等公民,而非后端的补救措施。这套组合拳,确保了昇腾芯片的理论算力,能通过软件栈被充分榨取,形成从芯片、方言到框架的闭环。
![]()
图片来源:华为
如果说华为和特斯拉代表了“为专用芯片定义方言”的范式,那么理想汽车则选择了一条更颠覆性的架构之路。理想的马赫M100芯片,核心并非传统的CPU/GPU,而是采用了“数据流架构”,这就对编译器提出了更为苛刻的要求。
传统的冯·诺依曼架构像是一个中央指挥所,指令一条接一条下达,计算单元被动执行。数据流架构则颠覆了这一点,它没有集中的指令控制器,计算单元像流水线上的工作站,数据包(令牌)流到哪个工作站,哪个工作站就自动激活干活。多个工作站可以同时忙碌,理论上效率和能效极高。
![]()
图片来源:华为
但是,这种美妙架构的实现,极度依赖编译器的“先知”能力。编译器必须在软件编译期,就静态地、精确地规划好所有数据包的流动路径、每个计算单元的工作时序与依赖关系。任何一处规划失误,都会导致数据包堵塞、计算单元空转,效率反而暴跌。这要求编译器不再是指令翻译官,而必须是整个计算工厂的总规划师。理想的编译器团队,需要深入芯片架构的毛细血管,其工作深度与难度,远非适配一款现成GPU可比。数据流架构的潜力有多大,对编译器的挑战就有多高。鉴于马赫M100芯片的具体表现现在还犹抱琵琶半遮面,理想在编译器上的努力且待以后再谈。
与理想从硬件源头创新不同,小鹏汽车在编译器上的努力,更直观地体现在“效率倍增”的惊人结果上。在其第二代VLA模型上,小鹏通过算法与编译器的协同优化,实现了12倍的端到端效率提升。
![]()
图片来源:小鹏汽车
这12倍并非来自硬件换代,而是软硬协同的“神之一手”。它源于两方面:一是算法层面的“瘦身”,如通过类似“视觉Token剪枝”的技术,让模型聚焦关键信息,减少冗余计算;二是编译器层面的“精调”,让精简后的算法,能以最贴合硬件执行单元的方式运行。好比同一支交响乐团,乐器乐手不变,但指挥重新编排了乐谱,优化了每声部的起承转合,最终奏出了焕然一新的磅礴乐章。对于车端推理,12倍效率意味着同等算力下能运行更复杂的模型,或是以更低功耗达成同等性能,直接关乎用户体验与系统边界。
![]()
图片来源:地平线
华为定义方言,理想驾驭架构,小鹏优化调度。这三条路径,映照出同一个共识:在算力军备竞赛之外,一场关于“算力转化效率”的静默战争已经打响。而编译器,是这场战争中最具杠杆效应的兵工厂。
特斯拉的这次版本更新,像一道闪电,短暂照亮了编译器这片长期处于技术深水区的战场。让我们看清,自动驾驶系统的终极竞争,正从堆砌算力的物理维度,快速演进到榨取效率的系统工程维度。芯片的TOPS数字是门票,但进门后的表现,取决于编译器这位总规划师与翻译官的功力。它决定了天才的硬件设计,能否被算法充分驱动,也决定了精巧的算法创新,能否在硅片上落地生根。
特斯拉和华为的闭环、理想的颠覆、小鹏的倍增,无不说明这场竞争已悄然深入骨髓。未来,衡量一家公司自动驾驶实力的,或许将不仅是它有多少辆车在跑、用了多少TOPS的芯片,更是它能否回答这样一个问题:你每一分钱的硬件成本,究竟通过编译器,转化成了多少可用、可靠、可进化的智能?编译器之战,刚刚显形,但这个问题的答案,将决定谁能在下一个赛段中走向台前!
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.