趙春昊
(上海依圖網(wǎng)絡(luò)科技有限公司, 上海 200051)
近年來,人工智能(AI)已經(jīng)成為信息技術(shù)中最熱門的領(lǐng)域之一。隨著算法精度要求的不斷提升,對(duì)于智能計(jì)算性能的要求也越來越高。AI芯片作為新型基礎(chǔ)設(shè)施的核心,逐漸成為了該領(lǐng)域的研究熱點(diǎn)。AI芯片是指具備適配人工智能算法的運(yùn)算架構(gòu),能夠完成人工智能應(yīng)用運(yùn)算處理的集成電路元件。由于AI應(yīng)用的底層算子具有通用性,AI芯片可以利用基礎(chǔ)計(jì)算單元針對(duì)性地提供高性能算力。
AI芯片不僅僅在云端超算和數(shù)據(jù)中心里使用,而且逐漸向邊緣側(cè)和終端場(chǎng)景發(fā)展。例如,英偉達(dá)Xavier NX芯片作為自動(dòng)駕駛車載芯片的領(lǐng)跑者,可以完成目標(biāo)檢測(cè)、路徑規(guī)劃等AI任務(wù)的實(shí)時(shí)計(jì)算,這類AI芯片已經(jīng)成為了邊緣側(cè)計(jì)算的關(guān)鍵部件。而許多小型終端設(shè)備也嵌入了AI芯片。新出現(xiàn)的邊緣側(cè)和端側(cè)計(jì)算設(shè)備中的AI芯片呈現(xiàn)出與云端AI芯片完全不同的性能。如何從技術(shù)角度對(duì)AI芯片進(jìn)行分類的依據(jù)成為需要填補(bǔ)的研究空白。
2018年,張蔚敏等從產(chǎn)業(yè)的角度分析了AI芯片的市場(chǎng)需求、機(jī)遇與挑戰(zhàn),并且按照兩個(gè)維度(技術(shù)架構(gòu)、市場(chǎng)需求)對(duì)于AI芯片進(jìn)行分類[1];清華大學(xué)微電子學(xué)研究所尹首一等側(cè)重于計(jì)算的角度,分析了現(xiàn)階段AI加速芯片的技術(shù)特點(diǎn),展望了類腦仿生芯片、通用AI芯片等未來趨勢(shì)[2];叢瑛瑛等分析了AI芯片目前的發(fā)展態(tài)勢(shì),提出了對(duì)策和建議[3];美國(guó)麻省理工大學(xué)的Albert Reuther等從性能與功耗角度分析了市面主流的AI芯片性能,并且使用性能與功耗對(duì)其分類[4]。本文從更細(xì)致的角度針對(duì)不同應(yīng)用場(chǎng)景和技術(shù)領(lǐng)域內(nèi)的AI芯片性能進(jìn)行深入的研究,制定一種有效的AI芯片分類方法。
AI芯片的技術(shù)特點(diǎn),取決于其應(yīng)用環(huán)境的計(jì)算需求。隨著AI芯片的應(yīng)用場(chǎng)景不斷擴(kuò)大,其越來越呈現(xiàn)出多樣性發(fā)展的技術(shù)特點(diǎn)。各類應(yīng)用場(chǎng)景對(duì)于AI芯片的需求是不同的,因此影響了芯片廠商的設(shè)計(jì)思路,并最終反映為AI芯片在性能參數(shù)上的差異。如何針對(duì)各類業(yè)務(wù)場(chǎng)景對(duì)AI芯片的特點(diǎn)進(jìn)行歸納總結(jié)并分類,在不同分類下功能與性能參數(shù)的標(biāo)準(zhǔn)如何界定,這些問題成為AI芯片研究領(lǐng)域內(nèi)亟需解答的問題。
本文討論的AI芯片包括GPU(圖形處理單元),NPU(神經(jīng)處理單元)類腦芯片和SoC(片上系統(tǒng))以及FPGA(可編程門陣列),這些芯片的定義都可以在前人的工作中找到。需要注意的是,雖然CPU(中央處理單元)可以執(zhí)行傳統(tǒng)機(jī)器學(xué)習(xí)算法,但由于其算力較小且不適合處理大規(guī)模數(shù)據(jù)集,故嚴(yán)格意義上并不屬于AI芯片范疇。
AI芯片的應(yīng)用場(chǎng)景可以分為“云側(cè)”、“邊緣側(cè)”與“端側(cè)”。云側(cè)場(chǎng)景是指大規(guī)模集中式和并發(fā)處理計(jì)算任務(wù)的場(chǎng)景;邊緣側(cè)場(chǎng)景是指利用網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)來匯聚、處理、分析多個(gè)終端設(shè)備數(shù)據(jù)的場(chǎng)景;而端側(cè)場(chǎng)景則是設(shè)備直接與用戶、環(huán)境交互,主要進(jìn)行數(shù)據(jù)獲取及本地處理功能的場(chǎng)景。
AI芯片需要根據(jù)不同應(yīng)用場(chǎng)景的需求,結(jié)合芯片技術(shù)特點(diǎn)進(jìn)行設(shè)計(jì)。同時(shí),由于計(jì)算任務(wù)的不同,對(duì)算力的要求也不盡相同。不同的AI技術(shù)領(lǐng)域所產(chǎn)生的數(shù)據(jù)類型和數(shù)據(jù)量大小差異巨大。前人的工作主要是對(duì)AI芯片的技術(shù)形態(tài)進(jìn)行了界定與簡(jiǎn)單分析。但由于不同應(yīng)用場(chǎng)景下,AI芯片的形態(tài)差別巨大,因此本文在此基礎(chǔ)上,從不同的應(yīng)用場(chǎng)景,即云側(cè)、邊緣側(cè)、端側(cè)入手,從AI芯片的技術(shù)形態(tài)、計(jì)算任務(wù)、技術(shù)領(lǐng)域等角度開展研究,并試圖進(jìn)行芯片的技術(shù)參數(shù)分類,制定一個(gè)簡(jiǎn)單有效的分類判斷依據(jù)和標(biāo)準(zhǔn)。
在不同應(yīng)用場(chǎng)景下,有不同類型的典型設(shè)備,其加載的AI芯片技術(shù)形態(tài)也不同。云側(cè)對(duì)應(yīng)的是大型集中式計(jì)算集群;邊緣側(cè)有自動(dòng)駕駛系統(tǒng)、機(jī)器人、邊緣網(wǎng)關(guān)等;而端側(cè)設(shè)備則包括智能移動(dòng)終端、可穿戴設(shè)備、傳感器等。通過對(duì)各種芯片應(yīng)用場(chǎng)景的梳理發(fā)現(xiàn),端側(cè)AI設(shè)備基本都以SoC形態(tài)出現(xiàn);邊緣側(cè)主要以小規(guī)模的SoC獨(dú)立運(yùn)行,或者以裝配加速卡的服務(wù)器形態(tài)出現(xiàn),而云側(cè)主要是以帶加速卡的服務(wù)器組成大規(guī)模集群,或者大規(guī)模SoC集群形態(tài)出現(xiàn)。
不同應(yīng)用場(chǎng)景下AI芯片的技術(shù)形態(tài)見表1。
表1 不同應(yīng)用場(chǎng)景下AI芯片的技術(shù)形態(tài)
人工智能的計(jì)算任務(wù)可以分為訓(xùn)練與推理。有一些AI芯片在設(shè)計(jì)之初就定為專門負(fù)責(zé)訓(xùn)練任務(wù)或推理任務(wù),這些芯片一般被稱為訓(xùn)練芯片或推理芯片(對(duì)于加速卡而言,又被稱為訓(xùn)練卡或加速卡)。
訓(xùn)練芯片和推理芯片呈現(xiàn)出完全不同的技術(shù)參數(shù)特點(diǎn)。對(duì)于訓(xùn)練芯片而言,由于訓(xùn)練過程需要大量的算力,需要處理的數(shù)據(jù)量也較大,因此所有的訓(xùn)練芯片都在云側(cè)。而這些訓(xùn)練芯片大都可以在不同的技術(shù)領(lǐng)域通用。推理任務(wù)需要利用訓(xùn)練后的模型,針對(duì)應(yīng)用場(chǎng)景下的輸入,實(shí)時(shí)給出計(jì)算結(jié)果。隨著AI計(jì)算應(yīng)用場(chǎng)景的拓展,推理芯片適用場(chǎng)景也不斷拓寬,在云側(cè)、邊緣側(cè)和端側(cè)都有使用。各應(yīng)用場(chǎng)景下,不同計(jì)算任務(wù)的AI芯片典型實(shí)例見表2。
表2 各類計(jì)算任務(wù)在不同應(yīng)用場(chǎng)景下的典型AI芯片
AI芯片可以劃分為通用AI芯片和專用AI芯片。通用AI芯片是指可以支持多個(gè)細(xì)分領(lǐng)域的AI芯片;而專用AI芯片指的是只為某個(gè)特定細(xì)分行業(yè)服務(wù)的AI芯片。
在專用AI芯片中,根據(jù)AI芯片計(jì)算任務(wù)所屬的技術(shù)領(lǐng)域,總結(jié)了“視覺分析”、“自動(dòng)駕駛”、“智能語音”、“路徑規(guī)劃”、“金融風(fēng)控”、“輔助診斷”這六個(gè)人工智能目前最重要的落地領(lǐng)域[5],收集了其典型設(shè)備參數(shù),并對(duì)核心需求進(jìn)行了總結(jié),見表3。
表3 各類技術(shù)領(lǐng)域在不同應(yīng)用場(chǎng)景下的典型設(shè)備、核心需求、技術(shù)關(guān)鍵總結(jié)
可以發(fā)現(xiàn):視覺分析、自動(dòng)駕駛、金融風(fēng)控這三大領(lǐng)域?qū)I芯片算力、延時(shí)、安全性等要求最高,也恰恰是專用AI芯片出現(xiàn)最多的領(lǐng)域,進(jìn)一步證明了AI芯片的設(shè)計(jì)是為了滿足技術(shù)領(lǐng)域下的各應(yīng)用場(chǎng)景服務(wù)的。
AI芯片的參數(shù)與其應(yīng)用需求密切相關(guān),從每個(gè)應(yīng)用場(chǎng)景下的芯片需求出發(fā),考慮各場(chǎng)景下AI芯片的核心參數(shù),并以此建立分類標(biāo)準(zhǔn)。收集國(guó)內(nèi)外主流芯片參數(shù)來驗(yàn)證這一分類標(biāo)準(zhǔn)的可行性。
(1)云側(cè)芯片。云側(cè)設(shè)備往往不需要滿足實(shí)時(shí)性,又支持大規(guī)模擴(kuò)展。因此,云側(cè)設(shè)備對(duì)于功耗沒有限制,同時(shí)會(huì)在較大程度上追求有效的算力。云側(cè)AI芯片的功耗大多都超過100 W,而AI芯片的能效比大多在1 TOPS/W以上,因此芯片的算力基本都大于100 TOPS。另外,目前大多數(shù)云側(cè)AI加速卡都是用PCIe3.0連接,而其功耗限制為300 W,大多數(shù)AI芯片功耗都沒有超過這個(gè)限制。
(2)邊緣側(cè)芯片。由于要實(shí)時(shí)完成本地?cái)?shù)據(jù)匯聚和計(jì)算,因此邊緣側(cè)設(shè)備的AI芯片的參數(shù)需求是圍繞其本地業(yè)務(wù)需求設(shè)計(jì)的,各技術(shù)領(lǐng)域內(nèi)的參數(shù)差異巨大。例如,對(duì)于視覺分析,一個(gè)邊緣視頻盒子一般需要接入4-20路的視頻,因此其芯片需要20-100 MB/s的帶寬來支撐視頻流的輸入,而其算力則需要根據(jù)其計(jì)算的特定任務(wù),如:人臉檢測(cè)、特征提取、匹配等來決定,目前大約在1-1.5 TOPS/路,因此邊緣盒子的算力需求在5-30 TOPS左右,而對(duì)應(yīng)的功耗大約在5-50 W。自動(dòng)駕駛領(lǐng)域,技術(shù)參數(shù)性能要求更高,由于自動(dòng)駕駛需要同時(shí)接收和處理多個(gè)傳感器的數(shù)據(jù),因此芯片帶寬大約需要10 GB/s左右。而根據(jù)英偉達(dá)預(yù)測(cè),其L2層級(jí)(部分自動(dòng)化駕駛)的算力和功耗需求大約分別為200 TOPS和80 W[6]。而相對(duì)而言,自然語言處理、語音分析等領(lǐng)域內(nèi)的算力要求不高。
(3)端側(cè)芯片。由于端側(cè)設(shè)備體積小,且常常需要在無線狀態(tài)下使用電池供電,因此功耗成為重要的參數(shù)要求。例如:手機(jī),由于其芯片散熱面積有限,導(dǎo)致其功耗受限。市面上幾乎所有的手機(jī)芯片的散熱設(shè)計(jì)功耗都在5瓦以下。隨著5G等技術(shù)的發(fā)展,更多的計(jì)算要求可以被加載到更大型的邊緣側(cè)計(jì)算設(shè)備上,故普通場(chǎng)景下的端側(cè)推理需求對(duì)算力的要求不高。例如,被譽(yù)為有“智能手機(jī)有史以來最好的機(jī)器學(xué)習(xí)性能”的蘋果A12芯片,其算力也僅僅在5 TOPS。
不同應(yīng)用場(chǎng)景的技術(shù)參數(shù)需求估計(jì),見表4。
表4 不同應(yīng)用場(chǎng)景的技術(shù)參數(shù)需求估計(jì)
進(jìn)一步收集市面上主流的芯片,選取了其中有代表性的芯片來驗(yàn)證上述分類標(biāo)準(zhǔn)。按照不同芯片的應(yīng)用場(chǎng)景劃分類,按照參數(shù)峰值功耗和算力這兩個(gè)維度進(jìn)行統(tǒng)計(jì),結(jié)果如圖1所示。
圖1 國(guó)內(nèi)外不同應(yīng)用場(chǎng)景典型芯片的參數(shù)統(tǒng)計(jì)
根據(jù)圖1中信息顯示,可以總結(jié)出典型AI芯片在不同應(yīng)用場(chǎng)景下的分類標(biāo)準(zhǔn):
(1)端側(cè)AI芯片:算力<5 TOPS,功耗<5 W。
(2)邊緣側(cè)AI芯片:算力5-100 TOPS,功耗5-100 W。
(3)云側(cè)AI芯片:算力>100 TOPS,功耗100 W-300 W。
結(jié)果與需求角度分析的結(jié)果得到了相互印證。
本文研究了AI芯片在技術(shù)參數(shù)上的特點(diǎn)與其在各個(gè)應(yīng)用場(chǎng)景下分類依據(jù)。首先從“技術(shù)形態(tài)”,“計(jì)算任務(wù)”,“技術(shù)領(lǐng)域”三個(gè)維度進(jìn)行分類,總結(jié)了每種類別下芯片的典型產(chǎn)品,核心能力與芯片需求。從需求角度分析了不同應(yīng)用場(chǎng)景AI芯片所需要的性能參數(shù),得出了云側(cè)、邊緣側(cè)和端側(cè)芯片的分類標(biāo)準(zhǔn)。研究發(fā)現(xiàn)可以從功耗和算力這兩個(gè)角度聯(lián)合分析出不同應(yīng)用場(chǎng)景下的芯片共同點(diǎn)。云側(cè)芯片的功耗大約是100 W-300 W,端側(cè)芯片的功耗大多在5 W以下,而邊緣側(cè)芯片則介于兩者之間;而從算力角度來看,劃分的界線大致為5 TOPS(端側(cè)-邊緣側(cè))和100 TOPS(邊緣側(cè)-云側(cè))。進(jìn)一步收集了市面主流芯片的參數(shù),發(fā)現(xiàn)目前不同場(chǎng)景的芯片參數(shù)符合本文提出的分類標(biāo)準(zhǔn),驗(yàn)證了本文所提出的分類標(biāo)準(zhǔn)的有效性。