每日最新頭條.有趣資訊

一文讀懂AI專核的“身份”

聯發科、華為等通過AI專核或類似的理念來提升芯片的AI能力,無疑押對了移動芯片的未來方向,可能在兩三年後AI專核將是手機芯片不可或缺的組成。

文|Alter

從2018年的歲初到年尾,人工智能都是手機行業的關鍵詞。

手機廠商忙不迭給用戶灌輸這樣一個認知:AI會讓你的手機更智能,並推出了智能語音助手、面部解鎖、照片智能分類等一系列應用。事實證明,行業趨勢總會導致產業鏈上遊的變革,處於產業鏈頂端的手機芯片也不例外。

蘋果A12和麒麟980都宣稱搭載了NPU單元來增強手機的AI處理能力,高通特意在驍龍845的宣傳中加入了“人工智能”的標簽,三星剛推出的Exynos 9820成為首個集成NPU單元的Exynos系列芯片,聯發科則在Helio P70中強調了“AI專核”的概念……

如果你不是一位IC領域的專家,看到NPU、AI專核等一系列概念後勢必會一頭霧水,AI專核到底是什麽,又扮演了什麽樣的角色?這正是本文的初衷。

人工智能芯片到底是什麽?

回答這個問題之前,先來弄明白兩個概念,什麽是CPU和GPU?

簡單來說,CPU就是手機的“大腦”,也是手機正常運行的“總指揮官”。GPU被翻譯成圖形處理器,主要工作確實是影像處理。

再來說說CPU和GPU之間的分工,CPU遵循的是馮諾依曼架構,核心就是“存儲程式,順序執行”,就像是做事一板一眼的管家,什麽事情都要一步一步來。假如你讓CPU去種一棵樹,挖坑、澆水、植樹、封土等工作都要獨自一步一步進行。

如果讓GPU去種一棵樹的話,會喊來小A、小B、小C等一同來完成,把挖坑、澆水、植樹、封土等工作分割成不同的子任務。這是因為GPU執行的是並行運算,即把一個問題分解成若乾個部分,各部分由獨立的計算單元去完成。恰好影像處理的每一個像素點都需要被計算,與GPU的工作原理不謀而合。

就如同一位知乎大神打的比方:CPU像是老教授,積分、微分什麽都會算,但有些工作是計算大量一百以內的加減乘除,最好的方法當然不是讓老教授挨個算下去,而是雇上幾十個小學生把任務分配下去。這就是CPU和GPU的分工,CPU負責大型運算,GPU為影像處理而生,從電腦到智能手機都是如此。

但當人工智能的需求出現後,CPU和GPU的分工就出現了問題,人工智能終端的深度學習和傳統計算不同,借由後台預先從大量訓練數據中總結出規律,得到可以給人工智能終端判定的參數,比如訓練樣本是人臉影像數據,實現的功能在終端上就是人臉識別。

CPU往往需要數百甚至上千條指令才能完成一個神經元的處理,無法支撐起大規模的並行運算,而手機上的GPU又需要處理各種應用的影像處理需求。強行使用CPU和GPU進行人工智能任務,結果普遍是效率低下、發熱嚴重。

這就需要高通、聯發科們拿出解決方案出來,不那麽湊巧的是,各家移動芯片大廠的解決思路還不太一樣。

高通目前商用的旗艦處理器是驍龍845,搭載了Adreno 630 GPU,相比於上一代的驍龍835,AI處理能力提升了3倍,並且支持多個平台的神經網絡系統。可能是出於對GPU性能的自信,又或許是沒有意識到AI需求的來臨,高通並沒有獨立的AI運算單元,仍然是依靠CPU、GPU、DSP等來兼職處理AI需求。

聯發科一直都是被低估的玩家,所給出的解決方案和谷歌的TPU有些類似,使用了ASIC(專用集成電路)的形式,打造了專門處理人工智能需求的AI專核,成為整合在HelioP60、Helio P70等芯片中的一小塊IP。AI專核的優點在於運行速度快、功耗低,可以和CPU、GPU進行協同分工,CPU負責大型運算,GPU承擔影像處理,AI專核負責深度學習相關的場景。

文初所提到的NPU,翻譯成中文就是神經網絡處理器,即蘋果A12、麒麟980和Exynos 9820提供的解決方案,其實也是AI專核的一種。通俗來說就是人工智能加速器,因為GPU是基於塊數據處理的,但手機上的AI應用是需要實時處理的,人工智能加速器剛好解決了這個痛點,把深度學習相關的工作接管過來,從而緩解CPU 和GPU 的壓力。

可以看到,蘋果A12、麒麟980、Exynos 9820的NPU單元和AI專核有著相似的原理,將CPU和GPU的計算量分開,諸如面部識別、語音識別等AI相關的任務解除安裝到ASIC上處理,AI專核早已成為一種行業趨勢。

只不過目前“NPU”的概念還沒有完全統一,有些玩家仍以集成多個DSP核心的方式來調動資源的支持,寒武紀的IP在處理mobilenetv1/v2又有一些問題,因此突顯出在這方面,聯發科的步子要邁得更大一些。

AI專核是跨越還是幻想?

用一個“專核”來處理AI場景並非沒有缺陷,比如功能單一、開發時間長、增加芯片的成本、佔據手機空間,大概也是高通沒有選擇這種解決方案的原因。

不過要判斷AI專核是超前的跨越還是無用的幻想,只需要來對比幾個實際的使用場景。

以時下應用最廣泛的AI人臉識別為例,這是一個“掃描檢測”和“結果判斷”的過程,需要在掃描過程中判斷五官坐標定位、人臉屬性識別、人臉特徵提取等,然後在判斷時根據人臉特徵、人臉識別、活體驗證等進行比對。人臉識別並非是純算法方面的事情,還需要涉及到CPU、GPU、VPU、DLA等多個運算單元。

有媒體做過這樣一個對比測試,分別是搭載聯發科Helio P60、高通驍龍845和驍龍710的智能手機進行人臉識別,前者搭載了AI專核,後兩者採用了軟體優化的解決方案,最終人臉識別速度分別是316.5ms、687.5ms和950ms。同樣都定位在中端處理器,聯發科HelioP60的人臉識別速度碾壓了驍龍710,甚至比驍龍845還要節約近一半的時間,AI專核的優勢可見一斑。

為何會出現如此懸殊的差距?人臉識別的過程需要攝影頭先識別出人臉,無論是光線陰暗或者面朝別處,然後精準判斷臉部的特徵點,比如眼睛多大、臉有多長,與已知樣本進行比較,確定這個人是誰。整個過程中需要極高的算力支撐,擁有AI專核的HelioP60自然比CPU、GPU兼職處理的芯片更高效,哪怕是旗艦級的驍龍845。

在AI專核上嘗到了甜頭後,聯發科在HelioP70中繼續更新了AI專核,AI處理能力相比於上一代提升了30%,支持更複雜的AI應用,例如人體姿態識別、 AI 影片編碼、照片實時美化、場景檢測、 AR 功能等等。

舉個例子來說,當一位美妝博主進行直播的時候,HelioP70的一個 APU(聯發科為AI專核的命名)可以進行人臉偵測、實時美顏,另一個 APU 同時在做 HDR 處理以及背景虛化。如果是驍龍845的解決方案,單個DSP需要完成人臉檢測、畫面分割、背景虛化、HDR處理、多幀合成等流程,速度上的差異由此而生。

再比如在拍照方面,一張高動態範圍的HDR圖需要三張12bit的RAW照片合成,然後通過ISP來輸出最佳優化的照片。從拍照到照片輸出是一個極短的時間,對運算量有著很大的要求,也往往會造成2-3秒的延時。但HelioP70的雙核APU可以雙線程並行加速,不到1秒的時間就可以完成照片優化,比單個DSP的處理效率更高。

不只是聯發科,華為也在麒麟980的發布會上不吝筆墨地展示了雙核NPU在AI方面的優勢,集中體現在影像和影片的處理上。比如說在物體的識別上,從以前識別到輪廓,到現在識別到細節;在實時的物體分割上,從過去略微粗放的場景劃分,到現在的精細劃分。同時麒麟980還允許實時“跟蹤”多個對象,每分鐘影像識別達到4500張,還支持在影片中“換背景”。

此外,AI專核的另一大優勢恐怕就是在續航上,至少蘋果、華為、聯發科都急於證明,並且集中在兩個維度上:

一方面AI專核的價值在於與CPU、GPU進行協同分工,CPU和GPU過多的任務堆疊只會虛耗電量、提高溫度,比如雖然驍龍845的性能很強勁,在AI拍照的時候仍然會有輕微的發熱情況,諸如HelioP70等搭載AI專核的產品並不存在這個問題;

另一方面在AI專核的協同下,可以對用戶行為進行學習,進而對用戶的使用場景進行預測,然後進行合理的性能分配。好比說當你在遊戲時讓CPU高效運算,而當你在看電子書時避免性能浪費。

寫在最後

聯想到我們的實際生活,前兩年對影像處理的需要還局限在美顏上,現在的短影片、直播已經對手機的AI性能表現出了更高的需求,聯發科的AI專核正是為此而生。

可以斷定的是,聯發科、華為等通過AI專核或類似的理念來提升芯片的AI能力,無疑押對了移動芯片的未來方向,可能在兩三年後AI專核將是手機芯片不可或缺的組成,也期待這些芯片大廠們在AI專核上不斷角力,不斷創新,不斷突破。

未經允許請勿轉載到其他公眾號

請給本公眾號留言獲取內容授權

獲得更多的PTT最新消息
按讚加入粉絲團