Arm NN
最近,Arm宣布推出神經(jīng)網(wǎng)絡(luò)機器學(xué)習(xí)(ML) 軟件 Arm NN。這項關(guān)鍵性技術(shù),可在基于 Arm 的高能效平臺上輕松構(gòu)建和運行機器學(xué)習(xí)應(yīng)用程序。
實際上,該軟件橋接了現(xiàn)有神經(jīng)網(wǎng)絡(luò)框架(例如 TensorFlow 或 Caffe)與在嵌入式 Linux 平臺上運行的底層處理硬件(例如 CPU、GPU 或新型 Arm 機器學(xué)習(xí)處理器)。這樣,開發(fā)人員能夠繼續(xù)使用他們首選的框架和工具,經(jīng) Arm NN 無縫轉(zhuǎn)換結(jié)果后可在底層平臺上運行。
機器學(xué)習(xí)需要一個訓(xùn)練階段,也就是學(xué)習(xí)階段(“這些是貓的圖片”),另外還需要一個推理階段,也就是應(yīng)用所學(xué)的內(nèi)容(“這是貓的圖片嗎?”)。訓(xùn)練目前通常在服務(wù)器或類似設(shè)備上發(fā)生,而推理則更多地轉(zhuǎn)移到網(wǎng)絡(luò)邊緣,這正是新版本 Arm NN 的重點所在。
一切圍繞平臺
機器學(xué)習(xí)工作負(fù)載的特點是計算量大、需要大量存儲器帶寬,這正是移動設(shè)備和嵌入式設(shè)備面臨的最大挑戰(zhàn)之一。隨著運行機器學(xué)習(xí)的需求日益增長,對這些工作負(fù)載進行分區(qū)變得越來越重要,以便充分利用可用計算資源。軟件開發(fā)人員面臨的可能是很多不同的平臺,這就帶來一個現(xiàn)實問題:CPU 通常包含多個內(nèi)核(在 Arm DynamIQ big.LITTLE 中,甚至還有多種內(nèi)核類型),還要考慮 GPU,以及許多其他類型的專用處理器,包括 Arm 機器學(xué)習(xí)處理器,這些都是整體解決方案的一部分。Arm NN 這時就能派上用場。
下圖中可以看出,Arm NN 扮演了樞紐角色,既隱藏了底層硬件平臺的復(fù)雜性,同時讓開發(fā)人員能夠繼續(xù)使用他們的首選神經(jīng)網(wǎng)絡(luò)框架。
使用機器學(xué)習(xí)的應(yīng)用程序 | 需要機器學(xué)習(xí)的已編寫應(yīng)用程序 |
TensorFlow、Caffe 等 | 繼續(xù)使用現(xiàn)有的高級別機器學(xué)習(xí)框架和支持工具 |
Arm NN | 自動將上述格式轉(zhuǎn)換為 Arm NN,優(yōu)化圖表,并使用 Compute Library 中的函數(shù),使其面向目標(biāo)硬件 |
Compute Library | 低級別的機器學(xué)習(xí)函數(shù),針對各種硬件內(nèi)核(目前為 Cortex-A 和 Mali GPU)進行了優(yōu)化 |
CMSIS-NN | 低級別 NN 函數(shù),針對 Cortex-M CPU 進行了優(yōu)化 |
平臺 | 包含多個內(nèi)核和內(nèi)核類型(例如 CPU、GPU,今后還有 Arm 機器學(xué)習(xí)處理器) |
Arm NN SDK 概覽(首次發(fā)布版本)
您可能已經(jīng)注意到,Arm NN 的一個關(guān)鍵要求是Compute Library,它包含一系列低級別機器學(xué)習(xí)和計算機視覺函數(shù),面向Arm Cortex-ACPU 和Arm Mali GPU。我們的目標(biāo)是讓這個庫匯集針對這些函數(shù)的一流優(yōu)化,近期的優(yōu)化已經(jīng)展示了顯著的性能提升 – 比同等 OpenCV 函數(shù)提高了 15 倍甚至更多。如果您是Cortex-MCPU 的用戶,現(xiàn)在還有一個機器學(xué)習(xí)原語庫 – 也就是近期發(fā)布的CMSIS-NN。
CMSIS-NN 是一系列高效神經(jīng)網(wǎng)絡(luò)內(nèi)核的集合,其開發(fā)目的是最大程度地提升神經(jīng)網(wǎng)絡(luò)的性能,減少神經(jīng)網(wǎng)絡(luò)在面向智能物聯(lián)網(wǎng)邊緣設(shè)備的 Arm Cortex-M 處理器內(nèi)核上的內(nèi)存占用。Arm開發(fā)這個庫的目的是全力提升這些資源受限的 Cortex CPU 上的神經(jīng)網(wǎng)絡(luò)推理性能。借助基于 CMSIS-NN 內(nèi)核的神經(jīng)網(wǎng)絡(luò)推理,運行時/吞吐量和能效可提升大約 5 倍。
主要優(yōu)勢
有了 Arm NN,開發(fā)人員可以即時獲得一些關(guān)鍵優(yōu)勢:
更輕松地在嵌入式系統(tǒng)上運行 TensorFlow 和 Caffe
Compute Library 內(nèi)部的一流優(yōu)化函數(shù),讓用戶輕松發(fā)揮底層平臺的強大性能
無論面向何種內(nèi)核類型,編程模式都是相同的
現(xiàn)有軟件能夠自動利用新硬件特性
與 Compute Library 相同,Arm NN 也是作為開源軟件發(fā)布的,這意味著它能夠相對簡單地進行擴展,從而適應(yīng) Arm 合作伙伴的其他內(nèi)核類型。
適用于 Android 的 Arm NN
在五月舉行的 Google I/O 年會上,Google 發(fā)布了針對 Android 的 TensorFlow Lite,預(yù)示著主要新型 API 開始支持在基于 Arm 的 Android 平臺上部署神經(jīng)網(wǎng)絡(luò)。表面上,這與 Android 下的 Arm NN SDK 解決方案非常相似。使用 NNAPI 時,機器學(xué)習(xí)工作負(fù)載默認(rèn)在 CPU 上運行,但硬件抽象層 (HAL) 機制也支持在其他類型的處理器或加速器上運行這些工作負(fù)載。Google 發(fā)布以上消息的同時,我們的 Arm NN 計劃也進展順利,這是為使用 Arm NN 的 Mali GPU 提供 HAL。今年晚些時候,我們還將為 Arm 機器學(xué)習(xí)處理器提供硬件抽象層。
Arm 對 Google NNAPI 的支持概覽
Arm NN 的未來發(fā)展
這只是 Arm NN 的第一步:我們還計劃添加其他高級神經(jīng)網(wǎng)絡(luò)作為輸入,對 Arm NN 調(diào)試程序執(zhí)行進一步的圖形級別優(yōu)化,覆蓋其他類型的處理器或加速器……請密切關(guān)注今年的發(fā)展!
⊙Cortex-M與機器學(xué)習(xí)|神經(jīng)網(wǎng)絡(luò)教會小怪物走路
⊙機器學(xué)習(xí)讓拍照更智能|Arm與Facebook、Arcsoft合作開發(fā)更高性能的移動設(shè)備技術(shù)
-
嵌入式
+關(guān)注
關(guān)注
5149文章
19655瀏覽量
317329
原文標(biāo)題:Arm NN:在移動和嵌入式設(shè)備上無縫構(gòu)建和運行機器學(xué)習(xí)應(yīng)用程序
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率
BP神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點分析
BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的關(guān)系
嵌入式機器學(xué)習(xí)的應(yīng)用特性與軟件開發(fā)環(huán)境

人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

在邊緣設(shè)備上設(shè)計和部署深度神經(jīng)網(wǎng)絡(luò)的實用框架
卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較
RNN模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的區(qū)別
嵌入式和人工智能究竟是什么關(guān)系?
LSTM神經(jīng)網(wǎng)絡(luò)與其他機器學(xué)習(xí)算法的比較
Moku人工神經(jīng)網(wǎng)絡(luò)101

【飛凌嵌入式OK3576-C開發(fā)板體驗】RKNN神經(jīng)網(wǎng)絡(luò)-車牌識別
【飛凌嵌入式OK3576-C開發(fā)板體驗】開箱報告
嵌入式掃描設(shè)備能否讓機器人更智能高效?

評論