“不務正業”的特斯拉 要成為人工智慧巨頭?
前一陣,馬斯克發Twitter宣佈了特斯拉”AI Day”將會在北美時間8月19日正式舉行。 根據之前他的Twitter所說,發佈會將會介紹特斯拉在人工智慧領域的軟體和硬體進展,尤其在(神經網路)的訓練和預測推理方面;這次活動的主要目的是招攬相關人才。
這種做法非常的特斯拉,就像2019年的”Autonomous Day”和2020年的”Battery Day”一樣,估計”AI Day”整個發佈會將會涉及大量的軟體、硬體的技術細節,以此來向外界”秀肌肉”。
而這種技術「秀肌肉」正是特斯拉招攬頂尖人才的獨特方式。 從某種程度上講,特斯拉在召開類似的發佈會時,面向的群體更多的是行業領域的專業人士;用極具野心的規劃方向和顛覆行業的研發成果,去吸引那些因此感到心潮澎湃的人才。
特斯拉的AI硬體負責人Peter Bannon曾在接受採訪時說:「你知道有很多人想要來特斯拉工作的根本原因,僅僅是因為他們想要從事於(FSD)的研發和相關工作。 “事實上,美國近幾年在統計工程類專業學生最想去的公司排名中,特斯拉和SpaceX經常交替排名第一,其實也佐證了Peter所說的這一現象。
(圖/Universum)
儘管此次一如既往的並未洩露什麼”AI Day”的資訊,但僅通過上面那一張預熱圖,就讓不少從事AI領域的人為之興奮不已。
神秘的Dojo電腦晶片
在”AI Day”發佈會的邀請函上,放著一張誇張的晶片圖。
從圖上估測,該晶元採用了非常規的封裝形式,第一層和第五層銅質結構是水冷散熱模組;紅色圈出的第二層結構由5*5陣列共25個晶元組成;第三層為25個陣列核心的BGA封裝基板;第四層和第七層應該只是物理承載結構附帶一些導熱屬性;藍色圈出的第六層應該是功率模組,以及上面豎著的黑色長條,很可能是穿過散熱與晶元進行高速通信的互聯模組;
從第二層結構的圓形邊角,以及擁有25個晶元結構來看,非常像Cerebras公司的WSE超大處理器,即特斯拉可能採用了TSMC(台積電)的InFO-SoW(集成扇出系統)設計。
所謂InFo-SoW設計,簡單理解來說就是原本一個晶圓(Wafer)能夠「切割」出很多個晶元,做成很多個CPU/GPU等類型的晶元(根據設計不同,光刻時決定晶元類型),而InFo-SoW則是所有的晶元都來自於同一個晶圓,不但不進行切割,反而是直接講整個晶圓做成一個超大晶元,實現system on wafer的設計。
這麼做的好處有三個:極低的通訊延遲和超大的通訊頻寬、能效的提升。
簡單來說,由於C2C(晶元與晶元之間)的物理距離極短,加上通訊結構可以直接在晶圓上佈置,使得所有內核都能使用統一的2D網狀結構互連,實現了C2C通信的超低延遲和高頻寬;以及由於結構優勢實現了較低的PDN阻抗,實現了能效的提升。 此外,由於是陣列多個小晶元組成,可以通過冗餘設計來避免「良品率」問題,以及實現小晶元處理的靈活性。
舉個形象的例子,特斯拉前一陣公佈的超級電腦,一共用了5760個Nvida A100 80GB的GPU,那麼在這些晶元之間,需要海量的物理結構進行連接以實現通訊,不僅耗費大量成本,且由於連接結構的頻寬限制成為”木桶短板”,導致整體效率較低,並且還有分散的龐大散熱問題。
這裡拿Cerabraas的WSE-2作為參考對比,一個晶元的核心數是Nvdia A100的123倍,晶元緩存為1000倍,緩存頻寬為12733倍,Fabric結構帶寬則為45833倍。
這樣級別的性能怪獸其主要目的,就是為了AI的數據處理和訓練。 其一代晶元WSE,已經有多個重量級使用者在使用,比如美國阿貢國家實驗室、勞倫斯利弗莫爾國家實驗室、匹茲堡超級計算中心、愛丁堡大學的超級計算中心、葛蘭素史克、東京電子器件等。
全球製藥巨頭葛蘭素史克的高級副總裁Kim Branson稱讚到,WSE的超強性能將訓練時間減少到之前的1/80。 而在美國最大的科學與工程研究室阿貢國家實驗室,WSE晶元被用於癌症研究,將癌症模型的實驗周轉時間減少到1/300。
所以不難推斷出,”AI Day”邀請函上面放出的這張圖,應該就是馬斯克所謂的Dojo超級計算機的自研晶元。 並且頗有意思的是,發佈會的時間是2021年8月19日,而就在剛好一年前的2020年8月19日,馬斯克發了一條Twitter說:”Dojo V1.0還未完成,估計還需要一年的時間。 不僅僅是晶元本身的研發難度,能效和冷卻問題也非常的難。 “
之所以說冷卻問題難,是因為根據標準晶圓一塊是300mm來看,那麼特斯拉這塊Dojo晶元設計單個晶元應該與RTX 3090差不多,至少每個晶元有280億-320億個左右的晶體管,單個晶元功耗可達250-300w左右,整體功耗約在6250w-7500w左右;並且台積電也曾說InFo-SoW設計的最高功耗約為7000w,同樣印證了這一點。
幾個月後,他又補充道:「Dojo採用我們自研的晶片和為神經網路訓練優化的計算架構,而非GPU集群。 儘管可能是不準確的,但是我認為Dojo將會是世界上最棒的超算。 “並且,馬斯克在2021年Q1財報時也曾說:Dojo是一台為神經網路訓練優化的超級計算機。 我們認為以視頻數據處理速度而言,Dojo將會是全世界效率最高的。 “
其實馬斯克早在2019年”Autonomous Day”就提到過Dojo,稱Dojo是能夠利用海量的視頻(級別)數據,做”無人監管”的標註和訓練的超級計算機。
並且如果認真瞭解過2019年”Autonomous Day”發佈會,就會發現,特斯拉推出Dojo超算以及自研晶元,是必然且在規劃中的事,是特斯拉不得不去做的事。
換句話說,不是特斯拉想要成為人工智慧巨頭,而是被逼無奈只能如此。
為什麼要做Dojo?
其實這個問題馬斯克曾在Twitter中回復過,大致意思為:”只有解決了真實世界的AI問題,才能解決自動駕駛問題…… 除非擁有很強的AI能力以及超強算力,否則根本沒辦法…… 自動駕駛行業大家都很清楚,無數的邊緣場景只能通過真實世界的視覺AI來解決,因為整個世界的道路就是按照人類的認知來建立的…… 一旦擁有了解決上述問題的AI晶元,其他的就只能算是錦上添花。 ”
其實馬斯克已經講的很清楚了,筆者來稍微補充一些知識便於理解。
目前自動駕駛需要解決的難題,其實最核心和最困難的就是”感知”,換句話說系統對周圍駕駛環境的感知能力越強,其自動駕駛的綜合能力就越強;也就是從這裡,行業里分成了兩大流派,一個是以特斯拉和Mobileye(同時也有Lidar方案)為首的純視覺方案;另外是其他所有相關公司,想盡可能加入更多的感測器融合方案。
這裡暫且不去討論究竟哪條路徑是正確的,因為很有可能未來實現殊同同歸的結果。
但是,無論是哪條路徑,都需要對海量的數據進行深度學習,也就是對神經網路的訓練,才有可能實現所謂完全自動駕駛,而且這是唯一途徑。
原因很簡單,自動駕駛的問題,可以理解為處理可能遇到的各種駕駛場景以及做出的操作,那麼這個基本是”無限”的;如果有有限的程式設計方式,那麼永遠無法解決所有可能遇到的問題,或者說以人類的能力,根本無法覆蓋那麼多種變化的情況。
早期的各種自動駕駛系統,由於沒有別的途徑,只能用這樣的”死板”方式去研發軟體,所以其能力非常有限,只能應付相對穩定和條件限制較多的場景。
而如果想要實現識別各類型的場景,那麼就需要這個”軟體”不斷自我適應和”進化”,這就是利用神經網路進行深度學習的原因了。
神經網路可以簡單理解為通過「仿生學」類比人類大腦皮層的神經元「溝通學習」的方式進行處理數據,用來實現「類人」的學習東西的方式。 然而,概念很美好,現實很殘酷。
1943年Warren McCulloch和Walter Pitts曾寫過論文講述人工神經網路該如何工作,並且利用電路造了一個簡單的模型。 後來經過諸多人的努力和研究發展,直到1998年,斯坦福大學的Bernard Widrow和Marcian Hoff才打造出了第一套用於解決實際問題的人工神經網路。
1956年,達特茅斯夏季會議上各路大牛提出了AI定義,大大推動了AI和人工神經網路的發展,也被廣泛認為是AI元年。 當時人們信心滿滿,認為不用20年就能打造出跟人腦差不多一樣的AI系統。 結果在不斷研究中發現,深度神經網路的演算法太過複雜,從而無從下手。 於是放棄了當初”大而全”的目標形式,轉為以執行單一目標為方向。
這其中除了因為對人類大腦的認識非常膚淺(到現在也沒有進步多少),以及人工神經網路架構的局限和軟體演算法的局限之外,更多的就是算力問題,也就是受到半導體行業發展的限制。
李開複博士在做他的語音辨識功能博士論文時,哪怕在當時他所採用語音資料庫算非常大的,其實也不過僅有100MB,卻花費了他導師近10萬美刀,在1988年相當於兩套房子的價格。 而如今動輒幾個PB的數據量,算力成為了限制很多AI發展的瓶頸。
補充一個知識:不同的處理器晶元所具備的能力各不相同。 例如CPU更多的通用計算,可以理解為總指揮,負責邏輯上更線性的計算和判斷;而GPU則是專職於圖像處理的晶元,能夠同時輸送較大的數據量和進行矩陣計算,加之已經是成熟的量產產品,所以被大量應用於AI學習。
而NPU(Neural Processing Unit,神經網路處理器)則是從設計層面就專職為神經網路學習優化的,像Google的TPU和特斯拉的FSD晶元都屬於NPU序列,這類晶元扔掉了類似GPU中不需要的功能,僅為神經網路所需要的數據處理形式服務,其速度和能效要高很多。
但是,這裡還需要區分ASIC(Application Specific Integrated Circuit,專用積體電路)晶元和FPGA(Field Programmable Gate Array,可程式設計邏輯門陣列)晶元,其中ASIC晶片就是生產後,其運行邏輯和功能就固定了,不能修改,為某項任務(軟體)而生,能效極高 ;而FPGA則是可以通過軟體改變其運行邏輯,為半定製的晶元,可以通過軟體對其進行修改,適合進行訓練和優化所用,能效相比ASIC晶片低一些。 像TPU和FSD都屬於ASIC晶元,而特斯拉此次發佈的Dojo晶元就屬於FPGA序列。
回過頭來,市場上既沒有符合需求的車載晶片可用,也沒有符合需求的超算來更好的利用這些數據,特斯拉想要實現這一切,在當時只有自己去做軟體和硬體,當年特斯拉在2016年立項做FSD晶元時,Google的專屬AI晶元TPU才剛剛問世,而車載的AI晶元幾乎沒有能用的。
所以,當年很可能FSD和Dojo的立項時間不會差太遠,只是由於考慮到能耗和需求問題,Dojo等到7nm的技術相對成熟后,才開始逐步推進。
從另一個緯度上去理解Dojo的必然性,是從神經網路學習的計算量級上去理解。 在2019年「Autonomous Day」發佈會上,特斯拉其實已經明示了會去掉雷達,走向純視覺,且是視頻級別的數據進行直接處理。
舉個簡單的例子,一張1080p的圖像,以最簡單的神經網路結構,如果不利用啟動函數(tanh、ReLU)進行數據”優化”,其運算量大概需要4萬多億次;即便採用啟動函數優化的卷積神經網路處理,其運算量也將達到1.3億多次;而如果以視頻形式處理,一秒按24幀計算,也有24張圖像,綜合算下來其運算量是驚人的。
值得注意的是,自動駕駛收集的數據中95%左右都是無效數據,也就是對神經網路訓練壓根沒用,簡單理解來說就是你每天做幾乎相同的捲子,是得不到任何提升的。 所以即便特斯拉的車輛僅在特定觸發條件下才會收集部分數據,但得到的數據量依然非常龐大,需要Dojo這樣為特斯拉自身軟體優化過的定製超算,才能大大提高效率。
此外,前文提到過「無監督訓練」也是Dojo的另一個核心目的,用於大幅度提高訓練效率。
在神經網路訓練中,其實海量的研究人員都是”調參俠”,簡單理解也就是通過不斷調”權重”來讓神經網络判斷越來越準確,或者是通過人工標註各種”正確答案”,讓其學習。 這就會導致「人」成為了效率的短板,從而致使整個過程的訓練速度大幅降低。 而如果實現”無監督訓練”,也就是系統自己通過海量數據和以前”學習”的結果進行自動標註和調整,那麼其效率將會是量子級別的提升。
舉個簡單的例子,Google的Alpha Go擊敗世界圍棋大師相信很多人都知道,也是一個人工智慧在特定領域擊敗人類的標誌事件。 作為對比,Alpha Go經過人工參與調整和標註的訓練結果,經歷了幾年時間擊敗了全球高手。 而作為無監督訓練的範例Alpha Zero,僅用三天時間自己與自己對弈,就擊敗了Alpha Go Lee,在21天打到了Alpha Master的水準,並在40天超越了所有的舊版本。
總結起來,如果特斯拉完成了Dojo的打造,那麼就能夠以驚人的效率用海量的數據進行訓練,解決各種”邊緣場景”的問題,加快自動駕駛系統的成熟和完善;更關鍵的是,特斯拉對其軟硬體的垂直整合度非常高,不僅不受制於別人,而且能夠以此作為服務,給外界提供深度學習的訓練業務。
馬斯克曾表示,一旦相對完善了Dojo,將會開放Dojo作為服務給外界提供訓練業務,並且Dojo能夠承接幾乎所有的機器學習任務。
這也是為什麼馬斯克敢說,未來特斯拉將會是最大的幾家人工智慧公司之一。
會有One More Thing嗎?
此次特斯拉的”AI Day”,不出意料的話會把Dojo晶元作為最重點的內容進行軟硬體的介紹;當然也會覆蓋FSD Beta相關的進展介紹,但就目前的資訊來看,還極有可能會推出新的基於7nm技術的HW4.0硬體。
畢竟在2019年”Autonomous Day”時,馬斯克就說過HW4.0的研發已經進行了一半,所以此次發佈會,也很有可能藉此機會發佈新的車載晶元硬體。
總之,此次特斯拉”AI Day”發佈會,很有可能再次在汽車行業甚至是AI領域掀起一波浪潮,至於到底會不會有更多的驚喜,那就到等那天才能揭曉了。