人工智能的又一個微小進步
人工智能時代是信息化時代的延續和新生,今天在這個領域的每個微小的進步都會累積起來,直到再為我們推開一扇偉大時代的大門。
人類在出生時近1000億個大腦神經元就已經產生和分化好,并且處在它們該存在的位置,等著建立神經網絡。這時候的神經元還沒有多少觸突,相互之間也沒有多少鏈接,新生兒的神經觸突數不到成年人的三分之一。在嬰幼兒的成長發育過程中,神經元迅速伸出觸突,彼此建立起非常復雜的鏈接,相連的神經元可以傳遞電和化學信號,接近三歲的時候,觸突的數量達到頂峰,此時的數量是成人的二倍,這段時間也正是人類學習和認知最快的時期,我們基本的生存技能,比如語言、圖像識別和分類、運動都要在這個時候建立起來。此后的時間里,大腦不斷優化和修剪神經元的鏈接,讓信息的處理更加高效。在神經網絡的建立過程中,鏈接的建立是隨機的,但是修剪不是隨機的,大腦不斷根據外界信息和反饋來完成。最終形成的神經網絡復雜且能高效處理數據,即便是相同環境里成長起來的同卵雙胞胎也會有完全不同的兩個大腦。
?
模仿生物神經系統建立的神經計算網絡,基本原理就是一層一層處理和過濾信息,每一層的基本運算都很簡單,無非是用加法和乘法來完成矩陣運算,但是運算中的各種參數因子是個未知數,只能讓神經網絡通過大量的數據來自己學習,這個學習的過程和孩子學習識圖是一樣的,大量各種形態的圖像數據輸入,對最終輸出做出糾正,一旦發現輸出錯誤就回退嘗試新的參數設定,直到找到復合要求的輸出。所以神經網絡只關注于問題「可解」,并不強調「最優解」,每次解決和處理問題,都可以進一步優化網絡參數,讓網絡適應更復雜的數據輸入。
?
一直到2016年,GoogleDeepmind團隊的AlphaGo戰勝了職業九段李世石,才在世界范圍內掀起了對人工神經網絡的關注。這是一場徹底的勝利,AlphaGo的研發者并不懂圍棋,打開AlphaGo程序也沒人讀得懂里面天書一樣的各種參數,AlphaGo完全是靠自己學習圍棋來達到了戰勝人類的能力。最初的AlphaGo以CPU+GPU為運算單元,隨著運算量的增加,GPU畢竟不是專為神經網絡計算而設計,Google為了提升效率而自行設計了計算單元TPU。TPU是專為深度學習框架TensorFlow而定制的,改用TPU的AlphaGo提升更快,僅靠單機4個TPU就在隨后的比賽里碾壓了所有人類頂級棋手。華為Mate10 ?運算單元NPU#e#
如果你手上有華為的Mate10或Mate10Pro,你可以試試看打開照相機,如果你把相機對準一個人,那么預覽畫面的左下角就會出現一個「人」的小圖標;如果你對準植物,就會出現一個植物的小圖標。這是因為華為這一代的手機芯片麒麟970已經內置了人工智能的運算單元NPU,讓手機有了對圖像場景的識別能力。手機上的NPU和Google的TPU在原理上是類似的,但是更強調功耗控制。華為的工程師在實驗室里使用機器學習訓練電腦識別圖形圖像,然后把訓練好的參數灌入手機系統,當手機打開照相機時,照相系統就會實時調用NPU來分析圖像場景。如果沒有NPU參與,僅靠手機的CPU或GPU,這個過程的耗時是無法忍受的,借助這個專為卷積算法而設計的NPU,Mate10系列手機可以近乎于實時地感知到當前拍照的場景,以便對拍照進行優化。Mate10現在已經可以認識十多個場景,比如拍人、拍藍天、拍植物、拍食物……新的智能識別功能還可以在今后的軟件升級中加入。
?
Mate10是第一次把人工神經網絡計算引入手機,目前能夠實現的功能還主要集中在圖像識別和處理上,相對于對人工智能的巨大想象空間,目前的這一步無比微小。如果把2016年AlphaGo的勝利算作人工智能紀元的元年,麒麟970帶給Mate10的這一步只是在手機這種便攜式設備上的第一次實用性的嘗試,未來可以承載的想象空間無比巨大。1969年阿姆斯特朗在月球的表面留下了人類的第一個清晰的腳步,也正是在那一年,機器學習的構思在人類的頭腦中初步成型。月球上的一小步看起來是那么不起眼,但為了實現這一步,從1961年5月25日啟動阿波羅計劃到1972年12月計劃結束,除美國航空航天宇航中心外,一共有120所高等學校、20000家工廠、400萬人投入到這個行動中,累積花費250億美元,考慮通貨膨脹,這筆投入在今天超過千億美元。但是這些投入不是白白花掉的,阿波羅計劃結束,為這項計劃而誕生的各項發明和技術推開了人類信息時代的大門。人工智能時代是信息化時代的延續和新生,今天在這個領域的每個微小的進步都會累積起來,直到再為我們推開一扇偉大時代的大門。
作為一款為手機設計的系統級芯片(SystemOnChip,即SoC),麒麟970自然包含了常規的手機SoC該有的部件,比如CPU、GPU、ISP、DSP、通訊基帶,但和同類產品相比,麒麟970又多了一個所有同類產品都沒有的東西——一顆為人工智能運算專門設計的NPU。
下面我們就SoC的各個部件出發,全面地了解一下麒麟970。
CPU、GPU:重點是降功耗
CPU方面,麒麟970的參數相比麒麟960基本沒有任何變化,依然是8顆核心,其中4顆為高性能的ARM公版A73架構,最高主頻2.4GHz(麒麟960是2.36GHz),4顆位低功耗的ARM公版A53架構,最高主頻1.8GHz(麒麟960是1.84GHz)。有些遺憾的是,麒麟970并沒有用上ARM在今年5月發布的新一代Cortex-A75、Cortex-A55架構以及為AI相關運算優化的DynamiIQ設計(麒麟970選擇了另一種方法來提高AI運算)。當然了,考慮到A75和A55的發布時間、設計的復雜程度,麒麟970沒用上也是可以理解的。
華為表示,表示麒麟970的能耗比提升了20%(主要得益于全新的10納米制程),至于實際的性能表現,不出意外的話,麒麟970應該和麒麟960處于同一段位,不會有非常明顯的提升。當然,橫向來看的話,麒麟970的CPU性能沒提升其實不是什么大問題。從GeekBench4等跑分軟件的得分上看,麒麟960的分數和高通驍龍835、三星Exynos8895基本處于同一水準,明顯強于聯發科HelioX30。因此,即使麒麟970的CPU性能不變,也依然是Android陣營里移動SoC的頂級水準,只是不再像麒麟960發布時那么領先。
?
相比起CPU上的保守,麒麟970在GPU上的「誠意」要顯得更足一些。
首先,麒麟970則用上了ARM在今年5月剛剛發布的Mali-G72架構,理論性能相比麒麟960上的Mali-G71有所提升(ARM的官方說法是相比G71性能提高20%,功耗比提升25%)。此外,在核心數上,麒麟970的GPU也從麒麟960的8核增加到了12核。
華為表示,相比起麒麟960,麒麟970的性能有20%的提升,并且能效比提升了50%。照理說,由于麒麟970的GPU核心架構比麒麟960更先進,核心數還多了50%,并且制程更先進,GPU性能提升的幅度應該遠不止20%。之所以出現這種情況,很可能是華為將麒麟970的GPU主頻壓得比較低,從而更好地降低功耗(于是就有了提升幅度高達50%的能效比)。
實際的表現也印證了我們的猜測,根據現場的介紹,麒麟970的Mali-G72最高主頻為700MHz,相比麒麟960的900MHz(部分場景下會飆到1000MHz左右)有明顯的下降,這種「多核+低頻」的策略讓麒麟970在性能有一定提升的同時,功耗得以大幅度降低。
通訊基帶:比「千兆LTE」更快
作為一家通訊行業有著多年積累的公司,華為海思在通訊基帶上有著深厚的「家底」,特別是去年的麒麟960,直接在SoC中集成了支持LTECat.12/13的Balong750基帶(最大下行速度600Mbps,上行150Mbps),并且支持CDMA網絡,絲毫不遜色同期的高通驍龍820、821。
在麒麟970上,華為海思更進一步,直接大跨步到了下行LTECat.18(上行最高Cat.13),最高下載速度飆到了1.2Gbps,也就是比之前業界最快、驍龍835和Exynos8895「千兆LTE」還要再快上200Mbps。
麒麟970還終于支持了在同時使用兩張SIM卡時,主副卡同時用4G(上一代麒麟960的副卡只能支持3G),任意一張卡都可以使用VoLTE通話。此外,麒麟970還特別針對高鐵時的使用做了優化,信號更穩定,減少掉線。
不過話還是要說回來,雖然麒麟970的通訊基帶的確是厲害,但和驍龍835、Exynos8895等支持千兆LTE的SoC一樣,普通用戶想要真正體驗到這種超高速LTE網絡,還得過上相當一段時間。
ISP、DSP、Codec、協處理器
ISP的全稱是ImageSignalProcessor(圖像信號處理器),主要功能是處理相機傳感器中收集到的數據。
麒麟970的ISP主要是一些「常規升級」,依然是雙核設計,擁有更快的速度,更快地對焦,更優秀的降噪效果,并且對運動圖像的捕捉做了優化。另外,針對目前很火的人像拍攝,麒麟970的ISP進行針對性的優化,可以根據不同膚色、帽子、眼睛、口罩、遮擋、側臉等多種復雜的人臉場景進行優化,改善了人像的拍照效果。
?
在DSP、配套Codec等方面,麒麟970也有所提升,其中配套的音頻Codec可以支持32bit/384k的音頻解碼,過去幾代華為高端機(Mate、P系列)上表現乏善可陳的內放音質,有望在麒麟970這代產品上獲得明顯的提升,當然前提是Mate10和P11系列還能保留3.5毫米耳機插孔。
另外,麒麟970依然搭載了i7協處理器(和牙膏廠的i7沒啥關系),而inSE(integratedsecureelement)和TEE安全引擎,在麒麟970上也都在。
在總線架構上,不出意外的話,麒麟970采用的應該是和960相同的CCI-550。
10納米制程,比驍龍835還多的55億個晶體管
制程上,不出意外,麒麟970用上了臺積電(TSMC)最新的10納米工藝,這應該是繼蘋果A10X、聯發科HelioX30之后,第三款采用臺積電10納米制程的移動SoC。
通常來說,在芯片晶體管數量相同的情況下,更先進的制程可以降低芯片的核心面積,有助于降低成本,并且更加有效地控制發熱和功耗。根據華為提供的數據,臺積電的10納米制程可以降低20%的能耗,將芯片核心面積縮小40%。
不過有趣的是,麒麟970的核心面積并沒有因為制程的進步而縮小,反而比麒麟960還要略大,這是因為麒麟970集成了高達55億個晶體管,比麒麟960多出了15億。作為對比,蘋果的A11Bionic芯片有43億個晶體管,高通驍龍835有31億個。
需要說明的是,雖然晶體管數量對性能有一定的影響,并且通常是越多越好,但在內部部件眾多的、各家產品架構甚至內部組件都不太一樣(比如A11Bionic沒有集成通訊基帶和專門的NPU)的移動SoC中,我們是無法簡單地用晶體管數量來判斷性能的。
NPU:首款內置在手機SoC中的人工智能芯片
終于到了麒麟970最特別的部分——NPU。
NPU的全稱是Neural-networkProcessingUnit,也就是神經網絡處理單元。關于這顆NPU的功能,大家可以簡單理解為專門高效地進行AI相關計算定制的處理器,就像GPU之于圖形處理相關的計算,ISP之于成像相關的計算。
傳統的CPU(包括x86和ARM)和GPU也是可以用來做深度學習計算的,但由于它們本身并不是專門為深度學習定制的,效率并不高。而麒麟970的這顆NPU采用了來自寒武紀(Cambricon)的IP,專門為深度學習而定制,FP16性能達到了1.92TFLOP,差不多是麒麟960的3倍(0.6TFLOP左右)。
在月初德國柏林的發布會上,余承東展示了一張在進行AI運算時,NPU和CPU、GPU的對比。
?
可以看到,性能上,NPU是CPU的25倍,GPU的6.25倍(25/4),能效比上,NPU更是達到了CPU的50倍,GPU的6.25倍(50/8)。
?
在這個NPU的基礎上,華為打造了HiAI移動計算架構,大致的原理是通過一個統一的資源管理器,充分調用CPU、GPU、ISP、DSP、NPU等部分,app開發者可以通過使用這個架構,提高app中和AI相關的應用的處理效率(官方數據是25倍的性能,50倍的能效優勢)。
在現場的演示中,華為展示了在進行照片識別時,麒麟970相比其他旗艦機具備明顯的優勢。
?
根據華為提供的數據,在包括NPU在內的HiAI架構的加持下,麒麟970每分鐘可以識別約2000張,iPhone8Plus可以識別889張,iPhone7Plus為487張,三星GalaxyS8只有95張(注:測試過程中,iPhone應該是調用了GPU,三星S8應該只是在用驍龍835的CPU在跑)。
除了單純在術層面的「秀肌肉」,發布會上,華為還展示了麒麟970的AI能力在日常生活中的實際應用,具體有下面幾個。
?
第一個功能叫做「慧眼」。麒麟970可以脫離網絡限制,直接在本地對物體進行精確地識別,現場的展示中,華為把葡萄、蘋果等物體擺在搭載麒麟970的原型機之前,手機可以準確地完成識別,并根據識別結果計算出對應的卡路里。
第二個是AI降噪。大致的原理是通過深度學習算法,從而更有效地過濾周圍環境的噪音。這個功能最適合的使用場景之一就是在車內等嘈雜的環境中進行語音喚醒,華為表示,搭載麒麟970的手機(應該就是Mate10和Mate10Pro了)在車載場景下的語音識別率可以從80%提升到92%。
第三個功能是AI美顏。這個功能和之前美圖在部分手機上的美顏技術類似,都是自動檢測人臉并根據機內算法進行美顏,不過有了麒麟970相關的AI優化,可以把這個美顏過程做得更加快速和精確。
第四個功能是智能自動回復及情緒識別。麒麟970能夠對文本的內容進行提取,并根據文本內容智能地進行回復和提醒,比如說聊天中輸入文字「今天發工資了」,手機可以自動聯想出開心的表情,輸入「敦刻爾克」,手機可以自動推薦附近影院的觀影信息。類似的功能華為在榮耀Magic上就已經嘗試過,在麒麟970的硬件平臺下,理論上可以做得更加快速和智能。
親測Mate10手機麒麟970性能:優質通信表現絕非偶然
Mate10系列手機能得到用戶的好評并不令人意外,實際上在最新發布的中國移動2017年第二期終端質量報告中,華為Mate10Pro就名列3000元以上機型綜合評測排行榜的第一名,把三星Note8和蘋果iPhoneX都丟在了身后,Mate10則名列第四名。這個報告是由中國移動終端終端實驗室完成的,綜合考慮了手機產品的通信能力、多媒體能力、產品可用性、用戶口碑等四大類指標,有很高的參考價值。
?
其實與上市時間相近的同檔位產品相比,Mate10系列手機最為獨特的就是內置了一顆麒麟970芯片。麒麟970是華為首個人工智能移動計算平臺,也是全球首個搭載專用神經網絡處理單元的AI手機芯片。這款芯片采用了TSMC10nm制造工藝,支持目前全球最高的通信規格LTECat.18/Cat.13,峰值下載速率可達1.2Gbps,這在全球也是首屈一指的。在筆者近兩周的觀察中,重點關注的正是Mate10或者說麒麟970的通信能力表現。
這兩年運營商一直在嘗試把部分5G技術超前引入現網,將4G網絡提升為4.5G網絡,讓用戶獲得更好的體驗。不過要想體驗到其中的好處,還要有相應的手機終端來配合。麒麟970芯片是華為頗有前瞻性的一款終端芯片,不僅支持全球最高的通信規格LTECat.18/Cat.13,還支持多種多樣已經商用或即將商用的4.5G技術。所以Mate10手機用戶完全可以放心,運營商近期做的任何網絡升級都可以通過Mate10在第一時間體驗到。
?
在之前提到的中國移動2017年第二期終端質量報告中,還有一個手機芯片的通信能力排行榜。考慮高清語音通話質量和下載速率,Mate10上采用麒麟970芯片綜合排名第一,這些也說明,Mate10用戶對這款手機的良好體驗絕非主觀臆測。
?
?
評論