特斯拉的HW 3.0自動駕駛大腦:性能怪獸

注:下文作者Chanan Bos,由@冷酷的冬瓜 翻譯整理。


特斯拉的HW 3.0自動駕駛大腦:性能怪獸

Chanan Bos,2019年6月15日

https://cleantechnica.com/2019/06/15/teslas-new-hw3-self-driving-computer-its-a-beast-cleantechnica-deep-dive/

特斯拉的HW 3.0自動駕駛大腦:性能怪獸

一個月前,特斯拉透露了這家硅谷公司為完全自動駕駛(Full Self-Driving,FSD)設計的新芯片的幾個秘密。儘管如此,並不是每個人都完全瞭解芯片設計——我不屬於這一類,因為我是電腦愛好者已經有很長一段時間,瞭解的一些信息可能幫我挑出一些亮點,指出了為什麼這件事情是如此令人興奮、並進一步探討特斯拉是如何實現競爭中的領先地位。我也有一些關於這個新芯片能帶來什麼的理論。


長文預警:這篇文章仍然是偏技術的,我盡力用簡單的文字來解釋要點。


主板上有什麼?

首先,我們可以看到主板的大致照片。主板有完整的備份,這意味著主板上的任何系統發生故障之後,程序將繼續運行,就像什麼都沒有發生一樣。主板的右邊是所有攝像頭接入的地方,左邊是電源以及一些輸入和輸出連接。在主板的中間,你可以看到兩個處理器(注意“處理器”只是一個半精確的描述,稍後我們會談到)。特斯拉使用2個處理器來實現冗餘和結果交叉參照,而不是為了提高性能。

“很不錯的分析。這兩個處理器將被使用並以大約每秒20次的頻率同步。這對處理器來說是一段很長的時間:就像雙引擎飛機,使用兩個引擎最大限度地保證正常的運作,但可以安全地操作只有一個。”

特斯拉的HW 3.0自動駕駛大腦:性能怪獸

在處理器的下邊靠左一點(藍色方框)是存儲操作系統的閃存芯片。目前每個芯片的容量是未知的,但考慮到現在你甚至都可以買到一個容量為500GB的micro-SD卡,那麼特斯拉的這顆閃存芯片容量可能是相當大的。

在每顆處理器的左側和右側,您可以看到4個LPDDR4芯片(綠色方框)。處理器是三星的,這也讓一些人誤以為RAM也是三星的,但事實並非如此。

特斯拉的HW 3.0自動駕駛大腦:性能怪獸

如果你仔細看芯片,你可以看到一個小標誌。三星並沒有在它的內存芯片上使用這樣的標識,但是美光卻有,而且它的標識,尤其是它在芯片上使用的標識,似乎與我們在這張圖片上看到的非常接近。美光還生產LPDDR4內存,甚至有一條針對汽車行業的產品線。特斯拉選擇美光而不是三星的原因可能是他們的LPDDR4 RAM有更高的時鐘頻率2133 MHz,而三星則為1600 MHz。

LPDDR4芯片是DRAM的一種,本文後面將會提到它。從某種角度來看,LPDDR4是DDR4的低功耗版本,目前用於臺式機和筆記本電腦。LPDDR4比DDR4稍微慢一點,但是根據不同的型號,在某些情況下可以比DDR3表現得更好。LPDDR4目前也被用於智能手機。

特斯拉的HW 3.0自動駕駛大腦:性能怪獸

取下散熱片,就能看到處理器,特斯拉已經告訴了我們很多關於它的信息。處理器尺寸約260 mm2。從這個角度來看,iPhone的處理器大約是80-120 mm2,英特爾筆記本/臺式處理器芯片大約是180 mm2, NVIDIA的Xavier芯片是350 mm2,專用顯卡上的芯片從400到800 mm2不等。


特斯拉SoC的核心(或大腦)

首先我們要澄清一個巨大的誤區。我之前稱特斯拉的芯片為處理器,但這並不完全準確。它實際上是一個完整的片上系統(SoC)。特斯拉把一箇中央處理器CPU,一個圖形處理器GPU,兩個神經網絡處理器NPU,以及一堆你可能甚至不知道的、但是存在於這片芯片上的其他東西。

特斯拉的HW 3.0自動駕駛大腦:性能怪獸

從攝像頭的圖像開始,根據數據流向,特斯拉解釋了整個過程。首先,數據以每秒25億像素的最大速度採集輸入,這大致相當於以每秒60幀的速度輸入21塊全高清1080P屏幕的數據。這比目前安裝的傳感器產生的數據多得多。這些數據然後進入我們前面討論的DRAM,這是SoC的第一個也是主要瓶頸之一,因為這是處理速度最慢的組件。然後數據返回到芯片,並通過圖像信號處理器ISP,每秒可以處理10億像素(大約8個全高清1080P屏幕,每秒60幀)。這一階段芯片將來自攝像頭傳感器的原始RGB數據轉換成除了增強色調和消除噪音之外實際上有用的數據。

然後我們就來到了整個芯片中最有趣的部分,神經網絡處理器,即NPU。該過程的第一步是將數據存儲在SRAM陣列中。現在很多人——甚至是那些對計算機組件略知一二的人——可能會想,“SRAM到底是什麼?”嗯,最接近的比較是在計算機處理器上能找到的共享L3緩存。這意味著什麼呢?這意味著存儲速度非常快,但同時也很貴。目前,Intel最大的L3緩存是45 MB(2010年以前是16 MB, 2014年以前是24 MB)。大多數消費級筆記本電腦和桌面處理器都有8-12 MB的L3緩存。特斯拉的神經網絡處理器有一個龐大的64MB SRAM,它被分成兩個32 MB的SRAM段來支持兩個神經網絡處理器。特斯拉認為其強大的SRAM容量是其相對於其他類型芯片的最大優勢之一。

這個配置看起來有足夠的內存來存儲、渲染和處理所有攝像頭和傳感器組合輸入的單一幀,但是由於圖像幀並不是低質的JPEGs,而是大型增強的無損幀,所以內存可能仍然不夠。請記住,如果攝像頭確實以每秒60幀的速度工作,那麼SRAM中的一個合併幀可能相當於每秒處理3.84 GB的數據。由於單個幀可能更大,我甚至不想冒險猜測這是多少GB/s,但我知道它小於68 GB。

所有的數據通過芯片的主通道,也被稱為“片上網絡”或“NoC”(圖中被塗成藍色),然後是LPDDR4 DRAM,通過它,數據傳輸的帶寬為68 GB/s。特斯拉在自動駕駛日的發佈會上表示“雖然這已經足夠了,但還可以做得更好”,從這一點我們可以推測,特斯拉可能會在下一代產品中改進這一技術。目前,還不完全清楚瓶頸是DRAM的帶寬還是SRAM的數量。

神經網絡處理器是一個非常強大的工具。很多數據都要經過它,但有些計算任務還沒有調整到適合神經網絡處理器上運行,或者不適合這種處理器。這就是GPU的用武之地。該芯片的GPU(每輛特斯拉都有)性能適中,運行速度為1 GHz,能夠處理600 GFLOPS數據。特斯拉表示,GPU目前正在執行一些後處理任務,其中可能包括創建人類可以理解的圖片和視頻。然而,

從特斯拉在其演示中描述的GPU的角色來看,預計該芯片的下一次迭代將擁有一個更小的GPU。

還有一些通用的處理任務不適合由神經網絡處理器處理、而由CPU來完成的。特斯拉解釋說,芯片中有12個ARM Cortex A72 64位CPU,運行速度為2.2 GHz。儘管這樣——更準確的描述應該是有三個4核cpu——特斯拉選擇使用ARM的Cortex A72架構有點令人費解。Cortex A72是2015年的一個架構。從那以後,A73, A75,甚至幾天前A77架構已經發布。埃隆和他的團隊解釋說,這是他們兩年前開始設計芯片時就有的東西。對於Tesla來說,這可能是一個更便宜的選擇,如果多線程性能對他們來說比單個任務性能更重要,那麼這是有意義的,因此包含3個較老的處理器而不是1個或2個更新或更強大的處理器。多線程通常需要更多的編程工作來正確分配任務,但是,嘿,我們正在談論的是特斯拉——這對它來說可能是小菜一碟。無論如何,該芯片的CPU性能比特斯拉之前版本HW 2.0的CPU性能高出2.5倍。


英偉達覺得有必要挽回面子

講了很多技術問題,讓我們休息一下,給大家看一些有趣的東西。特斯拉的自動駕駛日結束後,英偉達(NVIDIA)發表了一篇新文章,稱讚特斯拉“提高了自動駕駛的門檻”。緊接著,英偉達為了挽回顏面,用毫無用處的比較標準來鼓勵自己。

特斯拉的HW 2.0由NVIDIA Xavier芯片驅動,該芯片的算力可達到21至30 TOPS(Tera Operations Per Second)。特斯拉最新推出的HW3芯片最高可達144 TOPS。

特斯拉在其演示中表示,NVIDIA的Xavier芯片可以達21 TOPS。英偉達試圖糾正特斯拉,因此在其文章中說,它實際上是30 TOPS,而不是21 TOPS。問題是,NVIDIA的Xavier芯片是為“多種用途”而設計的,它儘可能地符合多個潛在客戶的要求。因此,該芯片沒有神經網絡處理器,但可以使用軟件和一些側重深度學習的硬件成功地模擬出神經網絡處理器。特斯拉說最多21 TOPS,這是通過芯片上的GPU模擬神經網絡得出的結果。特斯拉的參考標準非常簡單。“在這個硬件上,我們的軟件可以達到多少TOPS?”這是一個完全不同的問題,相比“在運行充分利用芯片的軟件情況下,這個硬件能夠支持的最大算力是多少TOPS”來說。理論上,如果芯片被要求在另一個場景中執行其他任務,它可能會達到30 TOPS以上,但在這種情況下,這是一個非常無用的指標。儘管如此,英偉達為其他客戶或潛在客戶澄清是非常明智的。

需要注意的是,在對一個複雜的軟件進行基準測試時,所考慮的都是特定軟件能夠實現的性能。這就是為什麼最好的硬件並不總是理論上性能最高的硬件。

在過去,我們通常只有一個通用處理器和一個數字協處理器。然後是圖形協同處理器,然後是現在的神經網絡協處理器。儘管,具有諷刺意味的是,在這種情況下,CPU更像是神經網絡處理器的協處理器。基本上,特斯拉所做的就是創造了一個專門的處理器,它能更好地完成特定的任務,但在一般的計算任務卻很糟糕。所以,是的,這個芯片唯一擅長的“遊戲”就是在我們生活的“矩陣”中穿梭——它真的很擅長這個。

特斯拉的HW 3.0自動駕駛大腦:性能怪獸

為了進一步捍衛它的“驕傲”,NVIDIA說,當你在該公司的DRIVE AGX Pegasus產品中將XAVIER和一個強大的GPU結合時,你可以達到160 TOPS的算力。如果特斯拉根據自己的應用——由於需要虛擬化神經網絡處理器——它只能利用其中的70%,那就意味著最多112 TOPS,而且產生大量能耗。英偉達還說,DRIVE AGX Pegasus可以通過兩個堆疊達到320 TOPS,但這個針對特斯拉所需的應用場景這一特定應用來說,這是不現實的。

當我們談論網速時,我們不僅關心速度,還關心延遲/響應時間。在這種情況下,特斯拉已經在抱怨數據從芯片旁邊的DRAM到達芯片的延遲。使用脆弱的NVlink(NVlink是英偉達開發並推出的一種總線及其通信協議)總線從多個鬆散連接的芯片傳輸數據的延遲是完全不可接受的。

此外,這還沒有考慮到電動汽車是由電池供電的,而不是由核反應堆供電的,而你需要使用的電量會在你到達高速公路之前耗盡你的電池。效率是關鍵。

英偉達的解決方案更側重於結合多個芯片的性能。它的市場需求是擁有多核、更好的SPUs、更好的GPUs,並將它們通過NVlink連接起來,而不是專為特定應用場景創建的解決方案。這對於試圖改進軟件或大學項目的公司來說是很好的,但是這種解決方案對於實際應用來說不夠有效。


HW 4.0

上面就是特斯拉的HW 3.0。那麼,我們對HW 4.0有什麼期待呢?目前,我們所知道的是,它的目的是進一步提高安全性。唯一真正告訴我們的是,它不會專注於讓一輛舊車學習新技術,但這並不意味著它不會包括一些新技術。以下是我列出的HW 4.0可能帶來的潛在變化和改進,從最可能的到最具推測性的排列如下:

-特斯拉很可能會使用更新的CPU版本,這取決於特斯拉什麼時候開始設計基於A75的架構。增加的處理能力讓特斯拉有機會節省芯片上的功耗和空間,為更重要的組件騰出空間。

-特斯拉可能會升級到LPDDR5,這將導致顯著的速度提升和功耗降低。但是,如果HW 4.0芯片在設計過程中、或者為了降低成本,特斯拉可能會選擇LPDDR4X。通過使用較低的電壓平臺,LPDDR4X節省了能耗,但如果同時使用多個芯片,它仍然可以提高速度。儘管如此,與HW 3.0相比,這種配置並不會節省能耗。任何一種選擇都代表著對HW 3.0的全面改進。

-進一步改進具有更多SRAM的神經網絡處理單元。

-根據芯片上的處理能力是否能夠處理攝像頭傳輸過來的全分辨率和幀速率的數據,特斯拉的HW 4,0可能會配備更高分辨率的新攝像頭和傳感器,甚至可能會有更高的幀速率。更高分辨率的圖像是至關重要的,因為更多的細節將幫助計算機更準確地識別物體,並具備更遠的識別距離。

-升級的圖像信號處理器(ISP)。特斯拉想讓自己的芯片儘可能的便宜和強大。這就是為什麼在HW 3.0中,芯片輸入的處理能力和ISP的處理能力之間存在很大的脫節,因此需要一個更強大的或第二塊ISP,這取決於哪種解決方案需要更低的功耗、更小的空間或更低的成本。

特斯拉的HW 3.0自動駕駛大腦:性能怪獸

-一個更小的GPU。HW 3.0的SoC中還存在GPU的原因之一是,並不是所有的處理任務都轉移到神經網絡處理器中去了。對於特斯拉來說,讓它的程序員有足夠的時間將剩餘的GPU處理任務重新分配給NPU或CPU可能是一條捷徑。完全消除GPU可能是不可能的;然而,一個更小的GPU和更小的SoC佔用導致更少的NoC,這樣可以為更關鍵的組件——如更多的SRAM——勻出預算和空間。


結論

特斯拉的HW 3.0計算平臺絕對是個龐然大物。它可以處理7倍多的圖像幀,有7倍大的神經網絡,正如在演示中所說的,“有很多方法可以使用它”。作為一名計算機愛好者,觀看特斯拉的自動駕駛日演說要比去迪士尼樂園有趣得多。要實現全自動駕駛功能,第一步是分清輕重緩急,特斯拉當然是這樣做的。

有幾點可能大家沒有注意到,這導致人們低估或不理解為什麼特斯拉實際上在開發全自動汽車的競賽中處於領先——遙遙領先——的地位。有一個很好的類似問題。所有其他開始生產電動汽車的製造商都有一些先進的技術,但仍然無法打敗特斯拉2012年上市的Model S,這只是在電動汽車方面的事情,甚至不涉及計算平臺/軟件/UI方面的事情。在電動汽車的競爭中技術沒有跟上的原因很簡單:

垂直整合

讓我簡單解釋一下:假設你是一個製造商,你需要建一個網站。你可以使用一個平臺,在那裡拖放一些小部件、頁面和解決方案並鍵入一些文本,或者你可以讓一個專門的程序員團隊創建一個專業的網站。傳統汽車製造商正試圖通過電動汽車和自動駕駛來實現前者。他們從不同的公司訂購“樂高”玩具,希望它們能搭配在一起。在那些不合適的地方,他們只是用刀來雕刻一個“樂高”,使它適合另一個。另一方面,特斯拉更像埃隆·馬斯克的推文:

特斯拉的HW 3.0自動駕駛大腦:性能怪獸

有了最新的HW 3.0,一切都變得像手套一樣合身,幾乎和你在上面的推特上看到的一樣合身。埃隆·馬斯克曾表示,完全自動駕駛只有在電動汽車上才有意義,他是對的。為了更恰當地突出這一點,我們會說“不值得為內燃機車這樣做”。實時扭矩的缺乏,使得自動駕駛在避免撞車、路面溼滑和結冰的情況下,效率更低,安全性更差,我們將在接下來的一篇文章中深入探討這一點。

然而,最重要的原因是,為即將消亡、即將滅絕的產品,比如燃油車,投資去做自動駕駛解決方案是愚蠢的、天真的。

在為電動汽車開發自動駕駛解決方案時,電能效率可能是僅次於安全性的第二重要指標,而其他汽車製造商或芯片製造商目前對它的考慮還遠遠不夠(或者至少不夠有效)。這也是特斯拉遙遙領先的另一個原因。



相關精彩推薦:


分享到:


相關文章: