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