從伺服器端到移動端的轉折,On Device AI革命進行時
作者|王小輝
編輯|Emily
AI 前線導讀:很多年以後,當我們回望 2017 年,會意識到對於移動互聯網的發展來說,這一年是一個重要的里程碑。晶元製造商、移動操作系統提供商、深度學習框架社區以及移動應用開發者都開始轉向 On Device AI,同時,這個趨勢同樣惠及於 IoT 產業的 Edge 端設備。本文就從這幾個方面來解讀一下這個趨勢。
更多乾貨內容請關注微信公眾號「AI 前線」,(ID:ai-front)
移動端 AI 現狀——正在發生的移動平台的 AI 革命
首先,為什麼我們需要 On Device AI 能力呢?在 Edge 端設備上的 AI 能力可以帶來這幾個好處:
那麼,Edge 端設備的硬體計算能力畢竟有限,能否支持 AI 模型的 Inference 呢?
晶元製造商
2017 年 3 月 ARM 提出了面向 AI 的新架構 DynamlQ 技術。
「Cortex-A CPUs that are designed based on DynamIQ technology can carry out advanced compute capabilities in Machine Learning and Artificial Intelligence. Over the next three to five years, DynamIQ-based systems will deliver up to a 50x* boost in AI performance. This is achieved through an aggressive roadmap of future DynamIQ IP, integrated with new Arm architectural instructions, microarchitectural improvements, and further software optimizations to the Arm Compute Libraries.」
ARM 表示未來 3 到 5 年內實現比基於 Cortex-A73 的設備高 50 倍的人工智慧性能,最多可將 CPU 和 SoC 上特定硬體加速器的反應速度提升 10 倍。
緊接著,ARM 在 4 月份開源了支持 Context-A 系列 CPU 和 Mali 系列 GPU 的 Compute Library,讓機器學習和深度學習演算法在 ARM 平台更高效地運行。
2017 年 8 月高通對外發布了支持 Caffe/Caffe2 和 TensorFlow 的 Neural Processing Engine SDK,讓深度學習可以利用 GPU 和 DSP 的計算能力
實際上,在 2017 年 4 月,Facebook 發布了針對 Edge 端設備的深度學習框架 Caffe2,其主要作者賈揚清在 F8 大會上演講時就提到:「Android 系統上的 GPU 也類似,我們與高通合作開發了『驍龍神經處理引擎』(SNPE),如今高通驍龍 SoC 晶元為大量的手機服務,現在是 Caffe2 的首要概念( first class concept),我們可以利用這些 CPU 和 DSP,從本質上提升能效和性能。」
高通在 2017 年 12 月發布最新晶元驍龍 845 時提到:「In addition to the existing support for Google』s TensorFlow and Facebook』s Caffe/Caffe2 frameworks, the Snapdragon Neural Processing Engine (NPE) SDK now supports TensorFlow Lite and the new Open Neural Network Exchange (ONNX), making it easy for developers to use their framework of choice, including Caffe2, CNTK and MxNet. Snapdragon 845 also supports Google』s Android NN API.」
也就是說,SNPE 不但支持 Caffe、Caffe2、TensorFlow 和 Edge 設備端專用的 TensorFlow Lite 等深度學習框架,也支持由 Facebook 和微軟發起的 ONNX(Open Neural Network Exchange),一個 Intermediate Representation,讓 Caffe2、CNTK、PyTorch 以及 MXNet 這些框架可以實現模型互通,方便晶元廠商可以針對一個標準進行硬體級別優化。
2017 年 9 月,華為發布了麒麟 970,內置中科院寒武紀 -1A NPU,可以加速神經網路在手機端的運行。
在發布旗艦設備 Mate 10 之後,華為推出了 HiAI 移動計算平台業務,踐行在麒麟 970 發布會上的承諾,打造一個開放式的 AI 生態系統,讓開發者可以通過這個平台為華為 Mate 10 這樣搭載了最新麒麟晶元的設備上提供具有 AI 能力的應用。
2017 年 9 月,Apple 在年度產品發布會上,發布了將會搭載在 iPhone 8、iPhone 8 Plus 和 iPhone X 上的 A 11 Bionic SoC,用於支持 iOS 系統機器學習和深度學習模型的框架 CoreML 和增強現實框架 ARKit,並且升級了圖形處理晶元 Metal 2,用於加速深度學習模型的 Inference。
2017 年 11 月,Google 發布了 Android 8.1 Beta 最終版本,正式支持在今年發布的新款旗艦 Pixel 2 中搭載的 IPU(Image Processing Unit),用於加速圖像處理和機器學習的 Inference:「Also, for Pixel 2 users, the Android 8.1 update on these devices enables Pixel Visual Core -- Google"s first custom-designed co-processor for image processing and ML -- through a new developer option. Once enabled, apps using Android Camera API can capture HDR+ shots through Pixel Visual Core.」
移動操作系統提供商
2017 年 5 月,Google 在年度 I/O 大會上,宣布會推出 TensorFlow Lite,運行在下一代 Android 系統將會新增的 Neural Network API 之上,使得開發者可以將 TensorFlow 深度學習框架創建的模型移植到移動端運行。10 月 25 日,Google 發布了 Android 8.1 Beta 開發者預覽版,正式推出了 NN API:
11 月 14 日,Google 發布的 TensorFlow Lite 已經支持 NN API 了,而 DNNLibrary 是一個 GitHub 上開源的庫,支持運行通過 DNN Convert Tool 轉換的 Caffe 模型。
2017 WWDC 上,Apple 發布了支持 Caffe、TensorFlow 等深度學習框架,以及 SVM、XGBoost 、 sklearn 等機器學習模型的 CoreML。12 月 5 日,Google 發布文章 Announcing Core ML support in TensorFlow Lite,宣布已經和 Apple 合作使得 CoreML 支持 TensorFlow Lite。
深度學習框架
2017 年 4 月,Facebook 宣布開源面向 Edge 端設備的深度學習框架 Caffe2,其主要作者 賈揚清在 F8 上說:「在移動端進行機器學習任務有以下好處:保護隱私,因為數據不會離開你的移動端;避免網路延遲和帶寬問題;提升用戶體驗,比如優化 feed ranking 功能。所以我們開始著手,從底層建造一個專門為移動端優化的機器學習框架。」
2017 年 9 月,百度發布了 Mobile Deep Learning library,騰訊早些時候也開源了類似的 ncnn 框架。
2017 年以來,Google 開源了專為移動端優化的 MobileNets 模型;Face++ 提出了適合移動端的 ShuffleNet 模型。OpenCV 3.3 內置了支持多種深度學習框架的 DNN。
應用開發者
從上面的內容可以看到,從晶元製造商到移動操作系統提供商,再到深度學習框架社區,都為 On Device AI 做了很多準備,而且,從 GitHub 和國內外的開發者博客上,我們看到了非常多基於 CoreML、基於 TensorFlow 等深度學習框架的移動端應用案例,體現了開發者對這個趨勢的極大熱情。無論我們是哪個移動平台的開發者,都應該清晰認識到這個趨勢,及時點亮自己的技能點,為用戶提供更智能、更人性化的應用。
移動端 AI 的應用場景
AI 在智能手機上有哪些應用場景呢,對於不同的開發者來說,如何確定自家的應用是否需要 AI ?如果需要,如何引入?
智能手機製造商(比如 Apple、華為等)和數以萬計的應用開發者都可以在自己的 apps 中應用 AI 相關的技術,讓自家的 apps 更好地服務用戶的同時,提高競爭力和市場佔有率。
本部分將從智能手機製造商和應用開發者這兩種角色出發,分別進行討論。
智能手機製造商
2017 年,最具有明星氣質的兩款配備 AI 能力的手機是 iPhone X 和 華為 Mate 10,這兩款手機有以下共同點:
智能相機
智能語音助理
智能系統優化
應用開發者
對於智能手機製造商來說,能夠提供的系統應用畢竟是有限的,更多的用戶需求需要應用開發者提供各自的解決方案。對於應用開發者來說,其實也可以提供基礎類應用,比如拍照應用、智能語音助理等,如果能夠藉助手機製造商提供的硬體計算能力,達到比系統自帶的基礎類應用更好的效果,也會得到用戶的歡迎。比如 Google 的輸入法在 iOS 平台就比較受歡迎,該應用採用了 Google 於上半年提出的 Federated Learning,能夠在提供個性化能力的同時,在線優化輸入法的預測模型,並在整個過程中不上傳用戶的輸入數據記錄,保護了用戶隱私。
除了基礎類應用,下面這些應用場景對開發者來說也非常值得考慮:
最後,我們還需要強調的是,無論是智能手機製造商還是應用開發者,都需要考慮對用戶隱私的保護。當我們可以在移動端高效運行機器學習以及深度學習模型時,有很多任務可以在移動端做,用戶的數據無需上傳到伺服器進行處理,在保護隱私的同時,也減少了流量消耗和伺服器成本。上面提到的 Google 推出的 Federated Learning 就是這樣做的,Apple 也在自己的官方機器學習博客中介紹了自己的類似做法:Learning with Privacy at Scale。
今日薦文
※Intel CPU曝嚴重Bug,修復將使性能降低25% 30%
※AI前線一周新聞盤點:中科院通過ParallelEye建立虛擬北京,英偉達變更GPU許可
※如何僅使用TensorFlow C+來訓練深度神經網路
※AI前線一周熱聞盤點:Uber提出深度學習訓練新方式;谷歌發布Tacotron 2打造完美TTS
TAG:AI漫遊 |