論Kirin 970的人工智能NPU的工作原理
日前,美國知名科技媒體Android Authority主筆Gary Sims對麒麟970進行了深度解讀,講述了麒麟970的人工智能NPU的工作原理,對芯片設(shè)計的深遠影響,以及為用戶使用場景帶來的跨越式體驗。
“神經(jīng)網(wǎng)絡(luò)(Neural Networks)”和“機器學(xué)習(xí)(Machine Learning)”是近兩年移動處理器領(lǐng)域最流行的兩個詞。華為麒麟970的NPU(神經(jīng)網(wǎng)絡(luò)處理器)、Google Pixel 2內(nèi)置的IPU(圖像處理器),以及蘋果A11 Bionic,都是實現(xiàn)上述功能特性的專用硬件解決方案。
既然華為、Google和蘋果都在都在探索神經(jīng)引擎處理器,你可能以為機器學(xué)習(xí)需要特定的硬件。其實不然,神經(jīng)網(wǎng)絡(luò)可以在任何形式的處理器上運行,從微處理器到CPU、GPU甚至是DSP。
所以,問題的根本不在于處理器是否能利用神經(jīng)神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí),而在于它到底有多快,能提升多少效率。
如果時間倒退回30年前,當(dāng)年的桌面處理器是沒有的FPU(浮點運算單元)芯片的,在486之后,Intel把FPU集成到了CPU內(nèi)部,浮點運算性能大幅提升。而在很多實例計算中,全都是浮點數(shù)運算。這樣以來,有FPU和沒有FPU,運算效率天差之別。
而如今,移動處理器中的NPU也是類似的情況。你可能覺得我們并不需要NPU,就能使用神經(jīng)網(wǎng)絡(luò),但實時情況是,華為正在用事實案例證明,當(dāng)遇到實時處理運算的情況,NPU是必須的。
簡單來說,“神經(jīng)網(wǎng)絡(luò)”可以理解為“機器學(xué)習(xí)”中“教”一臺機器區(qū)別分辨不同“事物”的一系列技術(shù)中的一種。上述“事物”可以是一張照片、一個單詞甚至是一種動物的聲音,諸如此類。
“神經(jīng)網(wǎng)絡(luò)”由很多“神經(jīng)元”組成,這些“神經(jīng)元”可以接收輸入信號,然后通過網(wǎng)絡(luò)再向外傳播信號,這取決于輸入的強度和自身閾值。
舉個簡單的例子,神經(jīng)網(wǎng)絡(luò)正在監(jiān)測一組燈其中一個的開關(guān),但在網(wǎng)絡(luò)中,這些燈的狀態(tài)只能0或者1來表達,但不同的燈可能會出現(xiàn)一樣的開關(guān)狀態(tài)。
那么問題來了,神經(jīng)網(wǎng)絡(luò)怎么知道是該輸出0還是該輸出1呢?沒有規(guī)則或者程序能告訴神經(jīng)網(wǎng)絡(luò),輸出我們想得到的邏輯答案。
唯一的方面就是對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。大量的“樣本”和預(yù)期結(jié)果一起被注入到神經(jīng)網(wǎng)絡(luò)中,各種各樣的閾值反復(fù)微調(diào),不斷產(chǎn)生接近預(yù)期的結(jié)果。這個階段可以稱為“訓(xùn)練階段”。
這聽起來很簡單,但實際上相當(dāng)復(fù)雜,尤其是遇到語言、圖像這種復(fù)雜樣本的時候。一旦訓(xùn)練達成,神經(jīng)網(wǎng)絡(luò)會自動學(xué)會輸出預(yù)期結(jié)果,即便輸入的“樣本”之前從來沒有見過。
神經(jīng)網(wǎng)絡(luò)訓(xùn)練成功后,本質(zhì)上就成了一種靜態(tài)神經(jīng)網(wǎng)絡(luò)模型,它就能應(yīng)用在數(shù)以百萬計的設(shè)備上用于推理,在CPU、GPU甚至是DSP上運行。這個階段可以稱為“推理階段”。
Gary Sims指出,“推理階段”的難度要低于“訓(xùn)練階段”,而這正是NPU發(fā)揮專長的地方。
所以,華為麒麟970最大的不同是,專門設(shè)置了NPU硬件芯片,它在處理靜態(tài)神經(jīng)網(wǎng)絡(luò)模型方面有得天獨厚的優(yōu)勢,不僅更快,還更有效率。事實上,NPU甚至能以17-33fps實時處理智能手機攝像頭拍攝的“直播”視頻。
從架構(gòu)來看,麒麟970像是一臺“發(fā)電站”,內(nèi)置8顆CPU和12顆GPU,另有移動網(wǎng)絡(luò)連接以及多媒體處理模塊,晶體管規(guī)模達到了史無前例的55億顆。據(jù)華為透露,NPU大約內(nèi)含1.5億晶體管,不到整個芯片的3%。
這對于一款移動處理器來說尤為重要。首先,NPU的加入不會明顯增大處理器的尺寸、成本,這就意味著,NPU不僅能放入旗艦手機,一些中端手機也能適用。在未來5年,NPU將對Soc設(shè)計產(chǎn)生深遠影響。
其次是功耗和效率。NPU并非“電老虎”會犧牲手機的續(xù)航,相反它能高效的幫CPU承擔(dān)大量推理運算的任務(wù),反而能節(jié)省不少功耗。
在最后的總結(jié)中,Gary Sims表示,如果華為能吸引更多第三方App開發(fā)者使用NPU,其前景不可限量。想象一下,當(dāng)App在使用圖像、聲音、語音識別的時候,全部都能本地處理,不再需要網(wǎng)絡(luò)連接或者云服務(wù),App的使用體驗將大大提升和加強。