一文讀懂AI專(zhuān)核的“身份”
從2018年的歲初到年尾,人工智能都是手機(jī)行業(yè)的關(guān)鍵詞。
本文引用地址:http://butianyuan.cn/article/201812/395149.htm手機(jī)廠(chǎng)商忙不迭給用戶(hù)灌輸這樣一個(gè)認(rèn)知:AI會(huì)讓你的手機(jī)更智能,并推出了智能語(yǔ)音助手、面部解鎖、照片智能分類(lèi)等一系列應(yīng)用。事實(shí)證明,行業(yè)趨勢(shì)總會(huì)導(dǎo)致產(chǎn)業(yè)鏈上游的變革,處于產(chǎn)業(yè)鏈頂端的手機(jī)芯片也不例外。
蘋(píng)果A12和麒麟980都宣稱(chēng)搭載了NPU單元來(lái)增強(qiáng)手機(jī)的AI處理能力,高通特意在驍龍845的宣傳中加入了“人工智能”的標(biāo)簽,三星剛推出的Exynos 9820成為首個(gè)集成NPU單元的Exynos系列芯片,聯(lián)發(fā)科則在Helio P70中強(qiáng)調(diào)了“AI專(zhuān)核”的概念……
如果你不是一位IC領(lǐng)域的專(zhuān)家,看到NPU、AI專(zhuān)核等一系列概念后勢(shì)必會(huì)一頭霧水,AI專(zhuān)核到底是什么,又扮演了什么樣的角色?這正是本文的初衷。
人工智能芯片到底是什么?
回答這個(gè)問(wèn)題之前,先來(lái)弄明白兩個(gè)概念,什么是CPU和GPU?
簡(jiǎn)單來(lái)說(shuō),CPU就是手機(jī)的“大腦”,也是手機(jī)正常運(yùn)行的“總指揮官”。GPU被翻譯成圖形處理器,主要工作確實(shí)是圖像處理。
再來(lái)說(shuō)說(shuō)CPU和GPU之間的分工,CPU遵循的是馮諾依曼架構(gòu),核心就是“存儲(chǔ)程序,順序執(zhí)行”,就像是做事一板一眼的管家,什么事情都要一步一步來(lái)。假如你讓CPU去種一棵樹(shù),挖坑、澆水、植樹(shù)、封土等工作都要獨(dú)自一步一步進(jìn)行。
如果讓GPU去種一棵樹(shù)的話(huà),會(huì)喊來(lái)小A、小B、小C等一同來(lái)完成,把挖坑、澆水、植樹(shù)、封土等工作分割成不同的子任務(wù)。這是因?yàn)镚PU執(zhí)行的是并行運(yùn)算,即把一個(gè)問(wèn)題分解成若干個(gè)部分,各部分由獨(dú)立的計(jì)算單元去完成。恰好圖像處理的每一個(gè)像素點(diǎn)都需要被計(jì)算,與GPU的工作原理不謀而合。
就如同一位知乎大神打的比方:CPU像是老教授,積分、微分什么都會(huì)算,但有些工作是計(jì)算大量一百以?xún)?nèi)的加減乘除,最好的方法當(dāng)然不是讓老教授挨個(gè)算下去,而是雇上幾十個(gè)小學(xué)生把任務(wù)分配下去。這就是CPU和GPU的分工,CPU負(fù)責(zé)大型運(yùn)算,GPU為圖像處理而生,從電腦到智能手機(jī)都是如此。
但當(dāng)人工智能的需求出現(xiàn)后,CPU和GPU的分工就出現(xiàn)了問(wèn)題,人工智能終端的深度學(xué)習(xí)和傳統(tǒng)計(jì)算不同,借由后臺(tái)預(yù)先從大量訓(xùn)練數(shù)據(jù)中總結(jié)出規(guī)律,得到可以給人工智能終端判定的參數(shù),比如訓(xùn)練樣本是人臉圖像數(shù)據(jù),實(shí)現(xiàn)的功能在終端上就是人臉識(shí)別。
CPU往往需要數(shù)百甚至上千條指令才能完成一個(gè)神經(jīng)元的處理,無(wú)法支撐起大規(guī)模的并行運(yùn)算,而手機(jī)上的GPU又需要處理各種應(yīng)用的圖像處理需求。強(qiáng)行使用CPU和GPU進(jìn)行人工智能任務(wù),結(jié)果普遍是效率低下、發(fā)熱嚴(yán)重。
這就需要高通、聯(lián)發(fā)科們拿出解決方案出來(lái),不那么湊巧的是,各家移動(dòng)芯片大廠(chǎng)的解決思路還不太一樣。
高通目前商用的旗艦處理器是驍龍845,搭載了Adreno 630 GPU,相比于上一代的驍龍835,AI處理能力提升了3倍,并且支持多個(gè)平臺(tái)的神經(jīng)網(wǎng)絡(luò)系統(tǒng)??赡苁浅鲇趯?duì)GPU性能的自信,又或許是沒(méi)有意識(shí)到AI需求的來(lái)臨,高通并沒(méi)有獨(dú)立的AI運(yùn)算單元,仍然是依靠CPU、GPU、DSP等來(lái)兼職處理AI需求。
聯(lián)發(fā)科一直都是被低估的玩家,所給出的解決方案和谷歌的TPU有些類(lèi)似,使用了ASIC(專(zhuān)用集成電路)的形式,打造了專(zhuān)門(mén)處理人工智能需求的AI專(zhuān)核,成為整合在HelioP60、Helio P70等芯片中的一小塊IP。AI專(zhuān)核的優(yōu)點(diǎn)在于運(yùn)行速度快、功耗低,可以和CPU、GPU進(jìn)行協(xié)同分工,CPU負(fù)責(zé)大型運(yùn)算,GPU承擔(dān)圖像處理,AI專(zhuān)核負(fù)責(zé)深度學(xué)習(xí)相關(guān)的場(chǎng)景。
文初所提到的NPU,翻譯成中文就是神經(jīng)網(wǎng)絡(luò)處理器,即蘋(píng)果A12、麒麟980和Exynos 9820提供的解決方案,其實(shí)也是AI專(zhuān)核的一種。通俗來(lái)說(shuō)就是人工智能加速器,因?yàn)镚PU是基于塊數(shù)據(jù)處理的,但手機(jī)上的AI應(yīng)用是需要實(shí)時(shí)處理的,人工智能加速器剛好解決了這個(gè)痛點(diǎn),把深度學(xué)習(xí)相關(guān)的工作接管過(guò)來(lái),從而緩解CPU 和GPU 的壓力。
可以看到,蘋(píng)果A12、麒麟980、Exynos 9820的NPU單元和AI專(zhuān)核有著相似的原理,將CPU和GPU的計(jì)算量分開(kāi),諸如面部識(shí)別、語(yǔ)音識(shí)別等AI相關(guān)的任務(wù)卸載到ASIC上處理,AI專(zhuān)核早已成為一種行業(yè)趨勢(shì)。
只不過(guò)目前“NPU”的概念還沒(méi)有完全統(tǒng)一,有些玩家仍以集成多個(gè)DSP核心的方式來(lái)調(diào)動(dòng)資源的支持,寒武紀(jì)的IP在處理mobilenetv1/v2又有一些問(wèn)題,因此突顯出在這方面,聯(lián)發(fā)科的步子要邁得更大一些。
AI專(zhuān)核是跨越還是幻想?
用一個(gè)“專(zhuān)核”來(lái)處理AI場(chǎng)景并非沒(méi)有缺陷,比如功能單一、開(kāi)發(fā)時(shí)間長(zhǎng)、增加芯片的成本、占據(jù)手機(jī)空間,大概也是高通沒(méi)有選擇這種解決方案的原因。
不過(guò)要判斷AI專(zhuān)核是超前的跨越還是無(wú)用的幻想,只需要來(lái)對(duì)比幾個(gè)實(shí)際的使用場(chǎng)景。
以時(shí)下應(yīng)用最廣泛的AI人臉識(shí)別為例,這是一個(gè)“掃描檢測(cè)”和“結(jié)果判斷”的過(guò)程,需要在掃描過(guò)程中判斷五官坐標(biāo)定位、人臉屬性識(shí)別、人臉特征提取等,然后在判斷時(shí)根據(jù)人臉特征、人臉識(shí)別、活體驗(yàn)證等進(jìn)行比對(duì)。人臉識(shí)別并非是純算法方面的事情,還需要涉及到CPU、GPU、VPU、DLA 等多個(gè)運(yùn)算單元。
有媒體做過(guò)這樣一個(gè)對(duì)比測(cè)試,分別是搭載聯(lián)發(fā)科Helio P60、高通驍龍845和驍龍710的智能手機(jī)進(jìn)行人臉識(shí)別,前者搭載了AI專(zhuān)核,后兩者采用了軟件優(yōu)化的解決方案,最終人臉識(shí)別速度分別是316.5ms、687.5ms和950ms。同樣都定位在中端處理器,聯(lián)發(fā)科HelioP60的人臉識(shí)別速度碾壓了驍龍710,甚至比驍龍845還要節(jié)約近一半的時(shí)間,AI專(zhuān)核的優(yōu)勢(shì)可見(jiàn)一斑。
為何會(huì)出現(xiàn)如此懸殊的差距?人臉識(shí)別的過(guò)程需要攝像頭先識(shí)別出人臉,無(wú)論是光線(xiàn)陰暗或者面朝別處,然后精準(zhǔn)判斷臉部的特征點(diǎn),比如眼睛多大、臉有多長(zhǎng),與已知樣本進(jìn)行比較,確定這個(gè)人是誰(shuí)。整個(gè)過(guò)程中需要極高的算力支撐,擁有AI專(zhuān)核的HelioP60自然比CPU、GPU兼職處理的芯片更高效,哪怕是旗艦級(jí)的驍龍845。
在AI專(zhuān)核上嘗到了甜頭后,聯(lián)發(fā)科在HelioP70中繼續(xù)升級(jí)了AI專(zhuān)核,AI處理能力相比于上一代提升了30%,支持更復(fù)雜的AI應(yīng)用,例如人體姿態(tài)識(shí)別、 AI 視頻編碼、照片實(shí)時(shí)美化、場(chǎng)景檢測(cè)、 AR 功能等等。
舉個(gè)例子來(lái)說(shuō),當(dāng)一位美妝博主進(jìn)行直播的時(shí)候,HelioP70的一個(gè) APU(聯(lián)發(fā)科為AI專(zhuān)核的命名)可以進(jìn)行人臉偵測(cè)、實(shí)時(shí)美顏,另一個(gè) APU 同時(shí)在做 HDR 處理以及背景虛化。如果是驍龍845的解決方案,單個(gè)DSP需要完成人臉檢測(cè)、畫(huà)面分割、背景虛化、HDR處理、多幀合成等流程,速度上的差異由此而生。
再比如在拍照方面,一張高動(dòng)態(tài)范圍的HDR圖需要三張12bit的RAW照片合成,然后通過(guò)ISP來(lái)輸出最佳優(yōu)化的照片。從拍照到照片輸出是一個(gè)極短的時(shí)間,對(duì)運(yùn)算量有著很大的要求,也往往會(huì)造成2-3秒的延時(shí)。但HelioP70的雙核APU可以雙線(xiàn)程并行加速,不到1秒的時(shí)間就可以完成照片優(yōu)化,比單個(gè)DSP的處理效率更高。
不只是聯(lián)發(fā)科,華為也在麒麟980的發(fā)布會(huì)上不吝筆墨地展示了雙核NPU在AI方面的優(yōu)勢(shì),集中體現(xiàn)在圖像和視頻的處理上。比如說(shuō)在物體的識(shí)別上,從以前識(shí)別到輪廓,到現(xiàn)在識(shí)別到細(xì)節(jié);在實(shí)時(shí)的物體分割上,從過(guò)去略微粗放的場(chǎng)景劃分,到現(xiàn)在的精細(xì)劃分。同時(shí)麒麟980還允許實(shí)時(shí)“跟蹤”多個(gè)對(duì)象,每分鐘圖像識(shí)別達(dá)到4500張,還支持在視頻中“換背景”。
此外,AI專(zhuān)核的另一大優(yōu)勢(shì)恐怕就是在續(xù)航上,至少蘋(píng)果、華為、聯(lián)發(fā)科都急于證明,并且集中在兩個(gè)維度上:
一方面AI專(zhuān)核的價(jià)值在于與CPU、GPU進(jìn)行協(xié)同分工,CPU和GPU過(guò)多的任務(wù)堆疊只會(huì)虛耗電量、提高溫度,比如雖然驍龍845的性能很強(qiáng)勁,在AI拍照的時(shí)候仍然會(huì)有輕微的發(fā)熱情況,諸如HelioP70等搭載AI專(zhuān)核的產(chǎn)品并不存在這個(gè)問(wèn)題;
另一方面在AI專(zhuān)核的協(xié)同下,可以對(duì)用戶(hù)行為進(jìn)行學(xué)習(xí),進(jìn)而對(duì)用戶(hù)的使用場(chǎng)景進(jìn)行預(yù)測(cè),然后進(jìn)行合理的性能分配。好比說(shuō)當(dāng)你在游戲時(shí)讓CPU高效運(yùn)算,而當(dāng)你在看電子書(shū)時(shí)避免性能浪費(fèi)。
寫(xiě)在最后
聯(lián)想到我們的實(shí)際生活,前兩年對(duì)圖像處理的需要還局限在美顏上,現(xiàn)在的短視頻、直播已經(jīng)對(duì)手機(jī)的AI性能表現(xiàn)出了更高的需求,聯(lián)發(fā)科的AI專(zhuān)核正是為此而生。
可以斷定的是,聯(lián)發(fā)科、華為等通過(guò)AI專(zhuān)核或類(lèi)似的理念來(lái)提升芯片的AI能力,無(wú)疑押對(duì)了移動(dòng)芯片的未來(lái)方向,可能在兩三年后AI專(zhuān)核將是手機(jī)芯片不可或缺的組成,也期待這些芯片大廠(chǎng)們?cè)贏I專(zhuān)核上不斷角力,不斷創(chuàng)新,不斷突破。
評(píng)論