• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁(yè) > 培訓(xùn)資料 > 嵌入式開(kāi)發(fā):嵌入式神經(jīng)網(wǎng)絡(luò)的發(fā)展現(xiàn)狀
機(jī)構(gòu)主頁(yè) > 培訓(xùn)資料>嵌入式開(kāi)發(fā):嵌入式神經(jīng)網(wǎng)絡(luò)的發(fā)展現(xiàn)狀

嵌入式開(kāi)發(fā):嵌入式神經(jīng)網(wǎng)絡(luò)的發(fā)展現(xiàn)狀

來(lái)源:廣州達(dá)內(nèi)教育        時(shí)間:2023-05-30        熱度:40℃        返回列表

  對(duì)于任何注定要在批量生產(chǎn)中部署的嵌入式軟件,一旦完成并驗(yàn)證了其核心功能的實(shí)現(xiàn),就會(huì)在代碼中投入大量精力。這個(gè)優(yōu)化階段是關(guān)于最小化所需的內(nèi)存、CPU

和其他資源,以便盡可能多地保留軟件功能,同時(shí)將執(zhí)行它所需的資源減少到絕對(duì)最低限度。這種從基于實(shí)驗(yàn)室的算法創(chuàng)建嵌入式軟件的過(guò)程使嵌入式開(kāi)發(fā)人員能夠?qū)④浖δ艹杀竟こ袒癁榇笠?guī)模生產(chǎn)就緒形式,與用于開(kāi)發(fā)它的大規(guī)模計(jì)算數(shù)據(jù)中心相比,需要更便宜、功能更弱的芯片和硬件。


  然而,它通常需要從一開(kāi)始就凍結(jié)功能,修改代碼只是為了改進(jìn)算法本身的執(zhí)行方式。對(duì)于大多數(shù)軟件來(lái)說(shuō),這很好:實(shí)際上,它可以使用嚴(yán)格的驗(yàn)證方法來(lái)確保嵌入過(guò)程保留所有所需的功能。


  然而,當(dāng)嵌入基于 NN 的 AI

算法時(shí),這可能是一個(gè)主要問(wèn)題。為什么?因?yàn)橥ㄟ^(guò)從一開(kāi)始就凍結(jié)功能,您正在刪除可以優(yōu)化執(zhí)行的主要方式之一。


  問(wèn)題是什么?


  有兩種根本不同的方法可以解決將復(fù)雜的神經(jīng)網(wǎng)絡(luò)從實(shí)驗(yàn)室中不受約束,資源豐富的神經(jīng)網(wǎng)絡(luò)訓(xùn)練環(huán)境移植到受嚴(yán)格約束的嵌入式硬件平臺(tái)的任務(wù):


  優(yōu)化執(zhí)行神經(jīng)網(wǎng)絡(luò)的代碼


  優(yōu)化神經(jīng)網(wǎng)絡(luò)本身


  當(dāng)嵌入式開(kāi)發(fā)人員發(fā)現(xiàn)內(nèi)存帶寬瓶頸或底層嵌入式硬件平臺(tái)利用率低等性能問(wèn)題時(shí),傳統(tǒng)的嵌入式軟件技術(shù)會(huì)鼓勵(lì)您深入挖掘底層代碼并找到問(wèn)題所在。


  這反映在當(dāng)今可用于嵌入式 MCU 和 DSP

的許多先進(jìn)和復(fù)雜的工具中。它們使您能夠深入了解軟件中正在發(fā)生的事情,并識(shí)別和改進(jìn)軟件本身的執(zhí)行——希望不會(huì)改變其功能。




  對(duì)于神經(jīng)網(wǎng)絡(luò),優(yōu)化與傳統(tǒng)的嵌入式軟件完全不同——至少如果你想用可用的硬件資源獲得最好的結(jié)果。使用 NN,通過(guò)改變拓?fù)?NN

本身(NN

的各個(gè)層如何連接,以及每層的作用)和使用更新的約束和輸入重新訓(xùn)練它的某種組合來(lái)實(shí)現(xiàn)改進(jìn)。這是因?yàn)楣δ懿皇怯缮窠?jīng)網(wǎng)絡(luò)“軟件”定義的,而是由訓(xùn)練期間應(yīng)用的目標(biāo)和約束來(lái)創(chuàng)建定義神經(jīng)網(wǎng)絡(luò)最終行為的權(quán)重。


  因此,在進(jìn)行 NN 的嵌入過(guò)程時(shí),您需要凍結(jié) NN 的目標(biāo)性能,而不是它是如何實(shí)現(xiàn)的。如果您從嵌入式開(kāi)發(fā)過(guò)程的開(kāi)始就約束

NN 拓?fù)?,那么您正在移除生產(chǎn)工程師提高性能所需的工具。


  這意味著您需要新的和不同的工具來(lái)完成將 NN 從實(shí)驗(yàn)室移植到嵌入式平臺(tái)的任務(wù)。而低級(jí)軟件工程師無(wú)法完成這項(xiàng)工作——您需要

AI 工程師根據(jù)工具為您提供的性能信息來(lái)調(diào)整 NN

及其訓(xùn)練。這是新的:當(dāng)研發(fā)工程師將訓(xùn)練有素的神經(jīng)網(wǎng)絡(luò)交給生產(chǎn)工程師時(shí),他們?cè)僖膊荒苷f(shuō)“工作完成了”!


  另一種方法:


  通過(guò)采用將人工智能研發(fā)工程師置于嵌入式軟件移植任務(wù)中心的開(kāi)發(fā)工作流程,任何芯片都可以取得卓越的成果。使用以層為中心的分析,并在幾分鐘內(nèi)快速完成從編譯修改后的卷積神經(jīng)網(wǎng)絡(luò)

(CNN) 到查看目標(biāo)神經(jīng)處理器單元 (NPU) 的準(zhǔn)確性能結(jié)果,嵌入式開(kāi)發(fā)人員可以使用相同的底層硬件實(shí)現(xiàn) 100% 或更多的收益.這是因?yàn)樾薷?CNN

本身,而不是只修改用于執(zhí)行相同 CNN 的代碼,可以讓 AI 工程師更靈活地識(shí)別和實(shí)施性能改進(jìn)。




  在開(kāi)發(fā)我們的 aiWare NPU 時(shí),AImotive 使用了我們自己的 AI 工程師將過(guò)程移植到具有廣泛 NPU

功能的多個(gè)不同芯片的經(jīng)驗(yàn)。 我們想找到更好的方法來(lái)幫助我們自己的 AI 工程師完成這項(xiàng)任務(wù),因此在開(kāi)發(fā)我們對(duì) aiWare NPU 本身和支持它的 aiWare

Studio 工具的要求時(shí),我們發(fā)現(xiàn)了一些在我們過(guò)去使用過(guò)的硬件平臺(tái)上沒(méi)有看到的理想特性:


  高度確定性的 NPU 架構(gòu),讓時(shí)序非??深A(yù)測(cè)


  準(zhǔn)確的基于層(不是基于時(shí)序或低級(jí)代碼)的性能估計(jì),以便任何 AI

研發(fā)工程師都可以快速地看到更改其訓(xùn)練標(biāo)準(zhǔn)(例如添加或更改使用的場(chǎng)景,或修改目標(biāo) KPI)和 / 或 NN 拓?fù)涞挠绊憽?/span>


  準(zhǔn)確的離線性能估算,使所有的 NN 優(yōu)化都可以在第一個(gè)硬件可用之前進(jìn)行(因?yàn)榈谝粋€(gè)原型總是稀缺的!)


  最后檢查


  當(dāng)然,當(dāng)芯片和硬件原型可用時(shí),測(cè)量最終硬件是至關(guān)重要的。這種嵌入式開(kāi)發(fā)環(huán)境中實(shí)時(shí)硬件分析功能的可用性使工程師可以訪問(wèn)由此類工具支持的 NPU

內(nèi)的一系列深度嵌入式硬件寄存器和計(jì)數(shù)器。 雖然芯片開(kāi)銷很小(因?yàn)樵S多 NPU

由內(nèi)存而非邏輯主導(dǎo)),但這些功能可以在執(zhí)行期間實(shí)現(xiàn)前所未有的、非侵入性的實(shí)時(shí)性能測(cè)量。

然后,這可用于直接與離線性能估計(jì)器結(jié)果進(jìn)行比較,以確認(rèn)準(zhǔn)確性。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部