智慧邊緣開源框架Baetyl,構建邊緣融合智慧應用

語言: CN / TW / HK

日前,百度智慧雲物聯網主任架構師、Baetyl的技術委員會主席李樂丁參加了以“相信邊緣的力量”為主題的全球邊緣計算大會,並在會上與業界同仁分享了“使用Baetyl框架構建邊緣融合的智慧應用”,樂丁從邊緣計算的高速發展、智慧邊緣開源框架Baetyl的建立背景、Baetyl在百度智慧雲天工物聯網平臺的應用實踐等進行了介紹分享。

邊緣計算已來到舞臺中心

邊緣計算,在今天已經不是一個陌生的詞彙,全球一線的科技企業和大型組織無論在討論物聯網、CDN、5G,還是各種產業應用的時候,都會提及Edge, 邊緣不再是“邊緣”,它已然走到了舞臺的中心, 而這個舞臺就是計算。現如今,日常工作和生產作業中,基本上已經被各式各樣的智慧應用或者數字化裝置所圍繞,“計算”正在成為一個無處不在的事情。

如果要讓計算儲存網路這樣的算力實現真正的無處不在,為生活中所需之處提供服務,那就必須看到它的與眾不同,其中最典型的特點就是 計算能夠不受到物理空間條件的限制。 例如,位於中心的IDC系統雖然具有無比強大的彈性算力,但其所在世界上的物理位置相隔各種各樣終端裝置的距離比較長,可能需要幾十甚至上百毫秒的時間,這樣就會產生網路延遲。

為了克服此類延遲,實現大量的如自動駕駛或者工業場景等實時應用,就需要在事件發生的就近位置進行快速的資料處理,因此當計算離開資料中心之後,就進入了邊緣計算的範疇。例如,在CDN網路上構建邊緣計算,實現快速的視訊和直播的處理,進一步將計算下沉到5G MEC的網路中,在得到一個十幾或者幾十毫秒的快速資料處理的同時,還可以利用5G網路,進一步下沉到物聯網的終端裝置上,以毫秒級或者亞毫秒級進行快速處理。基本上,邊緣計算無處不在提供服務。

智慧邊緣開源框架——Baetyl應運而生

圖1:邊緣計算要解決的四項問題 

接下來,圍繞邊緣計算整個產業的運作方式以及邊緣計算要解決的問題展開介紹。通常而言, 邊緣計算要解決四大問題,資料的接入、儲存、處理、同步 。接入是指各式各樣不能跨越特別長網路延遲的終端裝置,需快速連線到本地資料中心的同時保證網路的安全和隱私,因此需要做私有網路下的接入。在私有網路接入資料後,需要進行實時的儲存和處理,這樣既可保證應用的延時,也能保證資料的安全和合規。安全和雲不是割裂的,往往需要既在邊緣快速處理資料,又需要使用雲的彈性資源進行各樣的迭代和挖掘支援,幫助來自邊緣的資料和雲上的核心算力實現互聯。

圖2:百度智慧邊緣計算架構

今天的邊緣計算專案層出不窮,那麼通常是用什麼樣的組織方式呢?上圖可以基本上反映出目前一線科技公司在邊緣計算方面主要的處理策略。一方面大多數公司會支援一個開源的專案,因為目前邊緣仍然處在早期階段,通過開源專案或社群的合作,可以快速推動整個方向的發展。另一方面是基於開源的專案而不僅僅是單一公司或者單一組織的專案,使來自社群的力量整合出的開源技術具有更加面向企業的能力,從而去提供商業化的服務方案,最終這個商業化的解決方案能夠將各式各樣的裝置、算力與落地的應用相結合,這通常是組織一個開源的邊緣計算專案和一個商業的邊緣計算業務兩者之間的關係。

基於這樣的理念, 百度建立了Baetyl這個開源專案 。Baetyl專案是在2019年由百度向LF基金會捐助,也是LF基金會成立以來最早加入的專案。該專案的 目標是為邊緣側提供各種各樣的雲原生編排能力 。如今,大家通過不斷地使用容器化、Kubernetes等技術去迭代應用,而這些應用不僅僅是執行在雲端,同樣正在滲透到應用當中,所以Baetyl要為邊緣側提供雲原生的能力。與此同時,一旦邊緣側具有了執行容器和雲原生應用的能力,雲上積累出來的各種各樣的應用就需要無縫下沉到邊緣,在邊緣側實現各式各樣的業務處理。正因為當前邊緣側各種各樣的場景中呈現出高度碎片化的狀態,湧現了各種不同的軟體和硬體設施,因此Baetyl從設計上就以跨平臺為目標接觸到各種主流的軟硬體裝置。

Baetyl專案目前定義了 三個主要目標。

第一個目標 為各種各樣的邊緣場景提供一個標準化的雲原生執行環境 ,所以當用戶安裝了Baetyl框架後,無論是使用小型的計算盒子,還是使用相對大型的工業網端或邊緣AI一體機等,都將統一具備雲原生能力,使得一個標準的K8s控制面介面可以將原先所有積累的K8s知識直接應用到邊緣上。

第二個目標 是為大量的無人職守裝置提供遠端管理能力,邊緣計算的裝置通常都離散部署在全球或全國各個地方,而這些地方很難保證能夠有大量的運維人員幫助其執行,因此這些裝置需要完全在無人管理的情況下自主的執行和管理,Baetyl這個專案正是希望所有的裝置在保證網路和電源的情況下就可以執行並納入到邊緣計算的網路之中。

第三個目標 是為各種各樣的邊緣應用提供工具和服務。

圖3:Baetyl雲原生機制

上圖展示了Baetyl的主要架構和其在邊緣計算的開源大檢視中所處的位置。Baetyl著力於解決如何將雲上普通的應用以及AI應用與邊緣進行同步,這其中還包括將雲上的應用無縫地下發到邊緣上執行,也可以將邊緣上採集獲取到的資料進行脫敏上傳到雲端進行深入的加工。這張圖上半部分是Baetyl的雲端管理部分,也是一個標準的K8s的應用程式,可以執行在支援K8s環境、K8s模式的基礎設施環境中。在這個環境中,它將與雲端的系統進行無縫結合,通過在雲端定義各種各樣的邊緣裝置節點,就可以使用K8s知識,而後在Baetyl雲端部分將所有的配置採集後打包,通過網路下發到邊緣節點上。

在邊緣節點上,Baetyl主要將邊緣節點升級成一個雲原生節點,完全執行在一個K8s的環境中,接受雲端的配製和管理,將雲端下發過來的各種配製和管理重新翻譯成K8s的應用在邊緣側執行。通過這個方式可以實現完全遠端的管理,無論是一個還是成千上萬個節點都可以在雲端使用單一的控制檯,使用單一的K8s技術進行編排應用以及升級和管理裝置。

Baetyl構建的智慧應用案例

圖4:BIE邊緣AI推斷

既然Baetyl具備從雲端向邊緣下發應用的能力,那麼在Baetyl支撐上可以下發什麼樣的應用值得一探究竟。

這個DEMO專案是一個邊緣的AI視覺處理專案,該專案基本在Baetyl上運行了各種各樣的應用程式,應用場景非常廣闊,可以進行建築的勘測,安防、交通管理等。在邊緣側,首先將一個視覺的理解應用程式下發到Baetyl上,就能夠實現視訊的接入服務。比如,USB攝像機,採集他們的圖片並對其進行抽幀,接著送交一個AI的應用程式在雲端進行訓練,得到模型之後再下發到邊緣節點上,在邊緣節點上直接進行AI的推斷。同時,Baetyl會去解決推斷加速問題,例如,使用了什麼樣的硬體,比如GPU或是新的神經網路晶片。無論模型訓練的時候使用的是百度、TensorFlow、PyTorch、或PaddlePaddle的模型,Baetyl會自動讓模型在硬體上得到AI加速進行推斷,推斷的結果可能是裸的結構化資料,它如何應用到具體應用當中,需要各式各樣的輔助功能。

例如可以由一個時間的觸發機制,定時地進行清理和加工,還可以進行雲端上傳能力,將推斷的結果傳送到客戶雲端部署的伺服器中,這樣他就能知道我現在發生了一件什麼樣的事情;還可以進一步的圖片編輯和解碼,將識別出來的內容在原始圖片上進行標註,很好地實現視覺化。

這些輔助功能都可以作為一個容器化的雲原生應用程式應用在Baetyl上,而這些程式的開發、測試可以完全在雲上使用。得到這些邊緣資料之後,因為邊緣和雲不是割裂的,我們可以將邊緣中整理提取出來的資料進一步上傳到雲,使用雲端進行儲存,連線到雲上各種AI系統,進行多樣的深入分析和模型迭代,也可以在雲上直接進行管理,分發應用。這就是各種各樣的應用程式在Baetyl上的執行模式。

從百度智慧雲的幾個實際案例中,可以更清晰展示如何使用Baetyl去構建智慧的應用程式。 首先介紹一下在物聯網和AI方面的解決方案 ,通過對裝置進行觀察獲得知識,最終形成各式的行動,比如,通過視覺的技術去觀察路面上所有車的執行狀況,再利用AI技術分析路面的交通情況,從而實現助力交通問題的改善,這就是洞察和行動的過程。

為了實現這些,百度智慧雲 建立了雲端的物聯網平臺-百度智慧雲天工物聯網平臺 ,也是國內最早提供商業化的物聯網平臺之一。目前已有過億的裝置連線,每年會處理數十億的資料。基於這樣一套系統,可以在雲端進行大規模的資料採集,而後結合這些採集過來的資料幫助客戶實現AI智慧。

圖5: 百度智慧雲天工物聯網平臺架構

整個天工物聯網平臺覆蓋的範疇非常廣泛,一系列的物聯網基礎設施助力百度智慧雲天工具備連線萬物的能力,其中就包括Baetyl專案的商業化版本,即智慧邊緣計算BIE,物聯網核心套件IoT Core、時序時空資料庫TSDB等;而基於這些基礎的產品構建了面向視覺、資料、語音的智慧應用,通過智慧應用給予天工物聯網對話萬物的能力;最後將其廣泛應用於能源、交通、工業等一系列應用場景中,從而實現智慧萬物。

圖6:BIE能源AI中臺解決方案

上圖對應展示了 百度智慧雲針對能源提供的AI中臺解決方案 ,該方案可分成應用、模型和平臺三部分。應用層面向具體的場景進行各種各樣的檢測和識別能力,模型層利用百度的AI能力提供各種各樣預訓練好的AI模型,背後則是百度強大的AI訓練和分析能力。實現AI能力的背後資料是必不可少的,資料的獲取則是通過下面的物聯中心,包括物聯網和邊緣計算採集的資料。

基於這套平臺,我們將AI能力與物聯網進行無縫結合,最底層是各類的電網裝置,包括電錶以及在成千上萬公里的輸電網路上引入的無人機和機器人進行檢測和巡檢,這些裝置採集來的資料將實時進入邊緣計算層進行處理。例如,在電錶旁邊的電箱進行處理,在電站旁邊我們會配置一個相對強大的伺服器,在無人機旁邊會通過Lora網路或者5G網路連線到就近的MEC節點上進行處理,這樣就可以儘快的進入我們邊緣層進行處理。這些資料處理將幫助我們的電網更好的預測電能,更好的改善能源的供應,提升它的效率。而這些演算法或者AI模型將在最上層的百度AI平臺得到不斷的迭代和執行才是背後助力效率提升的根本。

整體而言,百度智慧雲 在能源方面提供了度能-綜合能源服務平臺 ,該平臺通過結合邊緣計算的實時資料處理能力和AI模型訓練能力,提供更好的用能核算,降低運維能力,讓使用者能夠清楚看到能源使用情況並對所有的能源和電力裝置進行全生命週期管理。

圖7:度能應用案例

左側的圖片直觀展示了目前所有電能的執行情況,右側的圖片展示了所有終端裝置通過感測器採集的資料,這些資料會直接進入邊緣計算的裝置節點中進行處理。這些節點中執行的是我們為使用者提供的供能專用AI模型,可以幫助使用者更好的預測能源使用情況,從而提升效率。

在交通方面, 天工物聯網結合自動駕駛和邊緣計算推出了V2X邊雲融合解決方案,助力百度在智慧駕駛智慧交通領域持續探索前進。在這個方案中,主要通過兩方面幫助智慧駕駛更好得提升其能力。一方面讓車和路能夠協同起來,和一些更發達的國家相比,我國的路況更復雜,有更多難以預知的情況,現階段最快實現自動駕駛的方法不是完全依賴車的智慧化,而是要做到車和路的同時智慧。我們可以在路側或者停車場中增加視訊的採集能力,就近進行分析和處理,從而實時獲取一條路上出現的車、人、物的資訊,這些資訊再通知就近自動駕駛的汽車,同時實時通知到交通管理部門。既提升車的自動駕駛環境,又讓交管部門具備更強的控制力,這樣真正實現整個城市的智慧交通,幫助我們最終走向L3、L4高度的自動駕駛。

另一方面,幫助現行大量的存量汽車實現L1、L2相對輔助的自動駕駛。V2X邊雲融合解決方案提供各種實時的輔助檢測,可以在路上進行路的檢測,以及對司機進行疲勞檢測。同樣是在車上進行智慧裝置的部署,通過該裝置執行智慧邊緣計算的應用,邊緣計算背後正是Baetyl,Baetyl將雲端訓練出來的模型和應用下發到對應輛車上,實現智慧應用的執行。

圖8: V2X邊雲融合解決方案應用案例

上圖左側,如果只是為了檢測司機的一次疲勞,例如,打哈欠,這樣的解決方案並不困難且非常多。但是實際上面對各種各樣的路況和人,一次性的檢測並不全面,需要有能力讓檢測模型不斷的升級和迭代以應對所需檢測影象不斷變化的挑戰。V2X邊雲融合解決方案不是提供一個所謂完全離線的智慧裝置,而是經由邊緣計算Baetyl的框架將該裝置與百度智慧雲連線起來,通過在雲端不斷的採集大量資料去升級和迭代相應的檢測演算法,不斷的將更新更好的模型和演算法分發到所有的智慧裝置上,形成一個數據上行、知識和應用下行的閉環,最終更快地向著高度自動駕駛去邁進。

一直以來,智慧邊緣開源框架Baetyl在開放中立的社群環境中得到不斷的支援和發展,在眾多活躍的貢獻者努力下,baetyl已實現更多具有挑戰性的功能。未來,baetyl將持續向著構建開放、安全、可擴充套件、可控制的智慧邊緣計算平臺方向前進。

點選 “閱讀原文” ,或訪問 GitHub,體驗 Baetyl 更多內容。