編者按:人工智能的蓬勃發展離不開雲計算所帶來的強大算力,然而隨着物聯網以及硬件的快速發展,邊緣計算正受到愈來愈多的關注。將來,智能邊緣計算將與智能雲計算互爲補充,創造一個嶄新的智能新世界。本文中,微軟亞洲研究院系統與網絡研究組首席研究員劉雲新將爲你們介紹智能邊緣計算的發展與最新研究方向。算法
近年來,邊緣計算(Edge Computing)在學術界和工業界都成爲了一個熱門話題。事實上,邊緣計算是相對於雲計算(Cloud Computing)而言的。在雲計算中,全部的計算和存儲資源都集中在雲上,也就是數據中心(Datacenter)裏;在終端設備上產生的數據經過網絡傳輸到雲上,計算任務和數據處理都在雲上進行。而在邊緣計算中,計算和存儲資源被部署到邊緣上(邊緣服務器或者終端設備),能夠就近對本地的數據進行處理,無需把數據傳輸到遠端的雲上,從而避免網絡傳輸帶來的延遲。緩存
雖然邊緣計算成爲廣受關注的熱門話題的時間並不久,但邊緣計算的概念並不新。早在2008年,微軟研究院的 Victor Bahl 博士邀請了學術界和工業界的知名學者,包括卡內基·梅隆大學的 Mahadev Satyanarayanan 教授、AT&T 實驗室的 Ramón Cáceres博士、蘭卡斯特大學(Lancaster University, U.K.)的Nigel Davies教授、英特爾研究院(Intel Research)的 Roy Want 博士等,一塊兒探討雲計算的將來時 [1],就提出了基於 Cloudlet 的邊緣計算的概念;並於次年在 IEEE Pervasive Computing 期刊上發表了廣爲人知的名爲 「The Case for VM-based Cloudlets in Mobile Computing」的文章 [2]。安全
此後,愈來愈多的研究人員開始關注邊緣計算。值得一提的是,2016年,首屆專一於邊緣計算的學術會議 The First IEEE/ACM Symposium on Edge Computing 在美國華盛頓特區召開 [3]。目前,邊緣計算已成爲相關頂級學術會議(好比MobiCom)的重要專題之一。在工業界,2017年微軟公司 CEO 薩提亞·納德拉就將邊緣計算和雲計算並列成爲全公司的戰略之一。以後,各大雲計算公司和運營商都紛紛推出了本身的邊緣計算服務;邊緣計算相關的創業公司更是不斷涌現。服務器
在人工智能時代,邊緣計算不只僅只是計算,更是智能+計算,咱們稱之爲智能邊緣計算(Intelligent Edge Computing)。網絡
惟物辯證法指出,事物的發展老是曲折、循環往復,並在波浪中不斷前進的。計算模式(Computing Paradigm)也不例外。如圖1所示,若是咱們回顧計算模式的發展歷史,就會發現一個簡單的規律:計算模式是在集中式計算和分佈式計算之間不斷搖擺,往復式發展前進的。分佈式
圖1:計算模式的發展歷史性能
在大型機(Mainframe)時代,計算資源稀缺,不少人共享一臺主機,計算是集中式的;到了我的計算(Personal Computing)時代,硬件變得小型化,價格低廉,人們能夠擁有本身的我的設備,計算成爲了分佈式的;在雲計算時代,經過高速網絡,人們能夠共享雲上的海量的計算和存儲資源,計算模式又回到集中式的。此時,人工智能蓬勃發展,雲上提供的衆多智能服務帶來了智能雲計算。而隨着邊緣計算的出現,計算模式再一次成爲分佈式的。如今,咱們不只有智能雲,還有智能邊緣。學習
智能邊緣計算的出現固然不只僅是知足表面上的簡單規律,背後有其必然性和強大的驅動力,是計算機軟硬件和新應用新需求不斷髮展的必然結果。優化
首先,隨着物聯網特別是智能物聯網(AIoT)的發展,各類新型智能設備不斷涌現,產生了海量的數據。好比,監控攝像頭已經無處不在(據統計,在倫敦每14我的就有一個監控攝像頭 [4]),天天產生大量的視頻數據。而每輛自動駕駛汽車天天更是會產生多達5TB的數據。把全部這些數據都傳輸到雲上進行處理是今天的雲和網絡沒法承受的。雲計算
其次,新的場景和應用須要對數據在本地進行處理。好比,自動駕駛和工業自動化對數據處理的實時性有很高的要求。數據傳輸帶來的網絡延遲每每沒法知足實時性的要求,若是網絡發生故障可能帶來災難性後果。再如,人們對我的隱私愈來愈關注,而不少數據(視頻、圖片、音頻等)都包含大量的我的隱私。保護我的隱私的最好的方法就是在本地進行數據處理,不把我的數據傳到網絡上去。
另外,一樣重要的是,硬件的快速發展使得智能邊緣計算成爲可能。隨着 AI 算法的日益成熟,人們開始設計製造專用的 AI 芯片,特別是專門用於深度學習模型推理的 AI 芯片,這些 AI 芯片不只數據處理能力強大,並且尺寸小、功耗低、價格便宜,能夠應用到各類邊緣設備上,爲智能邊緣計算提供了堅實的硬件基礎。
須要指出的是,智能邊緣計算並非要取代雲計算,而是和雲計算互爲補充,一塊兒更好地爲用戶提供服務。雲計算和邊緣計算會不斷融合;智能計算分佈在不一樣的地方,但又相互鏈接,協同合做。
在微軟亞洲研究院,咱們致力於研究智能邊緣計算中的關鍵問題,更好地將 AI 賦能於邊緣設備(包括終端設備和邊緣服務器)和應用,提升智能邊緣計算的系統性能和用戶體驗。具體來講,目前咱們主要關注如下幾個研究方向:
針對不一樣設備的模型壓縮和優化。高精度的深度學習模型一般都十分龐大,由數百萬甚至以億計的參數構成。運行這些模型須要耗費大量的計算和內存資源。雖然智能邊緣設備的處理和存儲能力大幅增加,但仍遠遠比不上雲計算設備。所以,如何把深度學習模型在資源受限的邊緣設備上運行起來是一個巨大的挑戰。傳統的模型壓縮和優化(好比剪枝、量化等)主要關注的是在如何把模型變小的同時儘可能少損失模型精度。然而,邊緣設備的特色是類型多、差別性大,處理器類型性能和內存大小千差萬別。咱們認爲,沒有一個統一的模型可以適用於全部的邊緣設備,而是應該結合硬件的特性,爲不一樣的設備提供最適合的模型,不只考慮模型大小和精度損失,更要考慮模型在設備上的執行性能,好比延遲和功耗等。
基於異構硬件資源的系統優化。即便有了一個能夠運行的模型,如何提升模型的運行效率還是一個值得深刻研究的課題。咱們須要一個高效的模型推理引擎,把系統性能提升到極致。這不只須要軟件層面的系統優化,更要有軟件和硬件的協同設計,可以充分利用底層硬件的能力。邊緣設備每每有着各類異構的硬件資源,好比智能手機擁有大小不一樣的 CPU 核(ARM big.Little)、DSP、GPU、甚至 NPU。而現有的系統每每只能利用其中一種計算資源(好比 CPU 或者 GPU),還不能充分發揮硬件的性能。咱們的工做致力於研究如何充分利用同一設備上的異構硬件資源,深度優化系統性能,大大下降模型執行的延遲和能耗。
隱私保護和模型安全。如前所述,用戶隱私數據保護是一個重要的課題。在邊緣設備沒法運行高精度模型的狀況下(好比在低端的監控攝像頭上),利用雲計算或者邊緣服務器來執行深度學習模型就不可避免。在這種狀況下,咱們就須要研究如何利用遠程的計算資源的同時還能不泄露用戶的隱私數據。另外,在邊緣設備上運行模型還帶來了一個新的問題——模型的安全。訓練一個好的模型須要花費巨大的人力、物力。所以,模型是重要的數字資產。在雲計算模式下,模型的存儲和運行都在雲上,終端用戶沒法直接接觸模型數據。而在邊緣計算中,模型是部署到本地設備上的,惡意用戶能夠破解終端系統,複製模型數據。因此,如何在智能邊緣計算中保護模型的安全就是一個新的重要研究課題。
持續學習和合做學習。智能邊緣計算還帶來了新的改善模型的機會。目前的模型訓練和模型使用一般是割裂的。一個模型在事先收集好的數據集上進行訓練,而後被部署到設備上進行使用。然而,模型使用中的數據一般是和訓練時的數據集不同的。好比,每一個智能攝像頭因爲其位置和光線的不一樣,它們看到的圖像內容和特徵都不盡相同,從而致使模型精度降低。咱們認爲,模型被部署到設備上之後,應該根據設備上的輸入數據進行適配和優化,並且隨着設備處理愈來愈多的新數據,它應該從中學習到新的知識,持續不斷地提升它的模型,這就是持續學習(Continuous Learning)。此外,多個設備還應該把它們學習到的不一樣的新知識合併到起來,一塊兒合做來改進完和藹全局的模型,咱們稱之爲合做學習(Collaborative Learning)。與主要關注如何利用多方數據集進行模型訓練而不相互泄露數據的聯邦學習(Federated Learning)不一樣,持續學習和合做學習的重點是如何在模型部署後重新獲取的數據中學習新的知識。
此外,咱們還關注智能邊緣計算中的各類新場景和新應用,好比視頻分析、VR/AR、自動駕駛、AIoT 等,特別是隨着 5G 的到來,如何構建更好的智能邊緣+智能雲的系統,爲這些場景和應用提供更好的支撐。
在過去兩年,咱們和國內外的高校緊密合做,在這些研究方向上取得了一系列的進展,也在相關學術會議上發表了多篇論文。其中,咱們和北京大學和美國普渡大學關於如何利用緩存技術(Cache)提升卷積神經網絡(CNN)執行效率的工做發表在 MobiCom 2018上 [5];和哈爾濱工業大學等學校合做的關於如何利用模型稀疏性(Sparsity)加速模型執行的工做發表在 FPGA 2019和 CVPR 2019上 [6] [7];和韓國 KAIST 等學校合做的關於如何利用 SGX 保護用戶隱私的工做發表在 MobiCom 2019上 [8];和美國紐約大學和清華大學合做的關於合做學習的工做發表在 SEC 2019上 [9]。
智能邊緣計算以後是什麼?計算模式會沿着既有歷史路線繼續輪迴嗎?將來會是怎樣的?
咱們沒法準確預測將來,但咱們相信世界必定會變得愈來愈數字化、智能化,必定會變得更加美好。在微軟看來,整個世界正在成爲一臺巨大的計算機 [10]。無論你是在家裏、在辦公室、仍是在路上,不論是在工廠、在商場、仍是在各行各業,藉助分佈在各處的強大計算能力,咱們能夠利用人工智能處理由無處不在的傳感器採集到的數據,創造出豐富多彩的工做和生活體驗。將來的計算必定是以用戶爲中心的,智能環境和設備隨時隨地感知用戶的狀態和需求,將用戶所需的數據和信息準確推送給用戶,爲人們提供更好的服務。
來源:沈向洋博士在2018微軟人工智能大會上的演講 [10]
[1] V. Bahl, "10 years is an eternity in the tech world, but we are just getting started," 19 10 2018. [Online]. https://www.microsoft.com/en-us/research/blog/10-years-is-an-eternity-in-the-tech-world-but-we-are-just-getting-started/
[2] M. Satyanarayanan, P. Bahl, R. Cáceres and N. Davies, "The Case for VM-Based Cloudlets in Mobile Computing," IEEE Pervasive Computing, vol. 8, no. 4, pp. 14-23, 2009.
[3] "The First IEEE/ACM Symposium on Edge Computing," 27-28 10 2016. [Online].http://acm-ieee-sec.org/2016/
[4] J. Ratcliffe, "How many CCTV Cameras are there in London 2019?," 29 5 2019. [Online]. https://www.cctv.co.uk/how-many-cctv-cameras-are-there-in-london/
[5] M. Xu, M. Zhu, Y. Liu, F. X. Lin and X. Liu, "DeepCache: Principled Cache for Mobile Deep Vision," in Proceedings of the 24th Annual International Conference on Mobile Computing and Networking, 2018.
[6] S. Cao, C. Zhang, Z. Yao, W. Xiao, L. Nie, D. Zhan, Y. Liu, M. Wu and L. Zhang, "Efficient and Effective Sparse LSTM on FPGA with Bank-Balanced Sparsity," in Proceedings of 27th ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, 2019.
[7] S. Cao, L. Ma, W. Xiao, C. Zhang, Y. Liu, L. Zhang, L. Nie and Z. Yang, "SeerNet: Predicting Convolutional Neural Network Feature-Map Sparsity through Low-Bit Quantization," in Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2019.
[8] T. Lee, Z. Lin, S. Pushp, C. Li, Y. Liu, Y. Lee, F. Xu, C. Xu and L. Zhang, "Occlumency: Privacy-preserving Remote Deep-learning Inference Using SGX," in Proceedings of the 25th Annual International Conference on Mobile Computing and Networking, 2019.
[9] Y. Lu, Y. Shu, X. Tan, Y. Liu, M. Zhou, Q. Chen and D. Pei, "Collaborative Learning between Cloud and End Devices: An Empirical Study on Location Prediction," in Proceedings of the Fourth ACM/IEEE Symposium on Edge Computing, 2019.
[10] 沈向洋, "讓雲計算和人工智能幫助每個人," 2018 微軟人工智能大會. [Online].https://www.microsoft.com/china/events/ArtificialIntelligence2018.aspx