0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

高效打包邊緣人工智能神經(jīng)網(wǎng)絡(luò)模型

CEVA ? 來(lái)源:未知 ? 2023-11-09 10:15 ? 次閱讀

嵌入式設(shè)計(jì)中常常需要將應(yīng)用程序打包到有限的片上內(nèi)存中,現(xiàn)在,將人工智能神經(jīng)網(wǎng)絡(luò)模型壓縮到有限的存儲(chǔ)器中也是如此。對(duì)于傳統(tǒng)軟件,就某些方面而言,做到這一點(diǎn)可謂更具挑戰(zhàn),因?yàn)榛谏窠?jīng)網(wǎng)絡(luò)的系統(tǒng)中的工作內(nèi)存都是“內(nèi)部循環(huán)”的,要求換出到DDR內(nèi)存,可能會(huì)降低性能。另外,在推理過(guò)程中重復(fù)訪問(wèn)DDR也會(huì)增加邊緣設(shè)備的典型低功耗預(yù)算,這一點(diǎn)也同樣很難令人滿意。更大的片上存儲(chǔ)器是解決問(wèn)題方法之一,但是會(huì)增加產(chǎn)品成本。綜上所述,最佳解決方案是盡可能高效地將模型打包到可用內(nèi)存中。

眾所周知,在編譯人工智能神經(jīng)網(wǎng)絡(luò)模型以便在邊緣設(shè)備上運(yùn)行時(shí),有一些量化技術(shù)可以縮小此模型的大小,如將浮點(diǎn)數(shù)據(jù)和權(quán)重值轉(zhuǎn)換為定點(diǎn),然后進(jìn)一步縮小為INT8或更小的值。想象一下,如果還能更進(jìn)一步會(huì)怎樣。在本文中,我將介紹幾種圖優(yōu)化技術(shù),助您在2MB的二級(jí)緩存中安裝更多量化模型,但僅僅量化是無(wú)法完成安裝的。

優(yōu)化人工智能神經(jīng)網(wǎng)絡(luò)圖中的緩沖區(qū)分配

wKgaomVMQdOAfJPPAACmlCKXd8g725.png

▲圖1.一個(gè)簡(jiǎn)單的人工智能圖

(Op代表運(yùn)算符;E代表外部輸入;

C代表常數(shù)(權(quán)重);V代表變量;T代表張量)

人工智能神經(jīng)網(wǎng)絡(luò)模型表示為圖形并作為圖形來(lái)管理,其中的運(yùn)算是通過(guò)緩沖區(qū)相互連接的節(jié)點(diǎn)進(jìn)行的。這些緩沖區(qū)固定分配在內(nèi)存中,大小在編譯圖時(shí)確定,用于保存圖中的中間計(jì)算結(jié)果或輸入和輸出。在所有圖中,流水關(guān)系圖是最基本的一種,但更典型的簡(jiǎn)單圖如圖1所示。

我們的目標(biāo)是讓編譯器優(yōu)化緩沖區(qū)內(nèi)存總需求。想想簡(jiǎn)單的人工智能神經(jīng)網(wǎng)絡(luò)圖中可能的分配序列(圖2中的左圖)。首先要明白,圖中的不同運(yùn)算需要不同大小的緩沖區(qū),并且在進(jìn)行下一波處理之前,將不再需要已完成運(yùn)算的輸入緩沖區(qū)。讀取緩沖區(qū)A(此處分配有800K字節(jié)),就可以在后續(xù)運(yùn)算中重復(fù)使用了,緩沖區(qū)B也是如此,依此類推。在左圖出現(xiàn)分支時(shí),先將緩沖區(qū)A和B分配給了右側(cè)分支,之后則必須為左側(cè)分支分配一個(gè)新的緩沖區(qū)C。

wKgaomVMQdOAMcq5AABxXZ4kfzw357.jpg

▲圖2.說(shuō)明緩沖區(qū)分配的簡(jiǎn)單圖

(右圖在左圖的基礎(chǔ)上,將緩沖區(qū)B和C互換

并增加了緩沖區(qū)B的大小,得到了改善)

從這個(gè)例子中不難看出,一開始就將緩沖區(qū)B的大小增加到1000K,稍后再在左側(cè)分支中重復(fù)使用B的全部大小,右側(cè)分支中緩沖區(qū)C就只需要額外10K內(nèi)存,如右圖所示。左/右內(nèi)存需求差異明顯。左圖需要2.5MB (800K+700K+1000K),而修改順序后的右圖只需要 1.81MB(800K+1000K+10K)。

在一般人工智能神經(jīng)網(wǎng)絡(luò)圖中找出最優(yōu)排序就是眾所周知的0-1背包問(wèn)題。我們展開了初步測(cè)試,研究這種優(yōu)化如何改善打包到固定大小L2緩存的效果。即使是當(dāng)下初步階段,結(jié)果也相當(dāng)不錯(cuò)。我們測(cè)試了幾種常見網(wǎng)絡(luò)在2MB和4MB L2緩存中的安裝效果。優(yōu)化前,只有13%的模型可以安裝在2MB內(nèi)存中,38%的模型可以安裝在4MB內(nèi)存中。優(yōu)化后,66%的模型可以安裝在2MB內(nèi)存中,83%的模型可以安裝在4MB內(nèi)存中。僅這一項(xiàng)優(yōu)化就值得我們努力,我們的目標(biāo)是確保更多模型可以完全在片上內(nèi)存中運(yùn)行。

通過(guò)合并緩沖區(qū)優(yōu)化人工智能神經(jīng)網(wǎng)絡(luò)模型

在卷積人工智能神經(jīng)網(wǎng)絡(luò)模型中,經(jīng)過(guò)前幾層處理后,緩沖區(qū)大小通常會(huì)縮小。這種結(jié)果表明,一開始分配的大緩沖區(qū)可以通過(guò)與稍后需要的較小緩沖區(qū)共享空間得到更高效的利用。圖3說(shuō)明了這種可能性。

wKgaomVMQdSAckvDAABjXjMxhDI560.jpg

▲圖3.不同的簡(jiǎn)單圖

(最初為緩沖區(qū)A分配的大小可以稍后由左右分支共享,

此處的C緩沖區(qū)源自最初的A緩沖區(qū))

我們?cè)囍M(jìn)行優(yōu)化,看看這種合并對(duì)內(nèi)存總需求有何影響。在一系列無(wú)比熟悉的網(wǎng)絡(luò)中,我們發(fā)現(xiàn)緩沖區(qū)總大小減小了15%到35%。再次重申一遍,這些改進(jìn)非常具有吸引力。

?

要點(diǎn)

?

我們通過(guò)這些優(yōu)化,運(yùn)行各種主流卷積人工智能神經(jīng)網(wǎng)絡(luò)模型,從檢測(cè)到分類到細(xì)分,再到RNN模型不一而足。大多數(shù)情況下,模型完全遷移至了4MB二級(jí)緩存,某些情況下,模型遷移至了二級(jí)緩存中,只有一部分還留在DDR內(nèi)存中。幾乎所有模型都在打包方面呈現(xiàn)出巨大改進(jìn)。

即使你的人工智能神經(jīng)網(wǎng)絡(luò)模型無(wú)法安裝在片上內(nèi)存,也并非無(wú)法優(yōu)化。在人工智能編譯器階段可以對(duì)緩沖區(qū)進(jìn)行優(yōu)化,大幅壓縮模型總大小。在CEVA,我們很樂(lè)意與你討論以上問(wèn)題和其他想法,以便進(jìn)一步優(yōu)化人工智能神經(jīng)網(wǎng)絡(luò)模型的內(nèi)存使用。

識(shí)別右側(cè)二維碼

立即了解CEVA

更多信息

wKgaomVMQdSAUrT4AAFqtfxSXaM346.png ?

本文作者:Rami Drucker, Machine Learning SW Architect, CEVA


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CEVA
    +關(guān)注

    關(guān)注

    1

    文章

    177

    瀏覽量

    75861

原文標(biāo)題:高效打包邊緣人工智能神經(jīng)網(wǎng)絡(luò)模型

文章出處:【微信號(hào):CEVA-IP,微信公眾號(hào):CEVA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    BP神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的關(guān)系

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network)和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,簡(jiǎn)稱CNN)是兩種在人工智能和機(jī)器學(xué)習(xí)領(lǐng)域
    的頭像 發(fā)表于 07-10 15:24 ?1059次閱讀

    不同的人工神經(jīng)網(wǎng)絡(luò)模型各有什么作用?

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks, ANNs)是一種受生物神經(jīng)網(wǎng)絡(luò)啟發(fā)的計(jì)算模型,廣泛應(yīng)用于各種領(lǐng)域。本文將介紹不同類型的
    的頭像 發(fā)表于 07-05 09:19 ?515次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型包含哪些層次

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)是一種模擬人腦神經(jīng)網(wǎng)絡(luò)的計(jì)算模型,具有自適應(yīng)、自學(xué)習(xí)、泛化能力強(qiáng)等特點(diǎn)。本文將詳細(xì)介紹
    的頭像 發(fā)表于 07-05 09:17 ?463次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型的分類有哪些

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks, ANNs)是一種模擬人腦神經(jīng)元網(wǎng)絡(luò)的計(jì)算模型,它在許多領(lǐng)域,如圖像識(shí)別、語(yǔ)音識(shí)別、自然語(yǔ)言處理、預(yù)測(cè)分析等有著廣泛
    的頭像 發(fā)表于 07-05 09:13 ?855次閱讀

    人工智能神經(jīng)網(wǎng)絡(luò)系統(tǒng)的特點(diǎn)

    人工智能神經(jīng)網(wǎng)絡(luò)系統(tǒng)是一種模擬人腦神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和功能的計(jì)算模型,具有高度的自適應(yīng)性、學(xué)習(xí)能力和泛化能力。本文將介紹人工智能
    的頭像 發(fā)表于 07-04 09:42 ?372次閱讀

    人工智能神經(jīng)網(wǎng)絡(luò)模型有哪些

    人工智能神經(jīng)網(wǎng)絡(luò)模型是一類受人腦啟發(fā)的計(jì)算模型,它們?cè)谠S多領(lǐng)域都取得了顯著的成功。以下是一些常見的神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-04 09:41 ?479次閱讀

    人工智能人工神經(jīng)網(wǎng)絡(luò)有什么區(qū)別

    人工智能是一門研究如何使計(jì)算機(jī)模擬人類智能行為的學(xué)科。它起源于20世紀(jì)40年代,當(dāng)時(shí)計(jì)算機(jī)科學(xué)家們開始嘗試開發(fā)能夠模擬人類思維過(guò)程的計(jì)算機(jī)程序。人工智能的目標(biāo)是通過(guò)計(jì)算機(jī)程序?qū)崿F(xiàn)對(duì)人類智能
    的頭像 發(fā)表于 07-04 09:39 ?923次閱讀

    人工智能神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是什么

    人工智能神經(jīng)網(wǎng)絡(luò)是一種模擬人腦神經(jīng)網(wǎng)絡(luò)的計(jì)算模型,其結(jié)構(gòu)和功能非常復(fù)雜。 引言 人工智能神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-04 09:37 ?424次閱讀

    人工智能神經(jīng)網(wǎng)絡(luò)的工作原理是什么

    人工智能神經(jīng)網(wǎng)絡(luò)的工作原理是一個(gè)復(fù)雜且深入的話題,涉及到多個(gè)領(lǐng)域的知識(shí),包括數(shù)學(xué)、計(jì)算機(jī)科學(xué)、生物學(xué)等。 神經(jīng)網(wǎng)絡(luò)的基本概念 神經(jīng)網(wǎng)絡(luò)是一種受人腦結(jié)構(gòu)啟發(fā)的計(jì)算
    的頭像 發(fā)表于 07-04 09:35 ?489次閱讀

    人工智能神經(jīng)網(wǎng)絡(luò)芯片的介紹

    : 概述 人工智能神經(jīng)網(wǎng)絡(luò)芯片是一種新型的處理器,它們基于神經(jīng)網(wǎng)絡(luò)的計(jì)算模型,通過(guò)模擬人腦神經(jīng)元的連接和交互方式,實(shí)現(xiàn)對(duì)數(shù)據(jù)的
    的頭像 發(fā)表于 07-04 09:33 ?531次閱讀

    神經(jīng)網(wǎng)絡(luò)人工智能的關(guān)系是什么

    神經(jīng)網(wǎng)絡(luò)人工智能的關(guān)系是密不可分的。神經(jīng)網(wǎng)絡(luò)人工智能的一種重要實(shí)現(xiàn)方式,而人工智能則是神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-03 10:25 ?886次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)和bp神經(jīng)網(wǎng)絡(luò)的區(qū)別

    化能力。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,神經(jīng)網(wǎng)絡(luò)已經(jīng)成為人工智能領(lǐng)域的重要技術(shù)之一。卷積神經(jīng)網(wǎng)絡(luò)和BP神經(jīng)
    的頭像 發(fā)表于 07-02 14:24 ?2331次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型及其應(yīng)用有哪些

    ,人工神經(jīng)網(wǎng)絡(luò)已經(jīng)發(fā)展成為機(jī)器學(xué)習(xí)和人工智能領(lǐng)域的重要技術(shù)之一。本文將詳細(xì)介紹人工神經(jīng)網(wǎng)絡(luò)模型
    的頭像 發(fā)表于 07-02 10:04 ?753次閱讀

    神經(jīng)網(wǎng)絡(luò)人工智能的關(guān)系

    在快速發(fā)展的科技領(lǐng)域,人工智能(Artificial Intelligence, AI)和神經(jīng)網(wǎng)絡(luò)(Neural Networks)是兩個(gè)備受矚目的概念。它們之間的聯(lián)系緊密而復(fù)雜,共同推動(dòng)了智能
    的頭像 發(fā)表于 07-01 14:23 ?635次閱讀

    人工智能模型、應(yīng)用場(chǎng)景、應(yīng)用部署教程超詳細(xì)資料

    人工智能是IC行業(yè)近幾年的熱詞,目前此技術(shù)已經(jīng)有很多成熟的模型和落地案例。在此跟大家做個(gè)分享,更多詳細(xì)資料,請(qǐng)自行搜索:【展銳坦克邦】,坦克邦-智算天地集算法模型、部署說(shuō)明于一體,為廣大客戶提供了
    發(fā)表于 11-13 14:49