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