《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 人工智能 > 解決方案 > MathWorks專訪:如何用STM32設(shè)計出超越AI的智能應(yīng)用

MathWorks專訪:如何用STM32設(shè)計出超越AI的智能應(yīng)用

2024-04-30
來源:意法半導(dǎo)體博客
關(guān)鍵詞: MathWorks AI

 屏幕截圖 2024-04-30 113809.png

  業(yè)界應(yīng)如何看待邊緣人工智能?ST授權(quán)合作伙伴  MathWorks 公司的合作伙伴團(tuán)隊與ST 共同討論了對邊緣機(jī)器學(xué)習(xí)的看法,并與 STM32 社區(qū)分享了他們的設(shè)計經(jīng)驗。

  MathWorks的 MATLAB? 和 Simulink? 軟件聞名業(yè)界。MATLAB?軟件工具可讓科學(xué)家分析數(shù)據(jù),開發(fā)算法,創(chuàng)建模型;Simulink?軟件可以創(chuàng)建模型化設(shè)計,仿真測試動態(tài)系統(tǒng),支持 STM32 MCU,開發(fā)、部署和優(yōu)化在 STM32 MCU上運行的應(yīng)用。MathWorks 為開發(fā)者提供MCU AI開發(fā)部署工具,業(yè)務(wù)范圍涵蓋許多領(lǐng)域,包括控制設(shè)計、信號處理和嵌入式系統(tǒng)設(shè)計,以及許多專用附加產(chǎn)品。公司不僅在學(xué)術(shù)界享有盛譽,在航空航天、汽車和工業(yè)市場也具有很大的影響力。

  正是因為 MathWorks 擁有如此強(qiáng)大且常用的工具包,我們才決定與他們深入討論邊緣機(jī)器學(xué)習(xí)。 雖然這個話題已經(jīng)討論了很多年,但我們認(rèn)為,像 MathWorks 這樣的合作伙伴提出的建議有助于業(yè)界換個角度看待邊緣機(jī)器學(xué)習(xí),并解決業(yè)界面臨的一些挑戰(zhàn)。因此,我們采訪了 MathWorks 嵌入式合作伙伴經(jīng)理 John Kluza 和戰(zhàn)略合作伙伴專家 Reed Axman。

  有關(guān)邊緣機(jī)器學(xué)習(xí)的思考……

  …現(xiàn)狀

  我們是否已經(jīng)大規(guī)模采用邊緣機(jī)器學(xué)習(xí)?

屏幕截圖 2024-04-30 113840.png

  “在邊緣機(jī)器學(xué)習(xí)被廣泛應(yīng)用和部署之前仍有很多工作要做”

  MathWorks合作伙伴團(tuán)隊:還沒有,在邊緣機(jī)器學(xué)習(xí)被廣泛應(yīng)用和部署之前還有很多工作要做。業(yè)界仍在追趕STM32微控制器等邊緣設(shè)備的能力,但它也在努力應(yīng)對一些基本挑戰(zhàn),如能效和安全標(biāo)準(zhǔn)。

  我們是否已達(dá)到能效臨界點?

  還沒有。雖然在過去五年里,業(yè)界已經(jīng)顯著提高了神經(jīng)網(wǎng)絡(luò)算法在微控制器上的運行能效,但在邊緣機(jī)器學(xué)習(xí)得到大規(guī)模應(yīng)用前,仍然需要設(shè)法提高系統(tǒng)能效,降低模型的部署難度。邊緣AI技術(shù)已經(jīng)進(jìn)入許多細(xì)分市場,但在進(jìn)入主流市場之前還有很長的路要走。

  …展望

  如何做才能提高邊緣人工智能的能效?

  能夠在嵌入式系統(tǒng)運行系統(tǒng)代碼以及多個神經(jīng)網(wǎng)絡(luò),是在機(jī)器學(xué)習(xí)發(fā)展道路上取得的一個重要的里程碑。目前,微控制器能夠順暢地運行一個神經(jīng)網(wǎng)絡(luò),但是,運行兩個或更多網(wǎng)絡(luò)以及系統(tǒng)代碼,同時保持功耗在預(yù)算范圍內(nèi),仍然是一個不小的挑戰(zhàn)。同時,確保適合的安全機(jī)制到位也很重要。

  人工智能中的安全性是什么意思? (笑問)機(jī)器人會攻擊人類嗎?

 ?。ㄐΓ??不會,沒有那樣的事情,在科幻小說中經(jīng)常會出現(xiàn)這樣的情節(jié)。人工智能的安全性是指工作可靠性,這意味著避免算法發(fā)生意外行為,確保AI有容錯、故障安全操作和數(shù)據(jù)保護(hù)功能。

  開發(fā)人員如何創(chuàng)建更安全的AI應(yīng)用?

  這個問題不好回答,這也是 MathWorks 提供神經(jīng)網(wǎng)絡(luò)測試驗證工具的初衷。簡而言之,設(shè)計團(tuán)隊可以用MathWorks工具驗證機(jī)器學(xué)習(xí)算法的行為,并在現(xiàn)場部署前創(chuàng)建冗余機(jī)制。用戶還可以模擬傳感器數(shù)據(jù)的中斷或變化,以更好地預(yù)測現(xiàn)實世界的情況。

  創(chuàng)建邊緣機(jī)器學(xué)習(xí)

  高效的數(shù)據(jù)學(xué)分析方法

  對于一家致力于邊緣機(jī)器學(xué)習(xí)的初創(chuàng)公司,你有哪些忠告?

  首先,弄清楚用例的具體要求,實時處理是否是首要需求?數(shù)據(jù)隱私是否是大家都很關(guān)心的問題?算力和功率有哪些限制? 一旦確定了硬件規(guī)格,團(tuán)隊就可以專注開發(fā)推理速度、存儲器占用和預(yù)測準(zhǔn)確性均衡的人工智能模型。在這個方面,利用現(xiàn)有工具和模型庫可以最大限度地提高開發(fā)效率,縮短產(chǎn)品上市時間。我還建議創(chuàng)建一個數(shù)據(jù)安全處理計劃,預(yù)測連接問題(如果有聯(lián)網(wǎng)組件),并確定系統(tǒng)擴(kuò)展計劃。 一旦想清楚了這幾點,設(shè)計人員就可以更好地決定是否聘請數(shù)據(jù)科學(xué)家來開發(fā)機(jī)器學(xué)習(xí)算法。

  那么聘請數(shù)據(jù)科學(xué)家并不是第一步,甚至不是必須的?

  在某些情況下,第一步要做的是聘請數(shù)據(jù)科學(xué)家。但是,用 MATLAB 創(chuàng)建高準(zhǔn)確度模型,不一定非是數(shù)據(jù)科學(xué)家或 AI 專家不可。工程師深刻理解他們的數(shù)據(jù),深知他們要解決的問題,而數(shù)據(jù)科學(xué)家在某種程度上通常不具備這些知識。例如,團(tuán)隊可以先構(gòu)思一個人工智能的系統(tǒng)設(shè)計,甚至嘗試從模型庫導(dǎo)入神經(jīng)網(wǎng)絡(luò),然后,再聘請昂貴且稀有的數(shù)據(jù)科學(xué)人才。這樣做將有助于更好地確定要解決的問題。此外,MathWorks的現(xiàn)有工具讓系統(tǒng)工程師能夠在獨立解決人工智能問題上取得重大進(jìn)展。

  公司應(yīng)如何開始研發(fā)機(jī)器學(xué)習(xí)算法?

  借助 MATLAB 和 Simulink 等工具,用戶可以簡化算法開發(fā)和在嵌入式設(shè)備上部署模型。我們在 TinyML登錄頁面討論了將高效 AI 網(wǎng)絡(luò)部署到 MCU 的流程,還有相關(guān)的方法視頻和研討會活動。

  MATLAB 會取代數(shù)據(jù)科學(xué)家嗎?

  顯然不會,然而,MATLAB的功能,及其與 PyTorch 和 TensorFlow 等其他深度學(xué)習(xí)平臺的協(xié)同操作功能,可以促進(jìn)團(tuán)隊成員之間的協(xié)作,并有助于加快在邊緣上實現(xiàn)機(jī)器學(xué)習(xí)。

  理性看待AI

  可以向我們展示邊緣機(jī)器學(xué)習(xí)解決問題的示例嗎?

  當(dāng)然! 借助 MathWorks 和 STM32 MCU,邊緣人工智能可以提高產(chǎn)品功能,有時還能降低系統(tǒng)成本。我們還提供用戶案例庫,展示企業(yè)如何用 MATLAB 和 Simulink 開發(fā)機(jī)器學(xué)習(xí)和深度學(xué)習(xí),包括虛擬溫度傳感器、壓力傳感器、激光雷達(dá)分類器和心電圖分析。

  什么情況下最好避免邊緣機(jī)器學(xué)習(xí)?

  如果傳統(tǒng)方法能夠控制系統(tǒng),而且計算資源需求比神經(jīng)網(wǎng)絡(luò)低,就不必用邊緣機(jī)器學(xué)習(xí)。例如,可以用卡爾曼濾波器構(gòu)建系統(tǒng),求解大型線性代數(shù)問題,在某些情況下可以提供令人滿意的效果。

  如果沒有這類專業(yè)知識或資源,怎么辦?

  這時候就是就該邊緣機(jī)器學(xué)習(xí)登場了。有時,企業(yè)缺乏開發(fā)準(zhǔn)確模型所需的專業(yè)知識。同樣,如果系統(tǒng)的非線性或時變性非常明顯,那么使用傳統(tǒng)方法創(chuàng)建運算模型可能無法實現(xiàn),或者沒有優(yōu)勢。在這些情況下,解決相同的問題,邊緣機(jī)器學(xué)習(xí)方法就變得更經(jīng)濟(jì)劃算了,如果團(tuán)隊精簡壓縮神經(jīng)網(wǎng)絡(luò)算法,優(yōu)化機(jī)器學(xué)習(xí)模型,物料成本可能會變得更低!

  訓(xùn)練和優(yōu)化哪個更重要?

  兩者的作用都很重要。然而,如果你有大量的訓(xùn)練數(shù)據(jù)和強(qiáng)大的神經(jīng)網(wǎng)絡(luò),但在邊緣設(shè)備上實現(xiàn)模型的能力很弱,那么一切都是枉然。因此,模型優(yōu)化至關(guān)重要。低功耗系統(tǒng)和較小的存儲器占用率,以及性能良好的神經(jīng)網(wǎng)絡(luò),可以讓團(tuán)隊快速地發(fā)布新產(chǎn)品。當(dāng)團(tuán)隊已經(jīng)優(yōu)化了底層代碼時,長期改進(jìn)模型性能就會比較容易。

  ST 和 MathWorks 生態(tài)系統(tǒng)

  MathWorks 和 ST 的合作會給業(yè)界帶來哪些影響?

  MathWorks 為開發(fā)人員提供了許多跨硬件平臺移植應(yīng)用的功能,因為開發(fā)者可能與多家 MCU 廠商合作。此外,MathWorks 還提供一個完整開發(fā)流程,涵蓋從數(shù)據(jù)學(xué)分析、神經(jīng)網(wǎng)絡(luò)創(chuàng)建,到優(yōu)化、仿真和部署這些神經(jīng)網(wǎng)絡(luò)的整個開發(fā)過程。另一方面,STM32Cube.AI 等ST軟件支持為STM32 MCU生成C代碼,STM32Cube.AI Developer Cloud新增了網(wǎng)絡(luò)基準(zhǔn)測試和模型庫。

  STM32Cube.AI 和 MathWorks工具是如何相互配合的?

圖片1.png

  MathWorks的 Simulink軟件支持 STM32硬件

  STM32Cube.AI 和 MathWorks 工具配合使用,為開發(fā)者提供了一個完整的開發(fā)流程。例如,工程師可以從 ST Model Zoo模型庫、TensorFlow、PyTorch 或 MATLAB 開始創(chuàng)建神經(jīng)網(wǎng)絡(luò),然后用 STM32Cube.AI Developer Cloud進(jìn)行初步基準(zhǔn)測試。因此,可以幫助開發(fā)人員選擇成本、性能和推理時間全面均衡的目標(biāo)模型。然后,團(tuán)隊可以將模型集成到 Simulink 中,進(jìn)行系統(tǒng)級的模型測試。STM32硬件支持包和嵌入式編碼器可以執(zhí)行處理器在環(huán)(PIL)測試和快速原型設(shè)計,使工程師能夠評估AI模型和配套的控制邏輯,以及整體性能,看看它是否符合預(yù)期。

  開發(fā)者需要注意些什么?

  除了 STM32Cube.AI 提供的代碼生成外,還需要考慮原型設(shè)計問題。例如,借助 STM32Cube.AI Developer Cloud,在多個 Nucleo 開發(fā)板上做同一個基準(zhǔn)測試,可以幫助團(tuán)隊為每個項目快速選定最佳器件。

  STM32開發(fā)者現(xiàn)在應(yīng)做些什么?

  我們建議他們查看在MCU上部署 AI所需的 MathWorks 工具,并詳細(xì)了解STM32 NUCLEO技術(shù)支持 。在開始開發(fā)的時候,他們可以在這里觀看視頻,研究示例,閱讀文檔。




更多精彩內(nèi)容歡迎點擊==>>電子技術(shù)應(yīng)用-AET<<

3bff459604b6c9954731105876ec40d.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。