本文首發於微信公眾號新車一講
通過算法的迭代,自動駕駛汽車能否從 SAE L2 級輔助駕駛逐步發展到 L4 級自動駕駛?
2015 年 6 月,Google 無人車項目(Waymo 前身) CTO Chris Urmson 的答案是:NO.
「(從 L2 過渡至 L4)就像你努力練習彈跳,期望有一天學會飛翔一樣不現實」。
在同一時期,特斯拉 CEO Elon Musk 選擇踏上這條「不歸路」。
全車 8 顆攝像頭、自主研發 FSD 自動駕駛晶片、團隊的多次重組、超級計算機 Dojo 上馬……因為堅持 360° 視覺感知,特斯拉自動駕駛技術路線永久性地偏離了行業的主流趨勢,走上了一條獨特的道路。
從 2015 年到 2020 年,特斯拉的視覺感知進階之路,我們一起回顧。
8 顆攝像頭
2015 年 10 月 14 日,特斯拉召開 Tesla OS v7.0 系統更新發布會。那早已不是特斯拉的第一次系統更新,Elon 專門召開發布會,是因為這是特斯拉歷史上首次推送更新,啟用 Autopilot 輔助駕駛系統。
這是特斯拉乃至智能駕駛行業的標誌性事件。
Elon 在發布會上說,每一位 Model S 車主(Model X 尚未交付,Model 3 尚未發布)都是培訓專家(expert trainer),特斯拉將通過系統收集各地道路上的路測數據,訓練 Autopilot的算法,並通過整車 OTA 更新,使 Autopilot 系統的魯棒性越來越好。
不過,這場發布會遠沒有一個月後的一個新消息重磅。
11 月 3 日,特斯拉在智能駕駛領域的核心盟友,Mobileye CEO Ziv Aviram 在其財報會議上洩露了 Autopilot 2.0 的硬體架構:
我們正在與一家車企合作,這是汽車行業歷史上第一款搭載 8 顆攝像頭的汽車,除了前置三目攝像頭,車身周圍還有 4 顆攝像頭,以及 1 顆後置攝像頭,加上 1 個毫米波雷達和車身周圍的超聲波傳感器。該系統將基於 5 塊 Mobileye EyeQ3 晶片組成的計算平臺運行。
Ziv Aviram 拒絕透露這家車企的名字,但在幾天後的另一場公開會議上,他提到特斯拉比其他任何車企都更快、更激進地挑戰技術的極限(Tesla is willing to push the envelope faster and more aggressively than any other OEM),並暗示新系統有望於一年內上市。
這等同於官宣了特斯拉 Autopilot 2.0 硬體車型將於 2016 年實現量產,也側面說明在技術高速迭代的 2016 年,Autopilot 1.0 硬體從投產第一天起就是「炮灰」屬性的存在。
當然,後來我們並沒有見到所謂「基於 5 塊 Mobileye EyeQ3 晶片組成的計算平臺」。
2016 年 5 月,特斯拉 Model S 車主 Joshua Brown 啟動 Autopilot 後打開 DVD 看起了《哈利·波特》。Autopilot 和 Joshua Brown 都沒能「看見」正在橫穿的白色半掛,Joshua Brown 在事故中身亡。
這起事故直接導致了特斯拉與 Mobileye 的公開對峙,最終,汽車行業對視覺感知信仰最深的兩家公司選擇了分道揚鑣。而特斯拉 Autopilot 硬體 2.0 測試版中 5 個 EyeQ3 晶片組成的計算平臺,也被來自英偉達的 Drive PX2 平臺所取代。
FSD 晶片
2016 年 10 月,「炮灰」屬性的 Autopilot 1.0 硬體車型在投產剛滿兩年就面臨退市——這一時間段遠低於汽車行業平均七年一換代的產品周期。
特斯拉宣布,以 8 顆攝像頭、英偉達 Drive PX2 計算平臺為標誌的 Autopilot 2.0 車型正式量產。
與此同時,特斯拉推出了備受爭議的、汽車行業歷史上第一個自動駕駛(Full Self-Driving)選裝包。
人們都以為,Autopilot 2.0 硬體會在未來幾年內大放異彩,直至 Autopilot 實現自動駕駛。但 Elon 非常清楚 8 顆攝像頭對算力的龐大需求,英偉達的 Drive PX2,無非是「炮灰 2.0」。
2015 年 9 月,從 AMD 離職的晶片大神 Jim Keller 面臨兩個抉擇:一,加入三星奧斯汀半導體公司,領導三星手機 SoC 的開發;二,創辦一家 AI 晶片公司,專注於垂直場景的應用。
最終,一個更有吸引力的職位否決了上述兩個選項:2015 年 12 月,Elon 親自找到 Jim Keller,說服他加入特斯拉,負責特斯拉自動駕駛晶片的研發。
2019 年 4 月,特斯拉召開自動駕駛投資者日,宣布搭載 FSD 自動駕駛晶片的 Autopilot 3.0 硬體正式量產裝車。
FSD 自動駕駛晶片在特斯拉 Autopilot 發展歷程中有著重要意義。
統領 FSD 晶片研發的 Autopilot 硬體工程副總裁 Pete Bannon 說過:FSD 晶片項目最大的特點就是「只有一個客戶特斯拉」。
在去年發布會後的問答環節,Elon 在評價特斯拉晶片合作夥伴英偉達時表達了類似的觀點:英偉達是一家偉大的公司,但他們有許多客戶,不得不做一個通用的晶片解決方案。
大多數人無法理解「只有一個客戶特斯拉」的重要性。Fortune 曾報導過 Jim Keller 在特斯拉時期的晶片設計思路:1. 深刻理解特斯拉 Autopilot 的軟體運行機理;2. 縮減或砍去通用晶片(例如,英偉達晶片)中與特斯拉軟體無關的模塊。
因此,大幅提升性能的同時降低能耗的秘訣在於晶片設計過程中的取捨。相比「取」,「舍」的意義更為重要。
最終,架構設計變得彌足精確,異構設計執行並行計算的 NPU 佔據了 SoC 中最大的物理面積,方寸之間,錙銖必較。
每一塊 FSD 計算平臺上都搭載了兩塊完全一致的晶片,每塊晶片的算力為 72 Tops,而前代英偉達 Drive PX2 平臺的算力為 8 - 10 Tops。與此同時,Drive PX2 的能耗為 57W,而特斯拉 NPU 的能耗為 15W。
用 Pete Bannon 的話說,他將近 40 年的晶片工程生涯裡從未見過新一代晶片性能提升超過 3 倍的,而特斯拉提升了 20 倍(圖像幀幅 HW 2.0 110 幀 VS HW 3.0 2300 幀)。
特斯拉通過將 SoC 設計、電源設計、信號完整性設計、封裝設計、系統軟體、電路板設計、固件及系統驗證等多個團隊垂直整合、研發流程並行推進,最終用 36 個月實現了從第一名員工入職到晶片全面裝車上市的完整流程。
「運營假期」
2020 年 9 月 11 日,通用汽車旗下自動駕駛公司 Cruise 發文介紹了一種叫做「持續學習機(Continuous Learning Machine)」的深度學習基礎設施。
簡單來說,「持續學習機」結合了支持自動標註數據的自監督學習框架和主動學習數據挖掘的框架。
Cruise 自動駕駛汽車通過主動學習,自動識別系統感知錯誤的極端場景,並將其加入到 Cruise 訓練數據集中。自監督學習框架支持自動標註數據,大幅降低標註成本,提升深度神經網絡的迭代速度。
通過「持續學習機」,Cruise 實現了深度學習基礎架構各種費時費力環節的高度自動化,讓持續學習機真正做到持續學習,而無需人工幹預。
等等,在 2020 年之前的年份,比如 2017 年,Cruise 是怎麼做算法訓練的?
算法的迭代離不開大數據的訓練。在此之前,機器學習算法訓練應用的主流方法,叫監督學習。
所謂監督學習,指的是數據在給到算法訓練前,需要先經過人工標註。(舉例:人工標註最基礎的部分就是畫框,對圖片上的機動車、非機動車、行人、紅綠燈等用不同形狀的框標註出來)。
這是人工智慧行業快速發展進程中的一個隱秘江湖——根據新華社 2019 年 9 月 10 日的報導,僅北京一座城市就有 100 多家專門從事數據標註的公司,全國有超過 1000 萬人在從事數據標註工作。
這也是一向頭頂高精尖光環的人工智慧技術卻又被揶揄「數字富士康」、「勞動密集型產業」的主要原因。
2017 年的 Cruise,和絕大多數企業類似,通過以監督學習為主的開發流程來推進感知算法的迭代。
在同一年裡,OpenAI 研究科學家Andrej Karpathy 加入特斯拉,擔任特斯拉 AI 總監。在他的社交平臺簡介裡,Andrej 寫道:我喜歡在大型數據集上訓練深度神經網絡。
擺在他面前的是一個如此規模的資料庫:截至 2016 年 10 月,Autopilot 累計運行裡程達到 2.22 億英裡,而同期的 Cruise 自動駕駛路測裡程為 13 萬英裡。
特斯拉和 Cruise 之間巨大的「數字鴻溝」決定了,從第一天起,特斯拉就無法基於傳統的人海戰術做數據標註,來進行算法的迭代——天文數字的人工標註成本會完全拖垮 Autopilot / FSD 的商業模式。
2019 年 11 月,Andrej Karpathy 介紹了特斯拉的名為「運營假期」數據流自動化計劃。不出意外,特斯拉應用了自監督學習框架,與通用 Cruise 如出一轍。
所謂自監督學習,是指用於算法訓練的不再是傳統意義上人工做好標註的訓練集,而是一組純粹的數據。通過對數據本身的特徵進行挖掘,從而實現感知算法的持續迭代。
不僅如此,2019 年,Cruise 團隊規模已經達到 1800 人,而 Autopilot 工程師團隊只有 300 人左右,Andrej 領導的人工智慧全棧團隊更是只有 30 人。
這使得 Autopilot 團隊採取更激進的數據流自動化:
我們正在使許多工作流程自動化,不僅涉及神經網絡訓練本身,還涉及 Ta 周圍的一切。we are automating alot of the work flows is not just about the neural network training itself, but everything surrounding that.
特斯拉人工智慧團隊的主要精力放在算法運行環境及流程自動化的建設、算法的校準、評估和持續集成,而非算法本身的開發上。
而特斯拉數據流自動化的終極目標,就是本節的標題:「運營假期」。
當一切都開發到理想形態時,自動駕駛系統應該自動完成進化,全程無需人為幹預。所以人工智慧團隊在項目運營的時候可以去休假(因為無需幹預),這就是項目最理想的形態。
Dojo 超級計算機
Dojo 是特斯拉自動駕駛技術架構中最神秘的組件。每每到 Dojo 的環節,Elon 和 Andrej 總會以「我們還沒準備好談論它」搪塞過去。
很長一段時間裡,大眾對 Dojo 的認知僅限於「特斯拉用於雲端訓練的伺服器」。然而進入 2020 年,Elon 開始在 Twitter 持續公布 Dojo 的信息,最終為大眾勾勒出了 Dojo 基本的輪廓。
簡單來說,Dojo 是特斯拉用於雲端訓練的超級計算機,能夠處理大量的視頻訓練數據並有效運行帶有大量參數、大量內存和內核之間超高帶寬的超稀疏陣列。Dojo 支持對大量視頻進行無監督學習訓練。
根據 Elon 的說法,Dojo 基於 FPGA 可編程電路晶片打造,目前的開發進度只有 0.01%,特斯拉仍需要大約一年時間來實現 Dojo V1.0 版本的運行。挑戰不僅限於晶片,還包括複雜的供電與散熱問題。
為什麼 Elon 說 Dojo 是真正的變量呢?
在談論 Dojo 的峰值性能時,Elon 說了這麼一句話:
A truly usefulexaflop at de facto FP32.
一句話裡出現了兩個術語 exaflop 和 FP32,還夾雜著兩個拉丁語單詞 de facto,確實在在一定程度上擋住了媒體的廣泛傳播(猜測是 Elon 故意為之)。我們一一說來。
FP32 是單精度浮點格式,這是一種深度學習領域的主流格式,表示神經網絡中的權重、激活值和其他值。
相比 FP32,exaflop 是更重要的、極為典型的特斯拉式的話術。Exaflop 是一種浮點運算計量單位,表示 10 的 18 次方,即 1 exaflop 表示超級計算集群的運算速度可以達到百萬萬億次 / 秒。
所以,這句話的完整翻譯應該是:(運行格式為 FP32 的 Dojo)的峰值性能將支持以 exaflop 為單位計量。
為什麼說這是非常典型的特斯拉話術?
2013 年,特斯拉在內華達州 Reno 市郊區還是一片沙漠的時候,宣布將建設名為 Gigafactory 的超級電池工廠。
2019 年,在經過一系列密集儲備、收購快速提升電池產能的核心技術資產後,特斯拉又宣布下一座超級工廠將命名為 Terafactory。
這裡的 Giga 和 Tera 分別出自電功單位 GigaWatt-hours 和 TeraWatt-hours,兩個命名分別指以 100 萬千瓦時和 1 億千瓦時為產能單位的超級工廠。
建設 7 年後的 2020 年,特斯拉內華達州的 Gigafactory 年化產能達到 35 GWh / 年,成為全球產能最大的電池工廠。
那麼 Dojo 從零到真正以 exaflop 作為計量單位需要花多長時間?其實前面已經提到了:特斯拉需要大約一年時間來實現 Dojo V1.0 版本的運行。
放眼全球,以 exaflop 為計量單位的超級計算機處在什麼位置呢?以下是國際超級計算機大會(ISC)2020 年 6 月更新的全球超級計算機 Top 10 排行榜。
可以看到截至目前,全球尚未出現真正意義上的以 exaflop 為計量單位的超級計算機。排名第一的 Fugaku 峰值性能也僅為 0.415 exaflop。
相比 Elon 口中 Dojo 的超高性能,我們更應該關注的,也許是自動駕駛之於車企的意義。
再次回看前面的表格,排名前十的的超級計算機無一例外均由專業計算機製造商研發、由各國的國家實驗室所有。而他們的應用場景,也無外乎是中長期天氣預報、油氣勘探、物理模擬、量子力學等領域。
也就是說,在此之前,超級計算機的研發落地更多是各國國家意志的體現,普遍應用場景也都是那些商業公司無法有效解決的超大型計算場景。
特斯拉是首個由業務(自動駕駛)的超高算力需求倒逼研發,去製造世界級超級計算機的汽車製造商。
當自動駕駛進入汽車行業後,我們還能繼續將汽車行業視為以製造為基礎的輕工業嗎?沒有什麼比研發一臺超級計算機,更能說明汽車行業已經完全進化為代表一個國家前沿科研能力的高精尖行業。
最後的臨門一腳
在以 Dojo 超級計算機為主題的文章裡,我們為什麼要花超過一半的篇幅來鋪陳特斯拉的 8 顆攝像頭、FSD 自動駕駛晶片和數據流自動化開發流程?
一切的原點,都源於 2015 年的 8 顆攝像頭。2015 年 10 月,在特斯拉 v7.0 發布會 QA 環節,Elon 將特斯拉 Autopilot 部門未來五年計劃和盤託出:
(Autopilot 1.0 硬體)不是完整的自動駕駛傳感器系統,為了實現自動駕駛,顯然需要 360° 的視覺覆蓋,需要冗餘的前置攝像頭、冗餘的計算平臺、動力和轉向系統。
五年的時間,特斯拉 Autopilot 以這段話為行動綱領迭代了三個硬體版本。
「冗餘的動力和轉向系統」,加上尚需一年時間完備的 Dojo 超級計算機,特斯拉自動駕駛汽車還差最後的臨門一腳。
END
本文首發於微信公眾號新車一講