使用高級(jí) MCU 實(shí)現(xiàn)加速機(jī)器學(xué)習(xí)應(yīng)用
從歷史上看,人工智能 (AI) 是一種 GPU / CPU 甚至 DSP 依賴(lài)的技術(shù)。然而,最近人工智能正在通過(guò)集成到運(yùn)行在較小微控制器(也稱(chēng)為 MCU)上的受限應(yīng)用程序中來(lái)進(jìn)入數(shù)據(jù)采集系統(tǒng)。這一趨勢(shì)主要由物聯(lián)網(wǎng) (IoT) 市場(chǎng)推動(dòng),Silicon Labs 是其中的主要參與者。
為了應(yīng)對(duì)這一新的物聯(lián)網(wǎng)趨勢(shì),Silicon Labs 宣布推出一款可以執(zhí)行硬件加速 AI 操作的無(wú)線 MCU。為了實(shí)現(xiàn)這一點(diǎn),該 MCU 設(shè)計(jì)為嵌入矩陣矢量處理器 (MVP),即 EFR32xG24。
在本文中,我將首先介紹一些 AI 基礎(chǔ)知識(shí),重點(diǎn)介紹 MVP 的用例。最重要的是,如何使用 EFR32xG24 設(shè)計(jì) AI IoT 應(yīng)用程序。
人工智能、機(jī)器學(xué)習(xí)和邊緣計(jì)算
人工智能是一個(gè)試圖模仿人類(lèi)行為的系統(tǒng)。更具體地說(shuō),它是一種電氣和/或機(jī)械實(shí)體,可以模擬對(duì)輸入的響應(yīng),類(lèi)似于人類(lèi)會(huì)做的事情。盡管術(shù)語(yǔ) AI 和機(jī)器學(xué)習(xí) (ML) 經(jīng)?;Q使用,但它們代表了兩種不同的方法。AI 是一個(gè)更廣泛的概念,而 ML 是 AI 的一個(gè)子集。
使用機(jī)器學(xué)習(xí),系統(tǒng)可以在重復(fù)使用所謂的模型后做出預(yù)測(cè)并改進(jìn)(或訓(xùn)練)自身。模型是使用經(jīng)過(guò)訓(xùn)練的算法,最終將用于模擬決策。可以通過(guò)收集數(shù)據(jù)或使用現(xiàn)有數(shù)據(jù)集來(lái)訓(xùn)練該模型。當(dāng)該系統(tǒng)將其“訓(xùn)練過(guò)的”模型應(yīng)用于新獲取的數(shù)據(jù)以做出決策時(shí),我們將其稱(chēng)為機(jī)器學(xué)習(xí)推理。
如前所述,推理需要通常由高端計(jì)算機(jī)處理的計(jì)算能力。但是,我們現(xiàn)在能夠在不需要連接到此類(lèi)高端計(jì)算機(jī)的更多受限設(shè)備上運(yùn)行推理;這稱(chēng)為邊緣計(jì)算。
通過(guò)在 MCU 上運(yùn)行推理,可以考慮執(zhí)行邊緣計(jì)算。邊緣計(jì)算涉及在距離獲取數(shù)據(jù)的最近點(diǎn)運(yùn)行數(shù)據(jù)處理算法。邊緣設(shè)備的示例通常是簡(jiǎn)單且受限的設(shè)備,例如傳感器或基本執(zhí)行器(燈泡、恒溫器、門(mén)傳感器、電表等)。這些設(shè)備通常在低功耗 ARM Cortex-M 類(lèi) MCU 上運(yùn)行:
執(zhí)行邊緣計(jì)算有很多好處??梢哉f(shuō),最有價(jià)值的好處是使用邊緣計(jì)算的系統(tǒng)不依賴(lài)于外部實(shí)體。設(shè)備可以在本地“做出自己的決定”。
在本地進(jìn)行決策具有以下實(shí)際好處:
·?提供更低的延遲
原始數(shù)據(jù)不需要傳輸?shù)皆贫诉M(jìn)行處理,這意味著決策可以實(shí)時(shí)出現(xiàn)在設(shè)備上。
·?減少所需的互聯(lián)網(wǎng)帶寬
傳感器會(huì)產(chǎn)生大量實(shí)時(shí)數(shù)據(jù),這反過(guò)來(lái)又會(huì)產(chǎn)生對(duì)帶寬的大量需求,即使沒(méi)有什么可“報(bào)告”,從而使無(wú)線頻譜飽和并增加運(yùn)行成本。
·?降低功耗
與傳輸數(shù)據(jù)相比,本地分析數(shù)據(jù)(使用 AI)所需的功率要少得多
·?符合隱私和安全要求
通過(guò)在本地做出決策,無(wú)需將詳細(xì)的原始數(shù)據(jù)發(fā)送到云端,只需將推理結(jié)果和元數(shù)據(jù)發(fā)送到云端,因此消除了數(shù)據(jù)隱私泄露的可能性。
·?降低成本
在本地分析傳感器數(shù)據(jù)可以節(jié)省使用云基礎(chǔ)設(shè)施和流量的費(fèi)用。
·?提高彈性
如果與云的連接中斷,邊緣節(jié)點(diǎn)仍可以自主運(yùn)行。
Silicon Labs 用于邊緣計(jì)算的 EFR32xG24
EFR32xG24 是一款安全無(wú)線 MCU,支持多種 2.4 GHz IoT 協(xié)議(藍(lán)牙低功耗、Matter、Zigbee 和 OpenThread 協(xié)議)。它還包括 Secure Vault,這是一種改進(jìn)的安全功能集,適用于所有 Silicon Labs Series 2 平臺(tái)。
但是,除了改進(jìn)了該 MCU 獨(dú)有的安全性和連接性之外,還有一個(gè)用于機(jī)器學(xué)習(xí)模型推理的硬件加速器(以及其他加速器),稱(chēng)為矩陣矢量處理器 (MVP)。
與沒(méi)有硬件加速的 ARM Cortex-M 相比,MVP 提供了更高效地運(yùn)行機(jī)器學(xué)習(xí)推理的能力,功耗降低了 6 倍,速度提高了 2-4 倍(實(shí)際改進(jìn)取決于模型和應(yīng)用程序)。
MVP 旨在通過(guò)處理密集的浮點(diǎn)運(yùn)算來(lái)卸載 CPU。它專(zhuān)為復(fù)雜的矩陣浮點(diǎn)乘法和加法而設(shè)計(jì)。
MVP 由專(zhuān)用硬件算術(shù)邏輯單元 (ALU)、加載/存儲(chǔ)單元 (LSU) 和定序器組成。
因此,MVP 有助于加速各種應(yīng)用程序的處理并節(jié)省功耗,例如到達(dá)角 (AoA)、MUSIC 算法計(jì)算、機(jī)器學(xué)習(xí)(本征或基本線性代數(shù)子程序 BLAS)等。
由于該設(shè)備是一個(gè)簡(jiǎn)單的 MCU,它無(wú)法解決 AI/ML 可以涵蓋的所有用例。它旨在解決下面列出的以下四個(gè)類(lèi)別以及實(shí)際應(yīng)用:
·?傳感器信號(hào)處理
·?預(yù)測(cè)性維護(hù)
·?生物信號(hào)分析
·?冷鏈監(jiān)控
·?加速度計(jì)用例
·?音頻模式匹配
·?玻璃破碎檢測(cè)
·?鏡頭檢測(cè)
·?語(yǔ)音命令
·?智能家電的文字命令集
·?喚醒詞檢測(cè)
·?低分辨率視覺(jué)
·?存在檢測(cè)
·?數(shù)數(shù)
·?指紋
為了幫助解決這些問(wèn)題,Silicon Labs 提供了基于稱(chēng)為 TensorFlow 的 AI/ML 框架的專(zhuān)用示例應(yīng)用程序。
TensorFlow 是來(lái)自 Google 的用于機(jī)器學(xué)習(xí)的端到端開(kāi)源平臺(tái)。它擁有一個(gè)由工具、庫(kù)和社區(qū)資源組成的全面、靈活的生態(tài)系統(tǒng),讓研究人員能夠推動(dòng) ML 的最新技術(shù),開(kāi)發(fā)人員可以輕松構(gòu)建和部署 ML 驅(qū)動(dòng)的應(yīng)用程序。
Tensor Flow 項(xiàng)目還針對(duì)嵌入式硬件變體進(jìn)行了優(yōu)化,稱(chēng)為 TensorFlow Lite for Microcontrollers (TFLM)。這是一個(gè)開(kāi)源項(xiàng)目,其中大部分代碼由社區(qū)工程師貢獻(xiàn),包括 Silicon Labs 和其他芯片供應(yīng)商。目前,這是與 Silicon Labs Gecko SDK 軟件套件一起交付的用于創(chuàng)建 AI/ML 應(yīng)用程序的唯一框架。
Silicon Labs 提供的 AI/ML 示例有:
·?Zigbee 3.0 帶語(yǔ)音激活的電燈開(kāi)關(guān)
·?張量流魔棒
·?聲控 LED
·?張量流 Hello world
·?張量流微演講
要開(kāi)始開(kāi)發(fā)基于其中任何一個(gè)的應(yīng)用程序,您可以有很少的經(jīng)驗(yàn),或者您可以成為專(zhuān)家。Silicon Labs 提供多種機(jī)器學(xué)習(xí)開(kāi)發(fā)工具供您選擇,具體取決于您的機(jī)器學(xué)習(xí)專(zhuān)業(yè)水平。
對(duì)于第一次 ML 開(kāi)發(fā)人員,您可以從我們的一個(gè)示例開(kāi)始,或者嘗試我們的第 3 方合作伙伴之一。我們的第 3 方 ML 合作伙伴通過(guò)功能豐富且易于使用的 GUI 界面支持完整的端到端工作流程,以便為我們的芯片構(gòu)建最佳機(jī)器學(xué)習(xí)模型。
對(duì)于希望直接使用 Keras/TensorFlow 平臺(tái)的 ML 專(zhuān)家,Silicon Labs 提供了一個(gè)自助式、自助式的參考包,該包將模型開(kāi)發(fā)工作流程組織成一個(gè)專(zhuān)為為 Silicon Labs 芯片構(gòu)建 ML 模型而定制的工作流程。