神經(jīng)網(wǎng)絡(luò)引擎是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征,進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型,這種網(wǎng)絡(luò)依靠系統(tǒng)的復(fù)雜程度,通過調(diào)整內(nèi)部大量節(jié)點(diǎn)之間相互連接的關(guān)系,從而達(dá)到處理信息的目的。
神經(jīng)網(wǎng)絡(luò)引擎是通過對人腦的基本單元神經(jīng)元的建模和聯(lián)接,探索模擬人腦神經(jīng)系統(tǒng)功能的模型,并研制一種具有學(xué)習(xí)、聯(lián)想、記憶和模式識別等智能信息處理功能的人工系統(tǒng),神經(jīng)網(wǎng)絡(luò)引擎的一個重要特性是它能夠從環(huán)境中學(xué)習(xí),并把學(xué)習(xí)的結(jié)果分布存儲于網(wǎng)絡(luò)的突觸連接中,其學(xué)習(xí)是一個過程,在所處環(huán)境的激勵下,相繼給網(wǎng)絡(luò)輸入一些樣本模式,并按照一定的學(xué)習(xí)算法規(guī)則調(diào)整網(wǎng)絡(luò)各層的權(quán)值矩陣,待網(wǎng)絡(luò)各層權(quán)值都收斂到一定值,學(xué)習(xí)過程結(jié)束,然后可用生成的神經(jīng)網(wǎng)絡(luò)來對真實(shí)數(shù)據(jù)做分類。
蘋果A11神經(jīng)網(wǎng)絡(luò)引擎
蘋果在最新發(fā)布會上,公布了十周年版iPhone X,極大地吸引了人們的注意力。在iPhone X眾多特性中,使用面部識別FaceID代替原有的指紋識別TouchID進(jìn)行屏幕解鎖和身份認(rèn)證無疑是最大的亮點(diǎn)之一,這有可能成為蘋果對于手機(jī)交互進(jìn)步的又一次推動。
FaceID使用了人工智能技術(shù)完成人臉三維建模中的特征提取,并且用這些特征配合算法來實(shí)現(xiàn)人臉識別?,F(xiàn)場演示中,F(xiàn)aceID人臉識別用戶體驗(yàn)非常流暢,而在流暢體驗(yàn)背后的功臣,則是A11 Bionic SoC上集成的人工智能加速器,蘋果官方稱之為“神經(jīng)網(wǎng)絡(luò)引擎(neural engine)”。
什么是人工智能加速器
我們首先來看一下什么是人工智能加速器。要理解人工智能加速器的概念,不妨先回顧一下GPU。在上世紀(jì)90年代,隨著多媒體應(yīng)用,尤其是3D游戲的興起,人們發(fā)現(xiàn)傳統(tǒng)的CPU的架構(gòu)對于這類需要高速圖形渲染的應(yīng)用力不從心,原因是CPU在芯片上放了許多控制邏輯和緩存單元,真正留給計(jì)算單元的芯片面積反而不多。
這時候,人們設(shè)計(jì)了3D加速卡,以3dfx,Nvidia和ATI為代表的芯片公司在當(dāng)年可以說是叱咤風(fēng)云,而隨著時間和市場的變遷,3D加速卡的概念也慢慢過渡到了用來處理通用圖形計(jì)算甚至通用并行運(yùn)算的GPU,而在今天市面上的獨(dú)立顯卡廠商也只剩下了Nvidia和ATI。
人工智能加速器和GPU很像,只是當(dāng)年的驅(qū)動應(yīng)用是多媒體和3D游戲,而今天的驅(qū)動應(yīng)用則是人工智能,包括語音助手,人臉識別,物體識別等等。這一波興起的人工智能的基礎(chǔ)算法是神經(jīng)網(wǎng)絡(luò),而神經(jīng)網(wǎng)絡(luò)會大量用到矩陣乘法以及卷積運(yùn)算。又一次,人們發(fā)現(xiàn)CPU的運(yùn)算能力無法支撐目前的人工智能運(yùn)算了,而GPU雖然也能實(shí)現(xiàn)高速人工智能運(yùn)算,但是功耗太大(為了移動應(yīng)用設(shè)計(jì)的Nvidia TX2都要消耗10W之多的功耗),于是,為了讓更多的移動設(shè)備能用上人工智能,人工智能加速器就應(yīng)運(yùn)而生了。
人工智能加速器通常是一塊專用的硬件單元,可以以單獨(dú)芯片或者SoC上的IP的形式存在。由于專門為人工智能加速設(shè)計(jì),因此在處理此類運(yùn)算時可以實(shí)現(xiàn)非常高的性能并且消耗很低的功耗。之前在華為公布的Kirin 970上,就集成了這樣一塊人工智能加速器,可見人工智能加速器正在越來越多地進(jìn)入移動芯片市場。華為麒麟970上也集成了人工智能加速模塊
蘋果在人工智能硬件加速方面的布局
蘋果在人工智能這一重大風(fēng)口自然不甘落后,在人工智能加速領(lǐng)域也早就有了布局。
看如今市場,Nvidia之所以能占據(jù)人工智能硬件的領(lǐng)頭羊位置,與其開放易用的CUDA接口方便程序員使用GPU加速人工智能不無關(guān)系。而在移動端,如何充分調(diào)用SoC上的GPU來加速人工智能一直讓開發(fā)者頗為頭痛。蘋果在之前就公布了Metal和Core ML兩個不同層面的接口可供開發(fā)者調(diào)用,以加速iOS平臺上的人工智能應(yīng)用。公布軟件接口的另一目的,就是為了為專用硬件的開發(fā)積累經(jīng)驗(yàn),以實(shí)現(xiàn)軟硬件協(xié)同優(yōu)化。在今年五月,就有消息稱蘋果名為“神經(jīng)網(wǎng)絡(luò)引擎”的專用人工智能加速硬件已經(jīng)基本完成。而到了今天,蘋果則真正公開宣布了神經(jīng)網(wǎng)絡(luò)引擎。
A11神經(jīng)網(wǎng)絡(luò)引擎分析
蘋果在發(fā)布會上公布的關(guān)于神經(jīng)網(wǎng)絡(luò)引擎的信息包括:
使用雙核心設(shè)計(jì)。由于缺乏其他配套信息,從這條信息中我們能推測出的就是蘋果或許可以允許神經(jīng)網(wǎng)絡(luò)引擎的幾種使用模式,包括全關(guān)閉,只打開一個核,以及雙核全部打開,以滿足不同情況下的性能/功耗需求。
性能可達(dá)0.6TOPS。這樣的性能已經(jīng)能處理目前主流的神經(jīng)網(wǎng)絡(luò)模型計(jì)算。可見,目前1TOPS左右的處理性能將會成為人工智能加速器的標(biāo)配。
實(shí)時處理。GPU處理人工智能運(yùn)算時,另一個令人詬病的問題就是延遲大,因?yàn)镚PU往往是基于塊數(shù)據(jù)(batch)處理,因此在需要實(shí)時作出反應(yīng)的移動端并不適合。蘋果的神經(jīng)網(wǎng)絡(luò)引擎則強(qiáng)調(diào)了自己是實(shí)時處理這一點(diǎn),顯然是為了與GPU作出區(qū)分,以配合移動端實(shí)時應(yīng)用的需求。
除此之外,我們還能猜到神經(jīng)計(jì)算引擎是SoC上的一個IP模塊,而不是單獨(dú)的一塊芯片。
我們可以和其他包含類似加速模塊的芯片對比。華為的麒麟970包含了和蘋果神經(jīng)網(wǎng)絡(luò)引擎類似的人工智能加速模塊,其峰值性能可達(dá)1.93TOPS(為蘋果神經(jīng)網(wǎng)絡(luò)引擎的3倍多),但是實(shí)際性能不等于峰值性能,還需要取決于軟硬件協(xié)同優(yōu)化效果。高通的梟龍系列包含Neural Processing Engine軟件SDK,能幫助開發(fā)者更好地利用高通芯片上的GPU/CPU/DSP完成人工智能加速??梢哉f,高通的方案相比華為和蘋果顯得較為保守(之前推出過Zeroth人工智能硬件加速模塊但是后來被放棄了),但是在人工智能的大潮下估計(jì)高通也會在之后的芯片中加入相關(guān)人工智能加速器。
雖然發(fā)布會公布了不少信息,但是還有更多未知,需要時間去澄清。
最令人感興趣的問題,恐怕是神經(jīng)網(wǎng)絡(luò)引擎除了FaceID之外,還可以用在哪些其他的地方?由于FaceID對于實(shí)時性的需求不高(延遲在1秒內(nèi)估計(jì)就能滿足客戶需求),如果只為這個用途專門配一塊0.6TOPS的加速器就顯得太過奢侈了,因此神經(jīng)計(jì)算引擎應(yīng)該還會在其他的場合能用上。那么,其他的應(yīng)用場合又是哪些呢?是專供蘋果操作系統(tǒng)內(nèi)部原生app使用,還是會開放給第三方app也能使用?目前這一切都還不得而知,但是蘋果打造神經(jīng)網(wǎng)絡(luò)引擎的野心肯定不止于FaceID。
到底有幾個版本A11 Bionic?如果只有一個包含神經(jīng)網(wǎng)絡(luò)引擎的版本,那么在不包含F(xiàn)aceID的iPhone 8上,神經(jīng)網(wǎng)絡(luò)引擎一定會要做一些其他事情。如果有兩個版本的A11 (含神經(jīng)網(wǎng)絡(luò)引擎的iPhone X版本和不含神經(jīng)網(wǎng)絡(luò)引擎的iPhone 8版本),那么只能說蘋果錢太多,能一次設(shè)計(jì)兩個版本的芯片!
責(zé)任編輯: