作為AI芯片的典型,目前華為,、蘋果等廠商都開始在NPU上發(fā)力,。除此以外,開發(fā)者也在努力推進(jìn)著手機(jī)端AI應(yīng)用的發(fā)展。
NPU(Neural Processing Unit,神經(jīng)網(wǎng)絡(luò)處理器),一直都是華為發(fā)布會(huì)上的熱門詞匯,這次的麒麟9000同樣將NPU標(biāo)記在芯片結(jié)構(gòu)圖的C位,。而庫克在介紹最先進(jìn)的A14處理器時(shí),也著重提到了NPU,。
早在2013年,高通公司就提出了“Zeroth”處理器的概念,這款處理器可以模仿類似人腦的認(rèn)知能力,并實(shí)現(xiàn)自我學(xué)習(xí)的功能。
在高通的設(shè)想中,Zeroth的終極目標(biāo)就是形成標(biāo)準(zhǔn)化的新型處理架構(gòu),并且第一次提出了NPU的概念,這種芯片已經(jīng)具備了AI芯片的雛形,。
2017年,華為海思推出了麒麟970,這款芯片首次內(nèi)置了獨(dú)立NPU,。
在此之后,幾乎所有的手機(jī)廠商都將AI作為新的亮點(diǎn),一顆SoC芯片如果沒有足夠的AI算力,似乎都不能被拿到臺面上介紹。
如今距離提出NPU的概念已經(jīng)過去了七年,AI芯片在手機(jī)端的發(fā)展似乎并不如人意,。
如何理解NPU
傳統(tǒng)CPU進(jìn)行累加計(jì)算時(shí),效率非常低,但當(dāng)GPU做類似的計(jì)算,效率就會(huì)高很多,。同樣的道理,GPU主要被用來進(jìn)行圖像處理,并沒有針對神經(jīng)網(wǎng)絡(luò)計(jì)算進(jìn)行特殊優(yōu)化,這時(shí)候使用專業(yè)針對神經(jīng)網(wǎng)絡(luò)計(jì)算的NPU,就可以大大提高計(jì)算效率并減少功耗。
假設(shè)我們面前有一條沒有橋的河,我們應(yīng)當(dāng)如何過河?這時(shí)候大腦就會(huì)涌出各種想法并且比較各種方法的優(yōu)劣,。
NPU的工作就類比大腦,在手機(jī)中模擬所有可行的方案,并從中挑選一個(gè)最優(yōu)解,。有了NPU之后,手機(jī)的AI性能就能得到大幅的提升。
從麒麟970的單核NPU,、到最新的麒麟9000的2+1三核NPU,NPU的升級也伴著華為的AI技術(shù)的發(fā)展,最能直觀體會(huì)到的就攝像功能帶來的進(jìn)步,。
比如取景時(shí)的智能場景識別功能,可以讓系統(tǒng)快速識別拍攝的物體和場景,并自動(dòng)做出優(yōu)化調(diào)教,。再比如被廣大消費(fèi)者驚嘆的“月亮模式”,以及強(qiáng)大的智能防抖功能,再包括最新的物體識別。
這些功能都是通過NPU來彌補(bǔ)華為手機(jī)在CMOS尺寸以及ISP(圖像信號處理)上與其他廠商的差距,。
在麒麟970推出之后,AI功能逐漸拓展,從手持超級夜景到語音助手,、節(jié)能優(yōu)化、智慧識別,、識圖翻譯......越來越多的應(yīng)用場景都開始運(yùn)用AI加速運(yùn)算,這些都得益于NPU的支持,。
硬件層面,NPU可以代替CPU進(jìn)行處理,讓SoC具備了更強(qiáng)的本地AI運(yùn)算能力(類似于“硬解”)。相比較CPU的“軟解”,“硬解”效率更高,、速度更快,、功耗也更低。
但即便NPU功能十分強(qiáng)大,如今NPU在手機(jī)日常的應(yīng)用領(lǐng)域還處于初級階段,它的重要性還遠(yuǎn)不如CPU,、GPU和ISP,屬于錦上添花的存在,。
例如高通驍龍AI Engine引擎之中就沒有獨(dú)立的NPU單元,而聯(lián)發(fā)科在Helio P60/P90引入的NeuroPilot AI技術(shù)最早也是通過多個(gè)單元協(xié)同計(jì)算(APU+CPU+GPU)。
AI芯片只是第一步
有了AI芯片的支持,或許能增強(qiáng)手機(jī)AI能力,但目前的AI芯片卻不能很好地適配所有的軟件,。
比如,很多直播APP都有實(shí)時(shí)美顏功能,可以利用降噪,、顏色空間轉(zhuǎn)換實(shí)現(xiàn)磨皮、濾鏡等基礎(chǔ)功能,但使用不同的軟件可能會(huì)造成耗電量過高的異常,這就是軟件層面的不適配,。
從整個(gè)市場上來看,目前AI芯片還處于算法主導(dǎo)到產(chǎn)品主導(dǎo)的過渡期,由于各家AI芯片的設(shè)計(jì)不同,AI方案架構(gòu)方面都有不小區(qū)別,像寒武紀(jì)的“DIANNAO”,、谷歌的TPU,再到華為的達(dá)芬奇架構(gòu),目前AI芯片的設(shè)計(jì)可謂百花齊放。除此以外,還有單一針對卷積神經(jīng)網(wǎng)絡(luò)的ASIC加速器,以及支持簡單編程的通用型AI芯片,。
這些種類繁多的AI芯片,推動(dòng)了AI技術(shù)在手機(jī)端的普及,但不可避免會(huì)帶來一些問題,。
AI應(yīng)用需要開發(fā)者的努力
雖然各家的AI芯片都開始集成獨(dú)立的神經(jīng)網(wǎng)絡(luò)處理單元,但是在設(shè)計(jì)上有很大不同,這意味著在運(yùn)行機(jī)器學(xué)習(xí)應(yīng)用方面,幾家AI芯片在性能和能耗上有很大差別。因此,第三方開發(fā)者是否針對幾家的芯片設(shè)計(jì)進(jìn)行優(yōu)化,或只支持某一種設(shè)計(jì),會(huì)對系統(tǒng)性能產(chǎn)生重大影響,。
目前,大多數(shù)移動(dòng)AI芯片在機(jī)器學(xué)習(xí)方面做了較為普適性的優(yōu)化,而對一些特定的計(jì)算方式則沒有進(jìn)行太多優(yōu)化,。
就算開發(fā)者開發(fā)出同一款A(yù)I應(yīng)用,其兼容性可能會(huì)存在很多問題。當(dāng)AI應(yīng)用的開發(fā)進(jìn)入到實(shí)際的應(yīng)用和業(yè)務(wù)層面,開發(fā)者面臨著標(biāo)準(zhǔn)不同,、API配適,、軟件優(yōu)化等很多的難題。也就導(dǎo)致開發(fā)者必須針對不同廠商的設(shè)備進(jìn)行逐個(gè)優(yōu)化,。加之安卓生態(tài)比較混亂,移動(dòng)AI開發(fā)者很可能受到更多阻礙,。
就拿之前提到獲得AI技術(shù)加持的照相功能來講,除了在畫面上的提升,還是有很多人都會(huì)吐槽華為手機(jī)存在過分美顏、過度銳化,、顏色失真等問題,但這些問題在iPhone上就很少被提及,。
一直以來,蘋果在照片成像上的AI技術(shù)都調(diào)教的恰到好處,不論是自帶相機(jī)還是第三方相機(jī),“拍照真實(shí)”也成為iPhone的賣點(diǎn)之一,很多專業(yè)攝影師已經(jīng)選擇將iPhone作為便攜街拍設(shè)備。相比而言,“傻瓜式”的安卓手機(jī)更偏向攝影小白,。
不過隨著安卓手機(jī)廠商和應(yīng)用開發(fā)者不斷對系統(tǒng)以及APP進(jìn)行優(yōu)化,現(xiàn)在的安卓手機(jī)拍照也變得更加智能,。
所以,AI芯片只是提供了手機(jī)AI應(yīng)用的基石,真正要挖掘出移動(dòng)端AI的魅力,還需要開發(fā)者針對AI芯片的能力開發(fā)出合適的應(yīng)用。
結(jié)語
目前,以AI芯片為基礎(chǔ)打造一個(gè)AI應(yīng)用生態(tài)圈的愿望真的十分美好,但這個(gè)過程還有很長的路要走,。硬件走在了前面,軟件也要跟得上,。
在未來,NPU或許也會(huì)像當(dāng)年FPU之于CPU一樣,成為移動(dòng)Soc芯片的標(biāo)準(zhǔn),。或許在未來我們能在智能手機(jī)上體會(huì)到更棒的AI應(yīng)用,。
至少在現(xiàn)在,以NPU為首的AI芯片們,還有很長的路要走,。