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