盡管相當(dāng)數(shù)量的人工智能服務(wù),是由云計(jì)算網(wǎng)絡(luò)提供,但在響應(yīng)低延遲、保護(hù)隱私、應(yīng)用場(chǎng)景等方面,手機(jī)AI芯片無(wú)可替代。例如人臉解鎖,圖像增強(qiáng)、識(shí)別,智能助手,拍照?qǐng)鼍白R(shí)別,這些你我每天都會(huì)接觸的功能,離不開手機(jī)神經(jīng)引擎的加持。
AI-Benchmark測(cè)評(píng)
AI-Benchmark是蘇黎世聯(lián)邦理工學(xué)院(ETH Zürich)計(jì)算機(jī)視覺(jué)實(shí)驗(yàn)室Andrey Ignatov開發(fā)的AI基準(zhǔn)測(cè)試程序,它不依賴于每個(gè)SoC供應(yīng)商自己的SDK工具和API基準(zhǔn),能更客觀地展示終端性能。
其測(cè)試任務(wù)包括以下9項(xiàng)(http://ai-benchmark.com/tests.html):
目標(biāo)識(shí)別/分類:這是一個(gè)非?;A(chǔ)但很強(qiáng)大的神經(jīng)網(wǎng)絡(luò),能夠基于一張照片識(shí)別1000個(gè)不同的對(duì)象類別,準(zhǔn)確率約為70%。經(jīng)過(guò)量化,其大小可小于 5MB,再加上低耗內(nèi)存,可在幾乎所有現(xiàn)有智能手機(jī)上使用。
精確目標(biāo)識(shí)別/分類:這是對(duì)上一個(gè)網(wǎng)絡(luò)的進(jìn)一步擴(kuò)展,更加精確,但代價(jià)是規(guī)模是原來(lái)的4倍,且對(duì)計(jì)算的要求較高。一個(gè)明顯的優(yōu)勢(shì)是——它可以處理分辨率更高的圖像,這意味著更精確的識(shí)別和更小目標(biāo)的檢測(cè)。
人臉識(shí)別:實(shí)現(xiàn)方式為,對(duì)于每個(gè)人臉圖像,神經(jīng)網(wǎng)絡(luò)會(huì)對(duì)人臉編碼并生成128維的特征向量,該特征向量不隨縮放、移動(dòng)或旋轉(zhuǎn)而改變。然后在數(shù)據(jù)庫(kù)中檢索和此向量最匹配的特征向量(以及對(duì)應(yīng)的身份),數(shù)據(jù)庫(kù)里包含數(shù)億個(gè)此類信息。
圖像去模糊:模糊是通過(guò)一種最原始、最簡(jiǎn)單、最輕量級(jí)的神經(jīng)網(wǎng)絡(luò) SRCNN(只有 3 個(gè)卷積層)去除的。即便如此,它仍然顯示出相當(dāng)令人滿意的結(jié)果。
圖像超分辨率:使用一個(gè)19層的VGG-19網(wǎng)絡(luò)。盡管目前來(lái)看,該網(wǎng)絡(luò)的表現(xiàn)并不驚艷,也不能重建高頻部分。但它對(duì)于繪畫仍是理想的解決方案,因?yàn)樵摼W(wǎng)絡(luò)可以讓圖像變得更加清晰、平滑。
另一種圖像超分辨率:任務(wù)同上,但完成方法略有不同,如果使用其他神經(jīng)網(wǎng)絡(luò)訓(xùn)練我們的神經(jīng)網(wǎng)絡(luò)會(huì)如何?我們安排兩個(gè)網(wǎng)絡(luò)去完成兩個(gè)不同的任務(wù):網(wǎng)絡(luò)嘗試解決上面提到的超分辨率問(wèn)題,網(wǎng)絡(luò)B觀察其結(jié)果,嘗試找到其中的缺陷并懲罰網(wǎng)絡(luò)A。
語(yǔ)義圖像分割:根據(jù)車載攝像頭拍攝的照片檢測(cè)19類目標(biāo)(如車、行人、路、天空等)。
圖像增強(qiáng):經(jīng)過(guò)恰當(dāng)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)可以讓舊手機(jī)上的照片看起來(lái)更時(shí)髦。
內(nèi)存極限:任務(wù)4使用的SRCNN是最輕便、簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)之一,這項(xiàng)測(cè)試的目的是找到設(shè)備的極限,即這個(gè)最簡(jiǎn)易的網(wǎng)絡(luò)到底能處理多大的圖像。
一騎絕塵 or 不分勝負(fù)
在剛出爐的2019年2月排行中,高通驍龍855位列榜首,緊隨其后是聯(lián)發(fā)科Helio P90處理器。而華為最強(qiáng)手機(jī)處理器麒麟980(去年9月發(fā)布),在這項(xiàng)測(cè)試中,已被驍龍855大幅甩開35%。
驍龍855(總分19769)對(duì)浮點(diǎn)和量化神經(jīng)網(wǎng)絡(luò)都能提供出色的硬件加速——前者依靠Adreno 640 GPU,而量化網(wǎng)絡(luò)則運(yùn)行在Hexagon 690 DSP中。這種組合省略了AI獨(dú)立運(yùn)算單元,依舊是傳統(tǒng)的CPU/GPU及DSP/ISP兼職處理AI任務(wù)。這種設(shè)計(jì)思路,令SoC更小巧,也更容易開發(fā),但原本用于圖形任務(wù)設(shè)計(jì)的GPU,在更遠(yuǎn)的未來(lái)可能會(huì)觸及架構(gòu)瓶頸,難免還要面對(duì)芯片架構(gòu)的一次大調(diào)整。
芯片之爭(zhēng)既是長(zhǎng)跑,也是沖刺。
關(guān)于量化網(wǎng)絡(luò)
開發(fā)神經(jīng)網(wǎng)絡(luò)時(shí)最大的挑戰(zhàn)是讓其真正起效,訓(xùn)練一般希望速度快準(zhǔn)確率高。使用浮點(diǎn)算法是保持結(jié)果精確最簡(jiǎn)單的方式——GPU擁有加速浮點(diǎn)算法庫(kù),所以不需要過(guò)多關(guān)注其他數(shù)值格式。
而隨著大量神經(jīng)網(wǎng)絡(luò)模型投入實(shí)際應(yīng)用。訓(xùn)練計(jì)算需求隨研究者數(shù)目線性增長(zhǎng),預(yù)測(cè)所需的周期與用戶數(shù)目成正比。這意味著純預(yù)測(cè)效率迫在眉睫。
這就是量化神經(jīng)網(wǎng)絡(luò)的用武之地:量化網(wǎng)絡(luò)最初的動(dòng)機(jī)是減小模型文件尺寸,在模型載入后仍然轉(zhuǎn)換回浮點(diǎn)數(shù),這樣你已有的浮點(diǎn)計(jì)算代碼無(wú)需改動(dòng)即可正常運(yùn)行,另一個(gè)量化的動(dòng)機(jī)是降低預(yù)測(cè)過(guò)程的計(jì)算資源需求。
雖然只是中端芯片,但聯(lián)發(fā)科P90(總分18231)的實(shí)際AI性能,幾乎與驍龍旗艦處理器不分伯仲(雖然P90理論GMAC參數(shù)占下風(fēng)),它采用了獨(dú)立的AI芯片——其設(shè)計(jì)來(lái)自GPU“魔改”,以優(yōu)化深度學(xué)習(xí)任務(wù)。與競(jìng)爭(zhēng)對(duì)手相比,這款芯片的不足在于CPU性能弱了30%,GPU也差強(qiáng)人意。
華為麒麟980(總分14646)發(fā)布已近半年,雖然賬面成績(jī)遜一籌,但值得指出的是,它的浮點(diǎn)性能與兩個(gè)對(duì)手不分勝負(fù),這意味著運(yùn)行浮點(diǎn)神經(jīng)網(wǎng)絡(luò)任務(wù),亦相差無(wú)幾——這是當(dāng)下AI研究和開發(fā)的主流技術(shù),而且每個(gè)網(wǎng)絡(luò)架構(gòu),都能以浮點(diǎn)模型訓(xùn)練。反之則不然,能轉(zhuǎn)換為量化模型的網(wǎng)絡(luò)較少,且常常伴隨著準(zhǔn)確度大幅下降。所以在2019年初,華為麒麟980仍算強(qiáng)大。
回顧歷史,早在2004年,華為開始組建手機(jī)芯片研發(fā)隊(duì)伍,經(jīng)過(guò)5年研發(fā),到2009年,才拿出第一款海思K3。到2014年初,推出麒麟910,首次采用28nm制程,才有自己的名聲。整個(gè)2014年,華為不停的迭代,一共發(fā)布了6款芯片,終于有了長(zhǎng)足進(jìn)步。
再到2015年11月,麒麟950 SoC發(fā)布,采用16nm FinFET Plus工藝,勉強(qiáng)追上高通。而在950之后,華為又在2016年發(fā)布了960,2017年發(fā)布970,再到2018年7月發(fā)布710、8月發(fā)布980,終于開始領(lǐng)跑——之后的一個(gè)季度,華為麒麟970/980家族幾乎壟斷了AI-Benchmark商用設(shè)備榜單。
那么,目前地表最強(qiáng)的移動(dòng)AI處理器最終花落驍龍855?隔壁蘋果家的A12X Bionic可能并不同意(AI-Benchmark目前只支持Android平臺(tái))。