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