在過去十幾年里,深度神經(jīng)網(wǎng)絡(DNN)得到了廣泛應用,例如移動手機,AR/VR,IoT和自動駕駛等領(lǐng)域。復雜的用例導致多DNN模型應用的出現(xiàn),例如VR的應用包含很多子任務:通過目標檢測來避免與附近障礙物沖突,通過對手或手勢的追蹤來預測輸入,通過對眼睛的追蹤來完成中心點渲染等,這些子任務可以使用不同的DNN模型來完成。像自動駕駛汽車也是利用一系列DNN的算法來實現(xiàn)感知功能,每個DNN來完成特定任務。然而不同的DNN模型其網(wǎng)絡層和算子也千差萬別,即使是在一個DNN模型中也可能會使用異構(gòu)的操作算子和類型。
此外,Torch、TensorFlow和Caffe等主流的深度學習框架,依然采用順序的方式來處理inference 任務,每個模型一個進程。因此也導致目前NPU架構(gòu)還只是專注于單個DNN任務的加速和優(yōu)化,這已經(jīng)遠遠不能滿足多DNN模型應用的性能需求,更迫切需要底層新型的NPU計算架構(gòu)對多模型任務進行加速和優(yōu)化。而可重配NPU雖然可以適配神經(jīng)網(wǎng)絡層的多樣性,但是需要額外的硬件資源來支持(比如交換單元,互聯(lián)和控制模塊等),還會導致因重配網(wǎng)絡層帶來的額外功耗。
開發(fā)NPU來支持多任務模型面臨許多挑戰(zhàn):DNN負載的多樣性提高了NPU設計的復雜度;多個DNN之間的聯(lián)動性,導致DNN之間的調(diào)度變得困難;如何在可重配和定制化取得平衡變得更具挑戰(zhàn)。此外這類NPU在設計時還引入了額外的性能標準考量:因多個DNN模型之間的數(shù)據(jù)共享造成的延時,多個DNN模型之間如何進行有效的資源分配等。
目前的設計研究的方向大體可以分成以下幾點:多個DNN模型之間并行化執(zhí)行,重新設計NPU架構(gòu)來有效支持DNN模型的多樣性,調(diào)度策略的優(yōu)化等。
DNN之間的并行性和調(diào)度策略:
可以使用時分復用和空間協(xié)同定位等并行性策略。調(diào)度算法則大概可以分為三個方向:靜態(tài)與動態(tài)調(diào)度,針對時間與空間的調(diào)度,以及基于軟件或者硬件的調(diào)度。
時分復用是傳統(tǒng)優(yōu)先級搶占策略的升級版,允許inter-DNN的流水線操作,來提高系統(tǒng)資源的利用率(PE和memory等)。這種策略專注調(diào)度算法的優(yōu)化,好處是對NPU硬件的改動比較少。
空間協(xié)同定位則專注于多個DNN模型執(zhí)行的并行性,也就是不同DNN模型可以同時占用NPU硬件資源的不同部分。這要求在設計NPU階段就要預知各個DNN網(wǎng)絡的特性以及優(yōu)先級,以預定義那部分NPU硬件單元分配給特定的DNN網(wǎng)絡使用。分配的策略可以選擇DNN運行過程中的動態(tài)分配,或者是靜態(tài)分配。靜態(tài)分配依賴于硬件調(diào)度器,軟件干預較少。空間協(xié)同定位的好處是可以更好的提高系統(tǒng)的性能,但是對硬件改動比較大。
動態(tài)調(diào)度與靜態(tài)調(diào)度則是根據(jù)用戶用例的特定目標來選擇使用動態(tài)調(diào)度或者靜態(tài)調(diào)度。
動態(tài)調(diào)度的靈活性更高,會根據(jù)實際DNN任務的需求重新分配資源。動態(tài)調(diào)度主要依賴于時分復用,或者利用動態(tài)可組合引擎 (需要在硬件中加入動態(tài)調(diào)度器),算法則多數(shù)選擇preemptive策略或者AI-MT的早期驅(qū)逐算法等。
對于定制化的靜態(tài)調(diào)度策略,可以更好的提高NPU的性能。這種調(diào)度策略是指在NPU設計階段就已經(jīng)定制好特定硬件模塊去處理特定神經(jīng)網(wǎng)絡層或者特定的操作。這種調(diào)度策略性能高,但是硬件改動比較大。
異構(gòu)NPU架構(gòu):
結(jié)合動態(tài)可重構(gòu)和定制化的靜態(tài)調(diào)度策略,在NPU中設計多個子加速器,每個子加速器都是針對于特定的神經(jīng)網(wǎng)絡層或者特定的網(wǎng)絡操作。這樣調(diào)度器可以適配多個DNN模型的網(wǎng)絡層到合適的子加速器上運行,還可以調(diào)度來自于不同DNN模型的網(wǎng)絡層在多個子加速器上同步運行。這樣做既可以節(jié)省重構(gòu)架構(gòu)帶來的額外硬件資源消耗,又可以提高不同網(wǎng)絡層處理的靈活性。
異構(gòu)NPU架構(gòu)的研究設計可以主要從這三個方面考慮:
1)如何根據(jù)不同網(wǎng)絡層的特性設計多種子加速器;
2)如何在不同的子加速器之間進行資源分布;
3)如何調(diào)度滿足內(nèi)存限制的特定網(wǎng)絡層在合適的子加速器上執(zhí)行。
審核編輯 :李倩
-
加速器
+關(guān)注
關(guān)注
2文章
833瀏覽量
39623 -
神經(jīng)網(wǎng)絡
+關(guān)注
關(guān)注
42文章
4820瀏覽量
106264 -
算力芯片
+關(guān)注
關(guān)注
0文章
56瀏覽量
5003
原文標題:ADS算力芯片的多模型架構(gòu)研究
文章出處:【微信號:iotmag,微信公眾號:iotmag】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
大算力芯片的生態(tài)突圍與算力革命
名單公布!【書籍評測活動NO.41】大模型時代的基礎(chǔ)架構(gòu):大模型算力中心建設指南
大模型時代的算力需求
名單公布!【書籍評測活動NO.43】 算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析
【「大模型時代的基礎(chǔ)架構(gòu)」閱讀體驗】+ 未知領(lǐng)域的感受
【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗】--全書概覽
【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗】+NVlink技術(shù)從應用到原理
1000TOPS背后的“大算力芯片”
淺談為AI大算力而生的存算-體芯片

浪潮信息與智源研究院攜手共建大模型多元算力生態(tài)
科技云報到:要算力更要“算利”,“精裝算力”觸發(fā)大模型產(chǎn)業(yè)新變局?
AIGC算力基礎(chǔ)設施技術(shù)架構(gòu)與行業(yè)實踐

評論