當(dāng)前主流的AI芯片主要分為三類,GPU、FPGA、ASIC。GPU、FPGA均是前期較為成熟的芯片架構(gòu),屬于通用型芯片。ASIC屬于為AI特定場(chǎng)景定制的芯片。行業(yè)內(nèi)已經(jīng)確認(rèn)CPU不適用于AI計(jì)算,但是在AI應(yīng)用領(lǐng)域也是必不可少。?
GPU方案
GPU與CPU的架構(gòu)對(duì)比
CPU遵循的是馮·諾依曼架構(gòu),其核心是存儲(chǔ)程序/數(shù)據(jù)、串行順序執(zhí)行。因此CPU的架構(gòu)中需要大量的空間去放置存儲(chǔ)單元(Cache)和控制單元(Control),相比之下計(jì)算單元(ALU)只占據(jù)了很小的一部分,所以CPU在進(jìn)行大規(guī)模并行計(jì) 算方面受到限制,相對(duì)而言更擅長(zhǎng)于處理邏輯控制。 ? GPU(GraphicsProcessing Unit),即圖形處理器,是一種由大量運(yùn)算單元組成的大規(guī)模并行計(jì)算架構(gòu),早先由CPU中分出來(lái)專門(mén)用于處理圖像并行計(jì)算數(shù)據(jù),專為同時(shí)處理多重并行計(jì)算任務(wù)而設(shè)計(jì)。GPU中也包含基本的計(jì)算單元、控制單元和存儲(chǔ)單元,但GPU的架構(gòu)與CPU有很大不同,其架構(gòu)圖如下所示。 ? 與CPU相比,CPU芯片空間的不到20%是ALU,而GPU芯片空間的80%以上是ALU。即GPU擁有更多的ALU用于數(shù)據(jù)并行處理。
GPU與CPU區(qū)別? ? CPU由專為順序串行處理而優(yōu)化的幾個(gè)核心組成,而GPU則擁有一個(gè)由數(shù)以千計(jì)的更小、更高效的核心組成的大規(guī)模并行計(jì)算架構(gòu),這些更小的核心專為同時(shí)處理多重任務(wù)而設(shè)計(jì)。? ? CPU和GPU之所以大不相同,是由于其設(shè)計(jì)目標(biāo)的不同,它們分別針對(duì)了兩種不同的應(yīng)用場(chǎng)景。CPU需要很強(qiáng)的通用性來(lái)處理各種不同的數(shù)據(jù)類型,同時(shí)又要邏輯判斷又會(huì)引入大量的分支跳轉(zhuǎn)和中斷的處理。這些都使得CPU的內(nèi)部結(jié)構(gòu)異常復(fù)雜。而GPU面對(duì)的則是類型高度統(tǒng)一的、相互無(wú)依賴的大規(guī)模數(shù)據(jù)和不需要被打斷的純凈的計(jì)算環(huán)境。 ?
GPU加速技術(shù)簡(jiǎn)述?
對(duì)于深度學(xué)習(xí)來(lái)說(shuō),目前硬件加速主要靠使用圖形處理單元。相比傳統(tǒng)的CPU,GPU的核心計(jì)算能力要多出幾個(gè)數(shù)量級(jí),也更容易進(jìn)行并行計(jì)算。
GPU的眾核體系結(jié)構(gòu)包含幾千個(gè)流處理器,可將運(yùn)算并行化執(zhí)行,大幅縮短模型的運(yùn)算時(shí)間。隨著NVIDIA、AMD等公司不斷推進(jìn)其GPU的大規(guī)模并行架構(gòu)支持,面向通用計(jì)算的GPU已成為加速并行應(yīng)用程序的重要手段。 ? 目前GPU已經(jīng)發(fā)展到了較為成熟的階段。利用GPU來(lái)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),可以充分發(fā)揮其數(shù)以千計(jì)計(jì)算核心的高效并行 計(jì)算能力,在使用海量訓(xùn)練數(shù)據(jù)的場(chǎng)景下,所耗費(fèi)的時(shí)間大幅縮短,占用的服務(wù)器也更少。如果針對(duì)適當(dāng)?shù)纳疃壬窠?jīng)網(wǎng)絡(luò)進(jìn)行合理優(yōu)化,一塊GPU卡可相當(dāng)于數(shù)十甚至上百臺(tái)CPU服務(wù)器的計(jì)算能力,因此GPU已經(jīng)成為業(yè)界在深度學(xué)習(xí)模型訓(xùn)練方面的首選解決方案。 ?
當(dāng)訓(xùn)練的模型規(guī)模比較大時(shí),可以通過(guò)數(shù)據(jù)并行的方法來(lái)加速模型的訓(xùn)練,數(shù)據(jù)并行可以對(duì)訓(xùn)練數(shù)據(jù)做切分,同時(shí)采用多個(gè)模型實(shí)例對(duì)多個(gè)分塊的數(shù)據(jù)同時(shí)進(jìn)行訓(xùn)練。在數(shù)據(jù)并行的實(shí)現(xiàn)中,由于是采用同樣的模型、不同的數(shù)據(jù)進(jìn)行訓(xùn)練,影響模型性能的瓶頸在于多CPU或多GPU間的參數(shù)交換。根據(jù)參數(shù)更新公式,需要將所有模型計(jì)算出的梯度提交到參數(shù)服務(wù)器并更新到相應(yīng)參數(shù)上,所以數(shù)據(jù)片的劃分以及與參數(shù)服務(wù)器的帶寬可能會(huì)成為限制數(shù)據(jù)并行效率的瓶頸。? ? 除了數(shù)據(jù)并行,還可以采用模型并行的方式來(lái)加速模型的訓(xùn)練。模型并行是指將大的模型拆分成幾個(gè)分片,由若干個(gè)訓(xùn)練單元分別持有,各個(gè)訓(xùn)練單元相互協(xié)作共同完成大模型的訓(xùn)練。 ?
GPU加速計(jì)算
GPU加速計(jì)算是指同時(shí)利用圖形處理器?(GPU)?和 CPU,加快科學(xué)、分析、工程、消費(fèi)和企業(yè)應(yīng)用程序的運(yùn)行速度。GPU加速器于2007年由NVIDIA率先推出,現(xiàn)已在世界各地為政府實(shí)驗(yàn)室、高校、公司以及中小型企業(yè)的高能效數(shù)據(jù)中心提供支持。GPU能夠使從汽車、手機(jī)和平板電腦到無(wú)人機(jī)和機(jī)器人等平臺(tái)的應(yīng)用程序加速運(yùn)行。 ? GPU加速計(jì)算可以提供非凡的應(yīng)用程序性能,能將應(yīng)用程序計(jì)算密集部分的工作負(fù)載轉(zhuǎn)移到GPU,同時(shí)仍由CPU運(yùn)行其余程序代碼。從用戶的角度來(lái)看,應(yīng)用程序的運(yùn)行速度明顯加快。 ? GPU當(dāng)前只是單純的并行矩陣的乘法和加法運(yùn)算,對(duì)于神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建和數(shù)據(jù)流的傳遞還是在CPU上進(jìn)行。CPU與GPU的交互流程:獲取GPU信息,配置GPU id、加載神經(jīng)元參數(shù)到GPU、GPU加速神經(jīng)網(wǎng)絡(luò)計(jì)算、接收GPU計(jì)算結(jié)果。 ?
為什么GPU在自動(dòng)駕駛領(lǐng)域如此重要
? 自動(dòng)駕駛技術(shù)中最重要的技術(shù)范疇之一是深度學(xué)習(xí),基于深度學(xué)習(xí)架構(gòu)的人工智能如今已被廣泛應(yīng)用于計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理、傳感器融合、目標(biāo)識(shí)別、自動(dòng)駕駛等汽車行業(yè)的各個(gè)領(lǐng)域,從自動(dòng)駕駛初創(chuàng)企業(yè)、互聯(lián)網(wǎng)公司到各大OEM 廠商,都正在積極探索通過(guò)利用GPU構(gòu)建神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)最終的自動(dòng)駕駛。? ? GPU加速計(jì)算誕生后,它為企業(yè)數(shù)據(jù)提供了多核并行計(jì)算架構(gòu),支撐了以往CPU架構(gòu)無(wú)法處理的數(shù)據(jù)源。根據(jù)對(duì)比,為了完成相同的深度學(xué)習(xí)訓(xùn)練任務(wù),使用GPU計(jì)算集群所需要的成本只是CPU計(jì)算集群的200分之一。 ?
GPU是自動(dòng)駕駛與深度學(xué)習(xí)的關(guān)鍵?
? 無(wú)論是讓汽車實(shí)時(shí)感知周邊實(shí)時(shí)環(huán)境,還是迅速規(guī)劃行車路線和動(dòng)作,這些都需要依賴汽車大腦快速的響應(yīng),因此對(duì)計(jì)算機(jī)硬件廠商提出了巨大挑戰(zhàn),自動(dòng)駕駛的過(guò)程中時(shí)刻需要深度學(xué)習(xí)或者人工智能算法應(yīng)對(duì)無(wú)限可能的狀況, 而人工智能、深度學(xué)習(xí)和無(wú)人駕駛的蓬勃發(fā)展,帶來(lái)了GPU計(jì)算發(fā)展的黃金時(shí)代。? ? GPU的另一個(gè)重要參數(shù)是浮點(diǎn)計(jì)算能力。浮點(diǎn)計(jì)數(shù)是利用浮動(dòng)小數(shù)點(diǎn)的方式使用不同長(zhǎng)度的二進(jìn)制來(lái)表示一個(gè)數(shù)字,與 之對(duì)應(yīng)的是定點(diǎn)數(shù)。在自動(dòng)駕駛算法迭代時(shí)對(duì)精度要求較高,需要浮點(diǎn)運(yùn)算支持。
FPGA方案
FPGA芯片定義及結(jié)構(gòu)?
FPGA(Field-Programmable Gate Array),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。 ? FPGA芯片主要由6部分完成,分別為:可編程輸入輸出單元、基本可編程邏輯單元、完整的時(shí)鐘管理、嵌入塊式RAM、豐富的布線資源、內(nèi)嵌的底層功能單元和內(nèi)嵌專用硬件模塊。目前主流的FPGA仍是基于查找表技術(shù)的,已經(jīng)遠(yuǎn)遠(yuǎn)超出了先前版本的基本性能,并且整合了常用功能(如RAM、時(shí)鐘管理和DSP)的硬核(ASIC型)模塊。 ?
FPGA工作原理
由于FPGA需要被反復(fù)燒寫(xiě),它實(shí)現(xiàn)組合邏輯的基本結(jié)構(gòu)不可能像ASIC那樣通過(guò)固定的與非門(mén)來(lái)完成,而只能采用一種易 于反復(fù)配置的結(jié)構(gòu)。查找表可以很好地滿足這一要求,目前主流FPGA都采用了基于SRAM工藝的查找表結(jié)構(gòu),也有一些軍品和宇航級(jí)FPGA采用Flash或者熔絲與反熔絲工藝的查找表結(jié)構(gòu)。通過(guò)燒寫(xiě)文件改變查找表內(nèi)容的方法來(lái)實(shí)現(xiàn)對(duì)FPGA的重復(fù)配置。 ? 查找表(Look-Up-Table)簡(jiǎn)稱為L(zhǎng)UT,LUT本質(zhì)上就是一個(gè)RAM。目前FPGA中多使用4輸入的LUT,所以每一個(gè)LUT可以看成一個(gè)有4位地址線的RAM。當(dāng)用戶通過(guò)原理圖或HDL語(yǔ)言描述了一個(gè)邏輯電路以后,PLD/FPGA開(kāi)發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能結(jié)果,并把真值表(即結(jié)果)事先寫(xiě)入RAM,這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。 ?
可編程輸入/輸出單元簡(jiǎn)稱I/O單元,是芯片與外界電路的接口部分,完成不同電氣特性下對(duì)輸入/輸出信號(hào)的驅(qū)動(dòng)與匹配要求。FPGA內(nèi)的I/O按組分類,每組都能夠獨(dú)立地支持不同的I/O標(biāo)準(zhǔn)。通過(guò)軟件的靈活配置,可適配不同的電氣標(biāo)準(zhǔn)與 I/O物理特性,可以調(diào)整驅(qū)動(dòng)電流的大小,可以改變上、下拉電阻。目前,I/O口的頻率也越來(lái)越高,一些高端的FPGA通過(guò)DDR寄存器技術(shù)可以支持高達(dá)2Gbps的數(shù)據(jù)速率。 ? CLB是FPGA內(nèi)的基本邏輯單元。CLB的實(shí)際數(shù)量和特性會(huì)依器件的不同而不同,但是每個(gè)CLB都包含一個(gè)可配置開(kāi)關(guān)矩陣, 此矩陣由4或6個(gè)輸入、一些選型電路(多路復(fù)用器等)和觸發(fā)器組成。開(kāi)關(guān)矩陣是高度靈活的,可以對(duì)其進(jìn)行配置以便 處理組合邏輯、移位寄存器或RAM。在Xilinx公司的FPGA器件中,CLB由多個(gè)(一般為4個(gè)或2個(gè))相同的Slice和附加邏輯構(gòu)成。每個(gè)CLB模塊不僅可以用于實(shí)現(xiàn)組合邏輯、時(shí)序邏輯,還可以配置為分布式RAM和分布式ROM。 ?
自動(dòng)駕駛的“芯”殺手?
自動(dòng)駕駛和高級(jí)駕駛輔助系統(tǒng)(ADAS)細(xì)分市場(chǎng)正在經(jīng)歷蛻變,對(duì)計(jì)算和傳感器功能提出了新的復(fù)雜需求。FPGA擁有其他芯片解決方案無(wú)法比擬的獨(dú)特優(yōu)勢(shì),是滿足自動(dòng)駕駛行業(yè)不斷發(fā)展變化的優(yōu)良選擇。FPGA是芯片領(lǐng)域的一種特殊技術(shù), 一方面能夠通過(guò)軟件工具進(jìn)行反復(fù)多次配置,另一方面擁有豐富的IO接口和計(jì)算單元。因此,F(xiàn)PGA能夠根據(jù)應(yīng)用場(chǎng)景的具體需求,同時(shí)處理流水線并行和數(shù)據(jù)并行,天生具有計(jì)算性能高、延遲低、功耗小等優(yōu)勢(shì)。? ? FPGA具備高吞吐量、高能效以及實(shí)時(shí)處理等多項(xiàng)優(yōu)點(diǎn),非常契合自動(dòng)駕駛所需要的技術(shù)需求。高級(jí)輔助駕駛系統(tǒng)(ADAS)、 車載體驗(yàn)(IVE)應(yīng)用的標(biāo)準(zhǔn)和要求正在快速演變,系統(tǒng)設(shè)計(jì)人員關(guān)注的問(wèn)題主要包括出色的靈活性和更快的開(kāi)發(fā)周期,同時(shí)維持更高的性能功耗比。通過(guò)可重新編程的FPGA和不斷增多的汽車級(jí)產(chǎn)品相結(jié)合,支持汽車設(shè)計(jì)師滿足設(shè)計(jì)要求,在不斷變化的汽車行業(yè)中始終保持領(lǐng)先。 ?
適應(yīng)性更強(qiáng)的平臺(tái)? ? 對(duì)于自動(dòng)駕駛芯片來(lái)說(shuō)真正的價(jià)值在于計(jì)算引擎的利用率,即理論性能和實(shí)際性能之間的差異。FPGA包含大量的路由鏈路以及大量的小型存儲(chǔ)。這些資源的組合使設(shè)計(jì)人員能夠?yàn)槠溆?jì)算引擎創(chuàng)建定制的數(shù)據(jù)饋送網(wǎng)絡(luò),以獲得更高的利用水平??删幊踢壿嫗榭蛻籼峁┝烁叨鹊撵`活性,以適應(yīng)ADAS和自動(dòng)駕駛等新興應(yīng)用領(lǐng)域不斷變化的需求。利用改進(jìn)的接口標(biāo)準(zhǔn)、算法創(chuàng)新和新的傳感器技術(shù),都需要適應(yīng)性強(qiáng)的平臺(tái),不僅可以支持軟件更改,還可以支持硬件更改,而這正是FPGA芯片的優(yōu)勢(shì)所在。? ? FPGA芯片擁有可擴(kuò)展性??赏卣沟男酒淖兞丝删幊踢壿嫷臄?shù)量,大多采用引腳兼容的封裝。這意味著開(kāi)發(fā)人員可以創(chuàng)建單個(gè)ECU平臺(tái)來(lái)承載低、中、高版本的ADAS功能包,并根據(jù)需要通過(guò)選擇所需的最小密度芯片來(lái)縮放成本。
?
差異化解決方案? ? FPGA芯片允許開(kāi)發(fā)人員創(chuàng)建獨(dú)特的差異化處理解決方案,這些解決方案可以針對(duì)特定應(yīng)用或傳感器進(jìn)行優(yōu)化。這對(duì)于ASSP芯片來(lái)說(shuō)是無(wú)法實(shí)現(xiàn)的,即使是那些提供專用加速器的芯片,它們的使用方式也受到限制,而且基本上可以提供給所有競(jìng)爭(zhēng)對(duì)手。例如Xilinx的長(zhǎng)期客戶已經(jīng)創(chuàng)建了只有他們可以訪問(wèn)的高價(jià)值IP庫(kù),并且這些功能可以被公司的各種產(chǎn)品 使用。從90nm節(jié)點(diǎn)開(kāi)始,對(duì)于大批量汽車應(yīng)用,Xilinx的芯片就已經(jīng)極具成本效益,有超過(guò)1.6億顆Xilinx芯片在該行業(yè)獲得應(yīng)用。
?
ASIC方案
ASIC定義及特點(diǎn)? ? ASIC芯片可根據(jù)終端功能不同分為T(mén)PU芯片、DPU芯片和NPU芯片等。其中,TPU為張量處理器,專用于機(jī)器學(xué)習(xí)。如Google于2016年5月研發(fā)針對(duì)Tensorflow平臺(tái)的可編程AI加速器,其內(nèi)部指令集在Tensorflow程序變化或更新算法時(shí)可運(yùn)行。DPU即Data Processing Unit,可為數(shù)據(jù)中心等計(jì)算場(chǎng)景提供引擎。NPU是神經(jīng)網(wǎng)絡(luò)處理器,在電路層模擬人類神經(jīng)元和突觸,并用深度學(xué)習(xí)指令集直接處理大規(guī)模電子神經(jīng)元和突觸數(shù)據(jù)。? ? ASIC有全定制和半定制兩種設(shè)計(jì)方式。全定制依靠巨大的人力時(shí)間成本投入以完全自主的方式完成整個(gè)集成電路的設(shè)計(jì)流程,雖然比半定制的ASIC更為靈活性能更好,但它的開(kāi)發(fā)效率與半定制相比甚為低下。 ?
性能提升明顯? ? ASIC芯片非常適合人工智能的應(yīng)用場(chǎng)景。例如英偉達(dá)首款專門(mén)為深度學(xué)習(xí)從零開(kāi)始設(shè)計(jì)的芯片Tesla P100數(shù)據(jù)處理速度 是其2014年推出GPU系列的12倍。谷歌為機(jī)器學(xué)習(xí)定制的芯片TPU將硬件性能提升至相當(dāng)于當(dāng)前芯片按摩爾定律發(fā)展 7 年后的水平。正如CPU改變了當(dāng)年龐大的計(jì)算機(jī)一樣,人工智能ASIC芯片也將大幅改變?nèi)缃馎I硬件設(shè)備的面貌。如大 名鼎鼎的AlphaGo使用了約170個(gè)圖形處理器(GPU)和1200個(gè)中央處理器(CPU),這些設(shè)備需要占用一個(gè)機(jī)房,還要配備大功率的空調(diào),以及多名專家進(jìn)行系統(tǒng)維護(hù)。而如果全部使用專用芯片,極大可能只需要一個(gè)普通收納盒大小的空間,且功耗也會(huì)大幅降低。 ? ASIC技術(shù)路線是有限開(kāi)放,芯片公司需要面向與駕駛相關(guān)的主流網(wǎng)絡(luò)、模型、算子進(jìn)行開(kāi)發(fā)。在相同性能下,芯片的面積更小、成本更低、功耗更低。ASIC技術(shù)路線未來(lái)的潛力會(huì)很大,選擇ASIC路線并不意味著要對(duì)不同車型開(kāi)發(fā)不同的ASIC,或進(jìn)行不同的驗(yàn)證。因?yàn)椴煌囆托枰獙?shí)現(xiàn)的功能大致相同,而且芯片面對(duì)模型和算子進(jìn)行有限開(kāi)放,算法快速迭代不會(huì)影響到芯片對(duì)上層功能的支持。車廠與芯片設(shè)計(jì)公司合作,進(jìn)行差異化定制,或是更好的選擇。因?yàn)榧词故沁M(jìn)行差異化的定制,芯片內(nèi)部50%的部分也是通用的。芯片設(shè)計(jì)公司可以在原有版本的基礎(chǔ)上進(jìn)行差異化設(shè)計(jì),實(shí)現(xiàn)部分差異功能。 ?
主流架構(gòu)方案對(duì)比:三種主流架構(gòu)?
FPGA是在PAL、GAL等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。優(yōu)點(diǎn):可以無(wú)限次編程,延時(shí)性比較低,同時(shí)擁有流水線并行和數(shù)據(jù)并行、實(shí)時(shí)性最強(qiáng)、靈活性最高。缺點(diǎn):開(kāi)發(fā)難度大、只適合定點(diǎn)運(yùn)算、價(jià)格比較昂貴。? ? 圖形處理器(GPU),又稱顯示核心、視覺(jué)處理器、顯示芯片,是一種專門(mén)在個(gè)人電腦、工作站、游戲機(jī)和一些移動(dòng)設(shè)備(如平板、手機(jī)等)上做圖像和圖形相關(guān)運(yùn)算工作的微處理器。優(yōu)點(diǎn):提供了多核并行計(jì)算的基礎(chǔ)結(jié)構(gòu),且核心數(shù)非 常多,可以支撐大量數(shù)據(jù)的并行計(jì)算,擁有更高的浮點(diǎn)運(yùn)算能力。缺點(diǎn):管理控制能力(最弱),功耗(最高)。? ? ASIC,即專用集成電路,指應(yīng)特定用戶要求和特定電子系統(tǒng)的需要而設(shè)計(jì)、制造的集成電路。目前用CPLD(復(fù)雜可編程 邏輯器件)和FPGA(現(xiàn)場(chǎng)可編程邏輯陣列)來(lái)進(jìn)行ASIC設(shè)計(jì)是最為流行的方式之一。優(yōu)點(diǎn):它作為集成電路技術(shù)與特定用 戶的整機(jī)或系統(tǒng)技術(shù)緊密結(jié)合的產(chǎn)物,與通用集成電路相比具有體積更小、重量更輕、功耗更低、可靠性提高、性能提高、保密性增強(qiáng)、成本降低等優(yōu)點(diǎn)。缺點(diǎn):靈活性不夠,成本比FPGA貴。
隨著ADAS、自動(dòng)駕駛技術(shù)的興起,以及軟件定義汽車的逐步深入,智能汽車對(duì)于計(jì)算能力和海量數(shù)據(jù)處理能力等的需求暴增,傳統(tǒng)汽車的芯片“堆疊”方案已經(jīng)無(wú)法滿足自動(dòng)駕駛的算力需求。芯片最終是為車企的車載計(jì)算平臺(tái)服務(wù)的,在 “軟件定義汽車”的情況下,解決智能駕駛系統(tǒng)計(jì)算平臺(tái)的支撐問(wèn)題,無(wú)法只通過(guò)芯片算力堆疊來(lái)實(shí)現(xiàn)。 ? 芯片是軟件的舞臺(tái),衡量芯片優(yōu)劣的標(biāo)準(zhǔn),要看芯片之上的軟件能否最大化地發(fā)揮作用,算力和軟件之間需要有效匹配。兩款相同算力的芯片比較,能讓軟件運(yùn)行得更高效的芯片才是“好芯片”。決定算力真實(shí)值最主要因素是內(nèi)存( SRAM和 DRAM)帶寬,還有實(shí)際運(yùn)行頻率(即供電電壓或溫度),以及算法的batch尺寸。 ? 單顆芯片算力TOPS是關(guān)鍵指標(biāo),但并非唯一,自動(dòng)駕駛是一個(gè)復(fù)雜系統(tǒng),需要車路云邊協(xié)同。所以它的較量除了芯還有軟硬協(xié)同還有平臺(tái)以及工具鏈等等。芯片算力的無(wú)限膨脹和硬件預(yù)埋不會(huì)是未來(lái)的趨勢(shì),硬件也需要匹配實(shí)際。高背后是高功耗和低利用率的問(wèn)題。
?
事件相機(jī)簡(jiǎn)介
簡(jiǎn)介及工作機(jī)制? ? 事件相機(jī)的靈感來(lái)自人眼和動(dòng)物的視覺(jué),也有人稱之為硅視網(wǎng)膜。生物的視覺(jué)只針 對(duì)有變化的區(qū)域才敏感,事件相機(jī)就是捕捉事件的產(chǎn)生或者變化的產(chǎn)生。、 ? 在傳統(tǒng)的視覺(jué)領(lǐng)域,相機(jī)傳回的信息是同步的,所謂同步,就是在某一時(shí)刻t,相機(jī)會(huì)進(jìn)行曝光,把這一時(shí)刻所有的像素填在一個(gè)矩陣?yán)锘貍?,產(chǎn)生一張照片。一張照 片上所有的像素都對(duì)應(yīng)著同一時(shí)刻。至于視頻,不過(guò)是很多幀的圖片,相鄰圖片間 的時(shí)間間隔可大可小,這便是幀率(frame rate),也稱為時(shí)延(time latency)。事件相機(jī)類似于人類的大腦和眼睛,跳過(guò)不相關(guān)的背景,直接感知一個(gè)場(chǎng)景的核心, 創(chuàng)建純事件而非數(shù)據(jù)。? ? 事件相機(jī)的工作機(jī)制是,當(dāng)某個(gè)像素所處位置的亮度發(fā)生變化達(dá)到一定閾值時(shí),相機(jī)就會(huì)回傳一個(gè)上述格式的事件,其中前兩項(xiàng)為事件的像素坐標(biāo),第三項(xiàng)為事件發(fā) 生的時(shí)間戳,最后一項(xiàng)取值為極性(polarity)0、1(或者-1、1),代表亮度是由低到高還是由高到低。? ? 就這樣,在整個(gè)相機(jī)視野內(nèi),只要有一個(gè)像素值變化,就會(huì)回傳一個(gè)事件,這些所有的事件都是異步發(fā)生的(再小的時(shí)間間隔也不可能完全同時(shí)),所以事件的時(shí)間 戳均不相同,由于回傳簡(jiǎn)單,所以和傳統(tǒng)相機(jī)相比,它具有低時(shí)延的特性,可以捕獲很短時(shí)間間隔內(nèi)的像素變化,延遲是微秒級(jí)的。
在自動(dòng)駕駛領(lǐng)域的應(yīng)用? ? 當(dāng)今自動(dòng)駕駛領(lǐng)域所運(yùn)用的視覺(jué)識(shí)別算法,基本上都基于卷積神經(jīng)網(wǎng)絡(luò),視覺(jué)算法的運(yùn)算本質(zhì)上是一次次的卷積運(yùn)算。這種計(jì)算并不復(fù)雜,本質(zhì)上只涉及到加減乘除,也就是一種乘積累加運(yùn)算。但這種簡(jiǎn)單運(yùn)算在卷積神經(jīng)網(wǎng)絡(luò)中是大量存在的,這就對(duì)處理器的性能提出了很高的要求。 ? 以ResNet-152為例,這是一個(gè)152層的卷積神經(jīng)網(wǎng)絡(luò),它處理一張224*224大小的圖像所需的計(jì)算量大約是226億次,如果 這個(gè)網(wǎng)絡(luò)要處理一個(gè)1080P的30幀的攝像頭,他所需要的算力則高達(dá)每秒33萬(wàn)億次,十分龐大。
通過(guò)減少無(wú)效計(jì)算節(jié)約算力?
自動(dòng)駕駛領(lǐng)域99%的視覺(jué)數(shù)據(jù)在AI處理中是無(wú)用的背景。例如檢測(cè)鬼探頭,變化的區(qū)域是很小一部分,但傳統(tǒng)的視覺(jué)處理 仍然要處理99%的沒(méi)有出現(xiàn)變化的背景區(qū)域,這不僅浪費(fèi)了大量的算力,也浪費(fèi)了時(shí)間。亦或者像在沙礫里有顆鉆石,AI芯片和傳統(tǒng)相機(jī)需要識(shí)別每一顆沙粒,篩選出鉆石,但人類只需要看一眼就能檢測(cè)到鉆石,AI芯片和傳統(tǒng)相機(jī)耗費(fèi)的時(shí) 間是人類的100倍或1000倍。? ? 除了冗余信息減少和幾乎沒(méi)有延遲的優(yōu)點(diǎn)外,事件相機(jī)的優(yōu)點(diǎn)還有由于低時(shí)延,在拍攝高速物體時(shí),傳統(tǒng)相機(jī)由于會(huì)有 一段曝光時(shí)間會(huì)發(fā)生模糊,而事件相機(jī)則幾乎不會(huì)。此外事件相機(jī)擁有真正的高動(dòng)態(tài)范圍,由于事件相機(jī)的特質(zhì),在光強(qiáng)較強(qiáng)或較弱的環(huán)境下,傳統(tǒng)相機(jī)均會(huì)“失明”,但像素變化仍然存在,所以事件相機(jī)仍能看清眼前的東西。 ?
編輯:黃飛
評(píng)論
查看更多