邊緣計算與雲端計算的未來

EAWorld發表於2018-11-23

邊緣計算與雲端計算的未來

本文為翻譯發表,轉載需要註明來自公眾號EAWorld。

作者:Gokhan Simsek

譯者:白小白 

原題:

Edge Computing and the Future of the Cloud

原文:

https://softwareengineeringdaily.com/2018/09/14/edge-computing-and-the-future-of-the-cloud/

全文4681字,閱讀約需要10分鐘

“Edge(邊緣)”和“Fog(霧)”是我們不斷聽到的新流行詞彙。什麼是邊緣計算,又有哪些應用場景?要談論這些,我們需要了解邊緣計算的產生過程。讓我們從一節簡短的歷史課開始。

一、邊緣計算的歷史

在過去的幾十年中,計算基礎設施在集中式和分散式體系結構之間經歷了多次變遷。簡單講,顧名思義,集中式計算體系中,會有一臺中央計算機,其他多臺計算機可以通過終端訪問這臺計算機。而在分散式計算體系中,會有多臺獨立的計算機或機器,通過各種協議相互通訊。

20世紀50年代,在商業計算開始時,集中式計算在大型、昂貴的主機系統中大行其道。自主機時代以來一直到1997年,計算體系架構就經歷了集中和分散的兩個週期(來源 http://t.cn/Ez2FVOg)。這時,家用臺式電腦已經隨著硬體的降價而廣泛普及。這是最後一次分散化的程式,此後便是著名的集中式雲體系結構,巨型的資料中心基本上承攬了所有的重要任務。現在,邊緣計算正在敲門,為下一次換班做準備。

雲服務是當前的集中式體系範例。幾乎所有的網路內容都是通過一個主要的資料中心提供的。研究人員從雲端租借他們的私有伺服器來測試他們的模型並進行實驗,企業在遠端伺服器中執行業務邏輯。雲服務為企業提供了一種便捷的資源獲取方式,無論是小企業還是大企業,都可以通過服務提供商獲得計算資源,而不是構建自己的資料中心供使用。雲服務的應用隨處可見,AWS、DigitalSea、Azure、GoogleCloud、VMWare在開發人員中耳熟能詳。但是,情況在發生變化。是什麼導致了對邊緣裝置和邊緣計算更受重視的新趨勢?邊緣到底是什麼?

二、定義邊緣計算

邊緣計算與雲端計算的未來

雲服務與邊緣計算-圖表

(來源http://t.cn/Ez2kkBz)

在Aran Khanna的“邊緣深度學習”(來源 http://t.cn/Ez2kpQ3)一文中,給邊緣裝置下了一個非常簡潔的定義。“邊緣裝置本質上是位於資料中心之外的任何裝置。”因此,“邊緣計算”是一種新的模式,將大量的計算和儲存資源放置在網際網路的邊緣,靠近移動裝置或感測器(來源 http://t.cn/Ez2kveR )。

邊緣裝置可能是你現在使用的手機。可以是街道和銀行周圍的監控攝像頭。他們也不一定是體積很小的的東西,自動駕駛汽車也被認為是邊緣裝置。就像Peter Levine所講的 (來源http://t.cn/Ez2DmX1),使用這些裝置,實時和現實世界的資訊收集變得更加容易,並且隨著物聯網裝置的普及,資訊收集也越來越廣泛。此外,這些裝置會生成許多真實世界的資料,如影像和視訊。

邊緣裝置不斷豐富的最大問題之一是產生的資料量越來越龐大。一個幀速率為10赫茲的監視攝像機可以產生超過每秒250 MB資料(來源 http://t.cn/Ez2DTVL)。將飛行資料連網的飛機每天生成5TB的資料。自動駕駛汽車每天4TB資料(來源 http://t.cn/Ez2DNP1)。這些還僅是針對個人裝置的統計。想象一下,如果這些裝置中一部分將原始資料傳送到集中式伺服器,那通訊量將有多大。在需要進行準實時處理的場景下,裝置的頻寬和延遲問題是雲端計算結構不再適用的原因之一。

另一個問題是能源消耗。Harvard SEAS的一位計算機架構師David Brooks指出,在網際網路上傳輸一個位元位的能源消耗是500微焦耳(來源 http://t.cn/Ez2DizS)。根據他的計算,2015年,每個月的手機資料使用量為3.7EB,從而達到500太瓦時的能源消耗,世界上2%的能源消耗用於行動電話的資料傳輸。而邊緣計算可以大大降低這種能源消耗。

小白

此處原文的資料是有問題的,或者說原文所引用的Brooks的原話是有問題的。這段資料來自視訊中3分50秒處開始, 5分鐘左右有個小笑點,也是關於500太瓦時這個資料的引用處。3.7EB是3.41*10^19Bit,從而是1.7*10^22Microjoule,即4.73*10^9KWh,即4.73Terawatt,而原文是500Terawatt。按2015年全球耗電21153TW(資料來源statista.com)來說,手機資料的耗電佔0.27%,按照500TW計算則為2.36%。Anyway,文章主要想強調的是邊緣計算可以帶來的能源節約。

在使用雲服務時,一個重要的考慮因素是隱私和安全性。資料洩露越來越普遍。(來源http://t.cn/R8vdP0f)以及必須確保使用者隱私的組織(如醫院)不能直接向其雲服務傳送原始資料。這就必須在邊緣層面進行預處理。

邊緣計算與雲端計算的未來

邊緣計算金字塔

(來源 http://t.cn/Ez2eGob)

由於上述的場景和問題,邊緣計算應運而生。在這種體系結構中,無論是以裝置本地執行計算的形式,還是通過在裝置附近部署一個微型雲的方式,或者兩種形態的組合方式,計算行為都在物理上更接近裝置。由微型雲組成的中間層有時也被稱為“霧”,而這些雲有時被稱為“霧節點”。這種“雲-霧-邊緣”架構帶來了許多好處。其中四個主要優點是延遲時間短、邊緣分析成本低、隱私策略的加強以及可靠性的提高(來源 http://t.cn/Ez2FFYq)。

與雲相比,邊緣裝置和霧節點在物理上更接近,通常只有一步之遙,而邊緣裝置到中心雲節點通常路途遙遠。霧節點甚至可以通過有線連線到邊緣裝置。這提供了更低的延遲和更高的頻寬,因為與中心雲相比,霧節點連線到的裝置數量要少得多。在霧節點中管理資料可以帶來更低的響應時間消耗。(來源 http://t.cn/Ez2FFYq)。

邊緣裝置收集的資料是巨大的,特別是由高速率資料裝置收集的資料.將所有這些資料傳送到雲端進行分析和推斷會佔用寶貴的頻寬,而且在許多情況下是不可能實現的。在邊緣裝置或霧節點執行諸如取樣和消隱之類的預處理可以大大減少正在傳輸的資料量,並允許將結構化資料直接傳送到中心雲端儲存或進一步處理。因此,以較低的成本,消耗較少的頻寬和能源是可以實現的。在本地節點上進行的這種預處理還可以確保執行必要的隱私策略,例如從醫院報告中編輯敏感和可識別的資訊,以及模糊來自攝像機的面部資訊。

哪裡有海量資料,哪裡就有機器學習。因此,邊緣裝置和邊緣計算與機器學習有著密切的關係。例如,一個監視攝像頭不斷地生成它所覆蓋的區域的影像。這種相機可能會利用深度學習來識別人類或汽車等特定的物體,並且可以移動視角以保持監視資訊的完整。自動駕駛汽車需要根據從感測器和攝像機接收到的資料來計算其下一個動作,所有這些因素都必須通過機器學習模型進行適當的推理。一個有趣的用例是Chang等人關於使用機器學習進行網路邊緣快取的工作。他們聲稱,通過準確分析使用者在某一區域的行為,從行動電話和個人電腦等邊緣裝置獲取資料,並在資料上構建無監督學習的叢集,可以主動地將適當的內容快取在使用者的邊緣裝置中或在鄰近區域的雲端,以獲得較低的延遲並節約能源。隨著物聯網應用越來越富有創造力,並滲透到我們的日常生活中,機器學習在邊緣的應用可能是無限的。

三、邊緣計算與機器學習的複雜性

邊緣計算與雲端計算的未來

一種用於在邊緣計算環境中進行機器學習的示例模型

(來源http://t.cn/Ez2sDRQ )

與中心雲伺服器或霧節點相比,邊緣裝置的記憶體要小得多,計算能力也要小得多。然而,大多數這些裝置必須根據它們收集到的輸入資訊做出近乎實時的決定。這些裝置中的大多數不可能儲存它們生成的資料,並使用這些資料來構建機器學習模型。過去幾年,大多數應用程式是處理推斷(注)的方式,是將資料上傳到雲中,並通過雲中的模型執行輸入資料 ,並將響應結果返回到邊緣裝置。然而,對於需要近乎實時響應的應用程式來說,這不是一個理想的解決方案。

小白

所謂推斷。舉例來說,就是給神經網路一堆貓的圖片進行訓練學習,當給定一堆新的圖片時,模型從中找出貓的過程。當然這只是人工智慧的應用場景之一,即影像識別。關於人工智慧和機器學習,更多的內容,可以參考宋瀟男的文章《AI雜談:從洗衣機到老鼠屁股》和《一起來DIY一個人工智慧實驗室吧》 以及李廣珍博士的《擁抱人工智慧,從機器學習開始》 。

在這種情況下,有幾種邊緣計算的方案可供選擇:

方案一:將訓練好的模型放在邊緣裝置

模型在遠端機器中訓練並部署到邊緣裝置上,這樣,智慧手機等移動裝置具有足夠的計算能力和記憶體來執行模型和推理。在這種情況下,邊緣裝置所收集的資料可以通過部署的模型執行,並且可以實現近乎實時的推斷。然後,這些資料可以傳送到雲,並通過遷移學習,整合到現有的模型中,以提高其準確性。聽起來不錯吧?不完全是。

小白

遷移學習,是將學習到的知識進行儲存和轉移以解決新問題的方法。簡單講,學會了識別小汽車,就可以將相關知識轉移到識別卡車的模型中,至少關於輪子、後視鏡等存在一定的共通性。

邊緣計算與雲端計算的未來

亞馬遜的人工智慧和該公司如何使用邊緣

(來源 http://t.cn/EzLLyqc)

方案二:對模型本身進行瘦身(壓縮)

這些模型本身可能相當大,特別是典型的具有無數引數和權重值過濾器的深度學習模型。這種大小可能使邊緣裝置無力執行經過訓練的模型,也可能阻礙裝置生成和儲存生成的資料的能力。然而,有一些技巧可以執行。在雲上訓練的佔用更多空間的模型可以採用“量化”的方式來進行瘦身從而部署在邊緣裝置上(來源 http://t.cn/Ez2kpQ3 )。量化過程基本上是將機器學習模型中權值的大小從32位浮點權值減少到16位或8位的精度。這不僅有助於簡化模型,而且還允許更快的執行推斷,而不需要為邊緣裝置建立不同的流水線和單獨建立不同的模型。這種方法的一個小缺點是精度略有降低,但在需要更快推理而非追求完美精確的應用中,這可能是非常有益的(來源 http://t.cn/EzLybGa)。

小白

所謂流水線。是指機器學習的模型通常需要整合多個組成部分和環節在一起來輸出最終的結果,這個整合的過程即“流水線”,有點類似於軟體開發過程中,開發->編譯->部署->預生產->生產,資料科學也有源資料的提取轉換->預處理->特徵選取->模型訓練等一系列的過程。段尾作者給出的Tensorflow的“量化”的介紹地址已經404了,在這個地址可以看到關於浮點精確性下降的量化解釋 http://t.cn/EzLyNgZ。

方法三:將模型能力限定在特定子域

在邊緣裝置中進行更快推斷的另一種方法是將模型的能力限制在特定的子域之上,這些子域僅服務於邊緣裝置所應執行的任務。這方面的一個完美例子是Nikouei等人提出的輕量級CNN(L-CNN 來源 http://t.cn/Ez2DTVL ),該專案的目的是讓更多執行在邊緣裝置的人工智慧作出更快和更好的推斷。文中所舉的示例中,邊緣裝置是一個監視攝像頭,用以檢測到人類。細節不作過多解釋,簡單講,L-CNN在不犧牲太多精確性的前提下保持了高效能,方法就是專門為人類檢測建立檢測方法,以減少不必要的過濾器。L-CNN能更有效地利用裝置的資源。因此,建立一定的約束條件,機器學習可以很好的整合到邊緣計算中,以獲得更快、更低成本的推理能力。

方案四:Bonsai模型

L-CNN是為諸如Raspberry PI(基於Linux的微控制器)一樣的記憶體接近1GB的更智慧的邊緣裝置開發的。這個假設是可以接受的,畢竟處理影像資料需要大量的資源。然而,我們可以為資源更稀缺的邊緣裝置開發演算法,這一點體現在Kumar等人開發的Bonsai樹演算法中(來源 http://t.cn/EzLt6HX)。Bonsai是一種致力於解決資源高效型裝置機器學習的演算法,Bonsai(來源 http://t.cn/EzLtND8)適用於通常在醫療、工業或農業應用中充當感測器的小得多的裝置,模型大小小於2kb,可以匹配不同的應用程式和資料集,由“基於在低維空間中學習到的單一、淺層、稀疏樹的新模型”實現。在邊緣裝置上部署模型,而不是從雲獲得推論,還具有離線功能的額外優勢。

小白

Bonsai,盆景(盆栽)是在中國發明,之後傳到日本、越南和朝鮮特有的一種傳統藝術,約有一千二百多年曆史。按中文維基百科的解釋,是寓意於景,以觀四季。按Bonsai英文維基百科的解釋,是“在容器中製造一棵與完整的樹相同形態的小樹”。

四、邊緣計算的未來挑戰

邊緣計算與雲端計算的未來

邊緣計算的優點和優點

(來源http://t.cn/EzLVbZn)

雲時代的一個典型好處是集中化及其帶來的管理的便利性。隨著計算分佈在許多節點和裝置上,管理問題也隨之出現。此外,集中式系統更容易提供安全性。隨著網路中裝置數量的增加,網路的安全性越來越難保證。對裝置的物理篡改成為可能。在邊緣裝置與霧節點之間或霧節點與中央雲之間的資料傳輸中實施插入惡意程式碼成為可能。當然,隨著大家的努力,這些挑戰已經得到解決,因此,在邊緣計算面前的道路似乎越來越清晰。

最後,雲中心模式當然不會消失。對於需要大量計算和儲存的許多其他用例,我們仍然需要資料中心。然而,除非出現另一次重大的變革,邊緣計算仍舊是未來的方向。

關於作者:Gokhan Simsek 來自 Eindhoven, 尼德蘭王國。Gokhan是畢業於電腦科學專業,目前在Eindhoven技術大學攻讀資料科學碩士學位。他對大資料、NLP和機器學習懷有興趣。

關於EAWorld微服務,DevOps,資料治理,移動架構原創技術分享,長按二維碼關注

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562043/viewspace-2221451/,如需轉載,請註明出處,否則將追究法律責任。

相關文章