在近日結(jié)束的Tesla Autonomy活動中,Tesla非常“大方”的介紹了自己的Full Self-Driving (FSD) Computer從系統(tǒng)到芯片的很多細節(jié)。從芯片來看,其“透明度”超過了除Google第一代TPU之外所有的AI相關(guān)芯片。實際上,和Goolge TPU的情況類似,在這次發(fā)布之前,Tesla也做了一定的專利布局,這正好讓我們可以從不同角度更深入的了解Tesla的FSD芯片。
▌時間線
Tesla自動駕駛芯片負責人Pete Bannon首先介紹了芯片研發(fā)的過程:
Feb. 2016:第一個團隊成員入職;
Aug. 2017:第一版流片(經(jīng)過18個月);
Dec. 2017:芯片返回,點亮;
Apr. 2018:BO Release to manufacturing;
Jul. 2018:Production start;
Dec. 2018:Employee retrofits start;
Mar. 2019:Model S & X production start;
Apr. 2019:Model 3 production start
用Pete的話說,從加入Tesla開始到芯片和系統(tǒng)在實際產(chǎn)品中部署,大約用了3年時間,這可能是他做過的項目中用時最短的了。他把這歸功于Tesla很強的垂直整合和并行工作的能力,還特別提到了Tesla有很強的Power supply design,Signal integrity design,Package design,System software,Board design,F(xiàn)irmware,System validation團隊。這里Tesla給了我們一個參考,即設(shè)計,生產(chǎn)和成功部署一顆SoC芯片所需付出的努力和時間。
▌系統(tǒng)和芯片設(shè)計
在具體介紹系統(tǒng)和芯片設(shè)計之前,Pete Bannon首先說了項目的前提,“只有一個客戶Tesla”,這就很大程度上降低了芯片需求的復(fù)雜性。總結(jié)起來,F(xiàn)SD芯片的需求就落到了如下幾點,依次是功耗,算力,Barch size(latency),安全性。在后面的Q&A中,Pete進一步提到Model 3的功耗的目標是每英里250W(Elon Musk對此作了補充,實際的功耗和道路環(huán)境有一定關(guān)系)。
source:Tesla
前面幾個需求主要反映在芯片設(shè)計上,而安全性則在系統(tǒng)層面也有很多考慮,比如大量的冗余設(shè)計。同一塊板卡上的兩顆芯片的供電和數(shù)據(jù)通道都是獨立且互為備份的。而一個很有趣的想法是兩顆芯片同時都對同樣的數(shù)據(jù)進行分析,然后對比分析結(jié)果(或者相互驗證),再得出最終結(jié)論。
source:Tesla
在這個地方Elon Musk還親自插進來講了一下這塊板卡上的任何部分如果出現(xiàn)故障都不會影響基本的汽車的行駛(他在之后的Q&A環(huán)節(jié)還補充說明了這一點)。
之后Pete Bannon就開始對芯片進行非常詳細的說明。首先是芯片的外觀,硅片和一些總體信息。后面的Q&A環(huán)節(jié)中透露了該芯片使用的是Samsung的14nm工藝。
source:Tesla
然后是SoC芯片的基本組成部分,CPU(12核A72),GPU,各種接口,片上網(wǎng)絡(luò)。這些部分都是采用第三方標準IP。
source:Tesla
此外還專門強調(diào)了一個SAFETY SYSTEM(如下圖所示),是一個獨立的CPU,有最終的控制權(quán)。
source:Tesla
當然,芯片中自研的最重要的部分是Neural Network Processor,也是發(fā)布中重點介紹的內(nèi)容。首先是整體信息,每顆芯片有兩個NNP,每個NNP有一個96x96個MAC的矩陣,32MB SRAM,工作在2GHz。所以一個NNP的處理能力是96x96x2(OPs)x2(GHz) = 36.864TOPS,單芯片72TOPS,板卡144TOPS。
source:Tesla
這里比較值得注意的片上SRAM的數(shù)量。如果我們對比Google的初代TPU(256 x 256MAC,24MiB SRAM),這個片上存儲的數(shù)量是相當高的。從下圖也可以看到NNP中存儲器大概占了總面積3/4以上。Pete Bannon的解釋是為了降低功耗,他們的設(shè)計目標是將所有的模型都能存儲在片上。精度的選擇是乘法8bit,加法32bit。
之后Pete Bannon介紹了芯片工作的方式,沒有太多新鮮的東西。讀256B activation和128B weight,經(jīng)過變形和buffer,組合成96x96的乘加,然后在MAC矩陣中進行運算,最后結(jié)果shift out到專門的ReLU和Pool的硬件模塊,然后再以每周期128B的帶寬存回memory。由于MAC矩陣是96 x 96,所以在把數(shù)據(jù)輸入給MAC矩陣之前,需要做數(shù)據(jù)格式的變換。完成這一系列動作,總帶寬需求是1TB/Sec??紤]到所有數(shù)據(jù)都在片上SRAM中,這個帶寬比較容易滿足。
source:Tesla
Pete Bannon還提了一下控制邏輯功耗的問題,認為ICache,Register File和Control邏輯消耗的能量要遠比運算消耗的能量大,所以NNP的設(shè)計就盡量簡化了控制邏輯,只做運算。相應(yīng)的,指令集比較簡單,只有8條指令:DMA Read,DMA Write,Convolution,Deconvolution,Inner-product,Scale,Eltwidth,Stop。編程模型(控制流)也非常簡單,完成一次運算只需配置4個信息。另外也介紹了編譯工具,這個基本也是常見的功能。
source:Tesla
最后,Pete Bannon給出了芯片的實際性能指標,2300 幀/秒,72W。當然我們并不知道這是運行什么網(wǎng)絡(luò)的結(jié)果。如果是講演中給出的如下示例網(wǎng)絡(luò),每幀需要35GOPS,每秒是35x2300=80TOPS,即能達到55%左右的利用率。
source:Tesla
到此我們看到了FSD芯片的一些細節(jié),但還不足以充分了解它的架構(gòu)設(shè)計。實際上,在這次公開之前,Tesla是給NNP申請了一系列專利的[2],我們可以從中看到一些更詳細的東西。
▌專利布局
Tesla目前公開的專利,大體的思路和Google之前給TPU申請專利也是差不多的(Google的神經(jīng)網(wǎng)絡(luò)處理器專利),先申請整體框架和方法的專利,然后是具體運算,數(shù)據(jù)格式準備,Vector處理,包括下面幾個。
Accelerated Mathematical Engine(Sep. 2017)
Computational Array Microprocessor system with variable latency memory access(Mar. 2018)
Computational array microprocessor system using non-consecutive data formating(Mar. 2018)
Vertor Computational Unit(Mar. 2018)
這里先要說明一下,專利和實際實現(xiàn)可能是有很大差別的。我們對專利的閱讀主要是作為對比和參考。下面我們主要看一下第一個專利,即整體架構(gòu)和方法的專利。雖然這里的名字叫“ACCELERATED MATHEMATICAL ENGINE”,但權(quán)力要求里的說法是,“A matrix processor for accelerating convolutions in a neural network”,基本就是一個CNN加速器。
它的基本硬件架構(gòu)主要是圍繞一個大的矩陣處理器(MATRIX PROCESSOR)做文章(如下圖)。
source:Tesla patent “ACCELERATED MATHEMATICAL ENGINE”
Data和Weight分別經(jīng)過一個FORMATTER進行格式的轉(zhuǎn)換,存入BUFFER,之后有一個硬件電路讀出提供給矩陣處理器。專利中提到FORMATTER可以用軟件或者硬件實現(xiàn),它們實際芯片中應(yīng)該是硬件實現(xiàn)的。由于要有效利用這種規(guī)模(96x96)的MAC矩陣,必須把輸入數(shù)據(jù)排好,這個FORMATTER起到了很大作用。因此他們也專門對它申請了專利(Google也是類似情況),有興趣的同學(xué)也可以看看。
在完成了矩陣乘加運算后,結(jié)果會移出(shift)矩陣處理器(根據(jù)專利里的描述,應(yīng)該是從上向下逐級移動)進行后續(xù)處理,包括累加,ReLU,和Pooling。由Vector Engine和Post-Processing Unit完成。這部分也有專門的專利(申請時間要晚一些),表述上和主架構(gòu)專利似乎有點不一致。此外就是控制邏輯部分,這部分是一個盡量簡單的設(shè)計。
下面我們進入矩陣處理器(MAC Array)內(nèi)部看看運算單元的設(shè)計。
source:Tesla patent “ACCELERATED MATHEMATICAL ENGINE”
對比一下Google的專利中的計算單元,
source:Google patent “NEURAL NETWORK PROCESSOR”
可以看出主要的區(qū)別在于Tesla多了一級累加器ShiftAcc,支持的數(shù)據(jù)流也能更靈活一些??偟脕碚f,Tesla描述的架構(gòu)和Google TPU專利描述的NNP("Neural network processor")是類似的,不過看起來在設(shè)計和表述上更為完整。在具體實現(xiàn)上,一個主要區(qū)別在于,F(xiàn)SD芯片主要使用片上SRAM工作,而不像是Google TPU還需要使用片外的DRAM。當然,還是那句話,專利不代表具體實現(xiàn),而且Google的專利要早很多。這里只是單純參考一下。
▌Q&A環(huán)節(jié)的花絮
回到Tesla的活動,在芯片發(fā)布之后還進行了Q&A環(huán)節(jié),這部分其實也很有意思。首先,Elon Musk說了如下一段話(大意),“我們今天之所以要提供如此詳細的信息,就是因為,在一開始,對于Tesla這樣從沒做過芯片的公司來說,要研發(fā)一顆世界最先進的芯片看起來是不可能的。我們的目標就是這樣,而且我們的目標不僅僅是領(lǐng)先一點,而是大幅度的領(lǐng)先。”從這段話可以看出,Tesla自研芯片應(yīng)該是有必要性和能力上的質(zhì)疑的。對于系統(tǒng)和應(yīng)用廠商來說,這種質(zhì)疑也是很正常的。
必要性比較容易講,如問答環(huán)節(jié)所說,Telsa如果每年賣上百萬輛車,而自研芯片能讓整車成本降低,當然就值得去做。而針對芯片研發(fā)的能力的質(zhì)疑,這次發(fā)布算是一個回答。
所以,雖然這顆芯片目前還談不上世界領(lǐng)先(指標上和Nvidia的對比是不太科學(xué)的,這個Nvidia已有回應(yīng)),Musk也要硬著頭皮去說。從另一個角度,這顆芯片至少可以證明自研的可行性。而且Musk也很認真強調(diào)了這套系統(tǒng)的優(yōu)勢在于它的軟硬件都是專門為Tesla的自動駕駛定制的。對比Nvidia,他是這么說的,“Nvidia is great company, but they have many customers, as they apply their resources, they need to do a generalized solution. We care about one thing so private. It was designed to do that increadibly well and the software was also designed runing on that hardware increadibly well. The combination of hardware and software I think is unbeatable.” 看起來Tesla會在這條路上繼續(xù)走下去。在被問道工藝問題的時候,Elon Musk專門提到下一代芯片正在研發(fā)當中(已經(jīng)halfway done)。
在被問道是否使用Lidar,Elon Musk說“l(fā)idar is fool's errand, anyone luck reliant on lidar is doomed.”在后面關(guān)于神經(jīng)網(wǎng)絡(luò)和軟件的talk里,AI網(wǎng)紅Andrej Karpathy也解釋了這個觀點,"Lidar只是回避了關(guān)鍵的圖像識別問題,只是給我們一個技術(shù)進步的假想,雖然可以做一些快速DEMO,最終肯定失敗"。
還有一個關(guān)于實際路測和仿真的問題,Elon Musk說,“Tesla也做很好的仿真,不過還是很難模擬真實環(huán)境發(fā)生的各種情況,如果仿真環(huán)境能夠模擬真實情況(這里他頓了一下)我們也不知道自己是不是生活在仿真環(huán)境中?!焙孟袼_實認真的感知了一下。
▌總結(jié)
Tesla的自動駕駛芯片是FSD系統(tǒng)的最重要部分,其對標的產(chǎn)品應(yīng)該是Nvidia的Nvidia Xavier SoC芯片(參考Hot Chips 30 - 巨頭們亮“肌肉”中相關(guān)部分)??陀^來看,Tesla的芯片和NvidiaXavier SoC芯片在各方面還是有差距的。Tesla的SoC設(shè)計中,除了自研的Neural Network Processor部分之外,其它都是用業(yè)界標準IP,并沒做太多定制工作,只能說中規(guī)中矩。而NNP也是一個比較簡單的架構(gòu),也很難說做了很多架構(gòu)和技術(shù)上的創(chuàng)新。從另一個角度來看,這款芯片如果真的大量使用了,那它至少也是合格的。可以看到,Tesla的目標和執(zhí)行策略是清晰和實際的,這是系統(tǒng)廠商自研芯片的最大優(yōu)勢。
-
芯片
+關(guān)注
關(guān)注
452文章
50224瀏覽量
420996 -
特斯拉
+關(guān)注
關(guān)注
66文章
6287瀏覽量
126414 -
自動駕駛
+關(guān)注
關(guān)注
782文章
13624瀏覽量
165970
原文標題:深度解析:特斯拉「最強」自動駕駛芯片?
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論