AI Day 2022所涉及的領域實在是太廣泛,從機器人到自動駕駛,從算法創新到數據閉環,從AI編譯軟件優化,通訊優化,到底層推理訓練芯片硬件設計理念,即使作為自動駕駛行業從業者也很難做到對每一個部分都了解的面面俱到,因此本文著重解析AI Day自動駕駛方面內容,類人機器方面其實目前看來還比較初級,離產品商業化還有距離,技術分享本身也不夠深入,因此只會在文末對Tesla bot做簡單的評述和展望。此外AI Day II技術分享廣度十分驚人,但某些部分不夠細節,因此本文也會加入一定的自己的理解,因此少量的錯誤以及與實際有所出入也在所難免,歡迎有對某些模塊更了解的朋友理性討論,糾正指出。1.概況2022 AI Day Tesla所展示的其在自動駕駛和人工智能方面研發的創新和廣度是前所未有的,雖然近幾年來通過不斷的技術分享,Tesla獨特的技術方案已經逐漸為業界所熟知,但今年所分享的很多最新的理念和創新,包括徹底貫徹端到端的數據驅動方法到技術方案的各個部分,以及從底層硬件到頂層算法的高度縱向集成優化帶來的性能飛躍等,仍舊令人瞠目與震撼,因此我覺得把Tesla AI Day稱作自動駕駛領域的春晚也一點也不為過。下面我會盡量用通俗易懂的方式來分享一下我對于Tesla AI Day的解讀。 2.自動駕駛FSD部分柵格網絡 Occupancy Network如果在鳥瞰圖坐標系下的BEV感知是高水平視覺為主的自動駕駛方案的敲門磚,那么Occupancy Network就是純視覺自動駕駛技術的又一里程碑。Occupancy Network最早在去年其實就出現在FSD Beta的Release Note中,但是廣泛的為大家熟知應該來自于CVPR 2022 自動駕駛workshop中Ashok的分享。 ![]() CVPR 2022 Ashok分享Occupancy Network的模型框架 從Ashok的分享可以看出,占據柵格網絡Occupancy Network并非推翻了鳥瞰圖BEV感知的技術基礎,而是對BEV 網絡在高度方向進行了進一步的擴展,從上圖可以看到整體框架在對各個相機進行圖像平面特征提取以后,仍舊是接一個Transformer的模塊,在圖像feature map中通過MLP生成Value, Key,并利用BEV坐標系下柵格坐標的位置編碼生成Query,不同的是這次柵格不只是BEV感知中的2D柵格,而是在高度方向又增加了一個維度變成了3D柵格,進而生成了Occupancy Features替代了原本的BEV Features。 ![]() AI Day上的占據柵格技術框架 而在AI Day上的分享相比CVPR上又更加詳細了一些,這里可以看到3個方面的改進:1.最左側基于原始光子計數(Photon Count)的傳感器圖像作為模型輸入,而沒有經過ISP等常見的圖像預處理方法,根據Tesla之前的分享可以強化系統在低光照可見度低的條件下提供超越人眼的感知能力。2. Temporal Alignment利用里程計信息,對前面時刻的柵格特征(Occupancy Features)進行時序上的拼接,如圖所示不同時間的feature有著不同的透明度,似乎隨著時間遠近還有一個權重的衰減,然后時序信息似乎實在Channel維度進行拼接的,組合后的Occupancy Features會進入Deconvolutions的模塊來提高分辨率。這樣看來目前Tesla在時序利用上可能也更傾向于使用類似Transformer或時間維度作為一個Chanel的時序CNN這樣的可并行的時序處理方案,而不是AI Day I中所提到的Spatial RNN這樣的RNN方案。3. 與CVPR公布的方案相比Occupancy Network除了輸出3D柵格特征和柵格流(速度,加速度等)以外,還增加了兩個基于Query的亞像素幾何和語義輸出,這個基于x,y,z坐標的Query思路很像NeRF(應該是受此啟發),能夠提供給Occupancy Network變分辨率聚焦能力,相比幾個月前的CVPR,已經有了這樣更新的迭代,Tesla這樣的迭代速度實在令人驚嘆。 那為甚么說Occupancy Network是純視覺自動駕駛領域的又一里程碑,甚至是個人認為是純視覺領域最為重要的技術突破呢?這就要提到純視覺一直被人詬病的對于未知障礙物的識別能力。一直以來普遍看法認為基于識別的視覺感知一定要識別到見過的障礙物才能進行避障,對于從未見過的異型障礙物則束手無策,于是無法識別缺乏紋理橫在路上的白色大貨車就一直成為很多人對Tesla純視覺方案口誅筆伐的焦點,也正因此,無論視覺感知算法如何強大,Lidar一直被一些人視為安全的自動駕駛不可或缺的傳感設備。 ![]() Tesla純視覺方案被詬病的撞大貨車事故 然而這種偏見其實本質上是對AI算法的進步缺乏了解,視覺感知其實很早就不完全需要基于識別了,即使在2D圖像平面的感知上,也有著可通行區域的識別,可以不依賴于障礙物的識別。 ![]() Mobileye 圖像平面感知中藍色區域就是不基于識別的可通行區域視覺感知結果 2D平面感知的可通行區域結果很難直接用來進行下游路徑規劃,但如下圖3D Occupancy Network感知結果就直接可以用來指導自動駕駛路徑規劃,這個后面在Planning部分會進一步介紹。 ![]() 異型車輛施工車以及地面警示桿都被正確感知 上圖可以看到施工占路的異型車輛以及異型車輛所放在地上的警示桿都被Occupancy Network正確感知,這恰恰是之前沒有Lidar很難做到的。而與Lidar相比,視覺的語義感知的能力更強,Occupancy Network相比Lidar的優勢在于可以更好地將感知到的3D幾何信息與語義信息融合,而不需要對Lidar和相機進行時間同步,外參對齊等工作。可以看到這里異型車是紅色柵格,這里表示這一個靜止車輛,這正是由于Occupancy Network在一般障礙物幾何感知的基礎上還附加了語義和速度,加速度輸出。下面兩個例子更能很好的說明Occupancy Network的這兩項優勢。 ![]() 地面煙囪黃色靜止障礙屬性,長公交被分為兩段分別賦予動靜屬性 上圖地面出現的煙囪被正確識別形狀并賦予黃色靜態障礙物屬性,而右側的長客車,前半部分剛開始運動,被賦予藍色動態物體屬性,而客車后半部分由于還處于靜止狀態,被賦予了紅色靜止物體屬性。 ![]() 不斷擺動的掛車也被正確感知 上圖高速上行駛的掛車,尾部發生擺動,其形態不斷變化,也被Occupancy Network正確感知且賦予了正確的藍色動態物體屬性和相應的速度和加速度。 而這樣復雜的Occupancy Network可以在10毫秒中計算完畢,也就是說Tesla Occupancy Network的輸出可以達到跟相機同樣的36Hz,而目前絕大多數Lidar的采集頻率只有10Hz,因此在高速環境或者對快速移動的物體感知方面,純視覺的Occupancy Network甚至可能做到比Lidar更強。 車道線及障礙物感知 Lane & Object PerceptionTesla的車道線感知在BEV時代就已經是業界最強的存在,FSD Beta在2020年10月開始進行公開測試也證實掀起了學術界研究BEV感知的熱潮。AI Day II分享了車道線感知的最新進展,包括v10.69后在FSD Beta Release Note中出現的Map Guidance Module以及在v10.11中就出現的端到端Vector Lane感知。 ![]() FSD 車道線感知技術框架 從AI Day的分享可以看到FSD的最新車道線感知已經是基于3D Occupancy的感知,而不再是僅僅基于2D BEV,另外之前Occupancy Network也提到了地面曲面感知,可知現在Tesla的車道線感知是具有高低起伏變化的車道線感知。這里第一個與之前版本車道線感知不同的點就是Map Component的引入。Tesla提到他們使用了低精度地圖中關于車道線幾何/拓撲關系的信息,車道線數量,寬度,以及特殊車道屬性等信息,并將這些信息整合起來進行編碼,與視覺感知到的特征信息一起生成車道線Dense World Tensor給到后續Vector Lane模塊。 ![]() 借鑒語言類模型的Vector Lane模塊 后續的重頭戲其實是借鑒語言模型開發的Vector Lane模塊。這里Vector Space Encoding即上圖的Dense World Tensor,而整個模塊的思路是把車道線相關信息包括車道線節點位置,車道線節點屬性(起點,中間點,終點等),分叉點,匯合點,以及車道線樣條曲線幾何參數進行編碼,做成類似語言模型中單詞token的編碼,然后利用時序處理辦法進行處理。這里框架看起來非常像Transformer中的Decoder,前序車道線token作為decoder的輸入進行Self Attention,再在Cross Attention步驟里生成Query,而Vector Space Encoding則整體生成Value和Key來與前序Token結合生成最新的token。 ![]() 生成的車道拓撲效果很好,但也并非完美 這個思路很清晰,也不難理解,其實在高精地圖矢量話的相關論文中早有類似的嘗試,但是其中如何對Vector Space進行編碼,如何對車道線各種屬性進行編碼,以及如何在推理端實時運行這些工程細節相比整體思路而言應該更為關鍵。目前看來FSD能夠實時的獲得非常復雜路口的道路連接關系,這些拓撲關系對于自車規劃以及對于其他車輛的軌跡預測都十分關鍵。這樣恐怖的實時視覺感知,甚至有些黑魔法的意味,如下圖所示,這些道路連接拓撲并非來自于地圖,其證據就是觀看實際視頻的時候隨著自車未知角度以及可視范圍的變化,這些連接關系并不是一成不變的,而是會持續進行微調。 ![]() FSD實時感知路口復雜的道路連接關系 另外目前看來Tesla的生成的Lane Graph Vector也并不是完美的,除了一些節點和連接問題,在使用感知車道線連接關系時候也有著一些瑕疵,例如下圖是AI Day上展示的一個視頻片段,明眼人可以看出這里對向左轉車輛軌跡預測并沒完全與車道線感知匹配起來,比如這一時刻就預測到了中間隔離帶,上一時刻則轉向了逆行車道,這樣的軌跡預測精度可能會在復雜路口路徑規劃過程中造成一定的問題,但是這些問題是性能方面的問題,整體技術框架已經越來越趨于完善,后續性能提高則需要不斷在現有基礎上迭代就一定可以提升。 ![]() 對向車輛預測軌跡與車道線連接關系不匹配 ![]() 障礙物感知是個2-Step的感知,有點類似圖像檢測中RCNN類的方法 在障礙物感知方面分享的細節則更少一些,這里比較著重提到的是現在FSD的Object Perception是一個2-Step的方法,思路類似于Faster-RCNN這種兩步檢測框架,先通過Occupancy Features生成一個ROI map,然后再將ROI區域與Occupancy Features結合,在concat一些運動學信息的編碼(如自車運動,目標行駛車道線,交通燈交通信號等)然后在接入軌跡預測,VRU預測等。這樣的方法可以講一些復雜的感知Heads聚焦于有限的ROI區域,提高了整體感知算法的運算效率。 基于Vector Space的FSD路徑規劃這次AI Day 2022比上次AI Day分享了更多一點的決策規劃內容,這兩次分享對決策規劃的討論都比較簡單,遠不如感知部分細致詳盡,然而Tesla的決策規劃控制算法在行業中毫無疑問是極強的,簡單到我日常使用免費版Autopilot車道保持在幾乎任何高速彎道都能無障礙通過無愧彎道王者的稱號,復雜到在北美地區不使用高精地圖的FSD就可以在無車道道路,舊金山九曲花街這樣鬼畜連續急彎,高低起伏的山路,復雜快速車流無保護路口借中間分隔帶左轉(aka Chunk彎)等等, 通過兩次AI Day基本上可以看出Tesla決策規劃的大體框架,最宏觀看是一個Sample Based顆粒度從粗到細的增量樹搜索,在樹搜索過程中又有兩個核心模塊,決策樹生成和決策樹剪枝,整體決策規劃框架如下圖: ![]() Tesla規劃模塊決策樹搜索示意圖 1.決策樹生成:生成決策樹的初始輸入來自于前面車道線,障礙物以及Occupancy Network感知得到的Vector Space, 通過Vector Space規劃出后續潛在目標狀態,如目標車道線,目標路口,超車等,然后這些目標狀態又可以進一步拆分成規劃動作(軌跡)集合,最后規劃的軌跡還要考慮與周圍動態障礙物可能出現的博弈場景。這里最終要的是如何生成決策分支的算法,傳統算法基于條件約束的優化方法獲取最優路徑,特斯拉采用遞增的方式不斷加入新的約束,用較少約束下最優方案作為初值繼續求解更加復雜的優化問題,最終得到最優解,Tesla工程師提到這種方法雖然在離線進行了很多預生成,并在在線做了并行優化,然而每個候選路徑1~5ms的計算時間雖然已經很優秀,但對于盡可能遍歷城市場景復雜還是不夠快,Tesla于是使用了另一套數據驅動的輕量生成網絡幫助快速生成規劃路徑。這個數據驅動決策樹生成模型使用Tesla車隊中人類駕駛員駕駛數據和在無時間約束的離線條件下規劃的全局最優路徑最為真值進行訓練,能夠在100us內生成一個候選規劃路徑。 ![]() 結合優化方法和深度學習方法的路徑生成模塊 2.決策樹剪枝:有了決策樹生成算法,就有了完整的規劃問題定義,然而即使使用上述生成方法,要在限制的響應時間內遍歷復雜場景決策樹也是不可能的。因此一個能夠對于候選路徑進行快速評估,打分,拒絕掉離譜的候選路徑從而對決策樹進行剪紙的系統就成了決策規劃系統的另一塊拼圖。特斯拉同樣采用了傳統方法與數據驅動相結合的辦法,采用碰撞檢測,舒適度分析,以及根據車隊人類駕駛員實際數據和影子模式訓練模型來預測一個候選路徑導致接管的概率以及候選路徑與人類駕駛員開車路徑的差異這樣四個方法進行候選路徑評估完成剪紙。 ![]() 通過傳統方法和數據驅動方法進行決策樹剪枝 最后決策規劃部分還結合上面提到的Occupancy Network講解了Tesla對于未知及不確定性的決策,這里前面感知部分提到的Occupancy Network輸出的占據柵格就起到了決定性作用。如下圖所示,藍色區域代表根據Tesla車身傳感器可視角度以及3D占據柵格計算得到的可視區域,而針對未知區域則引入了Ghost動態物體,代表在未知區域可能出現的不可見動態交通參與者,需要根據這些假想的參與者做相應的保護性駕駛。 ![]() 通過Occupancy Network對可視區域進行建模用來處理未知不可見場景 這些基于占據柵格的可視區域建模,Ghost動態物體等方法不是Tesla首創,早在幾年前就有學術研究在使用Lidar的L4車型上提出這些規劃方法,然而使用純視覺的方法實現這一切顯然是一大創舉,另外從最新的FSD Beta實測視頻可以看出,FSD開始懂得利用向前小步挪移開視野,同時在遮擋比較多的人形道,橫穿馬路時候進行保護性駕駛的策略都確認了AI Day分享的內容就在實車上運行著,這些比較前沿的規劃研究都實實在在用在了Tesla FSD的產品中,可見FSD規劃算法的先進性以及整個系統的完整性和復雜性,確實處于行業最頂尖行列。 自動標注和數據引擎 AutoLabeler & Data Engine在自動標注方面這次非常難得的給出了通過道路重建作為車道線感知真值進行4D標注的方案,其本質上是一個基于Tesla強大視覺感知能力的眾包建圖,然而不同之處在于Tesla并沒有顯示使用這些構建的“低精”地圖,而是將這些地圖作為真值,內化到感知模型中,避免了對于擁有詳盡信息的高精地圖的依賴。 關于4D標注,早在19年Autonomous Day上Karpathy就做過了介紹,當時Tesla使用的是SfM的方式進行周圍場景重建,然后再在重建的點云上進行4D標注,跟據2022 AI Day分享的Autolabeler演進過程可以看到當時拓撲只是基于單趟軌跡,重投影誤差<3像素,整個標注還比較依賴人工,需要3.5小時進行一個clip標注。2020年由于引入了BEV感知,這里建圖已經是基于BEV感知進行的建圖,重投影精度<7像素,人工標注耗時小于0.1小時,已經基本上可以實現自動標注了。而2021年至今自動標注開始使用3D特征進行多趟采集軌跡的聚合重建,獲得了<3像素的沖投影精度,人工標注耗時與2020相當,但計算效率顯著提高,可擴展性也變得非常強。 ![]() Tesla車道線Autolabeler演進史 關于具體場景重建方案Tesla介紹了其中幾個關鍵步驟,包括: 1.基于時序視頻輸入,IMU,輪速計構成的車段運行的語義VIO,在車端獲得6自由度100Hz高頻連續軌跡輸出。這里與常見里程計一樣,使用了tracking和optimization兩個線程,不同之處在于特征點提取是在Vector Space下進行的,也就是特征點直接是位于3D自車坐標系下,類似激光里程計,而無需三角化獲得3D landmark點,另外前端還使用了Occupancy Network里輸出的地面估計,還有車道線曲線矢量表示以及全景分割結果,后面幾個如何使用Tesla并沒有明確給出,猜測可能會跟據全景分割的語義信息和Occupancy Network的速度,加速度對于動態物體進行處理。最終里程計精度達到1.3cm/m,大概是1.3%,這個里程計精度其實談不上很高,只能說勉強達到主流VIO精度,但是這一步理論上來講不需要絕對精度太高,場景重建重頭戲主要依賴后續多軌跡匹配關聯,以及大規模非線性優化。 ![]() Tesla語義VIO里程計,其輸出的連續軌跡估計同時會在車端Online使用,也會被Autolabeler建圖Offline使用 2. 多趟軌跡拼接重建,通過粗對齊,關聯,聯合非線性優化以及最終的曲面優化等幾步進行。這里基本上和主流的眾包建圖方法就沒有任何區別了,唯一不通可能源自于Tesla強大的3D感知能力以及時序感知能力,使得前一步獲得的局部單車軌跡重建的3D幾何信息精度極高,精度遠好于傳統通過圖像平面感知三角化獲得的3D信息,與Lidar捕捉的信息相比應該也不差太多,而相比Lidar這些3D感知還有著更豐富的語義信息,可以極大避免誤匹配,使得這一步多軌跡拼接雖然沒有什么創新的地方,但是做出來的重建效果可能要明顯好于傳統視覺眾包或Lidar眾包(當然這只是從Tesla敢于大規模使用這種重建方式制作真值數據這一結果反推重建效果,Tesla并沒有公布重建結果,我們也無法詳盡對比其與主流建圖算法的效果差異),最后重建好的可以看成一個帶有語義的3D幾何地圖,然后人工標注人員再會使用重建的地圖進行真值標注(其中應該會自動生成很多標注,人工只需要檢查錯誤標注并進行修改就行)。 ![]() 多趟軌跡拼接進行場景重建 3. 新數據標注自動生成,這一步是4D標注的精髓,也就是一次標注生成的真值可以跨越時間這一維度給在同一地點不同時間采集的數據提供真值。Tesla特意提到,通過這種真值自動遷移的方法,可以輕松獲得人類都難以正確標注的這些場景的標注數據,訓練模型擁有更好的適應低可見度(夜晚,雨,霧),遮擋等條件的能力。 ![]() 基于歷史重建數據和標注信息,自動生成新數據的標注 ![]() 真值自動遷移幫助Tesla獲得惡劣天氣及遮擋情況下真值,幫助模型對這些場景更加魯棒 這里其實個人對于這種真值的使用也有一些疑問,比如對向車道有時候是完全不可見的,那么如果強行把這部分標注給予模型,是否會對模型訓練造成迷惑,導致其花很多算力和時間去嘗試學習本就不可學習的內容,這些可能是Tesla所提到的工程難題,Tesla也并沒有在AI Day上分享透露,稍顯遺憾。 關于仿真方面我個人了解的不多,Tesla的方案聽起來感覺也沒有太多與眾不同的地方,只是把一般基于高精地圖的場景自動重建變成了基于4D標注的場景重建,我們剛才提到4D標注本質上是眾包建圖,所以這里其實方法與主流方法沒有不同。AI Day上談到了一些Tesla對于相機及其他傳感器進行傳感器仿真,獲得足以媲美真是數據的仿真效果用來訓練,這點感覺還是很驚人的,但可能業界也有類似的嘗試。仿真本質上是Autolabeler的一部分,因為仿真渲染天生帶有語義真值,因此只要仿真效果能極限接近真實,那么這些有著完美標注的數據就能夠被真實模型訓練利用起來,而仿真雖然無法保證做到對真實世界的100%擬真,卻對一些實際有危險或極少發生的場景有著獨特的優勢,可以利用方針來針對這些少見場景進行大規模驗證,從而提高整體自動駕駛系統的通用性和安全性。 ![]() Tesla仿真生成器框架 這一環節最后的部分是關于數據引擎,這一部分雖然韓裔小姐姐介紹的比較粗略,但是卻實打實的是Tesla最核心的競爭力和戰略壁壘之一。Tesla數據引擎自成閉環,由標配自動駕駛硬件的車隊數據采集,到通過各種規則及影子模式下人腦AI差異(如接管,行為差異)構成的觸發器Trigger引發數據回傳篩選有語義信息的數據回傳云端,云端通過工具對錯誤的AI輸出進行糾正,放入數據集群,然后利用這些有效數據訓練車端在線模型和云端離線模型,最終通過影子模式部署回車端進行新的測試比較不同版本指標,直到最后經過驗證的新模型部署車端,完成一個完整的數據驅動迭代開發循環。這整個數據閉環無疑是當今數據驅動系統應用的典范,如今一直被各家模仿,然而想要做到Tesla這樣高度自動話,流程化絕非一蹴而就,需要的不僅僅是了解框架的工作原理,還需要的是超強的工程實踐能力以及不斷的打磨迭代才行。 最后韓裔小姐姐提到了數據驅動的人工智能時代產業界與學術界最大的差異,那就是學術界總是保持數據不變,在穩定不變的數據集上不斷迭代新的算法,以求提高模型性能,然而產業實踐的核心在于尋找問題,通過主動獲取相應數據,添加到訓練集中,利用數據去驅使模型解決問題,這才是如Tesla等產業界科技巨頭可以在數據驅動的人工智能時代反過頭引領學術界的最本質原因。數據驅動本質上所學到的信息全部來自于數據,而不同的模型僅是在學習速度,效率等方面有差異,最終數據數量質量,決定了模型的上限。 ![]() Tesla數據引擎框架 關于使用地圖的“哲學問題”,附一條前Tesla AI視覺總監Karpathy的Twitter回復: ![]() Karpathy關于Tesla地圖使用理念的twitter FSD車端推理計算機&Dojo訓練服務器針對車端推理芯片這次AI Day上并沒有分享很多內容,也沒有發布大家期待的HW4硬件。AI Day后跟據一些實際參加AI Day的人透漏,跟據他們與Tesla工程師的交流獲得的信息是,Tesla認為從基于NVIDIA芯片的HW2到基于自研FSD芯片的HW3的進化是跨越性的,是對實現FSD極其迫切且必要的,但Tesla認為目前峰值算力144TOPS的FSD芯片已經足矣支撐超越人類駕駛能力2x~3x的自動駕駛系統,HW4也許可以推進更加完善安全(10x以上人類駕駛能力)的高階(L5)自動駕駛,但其必要性需要在算法足夠成熟后才能體現,因此現階段更新HW4并非耽誤至極。實際上早在今年年初就有Twitter上知名人物Green稱FSD芯片算力可能已經達到瓶頸,而算力瓶頸造成的FSD Beta偶發奇怪的形似短路的決策突變可能是在當前硬件條件下無法解決難題,然而隨著時間推移,在最新的10.69上很多當時猜測和算力達到極限相關的問題,特別是突發的決策突變引起的安全類風險接管已經基本得到解決,跟據Release Note上Tesla精簡了很多legacy的祖傳模型(所謂祖傳估計也就1-2年歷史),以及其他很多底層優化,大大提高了FSD運算的幀率。由此可見Green的發現不能說沒有跟據,但顯然通過適當的優化,FSD芯片的性能也許才剛剛被真正發揮出來,由此可見這款已經發布了三年多的芯片如今仍然具備極其強大的性能。 ![]() 2019年公開發布的由行業傳奇Jim Keller和Pete Bannon領導研發的Tesla FSD Computer 從2019年Autonomous Day公布FSD芯片開始,自動駕駛行業就進入了算力內卷的時代,國內車企紛紛配備NVIDIA,地平線等芯片公司的最新車規自動駕駛芯片,算力從最早的Mobileye EQ4 2.5TOPS,到地平線J3 10TOPS,NVIDIA XAVIER 30TOPS,一路卷到如今地平線J5單芯片96TOPS,NVIDIA Orin單芯片250TOPS開始落地實際產品,以及剛剛NVIDIA公布的期貨號稱具有2000TOPS算力的雷神Thor,種種跡象表明關于絕對算力的軍備競賽已經開始并且必定成為日后一段時間最賺人眼球的營銷噱頭,畢竟算法的優劣一般消費者難以直觀感受,那么算力如果代表智力,自動駕駛和人工智能肯定智利最重要啊,那么一個簡單的數字就可以比較出優劣長短,就好像三國里武力100的呂布就穩壓武力99的趙云一頭,然而實際上兩人從未實際交手,到底誰厲害?其實在三國歷史上在武力上可能超出兩人的大有人在,但不妨礙熟讀演義的朋友為兩者誰是三國最強爭得面紅耳赤。 其實車規芯片算力遠遠落后于PC上的主流顯卡,這些芯片為了滿足車規嚴苛的測試環境,不得不犧牲部分性能,以目前市面可以見到的TOPS最高的Orin為例,價格很高,性能卻不如價格更低的主流游戲顯卡,由此可見單純追求TOPS根本就不是車規自動駕駛芯片的首要目標,而且現在學術界開源的深度學習模型基本上以PC顯卡進行訓練推理,往往一個BEV模型就把Orin資源拉滿了,難以想象FSD上面跑了如此之多復雜深度學習模型究竟是如何才能保持高頻流暢的。所以到底是為什么理論單核算力只有72TOPS,采用如今看來略顯古典的14nm工藝,3年前發布的老芯片實戰中擁有如此強大的能力,甚至至今還尚有潛力沒有挖掘呢? AI Day雖然沒有著重講FSD芯片,但是討論了很多硬件方面的優化,從其中可窺得一二。下圖中談到系統性能等于硬件極限算力與系統軟件效率與神經網絡加速器的占用率三者乘積相等。換句話說,無論硬件理論TOPS有多高,三者中任意短板都會使得整體系統性能受到極大的損害,而這一宏觀邏輯在整個算力優化中都是適用的,無論在推理端還是在訓練端。 ![]() AI Day談到系統性能的計算方法 AI Day上還有談到硬件中最貴的核心部件就是神經網絡加速器單元,因此為了提高系統的單位成本整體性能,最經濟的方法就是保證神經網絡加速器的最高效利用,而神經網絡加速器主要由并行排列的乘加運算單元組成,我們平時所謂的TOPS,也就是理論上當所有這些乘加單元全部滿負荷工作的時候一秒鐘可以完成的萬億次整型運算次數。然而想要保持乘加運算單元一支高效運行絕非易事,有著高TOPS的AI芯片就好比有一門超高射速的速射機關炮,而要想保持這門機關炮飽和火力輸出,顯然傳統的手工填彈方法是絕對不行的,如果由送彈手一發一發的人工裝載,那你機關炮射速再快,實際能發揮出來的也就是填彈手填彈速度。在AI芯片中,將存儲的計算任務所需的張量傳給乘加運算單元的存儲單元就可以看做是這個填彈手,而AI編譯器是否能夠對神經網絡進行合理的流水線編排,并行化處理,算子融合等優化并生成高效的指令,并通過大帶寬的存儲硬件傳遞進神經網絡加速器,就是決定填彈手能否高效填彈的流程和機制。 ![]() 手工填彈無法滿足速射機關炮飽和火力輸出 FSD芯片在涉及時候就充分考慮了上層算法軟件的設計選型,針對很多神經網絡層是帶寬密集型模塊,設計了大面積的片上SRAM,這些SRAM相比傳統使用的DRAM雖然成本高,容量低,但是帶寬極高,再加上位于片上,與運算單元間物理距離極小,FSD芯片設計還優化了整體數據流連路,進一步減少電信號在芯片中移動距離,能非常高帶寬低延遲的將模型參數和待運算的張亮送進運算單元。而算法與芯片間的AI編譯器也充分考慮算法設計和底層硬件特性,而這部分雖然AI Day沒有詳細介紹,但是這部分是很多推理優化技術發生的地方,而針對性的適配硬件軟件是最大程度的推理優化的前提,而這正是Tesla與蘋果這樣的軟硬件一體化公司的競爭優勢和核心壁壘所在。 ![]() 軟硬件一體化的Tesla通過優化AI編譯器和底層硬件設計最大化提高了芯片實際性能 基于DOJO的訓練服務器也已經取得了不錯的進展,AI Day透漏預計2023年Q1將會開始交付用以進行AutoLabeler訓練的DOJO服務器。DOJO的設計上也沿用了同樣的設計理念,比如使用專門針對視頻的硬件解碼器來加速Tesla常用的視頻片段數據的解碼,強調對于片上SRAM和高速內存HRM的使用,強調最短的片上信息傳輸鏈路設計,以最大程度保證運算單元的滿負荷運行。而Tesla分布式訓練框架采用了模型并行而不是常見的數據并行策略,而為了進行模型并行,還涉及到優化片間梯度的同步效率,這里使用了Tesla自研的通訊協議Tesla Transport Protocol(TTP)來保證高效。 ![]() DOJO使用了自己開發的接口處理器,使用了自研的高速通信協議 Tesla舉了一個在模型并行訓練中通信延遲(也就是公式中Utilization部分)起決定性作用的Batch Normalization的例子來說名DOJO的優化帶來的收益,使用24個GPU集群的服務器在計算一個Batch Normalization時候延遲是150us,然而在25個D1組成的DOJO訓練服務器上,同樣的Batch Normalization只需要5us就可以完成,效率提高了30倍。 ![]() DOJO在Batch Normalization的性能方面取得了顯著的成果 另外在加速器使用效率(也就是公式中Accelerator Occupancy部分)上的優化,Tesla給出訓練中占用負載最高的AutoLabeler和Occupancy Network部分優化前后的性能分析對比,優化前DOJO加速器占用率只有4%,大量時間消耗在數據讀取裝載上,而優化后,極速器利用率達到了97%,保證了DOJO高效的使用。 ![]() DOJO優化了數據裝載,極大的提高了運算單元的利用率 最終DOJO研發的目標是提高Tesla模型訓練的效率,同時降低GPU集群服務的成本。Tesla在AI Day上生成4個JOJO集群箱子就可以帶來等效目前72個GPU集群的性能,如果情況屬實,那么可以想像這將給Tesla模型迭代帶來巨大的效率提升,同時也能節省大量購買GPU集群的成本。然而在Q&A環節有人提問ELON,因為DOJO使用了7nm工藝芯片,整體研發設計的費用應該很高,從研發成本角度其實不一定比購買市場上的GPU集群更具經濟效益,這里老馬的回答也肯定了提問者的猜想,確認如果DOJO訓練集群效果符合預期,那么Tesla是希望能夠以付費IaaS的方式開放DOJO訓練服務給同樣有需要進行云端訓練加速的用戶使用的,而如果發展順利,這個能使得Tesla在高速發展的Data Center業務中也取得一席之地。 ![]() 3.人形機器人Tesla Bot部分技術亮點AI Day開始前老媽的Twitter以及宣傳造勢都引發了大家對于Tesla Bot產生了濃厚的興趣,然而發布會后很多人對Tesla Bot不免心生失望,因為從學術研發角度看,這個機器人確實沒有多少能引起學術圈興趣的亮點,然而要知道人形機器人的研發難度理論上要遠高于電動汽車,然而AI Day I上還是個概念,時隔一年就已經由原型機,并且相對各個部分功能完整,這已經是十分令人驚嘆的技術成就。另外就跟自動駕駛領域里Tesla的思路與學術界大相徑庭一樣,Tesla Bot首要目標是成為量產產品,自然研發理念和流程都會與學術界不一樣,新穎和創新肯定不是這個階段的重點。我個人專業是機器人無人車,然而對機器人并沒有實際工作經驗,所以這部分簡單寫寫我在AI Day看到的有意思的點,其他更詳盡的技術分析就留給別人吧。 1.材料選型執行器設計都把量產成本放在核心, 利用類似Tesla電動車研發中的有限元分析辦法,通過如下圖所示的硬件成本和執行器質量曲線,選取最經濟的執行器設計,并考慮的執行器的互換性和可制造性,為周身28個執行器選取了6個最終設計。 ![]() ![]() 六個最終執行器設計 2.靈巧的手部設計,這里有人提及過Tesla手部設計缺少反驅等是比較令人失望的,這部分我不太懂,但是直觀感受是這個手部與人類很像,還能通過視覺輔助做一些精巧的如捏住水壺,搬運零件的靈巧工作,最重要的這些工作不是預先編程好的,具有一定通用性,這些正是一個可以輔助人類的機器人所應具備的能力。Elon曾經提到可能會開發帶有輪子的特殊版本Tesla Bot以進行特殊應用,不知現在是否還是這個規劃,但可以看出對于機器人來講,能夠執行實際工作的靈巧雙手往往比能夠進行復雜步態運動的腳更加重要。 ![]() 原型機Bumblebee可以利用視覺指引靈巧地用手抓住水壺并進行澆花 3. 緊湊的設計,這里可以看到Tesla不僅復用了車端AI計算機和電池,還將之前概念中纖細好看的身體設計基本延續了下來。AI Day提到在涉及方面刻意優化了全身執行器重量,優化了靜態狀態能耗,而Optimus將使用2.3kwh電池就足矣提供大概一天的工作能量,這些設計理念雖不是技術上的創新,但是極大提高了這款人形機器人的實用性和口水度,可以想見以如今Optimus的外觀設計結合勉強可用的功能和可承受的價格,一旦未來推出市場,大概率是又一爆款產品,對比之下Atlas雖然在跑酷能力上極其優秀,但他背著3.7kwh電池只能工作<1小時,頭頂價格昂貴易壞的機械式Lidar,300斤的體重,都使得家庭使用變得不那么切合實際了。 ![]() 運算和供能組建全部集成進軀干,最大程度輕量化四肢 ![]() 最新機型Optimus明顯比Bumblebee更接近2021年概念設計 ![]() 波士頓動力的Altas擁有3.7kwh電池,頭頂有Lidar,體重300斤 4. 延續自智能駕駛的智能,Tesla在人形機器人步態運動控制方面相比Boston Dynamics顯然是個剛入行的新手,然而Tesla研發人形機器人的初衷便是最大程度上利用Tesla在造車和自動駕駛方面的優勢,特別是自動駕駛研發過程中積累的算法經驗,數據驅動能力,AI芯片能力,模型訓練能力這些,也就是說智能是Tesla投入機器人領域最核心的競爭力。這一點雖然Tesla Bot誕生不久,但可以看到他已經可以較好地利用起FSD中的Occupancy Network,語義感知能力,來幫助Tesla Bot與周圍環境互動。像在Occupancy Network那部分提到的,這一技術是純視覺具有里程碑意義的技術,因此Tesla Bot如果可以成功借鑒顯然是一大優勢。另外機器人技術設計很多強化學習方面的算法,比如讓機器人通過人類示教就能學會一類通用工作的執行方法,這就需要強大的模仿學習能力,而Tesla在自動駕駛規劃方面也利用了類似的方法來使AI模仿人類開車技巧,就如下圖,通過人類示教,機器人學習并泛化了半箱子這一能力。而我認為這也是擁有人類身體構造,且與正常人類身高體重相近的機器人的優勢,沒有這些條件,人類示教就必然受到種種條件限制。 ![]() Tesla Bot使用價格低廉的三個相機繼承了FSD的大部分視覺感知和智能能力 ![]() Tesla Bot可以通過人類示教遷移獲得更通用的能力 人形機器人展望最后展望一下Tesla Bot的前景,有很多人質疑雙足人形機器人研發難度又大,有沒有實際意義,輪式四足似乎都比人形機器人有著明顯的優勢,但是正如剛才前面提到的,人形且與人類體格相近使得人類示教機器人完成各種人類習以為常的工作執行方法稱為可能,而人類環境,無論是Tesla工廠還是家庭住宅,都有大量專門適用人類身型的設計,是其他機器人所無法完成的,比如機器狗可能比較難夠到爐臺上的鍋,然后像人一樣炒菜做飯,也很難舉起只有人雙手能夠舉起的箱子重物。有機器人創業者認為人類基礎設施一直在為了提高效率適應工具而革新,舉例來說,就是在汽車發明前,人類并沒有這樣多平整寬闊的硬質路面,因此只要有了有效的機器人,那么人類的環境也會為之迭代進化,但是這樣就會遇到環境變化依賴于成熟完善的機器人出現,機器人出現又要求環境適應自己而變化這樣的雞生蛋蛋生雞的悖論,因此我顯然認為一個能適應現有人類基礎設施的人形機器人是更容易推廣的。另一方面,單純就更容易為人類接納,融入人類社會的角度,顯然人形機器人也有其先天優勢。 最后的最后,如老馬所言,如果人類機器人真正成為一個可用,好用的產品,那么這意味著比新能源汽車更大的市場規模,這樣巨大的商業機會值得去嘗試,去創造,更何況Tesla已然在AI方面取得了不錯的成果,why not? 4.總結2022 Tesla AI Day我個人看完感覺有以下三點明顯的特點:1. AI Day主要目的是通過技術分享確立Tesla在人工智能領域的影響力從而吸引全球頂尖人才的加盟,因此AI Day的技術分享極其硬核其硬核程度讓很多從業者都會覺得腦細胞有點不夠用,基本上不適合股票分析師和純粹的車主粉絲等缺少技術背景的朋友們觀看,因此分享進入愈發艱澀難懂的后半段,給了幾個鏡頭,現場已經不斷有觀眾離席,座位空了不少。2. 隨著2022年上半年開始,在業界擁有巨大影響力的原Tesla AI視覺算法總監Andrej Karpathy逐漸淡出公司,業界不少質疑Tesla在自動駕駛和人工智能方面的發展是否遭受嚴重打擊,因此這次AI Day可以看到Tesla前所未有地拉出23人的研發核心團隊進行分享(包括3位華人和1個韓裔小姐姐),用去中心的方式展現了充足的人才儲備,打消了人們對于AK離職的疑慮。3. Tesla在AI Day上的分享開放程度為之前歷次分享之最,除了最新的人形機器人外,之前一直沒怎么公開的Planning部分,地圖指引下的感知部分也都有專門的模塊進行討論,另外最近幾年隨著FSD退出才逐漸成為學術界研究熱點的BEV感知這次幾乎從頭到尾一字未提,反而是最新的Occupancy Network成為了技術分享的主角之一,可見Tesla短短一年時間已經完成從2D的BEV感知到3D的柵格感知的轉變,可見Tesla超快的創新速度正是其敢于公開技術方案的底氣所在,基本上Tesla在自動駕駛這個賽道已經明牌,就等其他友商接招了。 最后分享一個趣事,軟件2.0的概念實際上是Andrej Karpathy提出,除了數據驅動的軟件2.0以外其實還基于最近特別火的超大語言模型的發展,提出了軟件3.0 引導編程Improptu Programming的概念。 ![]() Karpathy在Twitter上分享軟件1.0到軟件3.0 而AI Day II開始前,Karpathy也和朋友打賭,如果Software 2.0在AI Day上被提及,自己就喝5杯特斯拉龍舌蘭shots(Tesla Tequila), Elon顯然聽說了這個打賭,然后下面就是Karpathy當晚最后的twitter。 ![]() Karpathy發推喝下Tesla Shots 版權聲明:本文為知乎「EatElephant」的原創文章,已獲作者發表許可。 |
|