天天看點

淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

作者|舒會(玄裳)

出品|阿裡巴巴新零售淘系技術部

  1. 關注「淘系技術」微信公衆号,回複“MNN”即可擷取兩次直播完整版 PPT 及視訊回放連結;
  2. 點選下方「閱讀原文」擷取 MNN 開源位址,歡迎大家 star 我們哦~

作者簡介

舒會(玄裳)

MNN 項目核心負責人之一

阿裡巴巴淘系技術進階技術專家

先後任職于美國 Amazon、Google

Google ML Kit Founding Members之一

端智能介紹

▐ 什麼是端智能?為什麼要做它?

端智能(On-Device Machine Learning)是指把機器學習的應用放在端側做。這裡的“端側”,是相對于雲服務而言的。它可以是手機,也可以是IOT裝置等。而端側所做的機器學習,不僅包括模型的推理,也包括了模型的訓練。

傳統的機器學習,由于模型大小、機器算力的問題,很多是放在服務端做的。比如Amazon AWS有“Amazon Rekognition Service”,Google有 “Google Cloud Vision Service”。而随着以手機為代表的端側裝置算力的提高,以及模型設計本身的演進,大小更小、能力更強的模型逐漸能夠部署到端上運作。端智能可以說是業界從Mobile First走向AI First的過程中必然會出現的産物。

你可能要問,模型可以放到端上跑,不一定代表它一定要放到端上跑。那為什麼一定要做端智能呢?

關于這個問題,我們先來看一則新聞 [1],主要内容是說工信部正在加強對于侵害使用者隐私的App的整治。以後想不經過使用者的同意而獲得他們的資料就沒那麼簡單了。而機器學習的核心就在于資料。有許多研究表明,有了足夠的資料,模型結構再簡單,也能獲得很好的結果。中國對于資料隐私性的重視在加強,國外就更不用說了。歐洲有極其苛刻的資料隐私保護法律 GDPR (General Data Protection Regulation)。下圖就代表了廣大在外企工作的朋友們被GDPR折磨的痛苦(筆者親身經曆)。

淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

可以說,隐私性是未來做機器學習所繞不開的一點。而端智能可以做到資料不離端而進行推理甚至模型訓練,相比于雲端機器學習有天然的隐私性優勢。由 Google 推動的 Federated Learning 在這樣的背景下應運而生,它能夠讓大量的端側裝置使用各自的資料協同訓練出一個全部模型,并且保證訓練資料不離端,隐私得到保護。這個就是端智能充分利用端側裝置的算力的一個例子。在手機淘寶,Federated Learning 也在布局之中。

除了隐私性上面的優勢以外,端智能在算力方面也有天然的優勢。給大家看一組資料的對比:2018年,世界上最快的計算機“Summit”的算力是143.5 PFLOPS [2] . 而在2018年,華為賣出了1700萬台P20 [3]。每台P20中的麒麟970 NPU的算力是1.92 TFLOPS [4]。這些NPU合起來的算力就有32640 PFLOPS,相當于227個“Summit”。端側裝置的算力不容小觑。可以說,它是一個算力的海洋。

除了隐私性、更大的算力資源,許多應用場景是“非端不可”的,因為這些場景有很強的實時性。比如Snapchat中的人臉貼紙功能,需要對視訊流的每一幀進行處理,然後渲染。這就要求圖像處理的模型(例如人臉關鍵點的檢測模型)運作在端上。

總結來說,更好的隐私性,更大的算力資源池,實時性是端智能獨特的優勢,也是做端智能的原因。

▐ 端智能的挑戰

端智能的挑戰主要有:速度、裝置碎片化、引擎大小、模型大小、記憶體占用。

速度:尤其在中國的環境下,手機裝置碎片化嚴重,許多中低端的手機性能還不夠。推理引擎的運作速度非常重要。很多時候,某個視覺互動場景的FPS低于30,就是幻燈片體驗,不能用。過了30 FPS就能用。這是一個0到1的差別。速度快才能讓許多端智能應用場景在各種端上運作。

裝置碎片化:端側裝置的碎片化比較嚴重,有不同OS和版本,各種加速硬體(DSP, NPU, GPU等)。如何适配各種裝置,保證模型在不同的裝置上都能運作并充分利用硬體加速,是一個挑戰。

引擎大小:推理引擎需要內建到app裡才能運作模型。App 大小超過一定的門檻值,App Store/Play Store不給自動更新。

**

模型大小:**模型太大會影響加載速度,模型更新時花費過多使用者的資料流量,而且運作時的記憶體占用太大。

記憶體占用:運作時記憶體占用太大導緻GC頻繁,影響使用者體驗,嚴重的甚至導緻系統OOM。

▐ 端智能的幾個趨勢判斷

端智能行業是一個飛速發展的行業,我們在這樣的大環境下,不進則退。在這裡,把我們平時做的調研總結一下,說4個趨勢:

端上推理的重要性高于訓練,但是補齊端上訓練能力也有價值。

後摩爾時代到來,XPU 百花齊放。

NLP 逐漸走向成熟。

從手機端到AIOT端。

► 端上推理與訓練

在《2019-2020中國人工智能計算力發展評估報告》中 [5],調查機構IDC有報告指出,推理相對于訓練的比重會逐年上升,預計到2022年會超過訓練。如下圖所示。

淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

從另外一個角度來說,端上訓練的重要性并沒有降低。TensorflowLite 把 On-Device Training列入了它的規劃之中 [6];Apple CoreML 3 把On-Device Training作為它主打的功能 [7];即将開源的華為Mindspore架構也會擁有On-Device Training功能。

► 後摩爾時代與XPU

Google Jeff Dean在2019年12月中旬的一次采訪中提到:One thing that’s been shown to be pretty effective is specialization of chips to do certain kinds of computation that you want to do that are not completely general purpose, like a general-purpose CPU。

摩爾定律在過去的幾年逐漸失效,general-purpose CPU性能的增長速度已經平滑。見下圖:

淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

Image From:

https://arxiv.org/abs/1911.05289

與此同時,每年出現的ML模型對算力的要求成指數增長。見下圖:

淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

為了滿足新模型對算力的要求,出現了許多針對AI特殊加速的“XPU”。比如Google的TPU、Edge TPU,華為的麒麟NPU等。

可以說,未來的端智能大部分算力要靠XPU來提供。如何适配碎片化的XPU,充分利用硬體性能,将是未來幾年推理引擎都需要面臨的挑戰。

► The “ImageNet” Moment of NLP

CV中的ImageNet Challenge在2015年進入到了一個特别的時刻:機器學習模型的準确率正式超過了人類 (ResNet的Top-5 Error Rate是3.6%,而人類的Top-5 Error Rate是5.1%) 見下圖。

淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

而NLP裡機器學習模型的能力超過人類的時刻(所謂“ImageNet Moment”)也已經到來。大家看2019年Google ALBERT模型在幾個NLP benchmark上面的表現:

淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

RACE Leaderboard:

http://www.qizhexie.com/data/RACE_leaderboard.html

在RACE benchmark上, ALBERT雖然不及人類最佳performance,但是已經遠超普通人類的performance,也就是Amazon Mechanical Turk的結果。而在SQuAD benchmark上,ALBERT的ensemble模型performance已經超過了人類3%左右。見下圖:

淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

SQuAD Leaderboard:

https://rajpurkar.github.io/SQuAD-explorer/

既然都已經在某些benchmark上超越了人類,可以預見,未來的幾年是NLP的廣泛應用的幾年。目前,最小的ALBERT模型大約47MB。這個大小已經适合在手機端上運作了。

► 從手機端到 AIOT 端

“端智能”中所謂的“端”,不局限于手機端。未來的幾年,将屬于AIOT (Artificial Intelligence of Things)。未來的幾年,全球手機的出貨量不會再像往年那樣大幅增長,而是平穩甚至下滑,而以智能音箱為代表的AIOT裝置的出貨量正在處于一個飛速發展的時期。見下面兩圖:

淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

全球手機出貨量趨勢:

https://www.statista.com/statistics/263441/global-smartphone-shipments-forecast/
淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

全球智能音箱出貨量:

https://www.canalys.com/static/press_release/2019/CanalysSSPR20191112V2GP-1.pdf

在AIOT端還沒有既定的标準,NN API的影響力局限于android。AIOT端是未來的主戰場,為AIOT端設計AI應用,讓AI應用在AIOT端運作更快,是應用開發、算法開發和引擎開發者都需要做的。

從互動方式來看,AIOT端的互動方式跟手機也不同。手機是一個以觸覺、視覺(touch screen)為主導的互動方式,而AIOT端的互動方式中NLP的比例要大很多,Amazon Alexa、Google Home、天貓精靈這些智能音箱都是語音驅動的。

小結

在這一篇文章裡,我們探索了一下端智能的特性、挑戰和發展趨勢。下一篇公衆号文章中,我們會談一談手機淘寶中端智能的應用,并介紹一下手機淘寶中的端智能核心的技術基礎:端上推理引擎MNN。

References

[1]

https://www.infoq.cn/article/64HTcpIr9fCr9FINqq09

[2]

https://en.wikipedia.org/wiki/Supercomputer

[3]

https://www.huaweicentral.com/huawei-sold-over-17-million-units-of-p20-series-and-7-5-million-units-of-mate-20-series-in-2018/

[4]

https://hexus.net/tech/news/cpu/109757-huawei-kirin-970-soc-dedicated-neural-processing-unit/

[5]

http://www.cbdio.com/BigData/2019-09/02/content_6150878.htm

[6]

https://www.tensorflow.org/lite/guide/roadmap

[7]

https://developer.apple.com/machine-learning/core-ml/

We are hiring

淘寶基礎平台部-端智能團隊歡迎移動端計算優化工程師和推理引擎架構師的加入。對新技術感興趣,善于創新突破,渴望用新技術給使用者帶來創新體驗的同學請聯系我們。

履歷投遞至呂行:[email protected]

掃描下方二維碼,關注「淘系技術」微信公衆号!

淘系專家帶你初探端智能與MNN(上篇)作者簡介端智能介紹小結References

繼續閱讀