都是2023年。
3月22日,英偉達(dá)宣布比亞迪將投產(chǎn)搭載DRIVE Orin計算平臺的汽車。
一個月后,地平線宣布,第三代產(chǎn)品征程5芯片首個定點(diǎn)合作,花落比亞迪。
兩項合作的上車時間,都是2023年。
比亞迪并不是唯一一個同時部署英偉達(dá)和地平線的車企。理想在其爆款2021理想ONE上搭載了征程3以實(shí)現(xiàn)高速領(lǐng)航駕駛輔助能力,而在最新的理想L9上則將使用英偉達(dá)Orin。目前,地平線芯片的定點(diǎn)企業(yè)達(dá)到60家,基本可以肯定,其中也有英偉達(dá)的客戶。
有評論認(rèn)為,這是因?yàn)榈仄骄€是國內(nèi)鮮有通過了車規(guī)級的大算力AI芯片,而且更加便宜,所以車企選擇其作為英偉達(dá)Orin的“平價替代”和供應(yīng)鏈安全B選項。
這一說法并非全無道理。
但2015年地平線成立時,英偉達(dá)的芯片已經(jīng)開始準(zhǔn)備上車特斯拉。短短6年多時間里,一個中國創(chuàng)業(yè)公司如何能夠與AI芯片王者進(jìn)入同一份采購清單?
更重要的是,在更遠(yuǎn)的未來,地平線將只是英偉達(dá)的“平替”,還是將一路追趕,成為其在汽車AI芯片領(lǐng)域真正的對手?
本文為大家奉上地平線和英偉達(dá)全方位的對比,幫助您做出判斷。
01
邏輯:阿爾法狗會開車嗎?
如果說起廣為人知的人工智能(AI),阿爾法狗肯定算一號。
2016年,谷歌圍棋人工智能“阿爾法狗”(AlphaGo Lee)以4:1的成績,戰(zhàn)勝世界冠軍數(shù)量排名第二的韓國棋手李世石。
圍棋的特性決定了其不適用窮舉法,相比算力更考驗(yàn)棋手的“腦力”,因此這場“人機(jī)大戰(zhàn)”成為人工智能史上一座里程碑:AI在某些領(lǐng)域能比人類更“聰明”。
但圍棋翹楚AlphaGo Lee能開車嗎?
答案恐怕是否定的。定位為圍棋人工智能的阿爾法狗以進(jìn)行推理任務(wù)的決策算法為主,其所采用的神經(jīng)網(wǎng)絡(luò)類型也許并不能勝任視覺感知的任務(wù);
為進(jìn)行比賽,阿爾法狗所需算力高達(dá)約4416TOPS功耗高達(dá)10000W(DeepMind論文),100度電量的車也只能支撐10小時(紋絲不動),更別說帶著衣柜大小的服務(wù)器;
更重要的是,在比賽中,阿爾法狗擁有共計兩個小時+180秒的“思考”時間,而汽車一秒多想的時間都沒有。
不能開車的阿爾法狗顯示出了人工智能/神經(jīng)網(wǎng)絡(luò)在實(shí)際應(yīng)用中的苛刻要求:相比于人類智能的高通用性,人工智能在功能實(shí)現(xiàn)上,與應(yīng)用場景、AI算法模型、部署硬件情況息息相關(guān)。
正是這種高度相關(guān)性為地平線追趕英偉達(dá)提供了邏輯基礎(chǔ)。
1.1站在云端的英偉達(dá)
英偉達(dá)是第一個為AI創(chuàng)造出合適物理“大腦”的公司。
創(chuàng)立于1993年的英偉達(dá)在1999年發(fā)明了GPU(圖形處理器)。相比于CPU,GPU從架構(gòu)上算子的數(shù)量要遠(yuǎn)遠(yuǎn)多于Cache(緩存)和Control(控制器),由此導(dǎo)致其只適用于計算密集與數(shù)據(jù)并行的運(yùn)算程序。
所謂計算密集指:數(shù)值計算的比例要遠(yuǎn)大于內(nèi)存操作,因此內(nèi)存訪問的延時可以被計算掩蓋,對緩存的需求較低;
數(shù)據(jù)并行則是說:大任務(wù)可以拆解為執(zhí)行相同指令的小任務(wù),因此對復(fù)雜流程控制的需求較低。
AI機(jī)器學(xué)習(xí)正是這樣的“運(yùn)算程序”:將一個復(fù)雜問題拆解為眾多的簡單問題,一次性輸入海量用于計算的參數(shù)。對簡單問題解決的順序性要求不高,最后輸出整體結(jié)果即可。
而且對存儲和控制空間需求小,導(dǎo)致GPU更容易增加算子,以此增加算力,并在此后成為“大算力”的領(lǐng)軍企業(yè)。
但要高效運(yùn)行GPU的代碼極度困難,程序員需要把相關(guān)運(yùn)算“黑進(jìn)”圖形API(應(yīng)用程序編程接口),讓顯卡以為是在進(jìn)行圖像渲染計算,編程難度極高。
直到2006年英偉達(dá)發(fā)布了CUDA?通用并行計算架構(gòu),實(shí)現(xiàn)了軟硬解耦。開發(fā)者不必再使用高難度的GPU專用開發(fā)語言,而能使用通用性的編程語言調(diào)用GPU算力。
至此,GPU“破圖而出”,成為通用并行數(shù)據(jù)處理超級加速器。英偉達(dá)也由此站上了C位,成為AI時代的加速器。
一方面,搭載英偉達(dá) GPU 硬件的工作站、服務(wù)器和云通過CUDA軟件系統(tǒng)以及開發(fā)的CUDA-XAI 庫,為AI領(lǐng)域的機(jī)器學(xué)習(xí)、深度學(xué)習(xí)所需的訓(xùn)練和推理提供軟件工具鏈,來服務(wù)眾多的框架、云服務(wù)等等,推動了 AI 領(lǐng)域的迅速發(fā)展。
另一方面,英偉達(dá)從此前單純的芯片制造商,向人工智能平臺公司發(fā)展,逐步將業(yè)務(wù)拓展到云端的AI加速、HPC(高性能計算機(jī)群)高性能計算、AR/VR(增強(qiáng)/虛擬現(xiàn)實(shí)技術(shù))等領(lǐng)域。
英偉達(dá)CEO黃仁勛也在CUDA生態(tài)積累14年后放言:“ 英偉達(dá)不是游戲公司,它將推動下一個人工智能大爆炸”。
但至少目前,從業(yè)務(wù)結(jié)構(gòu)上英偉達(dá)還是一個中心化的云端數(shù)據(jù)中心和游戲公司。
5月26日,英偉達(dá)發(fā)布2023財年Q1財報(截至2022年3月),實(shí)現(xiàn)營收82.9億美元,同比增長46%。其中,由超大規(guī)模計算、云端和AI業(yè)務(wù)推動的數(shù)據(jù)中心業(yè)務(wù)占比45.23%;顯卡支撐的游戲業(yè)務(wù)占比43.67%。
以云端數(shù)據(jù)中心業(yè)務(wù)為核心,英偉達(dá)的核心技術(shù)需要服務(wù)這一場景。
但云端(服務(wù)器、數(shù)字中心)和端側(cè)(手機(jī)、智能汽車等移動端)場景中, AI芯片的運(yùn)算方式有著本質(zhì)性的差別。
· 首先,云端處理大批量一次性到達(dá)的累積數(shù)據(jù)(擴(kuò)大批處理量,batch size),車端芯片則需要處理流數(shù)據(jù),隨著行駛(時間)陸續(xù)到來的數(shù)據(jù);
· 第二,云端處理可以“等”數(shù)據(jù)“夠了”再開始處理,車端則需要實(shí)時完成計算,盡可能得降低延遲,更勿論幾秒鐘的“等待”;
· 第三:在云端,任務(wù)本身是限定在虛擬世界,無需考慮與現(xiàn)實(shí)世界的交互。在車端則身處現(xiàn)實(shí)世界,每一個任務(wù)都需要考慮交互性。
· 此外,功耗和成本在車端AI芯片的考量中也占據(jù)更重的分量。
可見,云端AI芯片更側(cè)重于數(shù)據(jù)吞吐量和支持多種AI任務(wù)的要求,車端的AI芯片則須保證很高的計算能效和實(shí)時性要求,能夠?qū)崿F(xiàn)端側(cè)推斷,以及低功耗、低延遲甚至低成本的要求。
但目前,英偉達(dá)端側(cè)芯片的核心GPU架構(gòu)仍是云端架構(gòu)。
Orin誕生于Ampere(安培) 架構(gòu),其正是一季度推動英偉達(dá)數(shù)據(jù)中心業(yè)務(wù)增長近9成的主力產(chǎn)品架構(gòu)。換而言之,面向高級別自動駕駛場景的Orin,其中的核心計算模塊技術(shù)對標(biāo)的是云端數(shù)據(jù)中心場景。
英偉達(dá)的這一選擇無可厚非。架構(gòu)是芯片企業(yè)最底層的核心技術(shù),迭代成本巨大,也是為了產(chǎn)出更賺錢的產(chǎn)品。雖然汽車業(yè)務(wù)已成為英偉達(dá)圖形技術(shù)大會上的重要一節(jié),但其創(chuàng)造的營收目前仍是微不足道——占比2.1%(2022財年)。
1.2站在“端側(cè)”的地平線
而地平線目前的核心業(yè)務(wù)只有端側(cè)的汽車。
地平線的完整名為“地平線機(jī)器人”,其創(chuàng)立設(shè)定的場景便是機(jī)器人這樣需要實(shí)時完成計算的端側(cè)場景,其產(chǎn)品所有的軟硬件架構(gòu)都為端側(cè)的特殊需求設(shè)計。
但“機(jī)器人”此前更多存在于科幻電影當(dāng)中,直到自動駕駛使汽車成為機(jī)器人在現(xiàn)實(shí)世界中的第一個爆發(fā)點(diǎn)。
“單一”的業(yè)務(wù)結(jié)構(gòu)使地平線的技術(shù)能夠聚焦在“一種”需求上,而汽車智能化需求的爆發(fā)則為從智能/自動駕駛場景出發(fā),收斂AI任務(wù)范圍,打造更貴、更具針對性的專用型芯片提供了規(guī)模化基礎(chǔ),使其商業(yè)模型能夠成立,從而吸引投資人和專業(yè)“選手”進(jìn)場。
“GPU這樣的通用芯片對于開發(fā)者非常友好,但不是商業(yè)化競爭的最優(yōu)解,” 一位芯片行業(yè)專家向《電動汽車觀察家》表示:“地平線采用面向特定場景的軟硬結(jié)合方法論來設(shè)計芯片,也就是DSA(Domain Specific Architecture 特定領(lǐng)域架構(gòu))的芯片,極大提升了芯片的有效算力。”
軟硬解耦,將圖形處理的專用芯片GPU變?yōu)檫m用于大規(guī)模并行計算的通用型芯片,使英偉達(dá)站上AI時代的C位。
而地平線追趕英偉達(dá)的第一步,是軟硬結(jié)合。
地平線在公眾亮相中多次強(qiáng)調(diào)軟硬結(jié)合方法論核心——以終為始:
· 永遠(yuǎn)從系統(tǒng)的視角評價其中每個模塊(從AI模型、工具鏈、開發(fā)工具的全體系出發(fā),看待芯片上每個細(xì)微空間的排布邏輯和利用效率);
· 永遠(yuǎn)用未來的預(yù)測來指導(dǎo)當(dāng)下每個選擇(針對自動駕駛AI未來算法演進(jìn)趨勢,指導(dǎo)當(dāng)下的技術(shù)研發(fā)方向和取舍關(guān)系)。
地平線芯片開發(fā)過程中的一個環(huán)節(jié)可以從一個側(cè)面展示軟硬結(jié)合的方法到底如何落地。
地平線有一個AI模型性能分析工具。首先將選取包含了豐富的、代表未來演進(jìn)趨勢的算法模型作為Testing Benchmark(測試基準(zhǔn))。將其在地平線BPU架構(gòu)的建模工具上進(jìn)行運(yùn)行,測試這架構(gòu)對算法模型的運(yùn)算性能如何,并基于這一測試基準(zhǔn),探索軟件層面的編譯器、模型量化工具、訓(xùn)練工具應(yīng)該怎么做。
由于芯片從設(shè)計到最終應(yīng)用有著二到三年的”時差“,這樣的工作流程幫助地平線以軟性的算法趨勢指導(dǎo)硬件架構(gòu)設(shè)計,提前“適應(yīng)“未來。
“像地平線已經(jīng)達(dá)到百萬芯片出貨量的征程二代和征程三代芯片里就有比較多的設(shè)計,在2016年、2017年時已經(jīng)考慮到了相關(guān)一些算法的演進(jìn)趨勢。“地平線高級研發(fā)總監(jiān)凌坤表示。
02
征程5對標(biāo)英偉達(dá)車端芯片性能情況
邏輯是一回事,技術(shù)實(shí)現(xiàn)往往是另一回事。地平線能夠拿到英偉達(dá)的客戶根本上還要看數(shù)據(jù)。
單片英偉達(dá)Orin和征程5的算力分別為256TOPS(每秒萬億次計算)和128TOPS,功率為55W和30W,功耗比分別為4.6TOPS/W和4.2TOPS/W。
但如果以自動駕駛AI在兩個平臺上每秒圖像幀率FPS進(jìn)行對比測試時,Orin為1001FPS,只有一半算力的征程5則實(shí)現(xiàn)了1283FPS(Orin數(shù)據(jù)為地平線基于同安培架構(gòu)的英偉達(dá)RTX3090進(jìn)行調(diào)整后測算得出)。“能效上來看,我們(征程5相比Orin)有6倍多的提升?!钡仄骄€BPU算法負(fù)責(zé)人羅恒表示。
在智能/自動駕駛場景,視覺仍是目前最核心的感知路線,也是智能/自動駕駛AI面臨的核心任務(wù):“我看到的是什么”。因此,對于自動駕駛所有應(yīng)用的計算平臺來說,F(xiàn)PS被認(rèn)為是衡量先進(jìn)算法在計算平臺上運(yùn)行效率的評價標(biāo)準(zhǔn)之一。
2017年發(fā)布自研的FSD芯片時,特斯拉創(chuàng)始人馬斯克便以此前應(yīng)用的英偉達(dá)Drive PX2作比,從算力來看FSD是Drive PX2的3倍,但在執(zhí)行自動駕駛?cè)蝿?wù)時,其FPS是后者的21倍。
GPU的看家本領(lǐng)便是圖像識別。為何GPU發(fā)明者英偉達(dá)的Orin會在測試中表現(xiàn)不及算力只有一半的地平線征程5?部分核心原因在于安培(Ampere)架構(gòu)和貝葉斯(Bayes)架構(gòu)設(shè)計出發(fā)點(diǎn)的差異。
從物理世界來看,芯片架構(gòu)就是在方寸之間(目前主流車規(guī)級量產(chǎn)芯片尺寸40nm-5nm)做文章:如何在有限的空間內(nèi)排布算子、存儲器以及之間的通信線路,不同的計算需求將導(dǎo)致不同的陣列方式。
2.1學(xué)霸英偉達(dá)
數(shù)據(jù)中心場景主要包括高性能計算(HCP)和深度學(xué)習(xí),以此出發(fā)的芯片架構(gòu)要能夠支持各類AI模型任務(wù),在限定時間內(nèi)吞吐恒河沙數(shù)般的數(shù)據(jù)量。如同被開了金手指的學(xué)霸,文史哲數(shù)理化通吃,一天能做三萬張卷子。
英偉達(dá)從帕斯卡到安培架構(gòu)都以高拓展性為核心目標(biāo):
· 支持盡可能多種類的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)以保證算法的正確率和泛化能力;
· 支持能夠識別廣大數(shù)字范圍的浮點(diǎn)運(yùn)算,以保證巨大的數(shù)據(jù)吞吐量;
· 支持陣列式結(jié)構(gòu)以能夠連接更多的處理單元,以進(jìn)一步加大可計算的數(shù)據(jù)規(guī)模。
落地到硬件技術(shù)上,Tensor core(張量核)和cuda core(下稱CUDA核)并行,以及從INT1到FP64的數(shù)據(jù)精度范圍等一系列革新技術(shù),都以支持上述目標(biāo)為目的。
2017年,英偉達(dá)Volta架構(gòu)亮相,其以深度學(xué)習(xí)為核心的標(biāo)志便是推出了與CUDA核)并行的張量核)。
張量(Tensor)是一個數(shù)學(xué)概念,指多維數(shù)組,有0-5維,被看作是現(xiàn)代機(jī)器學(xué)習(xí)的基礎(chǔ),是數(shù)據(jù)的容器。
在早期以邏輯判斷模型為主的機(jī)器學(xué)習(xí)中,學(xué)習(xí)任務(wù)簡單,學(xué)習(xí)素材可被數(shù)據(jù)化為結(jié)構(gòu)化的二維圖表。
但進(jìn)入神經(jīng)網(wǎng)絡(luò)模型的深度學(xué)習(xí)階段中,AI的任務(wù)不再是找出花束中的藍(lán)色花朵,而是找出圖片庫中的貓。教材變?yōu)榉墙Y(jié)構(gòu)化數(shù)據(jù),單一的圖像數(shù)據(jù)就需要三維張量來表示,語音和視頻的維度則更高。
配合多維張量設(shè)計的乘積累加運(yùn)算 Multiply Accumulate(MAC)計算陣列與神經(jīng)網(wǎng)絡(luò)模型的運(yùn)算模式高度匹配,成為AI芯片的核心算子類型。
谷歌2015年推出了張量處理器(Tensor Processing Unit,簡稱TPU)。2017年英偉達(dá)在完全面向深度學(xué)習(xí)的Volta架構(gòu)上增加了MAC陣列,直接命名為“張量核”。
對從事數(shù)據(jù)中心、顯卡和車端等多種業(yè)務(wù)的英偉達(dá)來說,CUDA核和張量核各有用處。
CUDA核在每個GPU時鐘中最多可以執(zhí)行1個單精度乘法累加運(yùn)算,適用于參數(shù)一致的AI模型深度學(xué)習(xí)以及高精度的高性能計算。
但對于AI模型來說,模型參數(shù)的權(quán)重各有不同,如果全部對標(biāo)當(dāng)中的高精度進(jìn)行運(yùn)算,則時間長且內(nèi)存消耗大;而如果都降維到低精度參數(shù),則輸出的結(jié)果誤差較大。
張量核就可以做到混合精度:每1個GPU時鐘執(zhí)行1個矩陣乘法累加運(yùn)算,輸入矩陣是 FB16,乘法結(jié)果和累加器是FB32矩陣。
混合精度雖然在一定程度上犧牲了訓(xùn)練的精度,但可以減少內(nèi)存的占用,以及縮短模型的訓(xùn)練時間。
在擴(kuò)充適應(yīng)多樣計算需求的算子同時,英偉達(dá)也在不斷擴(kuò)充算子所能支持的浮點(diǎn)精度。
CUDA核在最主流的FP32基礎(chǔ)上,先后增加了對FP64、INT32 的計算能力;張量核則可支持FP16、INT8/INT4/Binary、TF32、 BF16、 FP64等多種數(shù)據(jù)精度的支持。
多樣化到什么程度?
FP64具有完整的15–17位十進(jìn)制數(shù)字精度,多用于醫(yī)學(xué)、軍事等對精度要求極高的科學(xué)計算,通常不用于深度學(xué)習(xí)計算。而TF32甚至成為英偉達(dá)GPU中的新數(shù)學(xué)模式。
2.2偏才地平線
但這些高擴(kuò)展性和豐富性,對自動駕駛AI來說是否是必要的?
2018年,英偉達(dá)發(fā)布了采用Volta架構(gòu)GPU的Soc(系統(tǒng)級芯片)Xavier,可執(zhí)行高級別自動駕駛?cè)蝿?wù)。按照英偉達(dá)的定義,XAVIER是專門為機(jī)器人和邊緣計算而設(shè)計的計算平臺,采用臺積電的12nm工藝。
相比之下,特斯拉FSD采用三星14nm工藝,且算力上Xavier只有FSD的一半。但從面積上,XAVIER卻比FSD要大一些。
背后便是應(yīng)用于云端場景的架構(gòu),與完全對標(biāo)一個品牌需求的車端架構(gòu),在芯片布局上的不同。
直觀來看,Xavier集成的Volta GPU,提供了512個CUDA核和64個張量核。相比之下,F(xiàn)SD中負(fù)責(zé)通用浮點(diǎn)計算的GPU面積遠(yuǎn)小于其MAC陣列NPU。
從需求出發(fā),F(xiàn)SD芯片上只需運(yùn)行特斯拉的自動駕駛AI,因此完全對標(biāo)深度學(xué)習(xí)需求的MAC陣列占據(jù)更多的片上位置。
對Volta GPU來說,端側(cè)以實(shí)時推理為第一要務(wù)的深度學(xué)習(xí)任務(wù)外,還需要考慮云端的訓(xùn)練和高性能計算等更多的任務(wù),通用性計算與混合精度矩陣計算需求并重,仍需在方寸之間為CUDA核留下不少的位置。
上述芯片專家向《電動汽車觀察家》表示:“相比通用型架構(gòu),自動駕駛專用架構(gòu)在設(shè)計的時候會充分考慮到目標(biāo)應(yīng)用場景的特色,采用更高效適用的計算核以及組合模式,從而實(shí)現(xiàn)計算效率的提升,更好地滿足目標(biāo)應(yīng)用場景的計算需求?!?/p>
圍繞提升MAC陣列的利用效率,地平線自主研發(fā)的BPU(嵌入式人工智能處理器,Brain Processing Unit,大腦處理器)架構(gòu)采用大規(guī)模異構(gòu)計算、高靈活大并發(fā)數(shù)據(jù)橋和脈動張量計算核三大核心技術(shù)打造適應(yīng)端側(cè)自動駕駛需求的矩陣運(yùn)算。
“英偉達(dá)和地平線的MAC陣列在具體的設(shè)計上有不少差異。“羅恒向《電動汽車觀察家》表示,”從外部結(jié)果來看,貝葉斯主要面向batchsize=1、DDR節(jié)省和對使用depthwise的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,契合自動駕駛場景特征和高能效比?!?/p>
batchsize是指神經(jīng)網(wǎng)絡(luò)一次批量處理的樣本數(shù)目。一次批處理的樣本數(shù)目越多,那么就有潛在的更多并行計算/加速的可能。在云端場景下,有海量的數(shù)據(jù)需要處理,GPU以及其他一些云端AI芯片在架構(gòu)設(shè)計上就會充分考慮batchsize大(一次批處理樣本多)的特性來設(shè)計,從而提高硬件效率。
自動駕駛和其他一些端側(cè)場景,數(shù)據(jù)上按固定的時間依次到達(dá)的,比如攝像頭的幀率是30FPS,那么相當(dāng)于每隔33ms就會有一張圖達(dá)到,這時候就需要立即處理,盡早搞明白周圍的狀況而對車輛做出必要的控制。
本質(zhì)上,自動駕駛面臨的就是一個batchsize=1的問題(來一張圖就要馬上處理,而不能多等幾張圖一起處理),特斯拉的FSD chip發(fā)布會也強(qiáng)調(diào)了其架構(gòu)設(shè)計面向batchsize=1優(yōu)化。
DDR指雙倍速率同步動態(tài)隨機(jī)存儲器,是內(nèi)存的其中一種。在云端,由于可以將大量的存儲單元相連,內(nèi)存可被無限擴(kuò)大;
但在端側(cè),內(nèi)存受芯片面積和計算單元“爭奪”的雙重限制變得有限又昂貴,而且自動駕駛一方面產(chǎn)生巨大數(shù)據(jù)量,一方面又不能因內(nèi)存不足而“卡住”。因此通過硬件的設(shè)計排布和軟件的指令調(diào)度,有效提升內(nèi)存中數(shù)據(jù)的重復(fù)使用率,節(jié)省內(nèi)存,確保始終有內(nèi)存空間推動計算執(zhí)行下去便非常重要。
depthwise是卷積算子的一種特殊形式,使用其搭建的卷積神經(jīng)網(wǎng)絡(luò)具有最高的算法效率(達(dá)到同樣的算法精度,所需計算量更少)。目前最強(qiáng)的卷積神經(jīng)網(wǎng)絡(luò)就是由大量的depthwise卷積構(gòu)成的。比如,最新?lián)魯×薙win transformer的ConvNeXt。
在針對自動駕駛場景進(jìn)一步優(yōu)化自己的MAC陣列同時,地平線還開發(fā)了與英偉達(dá)CUDA核類似的向量加速單元。
“我們這一代的向量加速單元是一個非常高效、相對簡單的(不支持浮點(diǎn)計算)面向向量(vector)的加速單元?!绷_恒向《電動汽車觀察家》表示,“這樣一個相對簡單的向量加速單元的好處是功耗、面積上的經(jīng)濟(jì)。下一代貝葉斯我們會進(jìn)一步加強(qiáng)這個單元?!?/p>
減少數(shù)據(jù)的吞吐量某種意義上意味著算力,以換取功耗和芯片面積上的經(jīng)濟(jì)。做出算力和經(jīng)濟(jì)性之間的取舍決策,必須是對自動駕駛場景和算法的深刻理解。
技術(shù)革新背后,是地平線BPU三代架構(gòu)以滿足端側(cè)自動駕駛的加速需求為核心方向的不斷演進(jìn)。
其一:三代架構(gòu)持續(xù)優(yōu)化BPU IP的性能、面積、功耗,在性能/算力大幅提升的過程中,保證了所需DDR帶寬只是溫和的增加。
征程5(使用貝葉斯BPU)相對征程3(使用BPU伯努利2.0)FPS提升10~25倍(不同典型模型),帶寬增加不到2倍,仍然有被動散熱方案。
其二:對性能、面積、功耗和可編程性更好地折中考慮。
BPU伯努利1.0、2.0主要以硬核方式(有限的可編程性)支持常見性能有需求的算子;BPU貝葉斯更加系統(tǒng)、全面地考慮了性能和可編程性方面的需求,增加了靈活的、可編程的向量加速單元,但也包含了一些特定目標(biāo)(如,Warping、Pooling、Resize等)的硬核加速單元。結(jié)果是,BPU貝葉斯更加通用,開發(fā)新的算子更為簡單。
征程5目前在Swin(機(jī)器視覺最有代表的Transformer)上的FPS已經(jīng)為Xavier的3倍。
“BPU伯努利1.0、2.0到貝葉斯三代架構(gòu)都是以卷積神經(jīng)網(wǎng)絡(luò)加速為核心展開的,也是業(yè)界極少數(shù)持續(xù)保持depthwise convolution(卷積神經(jīng)網(wǎng)絡(luò)三十年來計算架構(gòu)最大的算法改進(jìn))高效的加速器。”羅恒向《電動汽車觀察家》表示。
對智能/自動駕駛所需算法的持續(xù)追蹤、設(shè)計自身的軟件算法,使地平線對車用領(lǐng)域未來的軟件算法架構(gòu)有清晰、聚焦的判斷。而且,單一業(yè)務(wù)的地平線,無需像英偉達(dá)一樣考慮多種業(yè)務(wù)結(jié)構(gòu)的技術(shù)方向和性能需求。
“輕裝上陣”賦予了地平線追趕英偉達(dá)的速度。
征程3推出一年多之后,地平線就推出了全新架構(gòu)的征程5。相比之下,英偉達(dá)Xavier到Orin-X花了三年的時間。
03
生態(tài):構(gòu)建自己的王牌
針對自動駕駛場景算法和需求專門設(shè)計的專用芯片實(shí)現(xiàn)在效率上的更高效只是地平線追趕英偉達(dá)的第一步。更難的是構(gòu)建地平線自己好用的軟件體系,以及能支撐持續(xù)演進(jìn)迭代的用戶生態(tài)——這正是英偉達(dá)的王牌所在。
“歷史上,英偉達(dá)正是靠工具鏈登上了AI王座,并建立了強(qiáng)大的生態(tài)護(hù)城河?!钡仄骄€生態(tài)發(fā)展與戰(zhàn)略規(guī)劃副總裁李星宇向《電動汽車觀察家》表示,“地平線在成立之初就建立了工具鏈團(tuán)隊,那個時候我們有一種直覺,未來工具鏈將成為我們與合作伙伴協(xié)同創(chuàng)新的基礎(chǔ)。
同時,整個行業(yè)正在演進(jìn)到數(shù)據(jù)驅(qū)動的軟件2.0時代,地平線也提供端上的開發(fā)工具、以及在云端的訓(xùn)練,包括數(shù)據(jù)管理以及仿真平臺等工具(AIDI 艾迪),與天工開物形成完整的開發(fā)平臺,加速面向智能駕駛、智能交互、車內(nèi)娛樂應(yīng)用等各種各樣的解決方案開發(fā)?!?/p>
3.1天工開物“追“CUDA
如今,英偉達(dá)GPU成為云端人工智能加速的主流解決方案。究其原因,并非英特爾、高通、ARM等芯片公司的算力不夠,而是在軟件方案上缺乏如CUDA一般完整的編程工具鏈。
構(gòu)建完整、完善、好用的編程工具鏈需要長時間和海量的資金投入和技術(shù)積累,而英偉達(dá)CUDA搶跑了十多年的時間。
早在2006年問世之初,英偉達(dá)就開始對CUDA系統(tǒng)在AI領(lǐng)域進(jìn)行大力投入和推廣。一方面在年營業(yè)額只有30億美元的情況下,每年投入5億美元的研發(fā)經(jīng)費(fèi)更新維護(hù)CUDA;另一方面,為當(dāng)時美國大學(xué)及科研機(jī)構(gòu)免費(fèi)提供CUDA系統(tǒng)的使用,使其迅速在AI及通用計算領(lǐng)域開花結(jié)果。
作為后來者,地平線的天工開物目前顯然無法在完整性上與英偉達(dá)CUDA體系相比,不過在針對AI和端側(cè)需求,天工開物已有不少亮眼的表現(xiàn)。
“地平線的工具鏈,尤其是其中的模型轉(zhuǎn)換工具和編譯器,可以自動完成對模型的量化和編譯優(yōu)化,通過自動化通用的算法,將模型快速部署在芯片上, 運(yùn)行效率高,精度損失小?!绷_恒向《電動汽車觀察家》表示。
AI模型不僅要在云端完成訓(xùn)練,能夠輸出高精度的結(jié)果,還需要被量化以部署應(yīng)用。
所謂模型量化是將浮點(diǎn)存儲(運(yùn)算)轉(zhuǎn)換為整型存儲(運(yùn)算)的模型壓縮技術(shù)。
模型在訓(xùn)練過程中會使用浮點(diǎn),AI芯片在推理時為了面積功耗的節(jié)省通常使用8bit整型數(shù)計算。這樣浮點(diǎn)訓(xùn)練的模型需要進(jìn)行量化,轉(zhuǎn)換到8bit整型來計算。
量化,可使模型在運(yùn)行時存儲開銷和帶寬需求更少、更快的計算速度、更低的能耗與占用面積,得以部署到限制更多,對速度要求更快的端側(cè)。
但在量化過程中會產(chǎn)生數(shù)據(jù)溢出和精度不足舍入錯誤。
對此,2017年,與張量核一道,英偉達(dá)推出了量化工具TensorRT,實(shí)現(xiàn)從模型獲得,到模型優(yōu)化與編譯,再到部署的全過程。地平線天工開物也有類似的量化工具,而且對比測試中,地平線對輕量化/小型化AI模型的量化精度,要好于英偉達(dá)的TensorRT。
因?yàn)門ensorRT要覆蓋云端、端側(cè)等多個場景下的模型量化,而天工開物則針對性更適宜部署在端側(cè)的模型——采用適用于視覺識別的卷積神經(jīng)網(wǎng)絡(luò)。
從2012年到2017年,卷積神經(jīng)網(wǎng)絡(luò)經(jīng)過了快速發(fā)展,識別精度已經(jīng)非常高,但“體積”也非常大。2018年,AI模型訓(xùn)練的工作量相比五年前增長了30萬倍,研究機(jī)構(gòu)使用的模型參數(shù)已達(dá)到萬億級。
大模型帶來高性能的同時,也導(dǎo)致在云端效率低、評估成本高,在端側(cè)難以部署的問題。于是,業(yè)界開始尋求在同樣的精度下做“減法”:
其一,對訓(xùn)練好的復(fù)雜模型通過知識蒸餾、通道剪枝、低比特量化(浮點(diǎn)計算轉(zhuǎn)成低比特定點(diǎn)計算)等手段對模型進(jìn)行壓縮,降低參數(shù)量和計算量。
英偉達(dá)2019年發(fā)布的安培架構(gòu)中的一大提升便是張量核增加了對模型部分參數(shù)為0時的稀疏矩陣計算的支持。
其二:深度可分離卷積/深層卷積(depthwise separable convolution)代替普通的卷積,形成小規(guī)模/輕量化模型,如SqueezeNet、MobileNet、ShuffleNet等。
但小模型在量化的過程中會出現(xiàn)精度損失的問題。對此,地平線在2017年便就設(shè)計出了量化訓(xùn)練算法以解決Depthwise模型精度損失的問題,并申請了專利。而直到2019年,谷歌才推出相應(yīng)的量化算法。
而且基于對算法的持續(xù)追蹤,地平線已經(jīng)標(biāo)定出了一個潛在的“終極答案”——2019年“減法”模型的集大成者EfficientNet。地平線認(rèn)為其標(biāo)志著卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的演進(jìn)暫時進(jìn)入一個平緩發(fā)展的階段。
EfficientNet能夠很好的平衡神經(jīng)網(wǎng)絡(luò)的深度、寬度和分辨率這三個核心維度,通過一組固定的縮放系數(shù)統(tǒng)一縮放這三個維度。
地平線對征程5和Xavier、Orin(估算)的FPS測試便是以EfficientNet為測試模型。在上述測試中,地平線較之英偉達(dá)量化精度更高的模型也是MobileNet、EfficientNet這樣的輕型/小型模型。
目前,地平線在工具鏈方面已經(jīng)支持了100多家的客戶。
3.2艾迪“追”Drive
除了與芯片高度結(jié)合的工具鏈,另一大軟件體系的競爭是在與車用高度結(jié)合的開發(fā)工具方面。
2017年自Xavier芯片開始正式進(jìn)入智能/自動駕駛端側(cè)場景之后,英偉達(dá)立刻開始著手完善加強(qiáng)端到端的自動駕駛和車用功能解決方案:Drive系列。
在英偉達(dá)統(tǒng)一的計算架構(gòu)(Xavier/Orin/Atlan)之上,建立了自動駕駛家開發(fā)平臺Drive Hyperion,自動駕駛模塊化軟件棧Drive SDK,仿真平臺Drive Sim,和深度學(xué)習(xí)訓(xùn)練平臺Drive DGX四個產(chǎn)品。
汽車客戶可在DGX上進(jìn)行自動駕駛感知、規(guī)劃、控制的模型訓(xùn)練和優(yōu)化;在Sim的虛擬仿真環(huán)境中模型和算法的驗(yàn)證;在Drive SDK的“軟件貨架”中挑選適合自己的軟件“組裝”功能和應(yīng)用;并利用Hyperion進(jìn)行數(shù)據(jù)采集和驗(yàn)證開發(fā)。
Drive SDK包含中OS基礎(chǔ)軟件平臺、和向開發(fā)者開放的works中間件、AV /IX自動駕駛/智能座艙軟件棧。
開發(fā)者可對調(diào)用、組合、開發(fā)抽象封裝在DriveWorks中的攝像頭、毫米波雷達(dá)、激光雷達(dá)、GPS和IMU等傳感器功能,針對自動駕駛的典型使用場景和Corner Case場景開發(fā)了多種豐富的神經(jīng)網(wǎng)絡(luò),構(gòu)建計算密集型算法進(jìn)行物體檢測、地圖定位和路徑規(guī)劃。
而基于Drive AV/IX提供的基礎(chǔ)應(yīng)用功能,開發(fā)者可拆解、組合出符合自身的新功能和產(chǎn)品能力。
與英偉達(dá)Drive相對的是地平線艾迪AI軟件產(chǎn)品開發(fā)及迭代一站式工具平臺。其能夠?yàn)橹悄芷嘇I開發(fā)者提供海量數(shù)據(jù)存儲、處理能力,半自動化/自動化標(biāo)注能力,大規(guī)模分布式訓(xùn)練及模型管理能力和自動化分析、處理產(chǎn)品問題等能力。
值得注意的是,艾迪不僅面向地平線的芯片,還可對接其它芯片,差別只在模型部署階段有所不同。
“開發(fā)者圍繞關(guān)鍵場景的問題挖掘,模型迭代全流程的自動化,可以大幅改善算法的研發(fā)效率,而且可以開放的對接到各類的終端上面。通過這種方式,大大提升了算法研發(fā)人員的研發(fā)效率?!钡仄骄€高級研發(fā)總監(jiān)凌坤表示。
3.3開放構(gòu)建地平線生態(tài)
在硬件高度服務(wù)于軟件,開發(fā)模式從過去的人工定義變?yōu)閿?shù)據(jù)驅(qū)動的軟件2.0時代。軟件體系是地平線最難追上英偉達(dá)的部分,卻也是要真正追上英偉達(dá)的必經(jīng)之路。
體量小、起步晚、還造著更貴、受眾更窄的專用型AI芯片,地平線要如何在講究生態(tài)體系建設(shè)的軟件領(lǐng)域追趕英偉達(dá)?
答案是比開放的英偉達(dá)更開放。
一方面是覆蓋更廣泛的市場區(qū)間。
地平線的芯片產(chǎn)品體系覆蓋從L2級到L4級的智能/自動駕駛需求。征程2主要適配面向L2級的輔助駕駛領(lǐng)域,征程3可適配面向L2+的高速領(lǐng)航輔助駕駛,征程5可適配更具挑戰(zhàn)的復(fù)雜城區(qū)輔助駕駛。
而目前,英偉達(dá)Xavier/Orin的落地大多是從高端車型的高速領(lǐng)航輔助駕駛開始,并且以城區(qū)駕駛輔助為短期目標(biāo)的。
由此,雙方芯片的上車規(guī)模便產(chǎn)生了相當(dāng)?shù)牟罹唷?/p>
截止目前,已公布搭載地平線征程芯片的有長安UNI-T/K/V、奇瑞螞蟻、廣汽埃安AION Y、2021款理想ONE、哪吒U·智等15款車型以上,當(dāng)中不乏月銷過萬的爆款車型?;诖?,地平線征程芯片出貨量已突破100萬片,與超過20家車企簽下了超過60款車型前裝量產(chǎn)項目定點(diǎn)。
相比之下,主力搭載英偉達(dá)Xavier的小鵬相關(guān)車型累計銷售12萬輛左右。
更多出貨量意味著更多的真實(shí)場景數(shù)據(jù)和應(yīng)用需求,這是軟件系統(tǒng)體系不斷提升完善的根本“原料”?!拔覀儼芽蛻艨吹降膯栴}、想法,在發(fā)揮創(chuàng)造性上面遇到的阻礙,反過來幫助我們改進(jìn)和提升天工開物工具鏈,這套千錘百煉的工具鏈就可以更好的提升效率。”凌坤表示。
另一方面,則是集眾人之力,加大開放深度和廣度。
“地平線提供了一種新的合作范式,就是極致的開放與共創(chuàng),我們努力做的是與上下游的合作伙伴打造一個生態(tài)合作的熱帶雨林。我們相信:一個公司的價值在于他在創(chuàng)新生態(tài)里是否被需要。”李星宇向《電動汽車觀察家》表示。
英偉達(dá)基于自身的GPU開發(fā)出系統(tǒng)級芯片(SOC),并與CUDA操作系統(tǒng)強(qiáng)綁定,業(yè)界在此基礎(chǔ)上開發(fā)自動駕駛的軟硬件系統(tǒng)。
地平線則在開發(fā)完成BPU和其上的SOC之后,將底層軟件通過開源OS協(xié)同開放的模式與整車企業(yè)共享,使開發(fā)者能夠深入操作系統(tǒng)底層,高效地調(diào)用操作系統(tǒng)之下地各種資源。
地平線在去年發(fā)出倡議,結(jié)合征程5芯片,為智能汽車去打造一個開放、開源、行業(yè)廣泛參與的操作系統(tǒng)——TogetherOS。目前為止,地平線已與長安、長城等多家國內(nèi)主機(jī)廠開始聯(lián)合開發(fā)。
今年,地平線創(chuàng)始人余凱又宣布不僅僅是開源OS,地平線將向部分整車廠開放BPU IP授權(quán)。就此,地平線形成三類開放共贏的商業(yè)模式:
· 一是提供BPU和SoC級別征程芯片以及操作系統(tǒng)OS,幫助車企完成自動駕駛軟硬件系統(tǒng)開發(fā);
· 二是提供BPU和SoC級別芯片,整車廠采用自研操作系統(tǒng)開發(fā)自動駕駛軟硬件系統(tǒng);
· 三是提供BPU IP,支持車企實(shí)現(xiàn)SoC自研并采用自研操作系統(tǒng)和自動駕駛軟硬件系統(tǒng)實(shí)現(xiàn)整車開發(fā)。
在此模式下,整車開發(fā)將實(shí)現(xiàn)從芯片到操作系統(tǒng)、再到自動駕駛的軟硬件系統(tǒng)的高度協(xié)同,極大提升迭代速度。
作為AI芯片和軟件工具的提供商,底層開發(fā)程度越高,意味著基于車企越多的自主性,由此推動其實(shí)現(xiàn)產(chǎn)品和功能的快速迭代——這正是當(dāng)前智能汽車競爭的核心指標(biāo)。由此無疑將為地平線吸引來更多的客戶和合作方。
這是機(jī)會,但也是成本。開放度越高,也意味著開放者為應(yīng)用者要提供的適配資源和成本更高。
如Mobiveil首席執(zhí)行官Ravi Thummarukudy所說:“要將IP提供給市場需要成本,一旦客戶取得授權(quán)并開始將之整合到SoC,為該IP提供支持就會成為經(jīng)常性支出?!?/p>
不只是IP,僅僅在征程5的上車過程中,地平線為客戶提供的配套適配服務(wù)的深度和周到程度,就是英偉達(dá)這樣的外資跨國多業(yè)務(wù)企業(yè)無法實(shí)現(xiàn)的。
從推出CUDA算起,英偉達(dá)在AI領(lǐng)域已布局16年之久,更是在2015年便開始與特斯拉這樣的智能汽車領(lǐng)軍企業(yè)開始合作,其技術(shù)壁壘之高,生態(tài)護(hù)城河之廣,都可以想象。
如今,中國已經(jīng)成為全球智能汽車的角斗場。很幸運(yùn),地平線以中國市場為起點(diǎn),開始這場艱苦卓絕的追趕。
地平線軟硬結(jié)合的技術(shù)路線+共創(chuàng)開放的商業(yè)模式,能否在多年之后創(chuàng)造出以小勝大,以弱勝強(qiáng)的“逆襲“故事,只待時間給出答案。