來(lái)源:富昌電子 計算機科學(xué)界在機器學(xué)習和更廣泛的人工智能(AI)領(lǐng)域取得了最重大的突破。從自動(dòng)駕駛到擊敗國際象棋大師的計算機,人工智能領(lǐng)域最著(zhù)名的成就取決于大規模計算資源的部署:例如,運行數百萬(wàn)行代碼的超高速、大功率圖形處理單元(GPU)陣列。 嵌入式設備設計人員也開(kāi)始將AI的優(yōu)勢帶給邊緣設備,他們比計算機科學(xué)家面臨的約束要嚴格得多:與運行大規模AI應用程序的數據中心相比,嵌入式設備提供的處理器帶寬和存儲器要少幾個(gè)數量級。 盡管他們可以使用的硬件資源有所不同,但當今的嵌入式工程師仍然普遍使用起源于計算機科學(xué)領(lǐng)域的開(kāi)發(fā)過(guò)程、工具和框架。這意味著(zhù),對于以前使用針對嵌入式硬件組件(例如微控制器或FPGA)的集成開(kāi)發(fā)環(huán)境(IDE)的電子工程師來(lái)說(shuō),AI開(kāi)發(fā)過(guò)程可能會(huì )令他們不知所措。AI項目還需要技能和知識的部署,例如訓練數據集的獲取、選擇和管理,而這些在傳統電子系統開(kāi)發(fā)中是前所未有的。 但是正如本文所述,半導體制造商正在開(kāi)始擴展其產(chǎn)品的功能和工具鏈,以支持嵌入式AI項目的需求。 有趣的是,機器學(xué)習的原生的嵌入式方法也正在興起,這消除了AI軟件的許多復雜性,從而消除了對計算機科學(xué)知識的需求。 神經(jīng)網(wǎng)絡(luò )引入了新的開(kāi)發(fā)流程 如圖1所示,機器學(xué)習的基本過(guò)程僅包括兩個(gè)階段:訓練神經(jīng)網(wǎng)絡(luò )模型,即“訓練階段”;將此神經(jīng)網(wǎng)絡(luò )部署到目標設備上,即“推理階段”。在嵌入式環(huán)境中,此目標設備通常是基于微控制器、應用處理器或FPGA的本地或“邊緣”設備。 ![]() 圖1:每個(gè)機器學(xué)習開(kāi)發(fā)項目的兩個(gè)階段(圖片由恩智浦半導體提供) 到目前為止看起來(lái)都很簡(jiǎn)單。但是每個(gè)階段都有許多開(kāi)發(fā)任務(wù),這對于以前沒(méi)有機器學(xué)習經(jīng)驗的嵌入式開(kāi)發(fā)人員來(lái)說(shuō)是陌生的。恩智浦的圖表(圖2)概述了工作流程的各部分中的任務(wù)。 ![]() 圖2:嵌入式機器學(xué)習開(kāi)發(fā)中的基本工作流程(圖片由恩智浦半導體提供) 不僅過(guò)程本身對嵌入式工程師來(lái)說(shuō)是新的,技術(shù)、術(shù)語(yǔ)和行話(huà)也是如此。例如,在訓練神經(jīng)網(wǎng)絡(luò )之前,開(kāi)發(fā)人員需要確定哪種網(wǎng)絡(luò )最適合該應用。卷積神經(jīng)網(wǎng)絡(luò )(CNN)模型廣泛用于圖像識別應用,而有限狀態(tài)機(FSM)可能適用于識別時(shí)間序列數據中的模式。wardingdatascience.com托管的神經(jīng)網(wǎng)絡(luò )基本目錄列出了25種以上的類(lèi)型。 對于每種神經(jīng)網(wǎng)絡(luò )類(lèi)型,通常都有數百種針對特定功能進(jìn)行了優(yōu)化的算法。這些軟件元素往往具有自己的行話(huà),這對于初次使用的用戶(hù)可能很難理解。恩智浦的由eIQ工具支持的神經(jīng)網(wǎng)絡(luò )模型列表(如下圖)提供了神經(jīng)網(wǎng)絡(luò )算法的示例。 ![]() 除了最大型的嵌入式開(kāi)發(fā)團隊以外,其他人可能都沒(méi)有時(shí)間和資源在開(kāi)始其首個(gè)AI項目之前就機器學(xué)習的所有關(guān)鍵方面進(jìn)行自學(xué)。 對于較小的開(kāi)發(fā)團隊,還有另一種選擇:諸如恩智浦和萊迪思半導體等元器件制造商已經(jīng)為諸如人員檢測、人員計數和語(yǔ)音識別之類(lèi)的應用開(kāi)發(fā)了可立即投入生產(chǎn)的參考設計硬件和軟件。QuickLogic還提供了在其QuickAI™平臺上運行的低功耗聲音檢測器解決方案和語(yǔ)音識別解決方案。它們提供了最簡(jiǎn)單、最快的機器學(xué)習入門(mén)。萊迪思甚至提供其訓練數據集,使OEM能夠修改每個(gè)參考設計中包含的神經(jīng)網(wǎng)絡(luò )模型。 訓練階段:富昌電子提供專(zhuān)家幫助 如果現成的參考設計不支持預期的應用,則OEM將需要實(shí)施訓練和推斷過(guò)程。對于這兩個(gè)階段,嵌入式開(kāi)發(fā)人員對于推理階段更為熟悉:本質(zhì)上,這涉及采用經(jīng)過(guò)訓練的模型并針對特定的硬件目標對其進(jìn)行編譯,例如恩智浦的i.MX RT跨界微控制器、意法半導體的STM32F7 MCU,或QuickLogic的QuickAI平臺。 這些硬件設備的供應商或多或少地提供了開(kāi)發(fā)工具,使將經(jīng)過(guò)訓練的模型編譯到目標硬件的過(guò)程相當直觀(guān)和直接。例如,恩智浦為其MCU和應用處理器提供了eIQ工具。eIQ工具支持TensorFlow Lite、Arm® NN、OpenCV和其他推理引擎。同樣,ST提供了STM32Cube.AI工具,用于將神經(jīng)網(wǎng)絡(luò )轉換為針對特定STM32 MCU的優(yōu)化代碼。 與標準嵌入式開(kāi)發(fā)工作流程的最大不同在于訓練階段。在典型的MCU開(kāi)發(fā)項目中,可以在單個(gè)IDE(例如IAR Embedded Workbench或Keil MDK)中創(chuàng )建整個(gè)應用程序的代碼庫。 但是,在機器學(xué)習項目中,MCU、處理器或FPGA的開(kāi)發(fā)環(huán)境不支持訓練階段:嵌入式工程師被帶到了新的領(lǐng)域。 參考上面的恩智浦工作流程圖,該流程的每個(gè)階段都需要專(zhuān)業(yè)知識和技術(shù)。在將原始數據提交給TensorFlow Lite、Caffe或Keras等模型訓練框架之前,首次準備訓練數據集的工程師需要學(xué)習很多知識,例如,如何收集原始數據、如何標記和管理原始數據、如何提取特征等。同樣,每個(gè)框架都有其自己的處理流程、用戶(hù)界面和數據協(xié)議。 線(xiàn)上有大量文檔可供嵌入式工程師學(xué)習。但是,無(wú)論工程師在理論上做了多少準備,都無(wú)法替代原型項目。在項目的早期階段,開(kāi)發(fā)人員可以從機器學(xué)習專(zhuān)家的建議和指導中收獲很多。 這正是富昌電子可以提供的:我們各辦事處的龐大的現場(chǎng)應用工程師團隊中具有高需求技術(shù)領(lǐng)域的專(zhuān)家,包括機器學(xué)習/AI領(lǐng)域。我們的AI領(lǐng)域的區域高級工程師專(zhuān)家致力于這一領(lǐng)域,隨時(shí)為OEM開(kāi)發(fā)人員提供指導,無(wú)論是計劃新的開(kāi)發(fā)項目還是在項目期間,我們都能為您解決特定問(wèn)題。 通過(guò)我們的區域卓越中心,OEM甚至可以將部分或全部設計項目外包給富昌電子,從而為機器學(xué)習提供完整的交鑰匙解決方案。 專(zhuān)為嵌入式世界打造的AI工具包 如前所述,MCU、處理器和FPGA制造商支持的大多數工具和框架都來(lái)自計算機科學(xué)界:它們龐大、復雜、功能強大且難以在短時(shí)間內學(xué)習。 因此,可編程片上系統制造商QuickLogic的子公司SensiML采用了不同且有趣的方法。SensiML起源于Intel的一個(gè)部門(mén),創(chuàng )建了其SensiML Edge AI軟件工具包,以提供一個(gè)完整的端對端環(huán)境,嵌入式開(kāi)發(fā)人員可以在該環(huán)境中立即提高工作效率(見(jiàn)圖3)。 ![]() 圖3:SensiML提供的簡(jiǎn)單機器學(xué)習工作流程(圖片由QuickLogic提供) 據SensiML,其邊緣AI軟件工具包“使開(kāi)發(fā)人員無(wú)需數據科學(xué)或嵌入式固件專(zhuān)業(yè)知識就能在幾天或幾周內構建智能傳感設備”。它可以用于開(kāi)發(fā)諸如工業(yè)機器的預測性維護、消費者可穿戴設備中的活動(dòng)監視、智能農業(yè)中的牲畜監視以及零售商店的流量分析等應用。 圖1中所示的過(guò)程將開(kāi)發(fā)分解為訓練階段(步驟1-3)和推理階段(步驟4)。但是,據SensiML,其不同之處是它是快速、智能和完整的。 · 它不需要手動(dòng)編碼,會(huì )自動(dòng)生成代碼 · 它不需要數據預處理方面的專(zhuān)業(yè)知識,開(kāi)發(fā)人員要做的就是收集數據樣本。該工具包包含支持數據捕獲的SensiML數據捕獲實(shí)驗室模塊。 · 使從收集訓練數據到生成訓練算法的整個(gè)過(guò)程實(shí)現自動(dòng)化。 因為SensiML工具包是為嵌入式工程師設計的,所以它不假定輸出必須是復雜的神經(jīng)網(wǎng)絡(luò )模型。對于生成時(shí)間序列數據的應用程序(例如預測性維護或個(gè)人活動(dòng)監控),較簡(jiǎn)單的算法類(lèi)型(例如分類(lèi)器)通常優(yōu)于神經(jīng)網(wǎng)絡(luò )。這種更簡(jiǎn)單的算法不僅更易于生成、修改和完善,而且還需要更少的目標硬件資源,使OEM可以圍繞低功耗目標(例如基于A(yíng)rm Cortex®-M內核的MCU或QuickLogic自己的QuickAI可編程平臺)構建項目,而更復雜的神經(jīng)網(wǎng)絡(luò )模型可能通常需要應用處理器或中等密度FPGA。 新資源出現可提供幫助 由于機器學(xué)習是嵌入式世界中的最新現象,不同制造商的產(chǎn)品尚未標準化,目前,不同供應商的工具鏈為AI項目提供的支持范圍存在很大差異。 盡管SensiML提供了最全面的工具包,但各制造商提供的環(huán)境和服務(wù),例如,意法半導體和恩智浦為MCU和處理器提供的環(huán)境和服務(wù),以及萊迪思和Microchip為FPGA提供的環(huán)境和服務(wù),都支持越來(lái)越多的流行訓練框架,并為自己的產(chǎn)品提供了優(yōu)化的編譯性能。 對于第三方框架與半導體制造商的工具之間必須彌合的差距,富昌電子的專(zhuān)家能夠隨時(shí)為您提供指導、專(zhuān)有技術(shù)和現場(chǎng)協(xié)助。 |