摘要:當前,隨著異構計算技術的快速發展,如何高效部署深度神經網絡成為業界關注的焦點。文章重點研究了面向邊緣場景的神經網絡加速技術,通過剖析現有NPU架構的優缺點,提出了一套低功耗加速方案。該方案有效結合了流水線并行與循環展開技術,顯著提升了計算資源利用率,同時在數據調度與存儲管理方面實現了有效優化。在采用混合精度模式時,DSP與BRAM資源利用率分別達到98.15%與72.44%,相較于CPU基準實現獲得了37.3倍的性能提升。此外,該方案的平均功耗僅為5.85 W,功耗波動控制在7.2%以內,為神經網絡在邊緣設備上的實際應用提供了可靠的技術路徑。
關鍵詞:神經網絡處理器(NPU) ;異構計算;深度學習加速;邊緣計算;流水線優化
中圖分類號:TP18" " " 文獻標識碼:A
文章編號:1009-3044(2025)18-0095-03
開放科學(資源服務) 標識碼(OSID)
0 引言
近年來,人工智能技術的突飛猛進推動神經網絡在自動駕駛與智能醫療等領域的廣泛應用。然而,依賴傳統GPU與CPU進行深度學習推理時,高功耗與高延遲問題日益凸顯,極大限制了神經網絡在邊緣設備的落地,為此,專為神經網絡計算優化的NPU(神經網絡處理器) 憑借其出色的并行計算能力與能效優勢,成為行業關注的重點方向。本研究深入分析當前NPU架構的局限性,并提出一種面向邊緣計算的高效神經網絡加速方案。通過多級優化策略,該方案在計算性能與能源效率上均實現顯著提升。
1 NPU架構發展現狀與分析
在異構計算中,GPU與FPGA是兩種重要的加速器形式,其中GPU提供了強大的并行計算能力,而NPU作為深度學習專用處理器,通過集成專用的矩陣乘法單元與高效的卷積加速電路,在神經網絡任務上展現出獨特優勢。隨著人工智能技術從實驗室走向實際應用,計算架構正經歷一場深刻變革——從傳統CPU向異構計算的轉型已成定局。在這一進程中,NPU(神經網絡處理器) 作為深度學習加速的專用芯片,其架構設計實現重大進展:從早期的單一計算單元發展到如今的多核并行處理架構[1]。現代NPU普遍采用SIMT(單指令多線程) 并行計算架構,并集成專用矩陣乘法單元(MMU) 與卷積加速器,以高效處理神經網絡中密集的張量運算。相較于數據中心級NPU,邊緣端設備必須在嚴苛的功耗與資源限制下保持高效推理能力。為此,新一代邊緣NPU采用了靈活可配置的計算單元架構,以及動態功耗管理結合精度可調的智能計算策略。
2 基于新型NPU架構的加速器設計
2.1 加速器總體架構
針對邊緣計算場景的特殊需求,本文設計了一種基于ZYNQ-7020的異構NPU加速器架構。圖1示意了ARM+FPGA異構加速器的層級架構,該架構采用ARM+FPGA的異構計算模式,充分利用兩種處理器的優勢特點。其中,ARM處理器作為系統的中央控制單元,負責協調接口映射、數據交互及任務調度等核心功能,而FPGA端則集成了包括標準卷積、逐點卷積及上采樣等在內的通用計算單元IP核[2]。在數據傳輸方面,系統采用“加載—計算—寫回”三級計算通信機制,在ARM處理器端將外部存儲的數據流先加載到主存,再經由數據緩存傳輸到FPGA片上緩存區,最終以多維數組形式參與計算任務,有效降低了訪存延遲,提升了整體計算效率。
2.2 流水線并行優化設計
為充分發揮NPU的并行計算能力,本文采用多級流水線并行優化設計,如圖2所示,通過Xilinx Vitis HLS 2020.2工具將高層算法描述轉換為RTL級硬件實現。本設計采用以下兩種關鍵優化策略:
1) 循環展開優化:針對5×5卷積核的計算,采用pragma HLS unroll指令將原本需要25個時鐘周期的串行運算轉化為單周期并行執行。
2) 流水線并行優化:通過設置pragma HLS pipeline II=2指令,使得相鄰指令之間能夠在保證數據依賴的前提下實現重疊執行,有效提升了計算吞吐率。
2.3 計算資源調度策略
針對異構架構下的資源調度問題,本文設計了一套基于任務優先級的動態調度策略。LeNet-5網絡結構包含卷積層與池化層,其中卷積層需要大量的乘累加運算,而池化層則主要進行比較操作[4]。考慮到ZYNQ-7020的片上資源限制(DSP:220個,LUT:53 200個,BRAM:4.9 MB) ,系統采用層間流水線結構進行并行計算,根據每層任務的計算特性與硬件資源利用率,每個時鐘周期動態分配計算資源。在卷積層執行期間,優先分配DSP資源以支持大量的乘累加運算,而在池化層計算階段,則主要使用LUT資源進行比較操作。這種細粒度的資源調度策略使得系統在處理不同類型的神經網絡層時能夠保持較高的硬件利用率。
3 神經網絡加速方法研究與實現
3.1 NPU指令集優化
針對邊緣計算場景的神經網絡特點,本文提出基于Vitis HLS的NPU指令集優化方案。該方案主要圍繞卷積運算展開,通過對5×5卷積核計算過程的重構,利用pragma HLS unroll指令將傳統的25個時鐘周期的串行計算轉化為單周期并行執行。經優化后,卷積計算的基本過程可表述為:
[output(w,h,m) += input(w+x,h+y,c)×filter(m,x,y,c)] (1)
式中:w與h分別表示輸出特征圖的寬度與高度坐標,m為輸出通道索引,x與y為卷積核坐標,c為輸入通道索引,通過指令級優化,系統實現了從串行到并行的計算模式轉換,顯著提升了NPU的計算效率。經測試,該指令集優化方案使卷積運算的計算延時降低了約95%,同時DSP資源利用率提升至96.82%。
3.2 數據流優化與存儲分配
1) 針對神經網絡推理過程中的數據訪問特征,本文設計了一種層間緩存的數據流優化策略,考慮到ZYNQ-7020平臺的資源限制,系統采用“加載—計算—寫回”三級計算通信機制。2) 通過在PS與PL之間建立高效的數據傳輸通道,具體而言,數據首先從外部存儲加載至DDR內存,隨后經由數據緩存傳輸到FPGA片上緩存區,最終以多維數組形式參與計算[5]。3) 優化后的多級緩存結構通過合理的數據分塊策略,確保了對片上存儲資源的高效利用。該策略使得系統在處理LeNet-5網絡時,能夠達到70.36%的BRAM利用率,同時將數據傳輸開銷降至最低。上述三級優化策略形成了完整的數據流水線,通過降低訪存延遲、提高數據吞吐率及優化資源利用率,實現了數據傳輸與計算的高效協同。
3.3 運算精度優化策略
為了在保證推理精度的同時降低計算復雜度,本文實現了一種動態精度調節機制。通過對LeNet-5網絡不同層的計算特性分析,采用混合精度量化策略,在關鍵卷積層保持較高精度計算,而在精度要求相對較低的池化層采用低精度運算。系統支持從32位浮點數到16位定點數的靈活轉換,采用Vitis Quantizer工具進行定點化處理,量化參數通過對1000個測試樣本的激活值分布進行統計分析得到。在關鍵層的計算中,采用均方誤差(MSE) 評估量化效果,結果顯示量化誤差控制在1%以內。經過精度優化后的系統在保持識別準確率的同時,功耗僅為傳統GPU平臺的1/8。
4 實驗評估與性能分析
4.1 實驗平臺與評估方法
本研究選擇ZYNQ-7020作為實驗驗證平臺,該平臺集成了ARM處理器與FPGA可編程邏輯,是典型的異構計算架構代表。實驗采用LeNet-5網絡作為基準測試模型,使用MNIST數據集進行訓練與測試,重點關注計算性能、資源利用率及功耗效率三個核心指標。為確保評估的準確性,在相同的數據規模與運行環境下,分別對CPU(Intel i5-12490F) 、GPU(RTX 3060) 及本文提出的NPU加速方案進行對比測試。實驗采用Vitis HLS工具鏈完成從高層算法到RTL實現的轉換,通過AXI協議實現PS端與PL端的高效數據交互,功耗測試使用Agilent 34410A高精度萬用表進行采樣記錄,采樣頻率為1 kHz,確保測量數據的時序精確性。
4.2 性能對比與分析
為全面評估所提出的NPU加速方案的性能優勢,本研究在實驗設計中采用統一的測試數據集與評估標準,確保不同平臺間的性能數據具有可比性(如表1所示) 。
在同等工作頻率(約1 GHz) 下,CPU單線程與多線程模式分別實現了2.5 GFLOPS與3.8 GFLOPS的吞吐率,采用TensorRT優化的GPU方案在絕對推理速度上表現最佳,達到426.8 GFLOPS。本文提出的NPU加速方案在混合精度模式下達到了15.68 GFLOPS,雖然推理速度不及GPU,但其硬件資源利用率顯著提升,DSP與BRAM利用率分別達到98.15%與72.44%,在邊緣計算場景中展現出獨特優勢。
4.3 能耗評估結果
在邊緣計算場景中,能耗效率往往是比計算性能更為關鍵的指標。為系統評估能耗效率,采用以下評價指標:1) 單次推理能耗(J) = 平均功耗(W) × 推理時間(s);2) 節能率(%) = (1 - 當前方案能耗/CPU單線程能耗) × 100%;3) 能效比(GFLOPS/W) = 吞吐率/平均功耗。為評估本文提出方案的能耗優勢,針對不同計算平臺在執行相同神經網絡推理任務時的功耗特性進行系統測試(如表2所示) 。
如表2所示,在相同模型規模下,CPU多線程相比單線程模式節能率提升了16.3%。GPU方案雖然功耗高達48 W,但由于其強大的計算能力,實現了最高的能效比9.442 GFLOPS/W。本文提出的NPU加速方案在混合精度模式下,平均功耗僅為5.85 W,較單精度模式(6.21 W) 降低約6%,同時功耗波動控制在7.2%以內,展現出優秀的能效特性,混合精度模式下的能效比達到2.680 GFLOPS/W,相較于單精度模式提升了24%,驗證了精度優化策略的有效性。
5 結束語
本文針對邊緣計算場景下神經網絡高效部署的挑戰,提出了一種基于ARM+FPGA的異構CNN加速器方案。通過軟硬件協同設計,實現了從高層算法到RTL實現的快速映射,并在加速器架構與資源調度等方面進行了系統性創新。實驗結果表明,該方案在ZYNQ-7020平臺上工作頻率達到130 MHz,在混合精度模式下實現了13.40 GOPS的吞吐率與2.680 GOPS/W的能效比,功耗僅為5.85 W。這些性能指標驗證了本文所提出的異構加速方案在邊緣計算場景下實現了高效低功耗的神經網絡推理。未來可進一步探索細粒度的片上存儲分配策略與動態功耗管理機制,將重點研究自適應量化算法與多任務調度策略,以適應更加復雜的應用場景與更大規模的神經網絡模型。
參考文獻:
[1] 謝志豪,李國剛.軟硬件協同設計的異構CNN加速器[J].華僑大學學報(自然科學版),2025,46(2):209-216.
[2] 喻緒邦,吳濟文,夏宏,等.嵌入式異構智能計算系統的PCIe總線傳輸帶寬優化[J/OL].計算機應用,2025.[2025-03-31].10.11772/j.issn.1001-9081.2024091299.
[3] 葛培洲,于清玥,宋宇波.異構環境下的聯邦強化學習分布式決策優化[J/OL].微電子學與計算機,2025.[2025-03-31].https://kns.cnki.net/kcms2/article/abstract?v=gPdQxwyUTL9G HOrdijrDhd1wKo8lgyfCj_OT040RkHZ3PuYAANXXELF7CV3l0J RyAq-37KGRAL1KWaBmtbD-lErUIvEJB6GIkDomDbzMDIfSf 2icit-57XYK3Cf1wrC4l6x3Rq-5ELE3ZIXKIvZdbgFGoMzZT4 AYfUw28dAgUag=amp;uniplatform=NZKPT.
[4] 賀鞏山,趙傳磊,蔣金虎,等.面向深度學習的數據存儲技術綜述[J/OL].計算機學報,2025.[2025-03-31].https://kns.cnki.net/kcms2/article/abstract?v=gPdQxwyUTL-7Bla7oEi_8DOQ62 pkou5qmlEm24cD3CQp-wqQPyunCX7_oDOSh0So6yIVDM-qOq HhHN-6zb3sQMNOTbME9v5vxRKyulCisEafXNAXa0mTq4Tt TZKvTWm2OUCZ4GfyC6Ee2O7UmWFXOVmA8082mXAbamp;uniplatform=NZKPT.
[5] 顧蓓蓓,邱霽巖,王寧,等.一種異構系統下計算軟件性能數據采集方法[J/OL].計算機研究與發展,2025.[2025-03-31].https://kns.cnki.net/kcms2/article/abstract?v=gPdQxwyUTL-cfByHGGKysCyzImj4bNhBskp3QMG9PGIYAzSfuJ2Mf0RPYfy2eojjRaCkOwEEs5ktQCBw2qP7W3ownftHp4Bz41Rwaa9ROMWB 8jlCEJp6BRHU1bkksuY15g1ncmVbHI_PfgBLfzn9f96a10b1skw-IMD--JdS170=amp;uniplatform=NZKPT.
【通聯編輯:謝媛媛】