最近華為釋出

麒麟970

晶片,舉國歡騰。加上水軍推波助瀾,彷彿970已是天下第一了。970確實不錯,裡面用上新的ARM

GPU,還有

寒武紀

的所謂NPU。但是裡面有些對比不準確,本人希望用一些釋出過的可信賴的資料來導正視聽。這樣也對小米,OV,三星等等採用

驍龍835

的廠家公平些,也來看看iPhone是不是輕易就被秒殺了。

先來看看華為釋出的對比資料吧(圖一,圖二)

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8

在圖一中,作為對比,採用驍龍835的三星Galaxy S8在影象識別任務中只有95張影象每分鐘,而

970處理器

則達到了2005張每分鐘。這就是說在影象識別任務中,970比835快了20倍。華為的

艾偉

院士在釋出會上曾經說過所謂970的影象識別能力比單純用CPU快25倍。聯想到驍龍的CPU比

華為海思

的CPU效能高些,有理由相信,這個所謂的95張影象每分鐘基本上是沒有任何最佳化的程式碼執行在

驍龍CP

U上,連NEON最佳化都沒有。更不用說驍龍為人稱道的GPU和DSP了。既然華為知道CPU不適合做

深度學習

影象識別,你就跟驍龍上的CPU比什麼呢。

還是看看驍龍的官方資料吧。在2017年一月,谷歌和高通聯合釋出過Inception V3執行在

高通835

DSP上的結果,見圖三。僅用DSP,影象識別能達到9-10張影象每秒(這個是已經內建在谷歌的TensorFlow軟體框架裡,只要你用它的定點量化,再使用驍龍835的手機是可以複製的效能指標)。如果再加上

驍龍GP

U配合CPU的執行能力,達到20張以上不成話下。在圖二中,970處理Inception V3大概27張。我只能說2017年一月的驍龍835做影象識別對比2017年月的麒麟970有20%的差距,而不是20倍的差距。另外對比圖一和圖二,可以看出圖一的2005張不是用的圖二的Inception V3 (27X60=1620張每分鐘)得出的,應該是一個計算複雜性更簡單一點的網路。驍龍835用Inception V3在一月份時的效能大概是1200張每分鐘。如果是簡單一些的網路,比如Inception V1, MobileNet, 或

ResNet-50

, 達到2000不在話下,這個跟970的2005是沒有差別的。

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8

那再來看看蘋果iPhone6s的資料。我沒有iphone7/8/X,下面這個是人家發表的結果。效能指標見圖四。在圖四,用MobileNet做影象識別,效能是24張影象每秒,換算成分鐘時1440張影象每分鐘。這個可能不是最好結果,但是有理由相信兩代之後的iPhone8上能輕易達到2005張影象每分鐘。

http://

machinethink。net/blog/g

oogles-mobile-net-architecture-on-iphone/

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8

再來談談架構,970上做深度學習採用的是寒武紀半浮點FP16陣列加上ARM GPU的FP16 ALU陣列。這個在大多數人工智慧任務上不是最最佳化的。連NVIDIA這個浮點運算的老大為了推理都定製了定點INT8的處理器(圖五圖六),沒有理由相信FP16在移動裝置上是最好的安排。舉個例子,一個

神經網路

模型單精度浮點是56MB的引數量,半精度是28MB,但INT8只有14MB,相應運算量還有好點理論上都會減半。所以FP16在大多數識別檢測任務中不會比INT8有優勢。要我覺得,把分配給NPU的FP16芯片面積,一半變成INT8,另一半劃到GPU更好。畢竟GPU使用頻度高得多。

說了半天,其實麒麟970還是一枚效能強大的旗艦處理器,但是與其它已經在市場上的處理器相比並沒有質的區別,大多數情況下差別不大。

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8

人工智慧弄潮兒:對比麒麟970與驍龍835與iPhone6s8