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

日前,百度智能雲物聯網主任架構師、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 更多內容。

本文分享自微信公衆號 - 百度開發者中心(baidudev)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章