![]()
文|三少爺
最近,特斯拉推送了FSD V14.3,盡管有不少馬斯克的小迷弟、小迷妹開始腦補(bǔ)這一版FSD有多么驚艷,但是,既然依然采用小版本號,說明FSD的改善幅度真的很有限。
不過,這一版FSD的更新說明里還是有一行字引發(fā)了特斯拉的死忠粉對其硬核實力的無盡想象:“基于MLIR框架重寫AI編譯器與運行環(huán)境,實現(xiàn)20%更快反應(yīng)速度。”于是,一種聲音開始流傳了起來:特斯拉重寫了AI編譯器。
這個“重寫”顯然與事實相差甚遠(yuǎn),特斯拉做的實際上是另一件事——這個且容我們稍后細(xì)說。但這次誤讀,像一塊無意間拋入水中的石頭,讓我們得以窺見水面之下長期涌動的暗流。原來,在自動駕駛這場硬仗里,還有一個戰(zhàn)略價值需要被重估、名為“編譯器”的隱形戰(zhàn)場。它不只是工程師后臺的工具,而是已經(jīng)成為決定算力效率、乃至系統(tǒng)能力上限的關(guān)鍵變量。
編譯器,算力效率的隱形裁判
談?wù)撟詣玉{駛系統(tǒng)的性能時,我們總是習(xí)慣性地仰望芯片的TOPS數(shù)字,或是算法模型的參數(shù)量級,但還有一環(huán),常被忽略在聚光燈外,那就是編譯器。
本土頭號自動駕駛芯片廠商地平線曾經(jīng)總結(jié)過決定算力效率的三大要素:芯片架構(gòu)、算法、編譯器,其中,芯片架構(gòu)是硬件地基,算法設(shè)計是軟件藍(lán)圖,編譯器則是連接兩者的翻譯官與調(diào)度師。特斯拉使用的MLIR便是編譯器中的關(guān)鍵一環(huán),為的就是通過更準(zhǔn)確的翻譯和更精細(xì)的調(diào)度,將其AI 4芯片的算力發(fā)揮得更加淋漓盡致一點。
![]()
圖片來源:地平線
為什么說編譯器這個翻譯官很關(guān)鍵呢?
想象一下,芯片是一個分工明確、各懷絕技的天才工匠團(tuán),團(tuán)里面有擅長矩陣計算的、精于向量處理的、專攻高速緩存等各項任務(wù)的大師,算法是一份意圖宏大、結(jié)構(gòu)精妙的建筑圖紙。如果兩者之間只有一個笨拙的翻譯,看不懂圖紙的精妙之處,也無法利用工匠團(tuán)的獨門絕技,那么,再豪華的工匠團(tuán),再精妙的藍(lán)圖,也會因為糟糕的協(xié)同調(diào)度而功虧一簣。
編譯器,正是這個決定最終成敗的翻譯官和調(diào)度師。他既要吃透圖紙里面的結(jié)構(gòu)意圖(算法邏輯),也得洞悉每一位工匠的特長與工作節(jié)奏(硬件微架構(gòu)),然后將宏大的設(shè)計分解、調(diào)度、翻譯成一系列能讓最合適的工匠在最佳時機(jī)、以最高效率執(zhí)行的工序。是它,決定了算法意圖能被硬件執(zhí)行器理解并實現(xiàn)多少,是它,決定著系統(tǒng)的軟硬協(xié)同效率。
那么,編譯器這個翻譯官如何工作的?簡單來講,它要做多次轉(zhuǎn)換,每一次轉(zhuǎn)換都是語義層次的Lowering,每一次轉(zhuǎn)換的中間結(jié)果都是IR(Intermediate Representation)中間表示。在傳統(tǒng)的LLVM編譯器框架下,它先將AI算法轉(zhuǎn)換成計算圖,再轉(zhuǎn)換為統(tǒng)一的中間表示LLVM IR,最后生成機(jī)器碼。這種方式的問題在于Lowering的過程比較粗放,等到最后生成機(jī)器碼的階段,編譯器才看到硬件的細(xì)節(jié),這樣一來,就無法再利用AI芯片那些寶貴的專用計算單元、復(fù)雜的內(nèi)存層次、獨特的流水線設(shè)計了。其結(jié)果便是,芯片紙面算力耀眼,實際利用率卻可能慘淡,大量晶體管在功耗的消耗中徒然空轉(zhuǎn)。
![]()
圖片來源:LLVM
MLIR的出現(xiàn),正是為了打破這種粗放的。它基于LLVM框架進(jìn)行了改進(jìn),引入了MLIR(Multi-Level Intermediate Representation)多級中間表示,允許在從高級算法描述到底層機(jī)器碼的漫長Lowering鏈條上,通過多級“方言”,更早地利用芯片的硬件特性。你可以把“方言”理解為給硬件特性頒發(fā)的“官方語言證書”。芯片廠商可以用MLIR定義一套專屬方言,來聲明自家硬件的獨門絕技。比如,我有一種擅長做矩陣乘加的特殊計算單元,它的名字叫Tensor Core;我的內(nèi)存分為全局、共享、寄存器三層,數(shù)據(jù)應(yīng)該這么流動。這套方言,在編譯的早期、高層階段就介入,讓編譯器從一開始就摸清了硬件的脾性,從而做出全局最優(yōu)的調(diào)度,而非在最后關(guān)頭才手忙腳亂地適配。
這樣,我們便能理解特斯拉在FSD V14.3中究竟做了什么了。它并非從零重寫了一個編譯器,而是做了一次關(guān)鍵的生態(tài)接入與硬件定義:特斯拉加入MLIR主流生態(tài),并為自家的AI 4/AI 5芯片定義了一套專屬的硬件方言。在這之前,F(xiàn)SD芯片的強(qiáng)大特性,可能需要通過后期復(fù)雜的指令調(diào)度才能部分發(fā)揮。現(xiàn)在,通過MLIR方言,這些特性被提前、結(jié)構(gòu)化地暴露給編譯流程。編譯器能更早、更智能地規(guī)劃計算與數(shù)據(jù)流,將任務(wù)精準(zhǔn)分配給最合適的硬件單元。那20%的反應(yīng)速度提升,正是“翻譯官”拿到了更精準(zhǔn)的“方言詞典”后,指揮“天才工匠團(tuán)”更高效工作的自然結(jié)果。這不是重起爐灶,而是在既有的精密體系中,插入了一把更契合的鑰匙。
特斯拉走的這條“芯片層擁抱MLIR”的路,并非孤例。在大洋彼岸,中國的頭部玩家們,早已在編譯器這片深水區(qū),布下了各自的棋子。路徑或有不同,但它們對編譯器戰(zhàn)略價值的認(rèn)知早就同頻共振了。
國內(nèi)戰(zhàn)事:編譯器深水區(qū)的中國棋路
當(dāng)特斯拉通過MLIR方言釋放硬件潛力時,國內(nèi)的先行者同樣構(gòu)建了復(fù)雜的編譯器戰(zhàn)略。這不是簡單的工具優(yōu)化,而是從芯片架構(gòu)原點出發(fā),倒逼編譯器革新,進(jìn)而重塑軟硬協(xié)同范式的系統(tǒng)工程。
既然針尖對麥芒,那就先派頭號種子選手華為上場。華為的路徑,與特斯拉在邏輯上同構(gòu),但體系更為厚重。華為為昇騰AI處理器打造的畢昇編譯器,其地位如同特斯拉的自研編譯棧。跟特斯拉的秘而不宣不一樣的是,華為公開表示為昇騰定義了基于MLIR的硬件方言層-AscendNPU IR。這套方言詳細(xì)描述了昇騰“達(dá)芬奇架構(gòu)”中計算立方、內(nèi)存層級等獨特設(shè)計。于是,在編譯高層,優(yōu)化器就能看到“哦,這里有個矩陣乘,昇騰的3D Cube算它最快”,從而提前做好數(shù)據(jù)搬運和計算映射。華為通過畢昇編譯器與AscendNPU IR,實現(xiàn)了與特斯拉相似的目標(biāo):讓硬件特性在編譯前端就成為一等公民,而非后端的補(bǔ)救措施。這套組合拳,確保了昇騰芯片的理論算力,能通過軟件棧被充分榨取,形成從芯片、方言到框架的閉環(huán)。
![]()
圖片來源:華為
如果說華為和特斯拉代表了“為專用芯片定義方言”的范式,那么理想汽車則選擇了一條更顛覆性的架構(gòu)之路。理想的馬赫M100芯片,核心并非傳統(tǒng)的CPU/GPU,而是采用了“數(shù)據(jù)流架構(gòu)”,這就對編譯器提出了更為苛刻的要求。
傳統(tǒng)的馮·諾依曼架構(gòu)像是一個中央指揮所,指令一條接一條下達(dá),計算單元被動執(zhí)行。數(shù)據(jù)流架構(gòu)則顛覆了這一點,它沒有集中的指令控制器,計算單元像流水線上的工作站,數(shù)據(jù)包(令牌)流到哪個工作站,哪個工作站就自動激活干活。多個工作站可以同時忙碌,理論上效率和能效極高。
![]()
圖片來源:華為
但是,這種美妙架構(gòu)的實現(xiàn),極度依賴編譯器的“先知”能力。編譯器必須在軟件編譯期,就靜態(tài)地、精確地規(guī)劃好所有數(shù)據(jù)包的流動路徑、每個計算單元的工作時序與依賴關(guān)系。任何一處規(guī)劃失誤,都會導(dǎo)致數(shù)據(jù)包堵塞、計算單元空轉(zhuǎn),效率反而暴跌。這要求編譯器不再是指令翻譯官,而必須是整個計算工廠的總規(guī)劃師。理想的編譯器團(tuán)隊,需要深入芯片架構(gòu)的毛細(xì)血管,其工作深度與難度,遠(yuǎn)非適配一款現(xiàn)成GPU可比。數(shù)據(jù)流架構(gòu)的潛力有多大,對編譯器的挑戰(zhàn)就有多高。鑒于馬赫M100芯片的具體表現(xiàn)現(xiàn)在還猶抱琵琶半遮面,理想在編譯器上的努力且待以后再談。
與理想從硬件源頭創(chuàng)新不同,小鵬汽車在編譯器上的努力,更直觀地體現(xiàn)在“效率倍增”的驚人結(jié)果上。在其第二代VLA模型上,小鵬通過算法與編譯器的協(xié)同優(yōu)化,實現(xiàn)了12倍的端到端效率提升。
![]()
圖片來源:小鵬汽車
這12倍并非來自硬件換代,而是軟硬協(xié)同的“神之一手”。它源于兩方面:一是算法層面的“瘦身”,如通過類似“視覺Token剪枝”的技術(shù),讓模型聚焦關(guān)鍵信息,減少冗余計算;二是編譯器層面的“精調(diào)”,讓精簡后的算法,能以最貼合硬件執(zhí)行單元的方式運行。好比同一支交響樂團(tuán),樂器樂手不變,但指揮重新編排了樂譜,優(yōu)化了每聲部的起承轉(zhuǎn)合,最終奏出了煥然一新的磅礴樂章。對于車端推理,12倍效率意味著同等算力下能運行更復(fù)雜的模型,或是以更低功耗達(dá)成同等性能,直接關(guān)乎用戶體驗與系統(tǒng)邊界。
![]()
圖片來源:地平線
華為定義方言,理想駕馭架構(gòu),小鵬優(yōu)化調(diào)度。這三條路徑,映照出同一個共識:在算力軍備競賽之外,一場關(guān)于“算力轉(zhuǎn)化效率”的靜默戰(zhàn)爭已經(jīng)打響。而編譯器,是這場戰(zhàn)爭中最具杠桿效應(yīng)的兵工廠。
特斯拉的這次版本更新,像一道閃電,短暫照亮了編譯器這片長期處于技術(shù)深水區(qū)的戰(zhàn)場。讓我們看清,自動駕駛系統(tǒng)的終極競爭,正從堆砌算力的物理維度,快速演進(jìn)到榨取效率的系統(tǒng)工程維度。芯片的TOPS數(shù)字是門票,但進(jìn)門后的表現(xiàn),取決于編譯器這位總規(guī)劃師與翻譯官的功力。它決定了天才的硬件設(shè)計,能否被算法充分驅(qū)動,也決定了精巧的算法創(chuàng)新,能否在硅片上落地生根。
特斯拉和華為的閉環(huán)、理想的顛覆、小鵬的倍增,無不說明這場競爭已悄然深入骨髓。未來,衡量一家公司自動駕駛實力的,或許將不僅是它有多少輛車在跑、用了多少TOPS的芯片,更是它能否回答這樣一個問題:你每一分錢的硬件成本,究竟通過編譯器,轉(zhuǎn)化成了多少可用、可靠、可進(jìn)化的智能?編譯器之戰(zhàn),剛剛顯形,但這個問題的答案,將決定誰能在下一個賽段中走向臺前!
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
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.