新的互聯(lián)網(wǎng)是物聯(lián)網(wǎng)(IoT),它完全是關(guān)于數(shù)據(jù)的 - 以在物聯(lián)網(wǎng)之前根本無法想象的規(guī)模生成和處理。現(xiàn)在,通過將AI應(yīng)用于這些數(shù)據(jù),我們可以顯著改善見解。人工智能現(xiàn)在可以識(shí)別倫敦水網(wǎng)的泄漏,因此工程師可以精確地更換管道。它可以衡量在高峰時(shí)段使用東京澀谷口口的人如何影響交通流量。它可以衡量紐約人對(duì)時(shí)代廣場(chǎng)新廣告的反應(yīng)。三個(gè)例子,三個(gè)行業(yè) - 公用事業(yè),物流和營(yíng)銷 - 都得到了人工智能的增強(qiáng)。
目前物聯(lián)網(wǎng)整理的數(shù)據(jù)量已經(jīng)很大,但它將變得更大、更有趣。2019年2月,Gartner表示,組織中人工智能的采用率逐年增加了兩倍。對(duì)于工程師和工程公司來說,設(shè)備網(wǎng)絡(luò)智能化的提高意味著我們可以開始實(shí)現(xiàn)物聯(lián)網(wǎng)的真正潛力。
人工智能在工業(yè)物聯(lián)網(wǎng)(IIoT)中最有用的地方
AI正迅速成為主流計(jì)算資源可以處理的任務(wù);我們已經(jīng)有了人工智能,以機(jī)器學(xué)習(xí)(ML)推理的形式,在哮喘吸入器等單傳感器設(shè)備上運(yùn)行。我們可以直接在智能手機(jī)上訪問AI驅(qū)動(dòng)的照片增強(qiáng)功能,然后在高級(jí)車輛中運(yùn)行計(jì)算機(jī)視覺應(yīng)用程序。所有這些都已經(jīng)在改善人們的生活,但我認(rèn)為我們將在工業(yè)應(yīng)用中看到最直接的商業(yè)價(jià)值。
在工業(yè)環(huán)境中,任何可以提高生產(chǎn)率的技術(shù)都是有價(jià)值的,并且操作數(shù)據(jù)通常用于提供對(duì)機(jī)器及其當(dāng)前狀況的見解。工業(yè)傳感器生成的數(shù)據(jù)包含模式,通過日益復(fù)雜的分析,可以幫助預(yù)測(cè)資產(chǎn)何時(shí)會(huì)發(fā)生故障,從而在故障對(duì)生產(chǎn)率產(chǎn)生更大的整體影響之前對(duì)其進(jìn)行修復(fù)。預(yù)測(cè)和預(yù)防性分析的這一分支以前已經(jīng)在大型服務(wù)器和“云”中進(jìn)行,但AI和ML的發(fā)展意味著它現(xiàn)在正在向網(wǎng)絡(luò)邊緣靠攏。事實(shí)上,它被直接放入構(gòu)成IIoT的機(jī)器中。
邊緣機(jī)器學(xué)習(xí)
ML處理走向邊緣的原因有很多。第一個(gè)是最簡(jiǎn)單的接受:邊緣是創(chuàng)建數(shù)據(jù)的地方。不過,還有其他更關(guān)鍵的原因;最值得注意的是,數(shù)據(jù)在移動(dòng)帶寬和處理指令周期方面都消耗資源。如果通過物聯(lián)網(wǎng)生成的所有數(shù)據(jù)都由服務(wù)器處理,它將涉及大量的網(wǎng)絡(luò)流量和服務(wù)器功率的指數(shù)級(jí)增長(zhǎng)。這正是谷歌等公司正在精簡(jiǎn)其一些算法的原因 - 因此它們可以獨(dú)立于云,在邊緣AI驅(qū)動(dòng)的設(shè)備上運(yùn)行。
正如在邊緣設(shè)備中嵌入 HTML 服務(wù)器現(xiàn)在已司空見慣一樣,在端點(diǎn)(如傳感器)中執(zhí)行 ML 也是可行的。但是,ML在邊緣的實(shí)現(xiàn)方式至關(guān)重要,它遵循分布式處理的概念。訓(xùn)練AI算法所需的處理資源相當(dāng)可觀,但它實(shí)際上是一種非經(jīng)常性費(fèi)用。執(zhí)行推理模型所需的資源更為有限,但在數(shù)量上可以消耗與訓(xùn)練階段一樣多(如果不是更多)的處理資源。它們的不同之處在于,與訓(xùn)練不同,每個(gè)推理實(shí)例都可以與所有其他實(shí)例隔離打包和執(zhí)行,這意味著它可以很容易地移植到較小的處理資源中,并根據(jù)需要多次復(fù)制。
這種分布式智能是新互聯(lián)網(wǎng)的形態(tài),如有必要,它可以再次孤立地運(yùn)行,同時(shí)仍然是整體的一部分。邊緣處理消除了在日益擁擠的網(wǎng)絡(luò)中傳遞數(shù)據(jù)的需要,并消耗了越來越寶貴的處理資源。
面向機(jī)器學(xué)習(xí)的架構(gòu)
訓(xùn)練完成后,AI 框架將提供部署路徑。對(duì)于部署在邊緣的資源受限設(shè)備,這包括張量流精簡(jiǎn)版和 Caffe2 等設(shè)備。這些和其他此類平臺(tái)通常是開源的,并且通常帶有“入門”介紹;已經(jīng)過訓(xùn)練以提供某種形式的推理的模型。這些模型還可以使用自定義數(shù)據(jù)集進(jìn)行重新訓(xùn)練,該過程稱為遷移學(xué)習(xí),可以節(jié)省數(shù)小時(shí)的處理時(shí)間。
為了在不同的處理架構(gòu)之間移植,模型通常通過解釋器運(yùn)行,并由主機(jī)軟件使用API訪問。由于模型經(jīng)過優(yōu)化,因此整個(gè)實(shí)現(xiàn)可以適應(yīng) 100 KB 的低內(nèi)存。
有許多例子說明ML如何在網(wǎng)絡(luò)邊緣,網(wǎng)絡(luò)邊緣或附近運(yùn)行,其中許多將運(yùn)行基于Linux的操作系統(tǒng)。這些基于 CPU 的 ML 解決方案使用本質(zhì)上是通用的微處理器,而不是臺(tái)式計(jì)算機(jī)中常見的耗電量大且通常面向 GPU 的大型設(shè)備。GPU具有高度并行的執(zhí)行模塊,并利用多個(gè)MAC單元,旨在盡可能快地執(zhí)行重復(fù)的,面向數(shù)學(xué)的操作,而很少考慮功耗。它們通常難以編程,需要高水平的功率,并且通常不適合資源受限的邊緣設(shè)備。
TensorFlow Lite設(shè)計(jì)用于在較小的處理器上運(yùn)行一些TensorFlow模型,并提供預(yù)訓(xùn)練的模型,可以提供各種類型的ML,包括圖像分類,對(duì)象檢測(cè)和分割。這三種類型的模型的工作方式略有不同:圖像分類適用于整個(gè)圖像,而對(duì)象檢測(cè)將圖像分解為矩形,但分割進(jìn)一步查看每個(gè)單獨(dú)的像素。要在 TensorFlow 精簡(jiǎn)版部署中使用經(jīng)過訓(xùn)練的張量流模型,需要轉(zhuǎn)換這些模型,這可以通過可選的優(yōu)化來減小文件大小。該轉(zhuǎn)換器可用作 Python 的 API,下面的代碼示例演示了如何使用它。
導(dǎo)入張量流作為 tf
轉(zhuǎn)換器 = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
tflite_model = converter.convert()
打開(“converted_model.tflite”,“wb”)。寫入(tflite_model)
在標(biāo)準(zhǔn)處理器上運(yùn)行ML意味著開發(fā)人員還可以利用基于行業(yè)標(biāo)準(zhǔn)語言(如Python)的簡(jiǎn)單軟件解決方案。在某些情況下,這些處理器可能具有DSP擴(kuò)展,這些擴(kuò)展可用于加速部分?jǐn)?shù)據(jù)流,但本質(zhì)上通用處理器可以處理在較小設(shè)備中運(yùn)行ML所需的處理級(jí)別,同時(shí)仍然處理通用應(yīng)用程序代碼。
CPU主導(dǎo)的AI已經(jīng)普遍用于智能手機(jī),例如用于識(shí)別照片中的特定特征。在工業(yè)應(yīng)用中也是如此,基于多核處理器(如恩智浦 i.MX 系列)的片上系統(tǒng)(SoC)解決方案通常用于將ML投入工業(yè)過程。這包括機(jī)器視覺系統(tǒng),該系統(tǒng)可以在制造過程中識(shí)別特定產(chǎn)品。這些 SoC 和其他類似 SoC 是當(dāng)今如何部署 ML 的完美示例。
超越地平線
雖然CPU或MCU主導(dǎo)的AI現(xiàn)在已經(jīng)司空見慣,但我們已經(jīng)期待設(shè)備網(wǎng)絡(luò)最遠(yuǎn)的邊緣,其中尺寸,功耗和成本要求受到超高限制。這就是最新版本的TensorFlow的用武之地:張量流精簡(jiǎn)版微軟,或稱為TF精簡(jiǎn)微,是框架的一個(gè)版本,它被設(shè)計(jì)為在可能沒有操作系統(tǒng)的微控制器上運(yùn)行,而不是運(yùn)行Linux的微處理器。代碼和模型加在一起只需要45KB的閃存,只需要30KB的RAM即可運(yùn)行。這是在最遠(yuǎn)的邊緣的推斷,在設(shè)備中完全自主運(yùn)行,無需任何其他軟件的幫助,或者同樣重要的是,沒有其他硬件的幫助。
使用 TF 精簡(jiǎn)版的過程類似于使用張量流精簡(jiǎn)版,但附加步驟是編寫深度嵌入的代碼來運(yùn)行推理。除了在代碼中包含相關(guān)的.h文件外,主要步驟還包括:添加代碼以允許模型寫入日志;實(shí)例化模型;為輸入分配內(nèi)存;輸出和中間數(shù)組;實(shí)例化解釋器;驗(yàn)證輸入形狀,實(shí)際運(yùn)行模型并獲取輸出。下面的代碼片段是如何獲取輸出的示例。
TfLiteTensor* output = interpreter.output(0);
uint8_t top_category_score = 0;
int top_category_index;
for (int category_index = 0; category_index 《 kCategoryCount;
++category_index) {
const uint8_t category_score = output-》data.uint8[category_index];
if (category_score 》 top_category_score) {
top_category_score = category_score;
top_category_index = category_index;
}
}
為了在微控制器上支持 ML,Arm 開發(fā)了 CMSIS-NN 軟件庫,這是處理神經(jīng)網(wǎng)絡(luò)的 Cortex 微控制器軟件接口標(biāo)準(zhǔn) (CMSIS) 的一部分。通過量化,將浮點(diǎn)數(shù)減少到整數(shù)(這一過程已被證明很少或沒有精度損失),CMSIS-NN幫助開發(fā)人員將模型映射到微控制器的有限資源。
超高效的 ML 框架(如 TF 精簡(jiǎn)版微處理器)以及 CMSIS-NN 使得使用在超低功耗微控制器上運(yùn)行的 ML 成為可能。這顯然有許多可能的應(yīng)用,但一個(gè)非常適用于始終在線系統(tǒng)的場(chǎng)景是,系統(tǒng)的大部分保持深度睡眠模式,直到特定條件使其栩栩如生,例如喚醒詞。我們可以將其視為一種新型的中斷服務(wù)例程,它使用智能來決定芯片/系統(tǒng)的其余部分何時(shí)需要參與。這清楚地表明了超低功耗ML功能在邊緣產(chǎn)生巨大影響的潛力。
展望未來,專注于邊緣推理需求的技術(shù)開發(fā)將使高度響應(yīng)和功能強(qiáng)大的ML模型能夠在更低的功率水平下運(yùn)行。例如,Arm 為 Armv8-M 架構(gòu)開發(fā)了新的矢量擴(kuò)展,稱為氦。這是 Arm Cortex-M 處理器的最新發(fā)展,當(dāng) Armv8-M 架構(gòu)于 2015 年推出時(shí),它獲得了 Arm TrustZone 在安全性方面的優(yōu)勢(shì)。氦矢量擴(kuò)展的開發(fā)將把類似NEON的處理能力與信任區(qū)的安全性結(jié)合起來。氦矢量擴(kuò)展還將為Cortex-M級(jí)微控制器提供顯著的性能提升,這將有助于實(shí)現(xiàn)許多新應(yīng)用,在邊緣具有更靈敏,更準(zhǔn)確的ML。氦氣將使Cortex-M設(shè)備的ML提高多達(dá)15倍,信號(hào)處理將提高多達(dá)5倍。
圖 4:氦氣將加速信號(hào)處理和機(jī)器學(xué)習(xí)算法。
對(duì)于開發(fā)人員來說同樣重要的是,這意味著他們將可以在用于其他基于微控制器的開發(fā)中使用的相同工具鏈中訪問ML。集成功能,如識(shí)別異常振動(dòng)、意外噪音或警報(bào)圖像,將隱含在控制代碼中,從而簡(jiǎn)化將ML置于邊緣的整個(gè)過程。
機(jī)器學(xué)習(xí)遠(yuǎn)非“為了技術(shù)而技術(shù)”,由于對(duì)響應(yīng)更快,更強(qiáng)大的控制系統(tǒng)的需求正在增加,這些系統(tǒng)不依賴于云服務(wù),并且與物聯(lián)網(wǎng)保持始終在線的連接。
如果物聯(lián)網(wǎng)要擴(kuò)展到我們現(xiàn)在意識(shí)到的數(shù)萬億臺(tái)設(shè)備來滿足不斷增長(zhǎng)的期望,那么在邊緣使用推理來限制在日益擁擠的網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量將是必不可少的。
審核編輯:郭婷
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44635瀏覽量
373379 -
人工智能
+關(guān)注
關(guān)注
1791文章
47279瀏覽量
238509 -
IOT
+關(guān)注
關(guān)注
187文章
4210瀏覽量
196804
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論