通常,簡單的嵌入式邊緣設(shè)備通過應(yīng)用環(huán)境中的傳感器采集數(shù)據(jù),并將數(shù)據(jù)傳輸?shù)皆贫耍稍苹A(chǔ)設(shè)施中的人工智能系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行分析和推理。但隨著物聯(lián)網(wǎng)實(shí)施過程中對(duì)實(shí)時(shí)決策的需求不斷增長,對(duì)連接和數(shù)據(jù)處理的需求也在增加,而且不可能總是將所有的數(shù)據(jù)都傳輸?shù)皆贫诉M(jìn)行人工智能處理。此文旨在探討在邊緣部署人工智能如何能夠提高物聯(lián)網(wǎng)的運(yùn)作和實(shí)施效率并降低成本。
探索物聯(lián)網(wǎng)解決方案中的人工智能,解鎖無限潛能
人工智能技術(shù)包括機(jī)器學(xué)習(xí)、預(yù)測分析和神經(jīng)網(wǎng)絡(luò)等多種技術(shù)。采集自邊緣設(shè)備的數(shù)據(jù)會(huì)被標(biāo)記,然后由數(shù)據(jù)工程師準(zhǔn)備好管道將其輸入數(shù)據(jù)模型。這些工程師擁有圍繞大數(shù)據(jù)創(chuàng)建軟件解決方案的專業(yè)技能。擅長數(shù)學(xué)、統(tǒng)計(jì)學(xué)以及C和C++等編程語言的數(shù)據(jù)科學(xué)家利用針對(duì)各種已知應(yīng)用程序進(jìn)行了微調(diào)的機(jī)器學(xué)習(xí)算法創(chuàng)建人工智能模型。這些模型最終以神經(jīng)網(wǎng)絡(luò)、決策樹或推理規(guī)則集等不同的形式呈現(xiàn)。
機(jī)器學(xué)習(xí)分為監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)兩種。無監(jiān)督學(xué)習(xí)(只提供輸入變量,沒有相應(yīng)的輸出變量)可以幫助開發(fā)者更透徹地解讀數(shù)據(jù),而監(jiān)督學(xué)習(xí)則是大多數(shù)實(shí)用機(jī)器學(xué)習(xí)的基礎(chǔ)。在監(jiān)督機(jī)器學(xué)習(xí)的訓(xùn)練階段,需要挖掘大量的數(shù)據(jù)流,以通過多重計(jì)算提取有用的模式或推論,從而做出預(yù)測。
在人工智能的應(yīng)用階段,可以通過Tensorflow等標(biāo)準(zhǔn)框架,將自邊緣設(shè)備采集的數(shù)據(jù)輸入從可用數(shù)據(jù)模型中選出的模型。建模過程需要相當(dāng)強(qiáng)大的數(shù)據(jù)處理能力,通常云站點(diǎn)和大型數(shù)據(jù)中心等核心節(jié)點(diǎn)位置才具備這樣的處理能力。
在部署階段,一切開始變得有趣。比如,邊緣設(shè)備可以從共享資源庫訪問與所選模型相關(guān)的軟件包,而不必過多依賴于云。在健康監(jiān)測等領(lǐng)域,邊緣計(jì)算可以讓需要針對(duì)用戶進(jìn)行無監(jiān)督機(jī)器學(xué)習(xí)的可穿戴設(shè)備獲益頗多。此外,在未經(jīng)事先學(xué)習(xí)的情況下,定制的應(yīng)用程序若要實(shí)現(xiàn)迅速推理,通常需要極高的數(shù)據(jù)處理能力作為支撐,而這正是邊緣人工智能的專長所在。
在大多數(shù)情況下,由于受技術(shù)或能耗的限制,數(shù)據(jù)不可能全都傳輸?shù)饺斯ぶ悄芩诘脑?。例如語音或視頻識(shí)別等應(yīng)用,需要立即對(duì)內(nèi)容進(jìn)行辨識(shí)并做出推論,而且不能出現(xiàn)通信延遲。在有些情況下,部署無法提供穩(wěn)定的連接,因此需要一種可擴(kuò)展的混合架構(gòu),將所需的模型構(gòu)建在云上但推理任務(wù)在邊緣執(zhí)行。這種方式只需將少量數(shù)據(jù)傳輸?shù)胶诵墓?jié)點(diǎn)位置,從而能夠優(yōu)化帶寬效率并降低延時(shí)、提高響應(yīng)速度。
如何部署邊緣人工智能
典型的邊緣人工智能模型的基本組成部分包括:用于捕捉傳感器數(shù)據(jù)的硬件和軟件,不同應(yīng)用場景下的訓(xùn)練模型所使用的軟件,以及在物聯(lián)網(wǎng)設(shè)備上運(yùn)行人工智能模型的應(yīng)用軟件。在邊緣設(shè)備上運(yùn)行的微服務(wù)軟件負(fù)責(zé)根據(jù)用戶的要求啟動(dòng)邊緣設(shè)備上的人工智能程序包。在邊緣設(shè)備內(nèi),用到的是在訓(xùn)練階段確定的特征選擇和特征變換。這些模型可以定制為合適的功能組合,這些功能組合可以擴(kuò)展為包含聚合和工程特性。
智能邊緣設(shè)備部署在帶寬窄且網(wǎng)絡(luò)連接斷斷續(xù)續(xù)的電池供電應(yīng)用中。因而邊緣設(shè)備制造商正在構(gòu)建這樣的傳感器,它們具有集成處理和存儲(chǔ)功能,采用BLE、Lora和NB-IoT等被廣泛使用的低速通信協(xié)議,占用空間小且功耗低。
讓物聯(lián)網(wǎng)富有智慧,邊緣人工智能優(yōu)勢凸顯
雖然此類設(shè)計(jì)的復(fù)雜性可能會(huì)使邊緣設(shè)備變得昂貴,但它所帶來的裨益遠(yuǎn)遠(yuǎn)超出了相關(guān)成本。
除了實(shí)時(shí)快速響應(yīng)之外,邊緣人工智能還具有諸多的顯著優(yōu)勢,比如邊緣設(shè)備本身更高的安全性以及在網(wǎng)絡(luò)間往返傳輸?shù)臄?shù)據(jù)較少等。由于每個(gè)應(yīng)用程序都構(gòu)建了定制的解決方案,因而邊緣人工智能非常靈活。邊緣設(shè)備當(dāng)中預(yù)置了推斷功能,因此對(duì)操作和維護(hù)技能的要求比較低。
在邊緣計(jì)算中,開發(fā)人員還可以將一些復(fù)雜的操作轉(zhuǎn)移到由本地網(wǎng)絡(luò)中的邊緣處理器(如路由器、網(wǎng)關(guān)和服務(wù)器)執(zhí)行,從而將計(jì)算分布到整個(gè)網(wǎng)絡(luò)當(dāng)中。由于數(shù)據(jù)在本地存儲(chǔ)以及智能也在本地引入,這些邊緣處理器具有良好的操作可靠性,這有助于在連接時(shí)斷時(shí)續(xù)或沒有網(wǎng)絡(luò)連接的區(qū)域進(jìn)行部署。
一般而言,通過構(gòu)建機(jī)器學(xué)習(xí)模型來解決挑戰(zhàn)是十分復(fù)雜的事情。開發(fā)者必須管理海量的模型訓(xùn)練數(shù)據(jù),選擇可以實(shí)施的最佳算法并管理訓(xùn)練模型的云服務(wù)等。然后,應(yīng)用程序開發(fā)者使用Python等編程語言將模型部署到生產(chǎn)環(huán)境當(dāng)中。智能邊緣設(shè)備制造商將會(huì)發(fā)現(xiàn),投入資源從零開始在邊緣實(shí)施人工智能異常艱難。
但是,安富利的SmartEdge Agile等設(shè)備為智能邊緣設(shè)備制造商們帶來了福音。SmartEdge Agile物聯(lián)網(wǎng)設(shè)備搭載了各種類型的傳感器,并且內(nèi)置人工智能軟件棧。通過Brainium和微軟的Azure Sphere等相關(guān)開發(fā)平臺(tái)和軟件工作室,用戶能夠利用現(xiàn)成的人工智能算法數(shù)據(jù)庫實(shí)現(xiàn)監(jiān)督和無監(jiān)督機(jī)器學(xué)習(xí),且無需編寫任何代碼就能將模型部署到設(shè)備。他們還可以創(chuàng)建多種小程序來實(shí)時(shí)查看傳感器給出的數(shù)值,并對(duì)這些數(shù)據(jù)進(jìn)行保存以備將來使用。
的確,人工智能會(huì)讓本已十分復(fù)雜的物聯(lián)網(wǎng)空間變得更加復(fù)雜,而邊緣人工智能更是讓物聯(lián)網(wǎng)的復(fù)雜度翻倍。但是借助合適的平臺(tái)和合作伙伴的支持,開發(fā)者便可以駕馭這一復(fù)雜性,并實(shí)現(xiàn)遠(yuǎn)遠(yuǎn)超越語音識(shí)別和指紋識(shí)別的創(chuàng)新。