【導讀】人工智能(AI)和機器學習(ML)技術不僅正在快速發展,還逐漸被創新性地應用于低功耗的微控制器(MCU)中,從而實現邊緣AI/ML解決方案。這些MCU是許多嵌入式系統不可或缺的一部分,憑借其成本效益、高能效以及可靠的性能,現在能夠支持AI/ML應用。這種集成化在可穿戴電子產品、智能家居設備和工業自動化等應用領域中,從AI/ML功能中獲得的效益尤為顯著。具備AI優化功能的MCU和TinyML的興起(專注于在小型、低功耗設備上運行ML模型),體現了這一領域的進步。TinyML對于直接在設備上實現智能決策、促進實時處理和減少延遲至關重要,特別是在連接有限或無連接的環境中。
人工智能(AI)和機器學習(ML)技術不僅正在快速發展,還逐漸被創新性地應用于低功耗的微控制器(MCU)中,從而實現邊緣AI/ML解決方案。這些MCU是許多嵌入式系統不可或缺的一部分,憑借其成本效益、高能效以及可靠的性能,現在能夠支持AI/ML應用。這種集成化在可穿戴電子產品、智能家居設備和工業自動化等應用領域中,從AI/ML功能中獲得的效益尤為顯著。具備AI優化功能的MCU和TinyML的興起(專注于在小型、低功耗設備上運行ML模型),體現了這一領域的進步。TinyML對于直接在設備上實現智能決策、促進實時處理和減少延遲至關重要,特別是在連接有限或無連接的環境中。
TinyML是指在小型、低功耗設備上應用機器學習模型,尤其是在微控制器(MCU)平臺上,這些MCU經過優化,可以在設備有限的資源體系內運行。這使得邊緣設備能夠實現智能決策,支持實時處理并減少延遲。量化(Quantization)和剪枝(Pruning)等技術用于減小模型大小并提高推理速度。量化通過降低模型權重的精度,顯著減少內存使用而幾乎不影響準確性;剪枝則通過去除不太重要的神經元,進一步減小模型規模并提升延遲性能。這些方法對于在資源有限的設備上部署ML模型至關重要。
PyTorch和TensorFlow Lite都是實現機器學習模型的主流框架。PyTorch是一個開源機器學習庫,被廣泛用于人工智能應用的開發,包括可以部署在微控制器上的應用程序。PyTorch提供了用于機器學習的工具和庫,包括計算機視覺和自然語言處理,可用于低功耗和小尺寸設備。
TensorFlow Lite for Microcontroller(TFLM)能夠在非常受限的MCU類設備上運行具有Flatbuffer轉換功能的TF Lite模型。這減少了模型的大小,并優化了它在MCU上的推理。
另一個重要的工具是來自ARM的CMSIS-NN庫,它為Cortex-M處理器提供了優化的神經網絡內核來運行TFLM模型。CMSIS-NN庫提高了性能并減少了內存占用,使其更容易在基于ARM的MCU上運行ML模型。
此外,一些MCU還配備了專用的AI/ML硬件加速器,如Silicon Labs(芯科科技)的EFM32無線SoC和MCU,可以顯著提高ML模型的性能,使更復雜的應用程序能夠在這些設備上更快、更高效地運行。人工智能加速器擅長并行化任務,如矩陣乘法、卷積和圖形處理。通過利用多樣化的并行性,它們可以一次執行大量的計算。這使得人工智能工作負載的速度大大提高,同時保持低功耗。這些加速器還增強了內存訪問模式,減少了數據傳輸開銷,主CPU—CortexM可以進入低功耗睡眠模式,以節省更多的能量或管理額外的任務。通過使數據更接近計算單元,它們減少了等待時間。其結果是增強了性能、降低了功耗和延遲。
實際應用
TinyML的實際應用是多種多樣且有影響力的。一個值得注意的示例是音頻和視覺喚醒詞,當說出特定的關鍵字或在圖像中檢測到某人時,設備會觸發動作。這項技術被用于智能揚聲器和安全攝像頭,支持它們在識別到喚醒詞或檢測運動時激活。另一種應用是工業環境中的預測性維護。工廠設備上的傳感器持續監測振動和溫度等參數,可使用TinyML模型檢測來異常并在故障發生之前預測維護需求,這有助于減少停機時間和維護成本。
手勢和活動識別是TinyML的另一種令人興奮的應用。配備加速度計和陀螺儀的可穿戴設備可以監測身體活動,如走路、跑步或特定手勢。這些設備使用TinyML模型實時分析傳感器數據,為健身追蹤或醫療診斷提供有價值的見解。在農業領域,TinyML被用于環境監測。智能農業系統分析土壤濕度和天氣條件,以優化灌溉,提高作物產量和資源效率。
TinyML還增強了健康監測功能。諸如連續血糖監測儀(CGM)這樣需要長時間電池壽命和實時數據處理的設備,都能夠極大地受益于這項技術。此外,智能床傳感器可以在沒有直接接觸的情況下評估病人的呼吸模式,為遠程觀察提供不間斷的健康數據。這一創新在管理老年人護理和慢性疾病方面特別有價值,因為持續監測有助于及早發現潛在的健康問題。
啟動開發
要開始構建自己的TinyML應用,您需要了解TinyML的基礎知識并選擇合適的硬件。根據您的應用,您可能需要傳感器來收集數據,例如加速度計、麥克風或攝像頭。設置開發環境包括安裝Simplicity Studio集成開發環境(IDE)、SDK和TinyML所需的資源庫。
下一步是收集和準備與應用相關的數據。例如,如果您正在構建一個手勢識別系統,您需要收集不同手勢的加速度計數據。收集數據后,您需要對其進行預處理,使其適合訓練您的模型。訓練模型需要在功能強大的機器上使用高級框架,如TensorFlow或PyTorch。一旦訓練完畢,模型需要使用量化和剪枝等技術進行優化。
在完成優化后,即可將模型轉換為適合MCU的格式,如TensorFlow Lite格式。最后一步是將優化后的模型部署到MCU,將其與應用程序代碼集成,并對其進行全面測試,以確保其滿足性能和精度要求。基于實際性能的不斷迭代和改進對于完善TinyML應用至關重要。
利用芯科科技的解決方案在微控制器上實現人工智能和機器學習
芯科科技提供了一系列解決方案,有助于在MCU上實現AI/ML。EFR32/EFM32(xG24、xG26、xG28)和SiWx917系列微控制器由于其低功耗和強大的性能而非常適合TinyML應用。以下是在芯科科技MCU上實現AI/ML的詳細技術指南:
數據采集與預處理
數據采集:使用連接到MCU的傳感器采集原始數據,例如加速度計、陀螺儀和溫度傳感器等傳感器都可用于各種應用。
預處理:對數據進行清理和預處理,使其適合訓練。這可能包括過濾噪聲、對數值進行歸一化處理以及將數據分割到窗口中。為此,芯科科技提供了數據采集和預處理工具。
數據采集工具則由合作伙伴SensiML提供:https://github.com/sensiml/sensiml_xG24_dual_audio_imu_capture
模型訓練
模型選擇:根據應用選擇合適的ML模型。常用的模型包括決策樹(decision tree)和支持向量機(vector machine)。
訓練:在高性能云服務器或帶有GPU的本地PC上使用TensorFlow訓練模型。這包括將預處理數據輸入模型并調整參數以最小化誤差。
模型轉換:使用TensorFlow Lite轉換器將訓練模型轉換為與TF Lite Micro兼容的格式。TensorFlow Lite for Microcontrollers (TFLM)中的FlatBuffer轉換包括將TensorFlow Lite模型轉換為FlatBuffer格式,這是一種緊湊的二進制格式,可以高效地存儲和快速地訪問。這個過程對于在內存和處理能力有限的微控制器上運行機器學習模型至關重要。FlatBuffers支持直接訪問模型而無需解壓。一旦采用FlatBuffer格式,該模型可以由微控制器執行,使其能夠執行推理任務。這種轉換減小了模型大小,使其適用于內存非常有限的設備,并且可以快速訪問和執行模型,而無需進行大量解析。此外,它還確保該模型可以在運行速率低于1GHz、代碼空間有限(通常低于3MB)、SRAM有限(約256KB)的MCU上被無縫集成和執行。
模型部署
與Simplicity SDK集成:使用芯科科技的Simplicity SDK將TF Lite Micro與MCU集成。
閃存模型(Flashing the Model):將轉換后的模型移植到MCU的Flash上。這可以使用Simplicity Studio完成,它為芯科科技MCU的編程提供了一個用戶友好的界面。
推理和優化:應用量化和剪枝等優化技術,以減小模型大小并提高性能。
運行推理:一旦模型部署完成,它可以在MCU上運行推理。這包括向模型中輸入新數據并獲得預測結果。
軟件工具鏈:新的軟件工具包旨在支持開發人員使用一些最流行的工具套件(如TinyML和TensorFlow)快速構建和部署人工智能和機器學習算法。AI/ML軟件幫助設計人員創建新的應用程序。除了原生支持TensorFlow來為高效推理提供優化內核之外,芯科科技還與一些領先的AI/ML工具提供商(如SensiML和Edge Impulse)合作,以確保開發人員擁有端到端的工具鏈來簡化機器學習模型的開發,這些模型針對無線應用的嵌入式部署進行了優化。通過將這一全新的AI/ML工具鏈與芯科科技的Simplicity Studio開發平臺以及xG24、xG28和xG26系列SoC結合使用,開發人員可以創建能夠從各種互聯設備獲取信息的應用,這些設備都可以相互通信,從而做出智能的、由機器學習驅動的決策。
芯科科技提供各種工具和資源來支持ML應用。以下是其中一些例子:
機器學習應用:芯科科技提供集成化的硬件、軟件和開發工具,幫助客戶快速創建適用于工業和商業應用場景的、安全的智能設備。開發平臺支持嵌入式機器學習(TinyML)模型推理,由Tensorflow Lite for Microcontrollers(TFLM)框架支持。該存儲庫包含一組利用ML的嵌入式應用程序:https://github.com/SiliconLabs/machine_learning_applications
機器學習工具包(MLTK):這是一個帶有命令行實用程序和腳本的Python軟件包,可支持基于芯科科技的嵌入式平臺開發的機器學習模型。它包括從命令行界面或Python腳本執行ML操作的各項功能,并可確定ML模型在嵌入式平臺上的執行效率,以及使用谷歌Tensorflow訓練ML模型。
參考數據集:MLTK附帶參考模型使用的數據集。這些數據集可以在Github上找到:
https://github.com/SiliconLabs/mltk/blob/master/docs/python_api/datasets/index.md
音頻特征生成器(Audio Feature Generator):芯科科技提供了與TensorFlow Lite模型一起使用的音頻特征生成器。它根據sl_ml_audio_feature_generation_config.h中的配置去進行前端的初始化來生成功能,并以流模式來初始化和啟動麥克風。https://docs.silabs.com/machine-learning/latest/machine-learning-tensorflow-lite-api/ml-audio-feature-generation
MLPerf Tiny Benchmark:MLPerf Tiny Benchmark是由一家開放工程聯盟MLCommons設計的性能評估套件。它旨在衡量ML系統在推理方面的性能和能效,將訓練好的ML模型應用于新數據。該基準是專門為低功耗的最小設備量身定制的,通常用于深度嵌入式應用,如物聯網(IoT)或智能傳感。
芯科科技參與了MLPerf Tiny基準測試,提交了展示機器學習工具包(MLTK)功能的解決方案。該工具包包括TinyML基準測試使用的幾個模型,可在GitHub上獲得,涵蓋異常檢測、圖像分類、關鍵字識別和視覺喚醒詞等應用程序。
與以前的版本相比,使用MLPerf Tiny v1.0的結果顯示出了推理速度提高,以及代碼規模和內存使用量的減少。例如,Plumerai的推理引擎表現出了顯著的增強,包括支持時間序列神經網絡,如基于LSTM的循環神經網絡(RNN),這在運動傳感器、健康傳感器、語音和音頻應用中很常見。
AI/ML合作伙伴
芯科科技與業界領先的供應商合作,包括Edge Impulse、SensiML、NeutonAI和Eta Compute等AutoML工具鏈和SaaS云伙伴建立了合作關系。此外,諸如Sensory和MicroAI等解決方案提供商,以及包括Capgemini和Jabil在內的設計合作伙伴都是該網絡的一部分。這些聯盟提供了可簡化綜合解決方案開發的平臺,使初學者更容易接觸到邊緣的AI/ML。
TinyML在MCU上的優勢:
? 成本低-MCU價格合理
? 綠色環保-能耗低
? 易于集成-可輕松將MCU集成到現有環境中
? 隱私與安全-在本地處理數據,無需聯網傳輸
? 快速原型開發-快速開發概念驗證解決方案
? 自主可靠-微型設備在任何環境下都能穩定運行
? 實時處理-將延遲降至最低
嵌入式開發應用流程
開發具有機器學習功能的應用需要兩個不同的工作流程:
? 使用Simplicity Studio來創建無線應用的嵌入式應用開發工作流程。
? 創建將添加到嵌入式應用的機器學習功能的機器學習工作流程。
目標應用
運動檢測:在商業辦公大樓里,許多燈都是由運動探測器控制的,該探測器監測占用情況,以確定燈是否應該打開或關閉。然而,當員工在辦公桌前打字時,由于動作僅限于手和手指,因為運動傳感器本身無法識別他們的存在,所以可能會出現自動關燈而無法為員工可提供照明。通過將音頻傳感器與運動探測器連接起來,額外的音頻數據(如打字的聲音)可以通過機器學習算法進行處理,從而使照明系統能夠更明智地決定燈是應該打開還是關閉。
預測性維護:可使用芯科科技的EFR32 MCU來開發一個預測性維護系統。這需要使用連接的傳感器來收集機器的振動和溫度數據,同時訓練一個模型來根據這些數據預測潛在的故障,然后將該模型部署在MCU上,實現對機器的實時監控和維護計劃。
健康監測:使用EFM32 MCU構建可穿戴健康監測設備。使用傳感器收集心率和體溫等生命體征的數據。訓練一個模型來檢測數據中的異常。在MCU上部署該模型,幫助用戶對健康情況提供實時分析了解。
智能農業:使用芯科科技的MCU開發智能灌溉系統。使用連接的傳感器收集土壤濕度和天氣數據。訓練一個模型,以便根據這些數據來優化水的使用。將該模型部署在MCU上,控制灌溉系統,提高作物產量。
結論
MCU不再局限于簡單任務,而是正成為實現AI的強大平臺。通過探索面向AI優化的MCU,我們可以為電池供電的智能設備開辟新的潛在應用。無論是智能家居設備還是工業傳感器,AI驅動的MCU正在重塑嵌入式系統的未來。
(作者:Silicon Labs)
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。
推薦閱讀: