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