在面向物聯(lián)網(wǎng)、大流量等場景下,為了滿足更廣連接、更低時延、更好控制等需求,云計算在向一種更加全局化的分布式節(jié)點組合形態(tài)進階,邊緣計算是其向邊緣側分布式拓展的新觸角。
以物聯(lián)網(wǎng)場景舉例,設備產(chǎn)生大量數(shù)據(jù),上傳到云端進行處理,會對云端造成巨大壓力,為分擔云端的壓力,邊緣計算節(jié)點可以負責自己范圍內的數(shù)據(jù)計算。
同時,經(jīng)過處理的數(shù)據(jù)從邊緣節(jié)點匯聚到中心云,云計算做大數(shù)據(jù)分析挖掘、數(shù)據(jù)共享,同時進行算法模型的訓練和升級,升級后的算法推送到邊緣,使邊緣設備更新和升級,完成自主學習閉環(huán)。
對于邊緣AI總體來說,核心訴求是高性能、低成本、高靈活性。其技術發(fā)展趨勢可總結為以下幾點:
可編程性、通用性;
伸縮性,同一個架構支持不同場景
低功耗,適應更多邊緣場景的環(huán)境和電力要求
軟硬件深度結合
高效的分布式互聯(lián)和協(xié)作計算能力
筆者分別從邊緣計算AI加速、端/邊/云協(xié)同以及邊緣計算AI框架等三個部分繼續(xù)深入剖析AI應用與邊緣計算結合之后的雙向優(yōu)化,進一步優(yōu)化AI應用的用戶體驗。
邊緣計算AI加速
針對基于邊緣計算場景進行AI加速,筆者參考相關論文認為大致可歸結為以下四個方面:
云邊協(xié)同(云端訓練、邊緣推理)
為彌補邊緣設備計算、存儲等能力的不足,滿足人工智能方法訓練過程中對強大計算能力、存儲能力的需求,研究人員提出云計算和邊緣計算協(xié)同服務架構。如下圖所示,研究人員提出將訓練過程部署在云端,而將訓練好的模型部署在邊緣設備。顯然,這種服務模型能夠在一定程度上彌補人工智能在邊緣設備上對計算、存儲等能力的需求。
模型分割(云邊協(xié)同推理)
為了將人工智能方法部署在邊緣設備,如下圖提出了切割訓練模型,它是一種邊緣服務器和終端設備協(xié)同訓練的方法。它將計算量大的計算任務卸載到邊緣端服務器進行計算,而計算量小的計算任務則保留在終端設備本地進行計算。顯然,上述終端設備與邊緣服務器協(xié)同推斷的方法能有效地降低深度學習模型的推斷時延。然而,不同的模型切分點將導致不同的計算時間,因此需要選擇最佳的模型切分點,以最大化地發(fā)揮終端與邊緣協(xié)同的優(yōu)勢。
模型裁剪
為了減少人工智能方法對計算、存儲等能力的需求,一些研究人員提出了一系列的技術,在不影響準確度的情況下裁剪訓練模型,如在訓練過程中丟棄非必要數(shù)據(jù)、稀疏數(shù)據(jù)表示、稀疏代價函數(shù)等。下圖展示了一個裁剪的多層感知網(wǎng)絡,網(wǎng)絡中許多神經(jīng)元的值為零,這些神經(jīng)元在計算過程中不起作用,因而可以將其移除,以減少訓練過程中對計算和存儲的需求,盡可能使訓練過程在邊緣設備進行。在參考文獻中,作者也提出了一些壓縮、裁剪技巧,能夠在幾乎不影響準確度的情況下極大地減少網(wǎng)絡神經(jīng)元的個數(shù)。
設計輕量級加速體系架構
在工業(yè)界,有很多公司開始研究低功耗加速芯片。如寒武紀公司推出的思元系列及華為公司推出的昇騰系列,能夠適配并兼容多樣化的硬件架構,進而支撐邊緣計算典型的應用場景。
在學術界,對于邊緣AI硬件的設計工作主要集中在提高深度神經(jīng)網(wǎng)絡及相關算法如CNN、FCN和RNN等的計算性能和效率。研究人員利用神經(jīng)網(wǎng)絡的冗余和彈性等特性來優(yōu)化計算操作和數(shù)據(jù)移動,以降低NN算法在專用硬件上的功耗并提高性能。
AI在過去幾年中,為互聯(lián)網(wǎng)應用、工業(yè)互聯(lián)網(wǎng)、醫(yī)學和生物學及自動駕駛等領域帶來了突飛猛進的進展。同時,隨著邊緣計算的逐步成熟,業(yè)界必將更加關注邊緣計算AI加速方面的研究進展。
由于邊緣計算場景的特點,其硬件的異構化程度會顯著高于傳統(tǒng)數(shù)據(jù)中心,對現(xiàn)有計算框架也會有非常大的挑戰(zhàn)。如何快速支持異構的計算芯片并保證計算的高效,也非常值得產(chǎn)業(yè)內的研發(fā)力量持續(xù)投入。
端/邊/云協(xié)同
資源協(xié)同
對于邊緣計算,需要對計算資源和網(wǎng)絡資源有全局的判斷,比如邊緣設備、邊緣節(jié)點及中心云資源的使用情況,站在全局角度,進行資源的合理分配,確保性能、成本、服務最優(yōu)。
數(shù)據(jù)協(xié)同
邊緣AI會處理用戶的數(shù)據(jù),可以從兩個維度來考慮。
一方面,橫向考慮,邊緣的網(wǎng)絡環(huán)境多種多樣,終端用戶設備具有移動性,可能會從一個服務節(jié)點移動到另一個服務節(jié)點,從一個邊緣移動到另一個邊緣,從WiFi切換為5G移動網(wǎng)絡,甚至從一個運營商切換到另一個運營商,那么用戶在舊的環(huán)境中產(chǎn)生的數(shù)據(jù)如何與新環(huán)境中的AI程序進行同步會成為一個問題。這里的數(shù)據(jù)協(xié)同不僅需要技術上的支持,更需要商業(yè)模式上的支持。
另一方面,縱向考慮,如下圖所示,用戶在邊緣側產(chǎn)生的數(shù)據(jù)按照隱私級別可以分為不同類型,如User-Private、Edge-Private、Public等,這些數(shù)據(jù)可以自下而上分層儲存在云邊協(xié)同系統(tǒng)中的不同層級的數(shù)據(jù)庫中,同時也可以對應不同算力支持的邊緣AI的訪問權限,例如可以允許云上運行的AI程序讀取Public數(shù)據(jù)來訓練一個通用的模型,在邊緣側的AI可以讀取Edge-Private數(shù)據(jù)來在通用模型的基礎上訓練邊緣模型等等。
算力協(xié)同
通過合理的模型拆解,將不同的服務模型根據(jù)資源、成本、質量、時延等要求部署在合適的位置。通過完成的協(xié)同計算框架,確保各子模型之間的協(xié)同處理。比如結合產(chǎn)品設計,我們可以將簡單的識別推理全部置于端側設備,如需要判斷視頻中的物體屬于動物還是植物等。
但是進一步的識別功能,我們可以結合邊緣側的推理能力,識別動物為貓科動物或犬科動物等。如果用戶需要更加精細的識別,我們可以將邊緣側的識別結果及處理之后得到的特征數(shù)據(jù)發(fā)送至云端,結合云端完善的數(shù)據(jù)模型和知識體系,將該貓科動物判定為是東北虎還是華南虎。這樣通過端、邊、云三者的協(xié)同,能夠在極大保證用戶體驗的同時,合理的使用各類資源。
合理利用算力協(xié)同,也能夠做到在邊緣側進行訓練。目前工業(yè)界還沒有成熟的模式,但學術界有相關的研究。如下圖所示的ICE智能協(xié)同計算框架,將邊緣AI的訓練分為三個階段:
第一階段為預訓練階段(pre-train),云上的應用可以通過讀取云端存儲的公共數(shù)據(jù),來訓練一個通用的模型,這是邊緣AI的底座,如果沒有云端強大算力的幫助,只靠邊緣側算力是難以得到比云端訓練更優(yōu)秀的AI模型。
第二階段將通用模型下發(fā)至邊緣側,讀取邊緣私有數(shù)據(jù),通過轉移學習(Transfer Learning),來得到邊緣模型。
第三階段讀取增量數(shù)據(jù),利用增量學習(Incremental Learning)生成最終邊緣模型,這個最終邊緣模型就可以用于用戶側的推理了。
這種三步學習的算力協(xié)同的模式,可以更好地滿足邊緣智能的個性化服務需求。
通過資源協(xié)同、算力協(xié)同以及數(shù)據(jù)協(xié)同,邊緣智能能夠高效合理的利用端、邊、云的各類資源,極大地優(yōu)化AI應用在邊緣計算場景下的用戶體驗,進一步放大AI應用的商業(yè)價值。
邊緣計算AI計算框架
在云數(shù)據(jù)中心中,算法執(zhí)行框架更多地執(zhí)行模型訓練任務,在訓練過程中需要接收大規(guī)模、批量化的信息數(shù)據(jù),比較關注訓練的迭代速度和收斂率等。而在邊緣設備上更多的是執(zhí)行預測任務,輸入一般是實時的小規(guī)模數(shù)據(jù),大多數(shù)場景下執(zhí)行預測任務,因此更加關注于預測算法執(zhí)行速度及端側或邊緣側的資源開銷。
目前業(yè)界針對邊緣計算場景,也提出了針對性的設計方案,例如用于移動設備或嵌入式設備的輕量級解決方案TensorFlow Lite,Caffe2和Pytorch等。
TensorFlow Lite
TensorFlow Lite 提供了轉換 TensorFlow 模型,并在移動端(mobile)、嵌入式(embeded)和物聯(lián)網(wǎng)(IoT)設備上運行 TensorFlow 模型所需的所有工具。
特點:
只含推理(inference)功能,使用的模型文件需要通過離線的方式訓練得到。
最終生成的模型文件較小,均小于500kB。
為了提升執(zhí)行速度,都使用了ARM NEON指令進行加速。
Caffe2
Caffe2 是一個兼具表現(xiàn)力、速度和模塊性的深度學習框架,是 Caffe 的實驗性重構,能以更靈活的方式組織計算。Caffe2可幫助開發(fā)人員和研究人員 訓練大規(guī)模機器學習模型,并在移動應用中提供 AI 驅動的用戶體驗?,F(xiàn)在,開發(fā)人員可以獲取許多相同的工具,能夠在大規(guī)模分布式場景訓練模型,并為移動設備創(chuàng)建機器學習應用。
特點:
可以在iOS系統(tǒng)、Android系統(tǒng)和樹莓派(Raspberry Pi)上訓練和部署模型;
使用比較簡單,只需要運行幾行代碼即可調用Caffe2中預先訓練好的Model Zoo模型;
NVIDIA(英偉達),Qualcomm(高通),Intel(英特爾),Amazon(亞馬遜)和Microsoft(微軟)等公司的云平臺都已支持Caffe2;
PyTorch
PyTorch 是最新的深度學習框架之一,由 Facebook 的團隊開發(fā),并于 2017 年在 GitHub 上開源。PyTorch 很簡潔、易于使用、支持動態(tài)計算圖而且內存使用很高效,因此越來越受歡迎。
特點:
改進現(xiàn)有的神經(jīng)網(wǎng)絡,提供了更快速的方法——不需要從頭重新構建整個網(wǎng)絡,這是由于 PyTorch 采用了動態(tài)計算圖(dynamic computational graph)結構,而不是大多數(shù)開源框架(TensorFlow、Caffe、CNTK、Theano 等)采用的靜態(tài)計算圖;
強大的社區(qū)支持,facebook的FAIR強力支持,F(xiàn)AIR是全球TOP3的AI研究機構。PyTorch論壇,文檔,tutorial,一應俱全。FAIR的幾位工程師更是全職維護開發(fā),github上PyTorch每天都有許多pull request和討論。
支持iOS系統(tǒng)、Android系統(tǒng)運行
這些邊緣AI執(zhí)行框架通過優(yōu)化移動應用程序內核、預先激活和量化內核等方法來減少執(zhí)行預測任務的延遲和內存占用量。
此外,邊緣計算在AI訓練提速、安全信息預處理、邊云一體的AI算法上仍處于起步階段。設計面向輕量級、高效和可擴展的邊緣計算AI框架是實現(xiàn)邊緣智能,極大拓展更多邊緣AI場景落地的重要步驟。
結語
AI和邊緣計算已獲得國內外學術界和工業(yè)界的廣泛關注和認可,并且已經(jīng)在很多商業(yè)場景下發(fā)揮作用。將AI應用部署至邊緣已成為提升智能服務的有效途徑。
盡管目前邊緣智能仍處于發(fā)展的初期,然而,筆者相信,邊緣智能夠產(chǎn)生極大的促進效果,并成為各行各業(yè)的黏合劑和智能產(chǎn)業(yè)發(fā)展的催化劑,促進多個行業(yè)的升級轉型。
-
云計算
+關注
關注
39文章
7853瀏覽量
137690 -
AI
+關注
關注
87文章
31463瀏覽量
269847 -
邊緣計算
+關注
關注
22文章
3119瀏覽量
49321
發(fā)布評論請先 登錄
相關推薦
評論