前言
為什么說邊緣計算帶來了數(shù)據(jù)、計算的根本變化?
邊緣AI是邊緣計算最重要的應(yīng)用之一,它的挑戰(zhàn)是什么?
一個用于邊緣計算場景的新型AI服務(wù)部署平臺——Astraea是如何誕生的?
如何通過Astraea一鍵化部署邊緣AI服務(wù)?
近日,阿里云邊緣計算團隊博士后付哲的論文《Astraea: Deploy AI Services at the Edge in Elegant Ways》入選2020年IEEE邊緣計算國際會議(IEEE International Conference on Edge Computing),并在大會上進(jìn)行了宣講。他和他的團隊如何看待以上問題,本文將為您解答。
邊緣計算:5G時代對云網(wǎng)融合的挑戰(zhàn)
近年來,邊緣計算已經(jīng)成為信息和通信技術(shù)中最熱門的研究領(lǐng)域之一。隨著5G時代的到來,越來越多的設(shè)備連接到互聯(lián)網(wǎng)上,伴隨著視頻直播、云游戲、VR/AR、自動駕駛等帶寬消耗和延遲敏感的應(yīng)用,給云計算帶來了巨大的挑戰(zhàn)。
邊緣計算支持分布式計算模式,將計算和數(shù)據(jù)資源轉(zhuǎn)移到靠近最終用戶的邊緣節(jié)點,從而為新時代的創(chuàng)新應(yīng)用提供高帶寬、低延遲和大規(guī)模連接能力。
邊緣計算帶來了數(shù)據(jù)、計算分布的根本變化。5G有以下特性:eMBB(增強型移動寬帶)、uRLLC(超可靠低延遲通信)、mMTC(大規(guī)模機器類型通信)。這些特性驅(qū)動著越來越多的數(shù)據(jù)和計算從云端轉(zhuǎn)移到邊緣。有行業(yè)報告表示:在5G時代,80%數(shù)據(jù)和計算將發(fā)生在邊緣。
邊緣 AI 是邊緣計算的重要應(yīng)用之一
與此同時,邊緣人工智能越來越受到人們的關(guān)注。Gartner去年的一份報告顯示,Edge-AI正從其幼年期走向頂峰,預(yù)計將在2-5年內(nèi)達(dá)到成熟期。我們時常在媒體報道中看到如下說法:邊緣人工智能是下一波人工智能,人工智能是邊緣計算中最常見的負(fù)載,人工智能是邊緣計算的殺手級應(yīng)用,等等。
人工智能的思維方式與人類的思維方式非常相似。一個人從過去發(fā)生的事情中吸取教訓(xùn),從而得到終身的教訓(xùn),如果有新的問題,他/她可能會從他/她以前學(xué)到的教訓(xùn)中得到解決辦法。就像人類所做的一樣,人工智能模型是從訓(xùn)練數(shù)據(jù)中訓(xùn)練出來的,如果有新的數(shù)據(jù),模型就會輸出結(jié)果。第一階段稱為訓(xùn)練,第二階段稱為推理。訓(xùn)練和推理是人工智能的兩個主要階段。
訓(xùn)練階段需要大量的計算能力,因為它需要大量的矩陣乘法和迭代,而且即使使用GPU這樣的硬件加速,對于復(fù)雜的模型通常也需要幾個小時或幾天的時間。推理階段需要相對較低的響應(yīng)時間,特別是對于某些對延遲敏感的應(yīng)用程序,如自動駕駛等等。推理的整個過程應(yīng)該在不到1秒甚至更短的時間內(nèi)完成。隨著神經(jīng)網(wǎng)絡(luò)越來越深入和復(fù)雜,海量的計算資源需求爆發(fā),在移動設(shè)備上進(jìn)行人工智能推理變得越來越困難。
云-邊-端計算任務(wù)卸載與協(xié)作
新興的邊緣計算范式帶來了一個更好的解決方案,將人工智能服務(wù)的部分計算遷移到邊緣,以緩解延遲和帶寬瓶頸。這存在兩個關(guān)鍵問題:第一個問題是是否將任務(wù)從云或終端設(shè)備卸載到邊緣,第二個問題是如何以適當(dāng)?shù)姆绞綄⑷蝿?wù)分配給云、邊緣和終端設(shè)備。
我們設(shè)P為終端設(shè)備、邊緣服務(wù)器和云服務(wù)器的處理能力,C為計算任務(wù)量,D為需要傳輸?shù)臄?shù)據(jù),B為終端設(shè)備與邊緣節(jié)點或中心云之間的帶寬。如果等式(1)成立,將計算從終端設(shè)備遷移到邊緣服務(wù)器可以減少響應(yīng)時間。如果等式(2)成立,則將計算遷移到邊緣服務(wù)器后的性能優(yōu)于遷移到中心云。
但是,邊緣AI依舊存在痛點和難點。主要包含以下三個方面:
難部署
AI框架種類眾多,算法模型難以直接部署到生產(chǎn)環(huán)境,提供服務(wù)調(diào)用接口
邊緣資源類型異構(gòu),不同AI服務(wù)對資源需求不同
難運維
生產(chǎn)環(huán)境的 AI 服務(wù)需要支持服務(wù)生命全周期管理,包括版本升級、灰度發(fā)布、狀態(tài)監(jiān)測、自動擴縮容等等
難調(diào)度
邊緣計算是典型的分布式系統(tǒng),需要為終端用戶選擇合適的邊緣資源提供邊緣AI服務(wù),同時在用戶體驗、算力成本和流量成本上做到最優(yōu)權(quán)衡
人工智能模型的開發(fā)人員和數(shù)據(jù)科學(xué)家通常不知道或不太關(guān)心他們的模型在生產(chǎn)環(huán)境中是如何服務(wù)的。例如,在邊緣部署模型時,必須考慮到不同框架的AI模型需要不同的部署方式,同時也需要一個API服務(wù)器將AI模型對外提供給終端用戶。此外,邊緣人工智能服務(wù)還需要全生命周期管理的能力,包括版本升級、灰度發(fā)布、自動縮放等,以及靈活的調(diào)度能力,以優(yōu)化用戶體驗、計算成本和流量成本之間的權(quán)衡。
Astraea的誕生
因此,阿里云邊緣計算團隊提出了Astraea — 一個適用于邊緣計算場景的新型AI服務(wù)部署平臺,它簡化了部署階段,同時充分利用了邊緣計算的優(yōu)勢。一個AI服務(wù)開發(fā)者只需提交模型、相關(guān)調(diào)用腳本和邊緣資源需求,Astraea負(fù)責(zé)鏡像構(gòu)建、資源分配、模型服務(wù)和狀態(tài)監(jiān)測等全過程,最終提供標(biāo)準(zhǔn)的Restful API供終端設(shè)備使用。
Astraea具有以下優(yōu)點。首先,Astraea的用戶只需要提交不到10行的模板配置,Astraea能夠在1分鐘時間內(nèi)構(gòu)建映像,在5分鐘時間內(nèi)完成服務(wù)邊緣部署。其次,Astraea支持Scikit learn、TensorFlow、Pythorch、ONNX等多個人工智能框架,可以一鍵化為AI服務(wù)自動生成Restful API。借助Astraea以及阿里云邊緣節(jié)點服務(wù),AI服務(wù)可以下沉到距離用戶10公里的范圍內(nèi)。同時,Astraea基于阿里云邊緣節(jié)點服務(wù)能力實現(xiàn)運維自動化。
如何通過Astraea一鍵化部署邊緣AI服務(wù)
左側(cè)對圖像進(jìn)行分類的推理示例,右側(cè)邊緣資源需求示例文件。用戶只需輸入astraea build和astraea deploy命令,這個AI服務(wù)就自動部署在指定的邊緣節(jié)點上,并為用戶提供可被調(diào)用的Restful API。用戶可以方便地調(diào)用這個API來對圖像進(jìn)行分類。
基于Astraea,可以實現(xiàn)另外一項邊緣AI服務(wù):實時車牌檢測服務(wù)。
使用Raspberry Pi 4和相適配的攝像頭作為終端設(shè)備,利用5G CPE提供網(wǎng)絡(luò)連接,并使用Astraea部署邊緣AI服務(wù)。由視頻可以看到,通過將推理轉(zhuǎn)移到邊緣節(jié)點,我們在Raspberry Pi 4上能夠?qū)崿F(xiàn)幾乎實時的車牌識別能力。
Astraea項目設(shè)計和架構(gòu)
模型開發(fā)人員只需要提交三項文件:第一個文件是AI模型,無論它依賴于哪個機器學(xué)習(xí)框架;第二個文件是用來表示如何調(diào)用模型以及返回的輸出數(shù)據(jù)格式的腳本文件;第三個文件用來表示AI服務(wù)的元信息(包括名稱、版本、API端口等)和邊緣計算資源的需求,包括CPU、GPU、內(nèi)存大小和AI服務(wù)要覆蓋的地理區(qū)域。
Astraea能夠自動分析提交的文件,封裝模型并提供Restful API調(diào)用能力,構(gòu)建容器映像并將其推送到邊緣容器倉庫。Astraea同時解析資源需求,并相應(yīng)地在指定的邊緣節(jié)點中運行邊緣AI服務(wù)。
Astraea基于邊緣節(jié)點服務(wù)平臺實現(xiàn)以下能力:
鏡像倉庫:作為邊緣AI鏡像的儲存?zhèn)}庫,并提供鏡像分發(fā)加速能力
應(yīng)用發(fā)布:提供邊緣AI服務(wù)的一鍵部署和灰度發(fā)布功能
監(jiān)測運維:負(fù)責(zé)邊緣AI容器狀態(tài)監(jiān)測和相關(guān)日志服務(wù)
關(guān)于Astraea的實驗測評
阿里云邊緣計算團隊通過在低性能終端設(shè)備上實現(xiàn)實時對象識別服務(wù)來評估Astraea。在實驗中,選擇Raspberry Pi 4作為終端設(shè)備,YOLOv3模型來識別圖像或視頻中的物體。模型的權(quán)重是在云中預(yù)先訓(xùn)練的,因為與邊緣節(jié)點或終端設(shè)備相比,中心云數(shù)據(jù)中心有更大的能力來訓(xùn)練模型。同時,在實驗中,選擇了位于中國杭州的邊緣節(jié)點(配有Tesla V100 GPU)。
實驗架構(gòu):
實驗過程中,終端設(shè)備(Raspberry Pi)捕獲圖像,調(diào)用Astraea提供的web服務(wù)API來獲得識別結(jié)果,最后將結(jié)果顯示在原始圖像上。作為比較,在第二個實驗中,我們在終端設(shè)備處理所有目標(biāo)識別的任務(wù)。
實驗中測試了不同大小、不同分辨率下的檢測性能。如圖所示,在Raspberry Pi 4上的目標(biāo)識別時間平均為20秒左右,這對于實時目標(biāo)識別來說是無法接受的。如果使用Astraea在邊緣節(jié)點部署目標(biāo)識別服務(wù),推理時間平均小于0.1秒。即使算上從終端設(shè)備到邊緣節(jié)點的網(wǎng)絡(luò)傳輸時間,該方案平均可以節(jié)省98.5%的時間。因此,當(dāng)目標(biāo)識別任務(wù)中的推理階段被卸載到邊緣節(jié)點時,終端用戶感覺到識別速度比終端設(shè)備單機方案快25~110倍。此外,我們還測試了視頻中的實時目標(biāo)識別,結(jié)論是相比Raspberry Pi本身處理幀速率提升了50倍。
結(jié)論
在本項工作中,阿里云邊緣計算團隊提出了邊緣 AI 部署項目 Astraea,提供從 AI 算法模型到邊緣云部署的一站式解決方案,解決模型開發(fā)者“算法落地”和“部署運維”兩方面的難題。Astraea 能夠自動化地完成 AI 服務(wù)在邊緣節(jié)點的部署,將 AI 模型的推理過程轉(zhuǎn)化為 Restful API 接口供終端用戶調(diào)用,提供低時延、省帶寬、廣覆蓋、易運維的邊緣 AI 服務(wù)。實驗結(jié)果表明,通過計算任務(wù)的卸載和協(xié)同,邊緣AI服務(wù)相較于傳統(tǒng)方法能夠得到25倍至110倍的性能提升。
原文標(biāo)題:IEEE EDGE 2020論文:Astraea — 以優(yōu)雅的方式在邊緣部署AI服務(wù)
文章出處:【微信公眾號:中山市物聯(lián)網(wǎng)協(xié)會】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
AI
+關(guān)注
關(guān)注
87文章
31519瀏覽量
270334 -
人工智能
+關(guān)注
關(guān)注
1796文章
47673瀏覽量
240289 -
5G
+關(guān)注
關(guān)注
1356文章
48504瀏覽量
566019 -
邊緣計算
+關(guān)注
關(guān)注
22文章
3121瀏覽量
49522
原文標(biāo)題:IEEE EDGE 2020論文:Astraea — 以優(yōu)雅的方式在邊緣部署AI服務(wù)
文章出處:【微信號:ZS-IOT,微信公眾號:中山市物聯(lián)網(wǎng)協(xié)會】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論