前言
如今,我們每個人都置身于一個基于互聯網的世界并對此習以為常。可你是否認真思考過,互聯網對我們生活最大的改變是什么?要我說,應該是人們對信息的消費模式的改變——在互聯網世界,人們對于信息的獲取和分發,不再依賴于有限的渠道,每個“草根”用戶都可以成為一個獨立完成信息接收、處理、傳播的更有價值的個體;傳統的那種依賴單一意見權威的模式已經被打破,一種“去中心化”的“草根時代”已然形成。可你是否注意到,這種與互聯網世界“去中心化”類似的進程,也正在物聯網世界發生呢?這一進程的推手就是“邊緣計算”。
邊緣計算的緣起
十多年前,云計算的概念開始興起。那時的人們意識到,通過將以往分散的計算資源集合起來,交給一個遠在“云端”的數據中心集中處理,是一種更高效的方式,且可以轉化為靈活可定制的服務遠程分發給分布在各處的客戶。之后物聯網應用的快速擴張,在很大程度上也是得益于這種云計算的加持——網絡邊緣端的設備只需負責采集數據和執行指令等簡單的工作,而將復雜的計算任務傳輸到云端去完成,這讓物聯網邊緣節點的設計和部署大為簡化。
但隨著應用的發展和需求的變化,這種單一的、集中化的云計算模式也遇到了挑戰,其固有的一些弱點也逐漸顯現出來:
物聯網中急劇增加的數據量,對于網絡傳輸資源的消耗極其巨大。如果所有數據都要被送到云端做處理,再大的帶寬也會難堪重負。
云計算這種遠程數據處理模式,不可避免會有延時。這對自動駕駛和工業控制這類實時性要求非常嚴苛的物聯網應用而言,顯然不能接受。
信息在傳輸的過程中會有安全風險,而且一些用戶也不希望自己的敏感數據在云端異地存儲。這些關乎安全和隱私的問題日漸突出。
在能耗方面,有研究表明,云計算中數據傳輸所消耗的能量比數據處理所需能量高一個數量級。從整個計算架構來看,這顯然是不經濟的。
解決所有這些云計算問題的答案,就是“邊緣計算”。所謂邊緣計算,就是將以往在云端完成的計算任務,下放到網絡邊緣端或靠近邊緣端的設備中去完成,這樣一方面可以對來自邊緣端的數據進行更及時的處理和響應,另一方面也可以對數據進行“初加工”后再傳輸到云端做進一步的深加工處理,有效緩解網絡傳輸和數據中心的工作負荷,達到一個最優的計算資源配置。
可見,邊緣計算可以就近直接處理來自現實世界的數據,減少需要搬移傳輸的數據量,避免了延遲,提高了隱私和安全性,即使在網絡故障時也可以提供服務,在可靠性和用戶體驗上也會有加分……作為傳統云計算模式的完善和補充,邊緣計算可謂是“真香”。
在邊緣上實現AI
認識到了邊緣計算的價值之后,人們進一步考慮的就是,我們可以賦予邊緣計算哪些能力?隨著思考和實踐的深入,這個答案無疑是令人興奮的。而其中最大的“興奮點”,就是“在邊緣計算上實現人工智能(AI)”,這會讓我們身邊的邊緣設備變得更“聰明”,能夠從數據中洞察出有價值的信息,真正讀懂用戶的“心思”,提供更完美的用戶體驗。
實現一個完整的AI應用需要兩個步驟:訓練(Training)和推理(Inference)。訓練是指將大量的數據代入神經網絡運算并反復迭代,最終訓練出一個人工智能模型,這個過程就像是我們通過已知知識的學習獲得一個技能或工具;而推理則是利用這個訓練出來的模型,對新的輸入數據進行處理并做出正確判斷,可以將此過程看做是學以致用,利用掌握的技能或工具去解決未知世界的新問題。
其中,模型訓練所需的計算量是巨大的。以百度的一個語音識別模型為例,一個訓練周期需要4TB的訓練數據,以及20 EFLOPS的計算能力,相當于每秒2x1019的數學運算,因此這個過程通常是在云端的數據中心完成的。而推理過程,是每次針對一個輸入項進行處理并做出決策,這個過程對計算資源的要求相對沒有那么高,完全可以放在網絡的邊緣端來完成,從而形成一個“訓練在云端、推理在邊緣”的計算架構。這樣一來,網絡邊緣產生的數據,經過邊緣端的推理,處理的結果直接輸出給用戶,這對于提升服務質量和用戶體驗大有好處。
如果你覺得上面的描述還有些抽象,那就試想一下自動駕駛的汽車對于路面交通狀況作出及時恰當的反應,或者是一個支持離線處理的本地化人臉/聲音識別系統帶給你的便利,這些被賦予了AI能力的新概念邊緣應用都將使我們的生活為之一變。
當然,實現這樣的能夠支持AI的邊緣計算,還是有一些技術挑戰需要去克服的,其中最為關鍵的有兩條:如何實現更強的邊緣計算能力,以及如何在資源受限的邊緣設備部署AI應用。
優化邊緣硬件的算力
更高的計算性能,可以說是云端數據中心追求的首要目標,而邊緣設備面臨的情況則截然不同。在邊緣節點工作的嵌入式設備,往往是用有限的計算資源完成特定的工作,會受到功耗、成本、外形等很多因素的制約。因此,要在邊緣設備中實現更高的計算性能,特別是要支持AI推理,就需要經過優化的硬件處理架構,以滿足邊緣端特定的要求。
在確定邊緣計算硬件處理架構時,FPGA是一個不錯的選擇。由于具有硬件可編程的特性,FPGA可以擺脫馮·諾依曼架構的束縛,無需指令就可完成工作,無論是實現數據并行,還是實現流水線并行處理,它都可以勝任。這種靈活性在適應不斷迭代的AI算法,提供最優加速性能方面,特別有價值。近些年發展起來的集成了Arm處理器的FPGA SoC,更是將處理器的軟件可編程性與FPGA的硬件可編程性完美整合,非常適合性能受限、功耗苛刻、實時性要求高的網絡邊緣端的AI推理計算。
當然,在應對邊緣計算方面,FPGA不是唯一選擇。通過在應用處理器中添加專門的神經網絡計算引擎,形成一個異構計算平臺,來應對AI應用中相關機器學習算法的要求,也是一條技術路徑。在針對特定應用方面,這樣的設計顯然更具有性能和功耗方面的優勢。
人們對邊緣計算架構的優化并沒有就此止步。基于MCU的邊緣設備數量巨大,能否在這些性能更“低”的通用MCU上實現AI,也是這些年芯片廠商競爭的一個新賽道。比如NXP Semiconductors(NXP)這兩年力推的i.MX RT跨界MCU,就是一個非常成功的嘗試。所謂“跨界”,是指i.MX RT采用了MCU的內核(Arm Cortex-M7),但基于MPU的架構,因此可以在實現比肩MPU的高性能和豐富功能同時,兼具傳統MCU的易用性、低功耗、低成本的特性,在傳統的MPU和MCU之間,讓開發者多了一種選擇。
NXP展示了一款基于i.MX RT106F的人臉識別解決方案,其在硬件上完全替代了傳統的“MPU+PMIC”的架構,無需昂貴的DDR,大大降低最終商用產品的成本,配合優化的軟件推理引擎,使這個方案極具性價比優勢。目前,NXP這個基于MCU的人臉識別方案已經被智能門鎖產品所采用,未來類似i.MX RT的這種通用MCU在邊緣計算上的“表演”,十分讓人期待。
不可或缺的軟件工具
優化的計算架構和芯片產品,讓邊緣計算獲得了可靠的硬件支撐,而要將AI應用快速高效地部署在這個硬件平臺上,還需要軟件工具來幫忙,這個軟件工具的作用,就是對AI模型進行優化,使其移植到特定的硬件推理引擎上,在資源受限的邊緣設備上完成部署。
我們以Xilinx推出的Vitis?AI開發環境為例,對此類軟件工具的概貌做個了解。Vitis AI由優化的IP、工具、庫、模型和示例設計組成,其目的就是在Xilinx硬件平臺上部署AI推理功能。
在Vitis AI的架構中,主要的模塊包括:
AI模型庫(Module Zoo)
提供一系列預先優化、可在Xilinx 器件上部署的模型,支持主流框架和最新的模型,完成深度學習任務。
AI優化器(AI Optimizer)
利用模型壓縮技術,在對精度影響極小的情況下,將模型的復雜性降低5至50倍,適應邊緣計算的要求。
AI量化器(AI Quantizer)
通過將32位浮點權值和激活量轉換為INT8這樣的定點,降低計算復雜度,減少內存帶寬占用,提高速度,減低功耗。
AI編譯器(AI Compiler)
將AI模型映射至高效指令集及數據流。
AI配置器(AI Profiler)
有助于程序員深入分析AI推斷實現方案的效率和利用率的性能分析器。
AI庫(AI Library)
提供一系列輕量級C++及Python API,其可實現便捷的應用開發。
從上述的介紹我們不難看出,Vitis AI這類邊緣計算軟件工具的核心作用就是:為開發者提供支持主流NN架構的可用模型;對模型進行壓縮和優化以適應邊緣計算的要求;提供完整的軟件工具和開發環境,支持模型在硬件平臺上的部署;集成相關更豐富的設計資源。
與Xilinx的Vitis AI有異曲同工之妙的,還有NXP推出的eIQ?機器學習軟件開發環境,它包括推理引擎、神經網絡編譯器和優化庫,支持在包括通用MCU、i.MX RT跨界MCU和i.MX應用處理器等NXP廣泛的硬件產品上部署機器學習模型。而且eIQ已經被集成到了NXP的MCUXpresso軟件開發套件和Yocto開發環境中,成為邊緣應用嵌入式開發工具鏈中不可或缺的一部分。
值得一提的是,NXP還特別推出了針對汽車領域應用的eIQ Auto工具包,專門用于NXP的S32V處理器和ADAS開發。eIQ Auto工具包的推理引擎包括一個后端,可自動選擇給定神經網絡模型的工作負載的最佳分區,涵蓋器件中的所有不同計算引擎。這種針對垂直領域的產品細分,也代表了邊緣計算軟件工具的一個發展趨勢。
物聯網的“草根”時代
總之,有了優化的硬件作為基石,再通過不斷完善的軟件工具讓強大的AI功能在邊緣應用上“落地”,由此打造出的邊緣設備將被賦予更多的可能性。這些以往遍布我們周圍,默默工作著的物聯網邊緣設備,其形態、作用和價值也將被重新定義。
如果說與云端高大上的數據中心相比,物聯網邊緣設備顯得有些“草根”,那么邊緣計算的興起無疑宣示著一個物聯網的“草根”時代的到來。
審核編輯:郭婷
-
互聯網
+關注
關注
54文章
11148瀏覽量
103240 -
物聯網
+關注
關注
2909文章
44567瀏覽量
372823
發布評論請先 登錄
相關推薦
評論