邊緣計算、云計算、霧計算能為自動駕駛做些什么?
邊緣計算、霧計算和云計算將在自動駕駛領域發揮什么樣的作用?哪些任務交給邊緣計算,哪些交給云端?
在之前的文章中,曾多次提到過5G網聯技術將給自動駕駛帶來的巨大變化。5G網絡能提供20Gbps速率,時延僅僅1毫秒,每平方公里100萬連接,網絡穩定性可達99.999%的下一代蜂窩無線通訊網絡,將從單車的信息流共享、車隊的編隊無人化、遠程駕駛三個方面推動智能駕駛的高速發展。5G網絡的給智能駕駛帶來了低延時,高穩定性的物網聯架構。通過服務器的高性能計算,核心云及邊緣云給網聯駕駛車提供實時路況、道路信息、行人信息等一系列交通信息,讓智能駕駛邁進了“入5G網而知天下”的時代。
然而,有一部分朋友并不完全認同,@goly說:“設備端轉云端處理根本就不現實! 1.網絡覆蓋情況? 2.高速120下網絡吃的消?過隧道之類的咋處理?3.實時性要求? 云端處理海量數據,集群,網不好的情況,等數據從云到端的時候,都翻車了。”
還有一個朋友@Mr.high也提出了自己的觀點:“云端+邊緣計算可能是一個解決方案。 增強車載端高性能處理單元(車載計算機?)的處理能力, 網絡負載能力與高速行駛狀態下的容錯能力。 現在的車載TBOX已經完全不能滿足需要,5G時代的來臨可能會觸發車載高性能計算機的爆發式增長,CPU,GPU們好戲又要來了,反觀桌面PC市場可能進一步萎縮,更智能的手機終端與車載高性能計算機的搭配可能漸入佳境。”
邊緣計算、霧計算和云計算將在自動駕駛領域發揮什么樣的作用?
邊緣計算是一個相對較新的術語,隨著物聯網(IoT)時代的開始,它已變得越來越重要。
邊緣計算是指在靠近物或數據源頭的一側,采用網絡、計算、存儲、應用核心能力為一體的開放平臺,就近提供最近端服務,這個概念不像在云端中進行處理和算法決策,而是將智能和計算推向更接近實際的行動。這就允許分析的直接性。
與云端相比,邊緣計算具備這七大優勢:
- 延遲:毫秒級延遲
- 高吞吐量:本地生成,近場傳輸
- 數據簡化:末端自主分析,減少對上游的依賴。
- 語境意識:實時獲取用戶及位置信息并用于計算
- 安全性:免受UE和CPE攻擊
- 隔離:在丟失連接時仍能繼續運轉
- 合規性:有助于用戶隱私條款
試想一下,如果你有一個工廠正在運行各種自動泵和渦輪機。如果設備連接到云,并且從這些設備傳出的所有數據都進入云端,那么讓云實際控制這些設備也是很誘人的。當需要關閉泵時,從云端通過網絡發出并下至泵的命令會告訴它關閉。當泵遇到麻煩時,它會通過網絡發送信息并傳送到云端。這將是管理設備的集中方式。
假設泵開始出現問題,它需要一點時間才能通過網絡進行通信,然后讓網絡將消息傳遞到云,然后云應用程序需要時間處理信息,才能發出一條命令,然后通過網絡,最后到達泵。那可能是因為那時泵已經完全失靈了。從泵 – 云 – 泵的步驟延遲可能需要很長的時間,以至于云錯過了保存泵的機會。
這也可以用在自動駕駛汽車。自動駕駛汽車上有許多感應裝置,包括攝像頭,用于激光雷達或雷達,聲納裝置等等。許多自動駕駛汽車制造商正在設想,傳感器的數據將流入汽車制造商為自駕車設置的云端。這使得汽車制造商能夠收集大量的駕駛數據,并能夠使用機器學習來改善自動駕駛汽車的行為。
問題出在多少處理應該發生在“邊緣”?
在哪種情況下,處理應該在自動駕駛汽車及其無數本地設備,而不是在云端?
出于實際原因,我們已經知道大部分處理必須發生在邊緣,因為感知數據需要分析的速度受到自動駕駛汽車運動影響需要及時指示汽車周圍有什么。一份調查表明,一輛每天運行8小時的自動駕駛汽車將產生至少40TB的數據。這就是通過網絡來回傳輸的大量數據。
假設有強大的網絡連接并且在傳輸過程中保持連接,通過網絡來回發送數據至少需要150-200毫秒。這實際上是一個很長的時間,因為汽車在運轉,而且需要對汽車的控制作出快速的決定。
因此,自動駕駛汽車需要利用邊緣計算。但是這涉及到具有足夠的本地化計算處理能力和存儲器容量以能夠確保車輛和AI能夠執行其所需的任務。你可能會說,我們應該繼續將大量的處理器和內存放在自動駕駛汽車上。當然,這是一個不錯的主意,但請記住,這將為自動駕駛汽車增加大量成本,同時這將會增加機器發生故障的幾率,也需要耗費更多的電力,增加更多的重量到汽車等等。
本地與云端并不是互斥的命題
通過精心設計,能夠將本地化處理和云處理混合在一起。
例如,自動駕駛汽車可能正在實時處理感知數據并據此采取駕駛行動。同時,它正在將數據發送到云端。云處理數據需要尋找更長期的模式,并最終通過分析數據向自動駕駛汽車發送一些更新信息。在這種情況下,我們將工作分為兩部分,一部分是在本地(邊緣)層面進行生死攸關的快速處理,另一部分是在云層面上進行更多面向概述的工作,而不是即時性工作。
將數據推送到云端并取回結果的能力將取決于:
- 自動駕駛汽車上的通信設備
- 通過網絡進行通信所涉及的延遲
- 網絡的帶寬
- 網絡的可用性
- 網絡的可靠性
- 自駕車內的通信
變幻莫測的網絡決定了為什么不能把自動駕駛汽車的實時工作交給云端處理。
自動駕駛汽車上有一些設備將被視為邊緣專用設備,這意味著它們完全依賴于本地處理。盡管他們收集的數據可能會發送到云端,但他們并不依賴于從云端返回的任何內容。有邊緣共享的設備能夠與云分工,完全在本地完成一些任務,并以與云共同協作的方式執行其他任務。
自動駕駛汽車的處理器上的圖像分析儀能夠追蹤其他汽車,摩托車,行人等。然后將其輸入到傳感器融合中,匯集來自激光雷達,雷達等的感知分析。傳感器融合被輸入到周圍駕駛場景的虛擬世界模型中。所有這些都在邊緣進行(在車內)。
自動駕駛汽車的AI在本地處理器上運行,并分析虛擬世界模型以決定采取何種動作。然后,AI會命令汽車控制裝置加速或剎車來駕駛汽車。
我們假設這一切都會發生在邊緣。過程會是這樣的:
- 傳感器數據收集在邊緣
- 傳感器融合在邊緣
- 虛擬世界模型更新在邊緣
- AI決策規劃在邊緣確定
- AI在邊緣發布汽車控制命令
- 自動駕駛在邊緣執行汽車控制命令
如果把云端加進來,作為一個非實時合作者,這意味著云會被告知正在發生的事情,但不會進行與自駕車有關的控制:
1.在邊緣傳感器數據收集
將數據發送到云端,但不要等待云端
2.傳感器融合在邊緣
將傳感器融合結果發送到云端,但不要等待云端
3.虛擬世界模型更新在邊緣
將虛擬世界模型發送到云端,但不要等待云端
4.人工智能行動計劃在邊緣確定
將AI行動計劃發送到云端,但不要等待云端
5.AI在邊緣發布汽車控制命令
將AI發布的汽車控制命令發送到云端,但不要等待云端
6.自駕車控制執行命令
從云端獲取更新并在可行時更新邊緣
我們將邊緣信息傳輸到云端。這也可以在上述循環結束時完成,而不是嘗試交錯。
如果決定將云端控制放在這些步驟中,可能看起來是這樣:
- 在邊緣傳感器數據收集
- 將數據發送到云端,等待云端
- 傳感器融合在云端
- 虛擬世界模型更新在云端
- AI在云中確定的行動計劃
- AI通過云發布汽車控制命令
- 等到收到云端車輛控制命令
- 自駕車執行汽車控制命令
在這種邊緣云模型中,自動駕駛汽車幾乎是一輛“啞巴”汽車,并沒有通過自己處理很多事情。如前所述,這里所關心的是通信是否足夠可靠,只有做到一致性且足夠快才能滿足需要做的事情。云本身可能有一些地球上最快的計算機,但最終是網絡通信可能會破壞這種巨大的處理能力。
使用云的價值之一是能夠利用我們在云中可以擁有的大得多的處理和內存容量,而不是我們已經加載到自動駕駛汽車上的容量。例如,當進行圖像分析時,最好在邊緣完成,而在云端進行大規模學習,其中有成千上萬的自動駕駛駕駛的汽車圖像,它可能比處在邊緣處理器上的一些較小的神經網絡更好地進行圖像分析。
因此,精心設計的自動駕駛汽車能夠在邊緣擁有所需的自主權,并在適當的時候利用云。例如,當汽車停放或未被使用時,我們可能會讓自動駕駛汽車AI在可用的情況下從云端獲取更新信息。還可以通過利用來自云的大規模神經網絡學習來增強局部邊緣的神經網絡。
有些人認為我們也需要霧計算
霧計算是邊緣計算和云計算之間的中間地帶。像一種中介計算,來充當邊緣和云之間的中介。這可能意味著我們會在公路上安裝計算機服務器,這些系統可以更快速,更可靠地與在高速公路上呼嘯而過的自行駕駛汽車進行通信,而不會與云本身進行通信。因此,您大概會得到類似云的功能,不會像真正的云那樣具有相同類型的延遲和問題。這需要增加大量的基礎設施,而這些基礎設施在初始設置和保持維護時往往都很昂貴。
在許多霧計算應用中,來自端點設備或者直接附接到簡單的類服務器計算機(有時稱為“網關”)的傳感器數據會受到該網關的作用而觸發某些動作,或者執行某些類型的任務。 之后,數據被傳送到鏈條上更強大的服務器。這些服務器通常在云端進行更高級的數據分析。
前沿邊緣計算設備的一個最好例子是聯網自動(或甚至半自動)汽車。得益于大量的傳感器數據以及關鍵的本地處理能力,再加上連接到云端更先進數據分析工具的需求,自動駕駛汽車成為了前沿邊緣計算的典范。
盡管我們會懷念一切計算都發生在本地的簡單日子,或者懷念一切任務都在遠程數據中心完成的純粹的云端世界,但可能今天的高級應用,需要更復雜的混合設計。打造基于云的基礎設施和基于云的軟件工具是計算進化的關鍵一環。顯然,即將發生的最有趣且令人興奮的進展將會把前沿計算推向邊緣側。