我們的手機究竟需不需要這麼多的“人工智能”?

  從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進行人工智能任務,結果普遍是效率低下、發熱嚴重。  大連渤海醫院電話是多少 http://yyk.39.net/hospital/f9a8f_registers.html

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

  高通目前商用的旗艦處理器是驍龍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 功能等等。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章