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