業(yè)界應(yīng)如何看待邊緣人工智能,?ST授權(quán)合作伙伴 MathWorks 公司的合作伙伴團(tuán)隊(duì)與ST 共同討論了對(duì)邊緣機(jī)器學(xué)習(xí)的看法,,并與 STM32 社區(qū)分享了他們的設(shè)計(jì)經(jīng)驗(yàn)。
MathWorks的 MATLAB? 和 Simulink? 軟件聞名業(yè)界。MATLAB?軟件工具可讓科學(xué)家分析數(shù)據(jù),,開(kāi)發(fā)算法,,創(chuàng)建模型,;Simulink?軟件可以創(chuàng)建模型化設(shè)計(jì),,仿真測(cè)試動(dòng)態(tài)系統(tǒng),支持 STM32 MCU,,開(kāi)發(fā),、部署和優(yōu)化在 STM32 MCU上運(yùn)行的應(yīng)用。MathWorks 為開(kāi)發(fā)者提供MCU AI開(kāi)發(fā)部署工具,,業(yè)務(wù)范圍涵蓋許多領(lǐng)域,,包括控制設(shè)計(jì)、信號(hào)處理和嵌入式系統(tǒng)設(shè)計(jì),,以及許多專用附加產(chǎn)品,。公司不僅在學(xué)術(shù)界享有盛譽(yù),在航空航天,、汽車和工業(yè)市場(chǎng)也具有很大的影響力,。
正是因?yàn)?MathWorks 擁有如此強(qiáng)大且常用的工具包,我們才決定與他們深入討論邊緣機(jī)器學(xué)習(xí),。 雖然這個(gè)話題已經(jīng)討論了很多年,,但我們認(rèn)為,像 MathWorks 這樣的合作伙伴提出的建議有助于業(yè)界換個(gè)角度看待邊緣機(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í)?
“在邊緣機(jī)器學(xué)習(xí)被廣泛應(yīng)用和部署之前仍有很多工作要做”
MathWorks合作伙伴團(tuán)隊(duì):還沒(méi)有,在邊緣機(jī)器學(xué)習(xí)被廣泛應(yīng)用和部署之前還有很多工作要做,。業(yè)界仍在追趕STM32微控制器等邊緣設(shè)備的能力,,但它也在努力應(yīng)對(duì)一些基本挑戰(zhàn),如能效和安全標(biāo)準(zhǔn),。
我們是否已達(dá)到能效臨界點(diǎn),?
還沒(méi)有。雖然在過(guò)去五年里,,業(yè)界已經(jīng)顯著提高了神經(jīng)網(wǎng)絡(luò)算法在微控制器上的運(yùn)行能效,,但在邊緣機(jī)器學(xué)習(xí)得到大規(guī)模應(yīng)用前,仍然需要設(shè)法提高系統(tǒng)能效,,降低模型的部署難度,。邊緣AI技術(shù)已經(jīng)進(jìn)入許多細(xì)分市場(chǎng),但在進(jìn)入主流市場(chǎng)之前還有很長(zhǎng)的路要走,。
…展望
如何做才能提高邊緣人工智能的能效,?
能夠在嵌入式系統(tǒng)運(yùn)行系統(tǒng)代碼以及多個(gè)神經(jīng)網(wǎng)絡(luò),是在機(jī)器學(xué)習(xí)發(fā)展道路上取得的一個(gè)重要的里程碑,。目前,,微控制器能夠順暢地運(yùn)行一個(gè)神經(jīng)網(wǎng)絡(luò),但是,,運(yùn)行兩個(gè)或更多網(wǎng)絡(luò)以及系統(tǒng)代碼,,同時(shí)保持功耗在預(yù)算范圍內(nèi),仍然是一個(gè)不小的挑戰(zhàn),。同時(shí),,確保適合的安全機(jī)制到位也很重要。
人工智能中的安全性是什么意思,? (笑問(wèn))機(jī)器人會(huì)攻擊人類嗎,?
(笑),?不會(huì),,沒(méi)有那樣的事情,在科幻小說(shuō)中經(jīng)常會(huì)出現(xiàn)這樣的情節(jié),。人工智能的安全性是指工作可靠性,,這意味著避免算法發(fā)生意外行為,確保AI有容錯(cuò),、故障安全操作和數(shù)據(jù)保護(hù)功能,。
開(kāi)發(fā)人員如何創(chuàng)建更安全的AI應(yīng)用?
這個(gè)問(wèn)題不好回答,,這也是 MathWorks 提供神經(jīng)網(wǎng)絡(luò)測(cè)試驗(yàn)證工具的初衷,。簡(jiǎn)而言之,,設(shè)計(jì)團(tuán)隊(duì)可以用MathWorks工具驗(yàn)證機(jī)器學(xué)習(xí)算法的行為,并在現(xiàn)場(chǎng)部署前創(chuàng)建冗余機(jī)制,。用戶還可以模擬傳感器數(shù)據(jù)的中斷或變化,,以更好地預(yù)測(cè)現(xiàn)實(shí)世界的情況。
創(chuàng)建邊緣機(jī)器學(xué)習(xí)
高效的數(shù)據(jù)學(xué)分析方法
對(duì)于一家致力于邊緣機(jī)器學(xué)習(xí)的初創(chuàng)公司,,你有哪些忠告,?
首先,弄清楚用例的具體要求,,實(shí)時(shí)處理是否是首要需求,?數(shù)據(jù)隱私是否是大家都很關(guān)心的問(wèn)題?算力和功率有哪些限制,? 一旦確定了硬件規(guī)格,,團(tuán)隊(duì)就可以專注開(kāi)發(fā)推理速度、存儲(chǔ)器占用和預(yù)測(cè)準(zhǔn)確性均衡的人工智能模型,。在這個(gè)方面,,利用現(xiàn)有工具和模型庫(kù)可以最大限度地提高開(kāi)發(fā)效率,縮短產(chǎn)品上市時(shí)間,。我還建議創(chuàng)建一個(gè)數(shù)據(jù)安全處理計(jì)劃,,預(yù)測(cè)連接問(wèn)題(如果有聯(lián)網(wǎng)組件),并確定系統(tǒng)擴(kuò)展計(jì)劃,。 一旦想清楚了這幾點(diǎn),,設(shè)計(jì)人員就可以更好地決定是否聘請(qǐng)數(shù)據(jù)科學(xué)家來(lái)開(kāi)發(fā)機(jī)器學(xué)習(xí)算法。
那么聘請(qǐng)數(shù)據(jù)科學(xué)家并不是第一步,,甚至不是必須的,?
在某些情況下,第一步要做的是聘請(qǐng)數(shù)據(jù)科學(xué)家,。但是,,用 MATLAB 創(chuàng)建高準(zhǔn)確度模型,不一定非是數(shù)據(jù)科學(xué)家或 AI 專家不可,。工程師深刻理解他們的數(shù)據(jù),,深知他們要解決的問(wèn)題,而數(shù)據(jù)科學(xué)家在某種程度上通常不具備這些知識(shí),。例如,,團(tuán)隊(duì)可以先構(gòu)思一個(gè)人工智能的系統(tǒng)設(shè)計(jì),甚至嘗試從模型庫(kù)導(dǎo)入神經(jīng)網(wǎng)絡(luò),,然后,,再聘請(qǐng)昂貴且稀有的數(shù)據(jù)科學(xué)人才。這樣做將有助于更好地確定要解決的問(wèn)題,。此外,,MathWorks的現(xiàn)有工具讓系統(tǒng)工程師能夠在獨(dú)立解決人工智能問(wèn)題上取得重大進(jìn)展,。
公司應(yīng)如何開(kāi)始研發(fā)機(jī)器學(xué)習(xí)算法?
借助 MATLAB 和 Simulink 等工具,,用戶可以簡(jiǎn)化算法開(kāi)發(fā)和在嵌入式設(shè)備上部署模型,。我們?cè)?TinyML登錄頁(yè)面討論了將高效 AI 網(wǎng)絡(luò)部署到 MCU 的流程,,還有相關(guān)的方法視頻和研討會(huì)活動(dòng),。
MATLAB 會(huì)取代數(shù)據(jù)科學(xué)家嗎?
顯然不會(huì),,然而,,MATLAB的功能,及其與 PyTorch 和 TensorFlow 等其他深度學(xué)習(xí)平臺(tái)的協(xié)同操作功能,,可以促進(jìn)團(tuán)隊(duì)成員之間的協(xié)作,,并有助于加快在邊緣上實(shí)現(xiàn)機(jī)器學(xué)習(xí)。
理性看待AI
可以向我們展示邊緣機(jī)器學(xué)習(xí)解決問(wèn)題的示例嗎,?
當(dāng)然,! 借助 MathWorks 和 STM32 MCU,邊緣人工智能可以提高產(chǎn)品功能,,有時(shí)還能降低系統(tǒng)成本,。我們還提供用戶案例庫(kù),展示企業(yè)如何用 MATLAB 和 Simulink 開(kāi)發(fā)機(jī)器學(xué)習(xí)和深度學(xué)習(xí),,包括虛擬溫度傳感器,、壓力傳感器、激光雷達(dá)分類器和心電圖分析,。
什么情況下最好避免邊緣機(jī)器學(xué)習(xí),?
如果傳統(tǒng)方法能夠控制系統(tǒng),而且計(jì)算資源需求比神經(jīng)網(wǎng)絡(luò)低,,就不必用邊緣機(jī)器學(xué)習(xí),。例如,可以用卡爾曼濾波器構(gòu)建系統(tǒng),,求解大型線性代數(shù)問(wèn)題,,在某些情況下可以提供令人滿意的效果。
如果沒(méi)有這類專業(yè)知識(shí)或資源,,怎么辦,?
這時(shí)候就是就該邊緣機(jī)器學(xué)習(xí)登場(chǎng)了。有時(shí),,企業(yè)缺乏開(kāi)發(fā)準(zhǔn)確模型所需的專業(yè)知識(shí),。同樣,如果系統(tǒng)的非線性或時(shí)變性非常明顯,,那么使用傳統(tǒng)方法創(chuàng)建運(yùn)算模型可能無(wú)法實(shí)現(xiàn),,或者沒(méi)有優(yōu)勢(shì),。在這些情況下,解決相同的問(wèn)題,,邊緣機(jī)器學(xué)習(xí)方法就變得更經(jīng)濟(jì)劃算了,,如果團(tuán)隊(duì)精簡(jiǎn)壓縮神經(jīng)網(wǎng)絡(luò)算法,優(yōu)化機(jī)器學(xué)習(xí)模型,,物料成本可能會(huì)變得更低,!
訓(xùn)練和優(yōu)化哪個(gè)更重要?
兩者的作用都很重要,。然而,,如果你有大量的訓(xùn)練數(shù)據(jù)和強(qiáng)大的神經(jīng)網(wǎng)絡(luò),但在邊緣設(shè)備上實(shí)現(xiàn)模型的能力很弱,,那么一切都是枉然,。因此,模型優(yōu)化至關(guān)重要,。低功耗系統(tǒng)和較小的存儲(chǔ)器占用率,,以及性能良好的神經(jīng)網(wǎng)絡(luò),可以讓團(tuán)隊(duì)快速地發(fā)布新產(chǎn)品,。當(dāng)團(tuán)隊(duì)已經(jīng)優(yōu)化了底層代碼時(shí),,長(zhǎng)期改進(jìn)模型性能就會(huì)比較容易。
ST 和 MathWorks 生態(tài)系統(tǒng)
MathWorks 和 ST 的合作會(huì)給業(yè)界帶來(lái)哪些影響,?
MathWorks 為開(kāi)發(fā)人員提供了許多跨硬件平臺(tái)移植應(yīng)用的功能,,因?yàn)殚_(kāi)發(fā)者可能與多家 MCU 廠商合作。此外,,MathWorks 還提供一個(gè)完整開(kāi)發(fā)流程,,涵蓋從數(shù)據(jù)學(xué)分析、神經(jīng)網(wǎng)絡(luò)創(chuàng)建,,到優(yōu)化,、仿真和部署這些神經(jīng)網(wǎng)絡(luò)的整個(gè)開(kāi)發(fā)過(guò)程。另一方面,,STM32Cube.AI 等ST軟件支持為STM32 MCU生成C代碼,,STM32Cube.AI Developer Cloud新增了網(wǎng)絡(luò)基準(zhǔn)測(cè)試和模型庫(kù)。
STM32Cube.AI 和 MathWorks工具是如何相互配合的,?
MathWorks的 Simulink軟件支持 STM32硬件
STM32Cube.AI 和 MathWorks 工具配合使用,,為開(kāi)發(fā)者提供了一個(gè)完整的開(kāi)發(fā)流程。例如,,工程師可以從 ST Model Zoo模型庫(kù),、TensorFlow、PyTorch 或 MATLAB 開(kāi)始創(chuàng)建神經(jīng)網(wǎng)絡(luò),,然后用 STM32Cube.AI Developer Cloud進(jìn)行初步基準(zhǔn)測(cè)試,。因此,,可以幫助開(kāi)發(fā)人員選擇成本、性能和推理時(shí)間全面均衡的目標(biāo)模型,。然后,,團(tuán)隊(duì)可以將模型集成到 Simulink 中,進(jìn)行系統(tǒng)級(jí)的模型測(cè)試,。STM32硬件支持包和嵌入式編碼器可以執(zhí)行處理器在環(huán)(PIL)測(cè)試和快速原型設(shè)計(jì),,使工程師能夠評(píng)估AI模型和配套的控制邏輯,以及整體性能,,看看它是否符合預(yù)期,。
開(kāi)發(fā)者需要注意些什么?
除了 STM32Cube.AI 提供的代碼生成外,,還需要考慮原型設(shè)計(jì)問(wèn)題。例如,,借助 STM32Cube.AI Developer Cloud,,在多個(gè) Nucleo 開(kāi)發(fā)板上做同一個(gè)基準(zhǔn)測(cè)試,可以幫助團(tuán)隊(duì)為每個(gè)項(xiàng)目快速選定最佳器件,。
STM32開(kāi)發(fā)者現(xiàn)在應(yīng)做些什么,?
我們建議他們查看在MCU上部署 AI所需的 MathWorks 工具,并詳細(xì)了解STM32 NUCLEO技術(shù)支持 ,。在開(kāi)始開(kāi)發(fā)的時(shí)候,,他們可以在這里觀看視頻,研究示例,,閱讀文檔,。
更多精彩內(nèi)容歡迎點(diǎn)擊==>>電子技術(shù)應(yīng)用-AET<<