MAX78000本質(zhì)上是一個(gè)ARM Cortex-M4F微控制器,周邊有很多硬件,其中包括Maxim設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)(CNN)加速器(圖1)。這種機(jī)器學(xué)習(xí)(ML)支持使芯片能夠?qū)崟r(shí)處理諸如識(shí)別關(guān)鍵字甚至人臉識(shí)別等,而不會(huì)浪費(fèi)功率預(yù)算。
1.MAX78000包括Cortex-M4F和RISC-V內(nèi)核以及CNN加速器。
該芯片還包括一個(gè)引人注意的是RISC-V內(nèi)核,但是,由于其太新了,因此Cortex-M4F是主要處理器。甚至CNN的支持都還處于beta階段之外,但這些都是本文的重點(diǎn)。
MAX78000具有通常的微控制器外設(shè)功能,包括一系列串行端口,定時(shí)器和并行/串行接口,例如I2S。它甚至具有并行攝像頭接口,在模擬外設(shè)中有一個(gè)8通道10位sigma-delta ADC,也包括四個(gè)比較器。
該芯片具有512kB的閃存以及128kB的SRAM和引導(dǎo)ROM,該引導(dǎo)ROM允許更復(fù)雜的引導(dǎo)過(guò)程,例如安全引導(dǎo)支持。有片上密鑰存儲(chǔ)以及CRC和AES硬件支持,未來(lái)將獲得CNN支持?;贕ithub的文檔可一覽無(wú)余。
開(kāi)發(fā)工具是基于Eclipse的免費(fèi)開(kāi)發(fā)工具,而Eclipse是其他平臺(tái)(例如德州儀器的Code Composer Studio和Silicon Labs的Simplicity Studio)的基礎(chǔ)。 Maxim并沒(méi)有做太多的定制工作,但是有足夠的便利來(lái)使用諸如MAX78000之類(lèi)的硬件,同時(shí)使第三方插件和工具的使用變得容易,這在處理云或物聯(lián)網(wǎng)開(kāi)發(fā)環(huán)境時(shí)非常方便。默認(rèn)安裝包括示例和教程,可輕松測(cè)試CNN硬件和其他外圍設(shè)備。
MAX78000開(kāi)發(fā)板具有兩個(gè)LCD顯示器。較大的3.5英寸TFT觸摸顯示屏適用于處理器,而第二個(gè)較小的顯示屏則提供電源管理信息。該芯片沒(méi)有內(nèi)置顯示控制器,使用串行接口與較大的顯示器配合使用。功率跟蹤支持非常完善。
開(kāi)發(fā)板帶有一個(gè)16 MB的QSPI閃存芯片,可以方便地存儲(chǔ)圖像數(shù)據(jù)。此外,閃存芯片的USB橋接器允許更快,更輕松地下載數(shù)據(jù)。
該開(kāi)發(fā)板還添加了一些有用的設(shè)備,例如數(shù)字麥克風(fēng),3D加速度計(jì)和3D陀螺儀。幾個(gè)按鈕和LED完善了外圍設(shè)備,支持JTAG。
如前所述,這次沒(méi)有使用RISC-V內(nèi)核,而是采用為Cortex-M4F生成C代碼以設(shè)置CNN硬件。 CNN硬件旨在處理單個(gè)模型,但是可以快速更換新模型。
與大多數(shù)機(jī)器學(xué)習(xí)硬件一樣,大多數(shù)程序員都傾向于隱藏底層硬件,從而提供了更多的黑盒操作,您可以在其中設(shè)置盒子并將其數(shù)據(jù)饋入另一端。如果可用模型,這將很好地工作;這是用不同的信息或使用經(jīng)過(guò)訓(xùn)練的模型來(lái)訓(xùn)練。開(kāi)發(fā)和訓(xùn)練新模型時(shí)面臨挑戰(zhàn),這是我在此將避免討論的問(wèn)題。
我確實(shí)嘗試了Maxim提供的兩種模型,包括關(guān)鍵字搜索和面部識(shí)別(FaceID)應(yīng)用程序。 Keyword Spotting應(yīng)用程序本質(zhì)上是語(yǔ)音識(shí)別系統(tǒng),可用于偵聽(tīng)關(guān)鍵字以啟動(dòng)基于云的服務(wù),這是大多數(shù)基于Alexa的語(yǔ)音系統(tǒng)的工作方式,因?yàn)樵圃谧R(shí)別關(guān)鍵字后會(huì)處理所有內(nèi)容。
另一方面,能夠識(shí)別許多不同的關(guān)鍵字使構(gòu)建基于語(yǔ)音的命令系統(tǒng)成為可能,例如許多汽車(chē)導(dǎo)航系統(tǒng)中使用的命令系統(tǒng)。Cortex-M4F會(huì)處理輸入,并進(jìn)行一些調(diào)整以向CNN加速器提供合適的輸入(圖2)。檢測(cè)到的類(lèi)輸出指定識(shí)別哪個(gè)關(guān)鍵字(如果有)。然后,應(yīng)用程序可以利用此信息。
2.在將信息移交給CNN加速器之前,Cortex-M4F會(huì)處理初始音頻輸入流。
FaceID系統(tǒng)突出顯示了MAX78000的攝像機(jī)支持(圖3)。這可用于識(shí)別人臉或識(shí)別在裝配線(xiàn)上移動(dòng)的特定零件。樣品應(yīng)用程序可以使用固定輸入(如圖所示)或從攝像機(jī)進(jìn)行操作。
3.FaceID應(yīng)用程序強(qiáng)調(diào)了CNN實(shí)時(shí)處理圖像的能力。
使用默認(rèn)值會(huì)變得很容易。Maxim提供所有示例代碼和過(guò)程。這些可以稍作修改,但是重新訓(xùn)練模型是一項(xiàng)涉及更多的工作,盡管Maxim的文檔確實(shí)涵蓋了這一工作。這些示例概述了需要做什么以及需要更改哪些內(nèi)容以定制解決方案。
將模型和應(yīng)用程序更改為電動(dòng)機(jī)振動(dòng)監(jiān)控系統(tǒng)之類(lèi)的工作將是一項(xiàng)艱巨的工作,需要一種新的模型,但是該芯片很可能能夠處理。它將需要更多的機(jī)器學(xué)習(xí)和CNN支持。
該工具集支持TensorFlow和PyTorch等平臺(tái)的模型(圖4)。這很有用,因?yàn)橛?xùn)練不是由芯片處理的,而是在PC或云服務(wù)器等平臺(tái)上進(jìn)行的。同樣,可以對(duì)模型進(jìn)行完善和在高端硬件上進(jìn)行測(cè)試以驗(yàn)證模型,然后可以對(duì)其進(jìn)行修剪以適合MAX78000。
4.PyTorch只是MAX78000處理的框架之一。訓(xùn)練不是在微型計(jì)算機(jī)上進(jìn)行的。 Maxim的工具將模型轉(zhuǎn)換為驅(qū)動(dòng)CNN硬件的代碼。
此時(shí),CNN加速器文檔以及RISC-V支持都很少。Maxim的CNN模型編譯器可將C代碼導(dǎo)入到Eclipse IDE中。調(diào)試常規(guī)應(yīng)用程序代碼與通過(guò)JTAG進(jìn)行遠(yuǎn)程調(diào)試。
Maxim還提供MAX78000FTHR,它是簡(jiǎn)化評(píng)估板(圖5),它沒(méi)有顯示器或其他外圍硬件,但大多數(shù)I / O是裸露的。單是開(kāi)發(fā)板僅有25美元。批量購(gòu)買(mǎi)時(shí),該芯片的單價(jià)約為15美元。
5.簡(jiǎn)化評(píng)估板MAX78000FTHR
MAX78000的使用非常有趣。這是一個(gè)支持邊緣ML應(yīng)用程序的絕佳平臺(tái)。但是,請(qǐng)注意,盡管這是一種非常低功耗的解決方案,但它與低端Nvidia Jetson Nano都不一樣。檢驗(yàn)電源跟蹤支持很有趣,因?yàn)榈凸目赡苁窃S多MAX78000應(yīng)用中的關(guān)鍵因素,尤其是基于電池的解決方案。
編輯:hfy
-
Maxim
+關(guān)注
關(guān)注
8文章
859瀏覽量
87309 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4778瀏覽量
101009 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8435瀏覽量
132885
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論