如今,人工智能應(yīng)用正在滲透入大眾生活的方方面面,自動(dòng)駕駛技術(shù)的行人檢測(cè)、數(shù)碼相機(jī)的圖像質(zhì)量增強(qiáng)、AI美顏、語(yǔ)音識(shí)別……這些人工智能應(yīng)用的背后離不開(kāi)硬件的支持。雖然神經(jīng)網(wǎng)絡(luò)處理器(NPU)在性能、效率和算法靈活性方面已優(yōu)于可編程的DSP,但這并不意味著 AI 處理中不需要 DSP。恰恰相反,對(duì)于許多應(yīng)用的AI子系統(tǒng)來(lái)說(shuō),神經(jīng)網(wǎng)絡(luò)處理器(NPU)與矢量DSP是絕佳組合。
哪些應(yīng)用需要用到DSP?NPU和DSP該如何更好的配置?行業(yè)內(nèi)是否有現(xiàn)成的解決方案可供選擇?本文將針對(duì)這些問(wèn)題一一進(jìn)行講解。
DSP在AI應(yīng)用中發(fā)揮重要作用
從眾多神經(jīng)網(wǎng)絡(luò)處理需求來(lái)看,例如卷積神經(jīng)網(wǎng)絡(luò) (CNN) 或轉(zhuǎn)換器,任何可以執(zhí)行乘法運(yùn)算并移動(dòng)大量數(shù)據(jù)的處理器最終都可以執(zhí)行這些計(jì)算密集型模型。借助先進(jìn)的量化技術(shù),經(jīng)過(guò)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)的32位浮點(diǎn)輸出可以在 8 位整數(shù)控制器或處理器上運(yùn)行,而且精度幾乎沒(méi)有降低。這意味著可以在 CPU、GPU、DSP 甚至MCU上處理CNN推理,準(zhǔn)確度不受影響。
目前在行業(yè)內(nèi)通常用TOPS(每秒萬(wàn)億次運(yùn)算)來(lái)衡量AI處理器的性能,也稱(chēng)之為“算力”。TOPS 的計(jì)算方式為:一個(gè)周期內(nèi)可以完成的運(yùn)算次數(shù)(一次乘積累加視為兩次運(yùn)算)x最大頻率。這是很好的首次性能估算,因?yàn)榇蟛糠钟?jì)算由對(duì)矩陣乘法的需求驅(qū)動(dòng),而矩陣乘法需要乘積累加運(yùn)算。
按照這種計(jì)算方法,讓我們來(lái)看下不同處理器類(lèi)型的理想TOPS。具有DSP擴(kuò)展的CPU可以每個(gè)時(shí)鐘周期執(zhí)行一次乘積累加 (MAC) 并以 2GHz的速度運(yùn)行,其運(yùn)算能力為:2GHz x 2次運(yùn)算(包括乘積和累加)x 1 MAC/周期 = 4 GOPS 或 0.004 TOPS(1TOPS等于1000 GOPS)。以此類(lèi)推,矢量DSP的理想TOPS為1.2,高端的NPU將達(dá)到255.6 TOPS。如表1中所示,從理想的算力能力上來(lái)看,神經(jīng)處理單元 (NPU) 是獲得最高計(jì)算能力的最佳選擇。
表1 :各種處理器的大致性能范圍
誠(chéng)然,計(jì)算能力固然重要,但一些應(yīng)用對(duì)實(shí)時(shí)性能的要求也很高。如在汽車(chē)應(yīng)用中,當(dāng)一輛汽車(chē)以 70 英里/小時(shí)的速度沖向行人,需要迅速?zèng)Q定是否要?jiǎng)x車(chē)。多攝像頭配置、高分辨率、最低延遲,這些因素都對(duì)計(jì)算效率提出了更高要求,以幫助汽車(chē)做出生死攸關(guān)的決定。因此,我們需要更謹(jǐn)慎地選擇用于處理AI推理的處理器。
GPU在AI計(jì)算中也可以提供高性能,但由于其功耗和面積成本很高,對(duì)于實(shí)時(shí)應(yīng)用來(lái)說(shuō)難以接受,所以并未在上表中列出。事實(shí)上,上表中所列的每種處理器都需要不同級(jí)別的功率和面積才能達(dá)到所需的運(yùn)算能力。對(duì)于實(shí)時(shí)應(yīng)用來(lái)說(shuō),功耗和面積(與成本和可制造性直接相關(guān))幾乎與性能同樣重要。理論上來(lái)說(shuō),NPU經(jīng)過(guò)設(shè)計(jì)和優(yōu)化,是執(zhí)行神經(jīng)網(wǎng)絡(luò)算法時(shí)性能、功耗和面積效率最高的處理器。
但是,并非每個(gè)AI應(yīng)用都需要NPU提供的最高級(jí)別的神經(jīng)網(wǎng)絡(luò)性能。如下圖1所示,不同的AI應(yīng)用涵蓋從幾GOPS到數(shù)千TOPS的各種性能要求。當(dāng)你的AI應(yīng)用所需算力小于1 TOPS時(shí),具有DSP擴(kuò)展的CPU或者矢量DSP是比較理想的選擇;而當(dāng)算力要求高于1 TOPS時(shí),NPU的 AI 性能效率、功耗效率和面積效率毋庸置疑。
圖 1:AI 應(yīng)用有各種各樣的性能要求。
NPU 的最佳效率來(lái)自每個(gè)周期可以完成的大量乘積,以及一些專(zhuān)用于其他神經(jīng)網(wǎng)絡(luò)運(yùn)算(例如激活函數(shù))的硬件。NPU 面臨的挑戰(zhàn)是如何實(shí)現(xiàn)最大硬件加速,從而最大限度地提高神經(jīng)網(wǎng)絡(luò)效率,還要保持一定程度的可編程性。雖然現(xiàn)在全硬件神經(jīng)網(wǎng)絡(luò)ASIC比可編程 NPU更高效,但AI技術(shù)發(fā)展迅速,AI SoC的生產(chǎn)周期很長(zhǎng),因此保持一定程度的可編程性至關(guān)重要。
而且,NPU是專(zhuān)用的神經(jīng)處理器引擎,只能執(zhí)行AI計(jì)算。如果將矢量DSP和NPU結(jié)合使用,利用矢量DSP對(duì)NPU進(jìn)行支持,就可以提供最高性能和額外的可編程性。例如,在自動(dòng)駕駛汽車(chē)中,需要利用NPU來(lái)尋找行人、識(shí)別街道標(biāo)志、使用神經(jīng)網(wǎng)絡(luò)進(jìn)行雷達(dá)處理,在這些多應(yīng)用處理中,系統(tǒng)可利用矢量DSP來(lái)為NPU進(jìn)行額外篩選、雷達(dá)或LiDAR處理以及預(yù)處理和后處理。
NPU+DSP的三種配置方式
圖2顯示了在 AI 應(yīng)用中將NPU和矢量DSP結(jié)合使用的各種可能性。在圖中所示的三種情況下,高分辨率圖像幀位于DDR內(nèi)存中,等待在下一幀到達(dá)之前得到處理。
圖 2:矢量DSP和神經(jīng)網(wǎng)絡(luò)性能的不同組合。
在第一種配置中(左側(cè)),矢量 DSP本身既可用于DSP處理也可用于一部分AI處理,這屬于運(yùn)算能力低于 1 TOPS 的用例,這種配置需要大型DSP+小型AI。這種配置的具體示例是為永磁同步電機(jī) (PMSM) 執(zhí)行無(wú)傳感器磁場(chǎng)定向控制 (FOC) 的矢量 DSP。基于 DSP 的電機(jī)控制通過(guò) AI 處理實(shí)現(xiàn)擴(kuò)展,AI 處理的作用是執(zhí)行位置監(jiān)控,并將相關(guān)信息反饋到控制回路。AI 模型的采樣率和計(jì)算復(fù)雜性使其能夠與矢量DSP的AI功能相適應(yīng)。
在第二種配置中(中間),AI SoC 需要很高的矢量DSP性能和AI 性能,這種配置是大型 AI+大型 DSP。當(dāng)矢量DSP處理高度依賴(lài)DSP的任務(wù)時(shí),需要用NPU為AI密集型任務(wù)提供的神經(jīng)網(wǎng)絡(luò)加速作為補(bǔ)充。數(shù)碼相機(jī)就是這種配置,矢量 DSP 可以對(duì) NPU 執(zhí)行視覺(jué)處理以及預(yù)處理和后處理支持,而 NPU 則專(zhuān)用于對(duì)高分辨率圖像進(jìn)行 CNN 或轉(zhuǎn)換器處理(對(duì)象檢測(cè)、語(yǔ)義分割、超分辨率等)。這些用例需要緊密集成的矢量 DSP 和 NPU 解決方案,而且可進(jìn)行擴(kuò)展以適應(yīng)性能目標(biāo)。
第三個(gè)配置是小型 DSP+大型 AI。所有的處理都集中在神經(jīng)網(wǎng)絡(luò)上,雖然這些神經(jīng)網(wǎng)絡(luò)通常可以在 NPU 中執(zhí)行,但有一些更復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型需要矢量 DSP 的支持來(lái)執(zhí)行浮點(diǎn)運(yùn)算,如Mask-RCNN 的 ROI 池化和 ROI 對(duì)齊,或 Deeplab v3 使用的非整數(shù)比例因子。即使 AI SoC 不需要任何額外的 DSP 處理,納入一定程度的矢量 DSP 性能來(lái)支持 NPU 還是有好處的,這可以更好地適應(yīng)未來(lái)的發(fā)展需求。
新思科技ARC EV7x能夠?qū)崿F(xiàn)
矢量DSP和NPU緊密耦合
雖然市場(chǎng)上有多種矢量DSP和NPU供選擇,但對(duì)于第二種和第三種配置,最好選擇包含緊密集成處理器的 AI 解決方案。一些神經(jīng)網(wǎng)絡(luò)加速器將矢量DSP嵌入到神經(jīng)網(wǎng)絡(luò)解決方案中,這樣限制了矢量DSP用于外部編程。
而新思科技的ARC EV7x 視覺(jué)處理器是異構(gòu)處理器,它將矢量DSP與可選的神經(jīng)網(wǎng)絡(luò)引擎緊密耦合。為了提高客戶的靈活性和可編程性,ARC EV7x系列正在發(fā)展成為 ARC VPX 矢量 DSP 系列和 ARC NPX NPU 系列。VPX 和 NPX 是緊密耦合的 AI 解決方案。圖 3 顯示了這兩種處理器的粗略框圖及其互連方式。
圖 3:新思科技 ARC VPX5 和 ARC NPX6 的緊密耦合型組合
ARC VPX DSP IP在基于超長(zhǎng)指令字 (VLIW)/單指令多數(shù)據(jù) (SIMD) 架構(gòu)的并行 DSP 處理方面表現(xiàn)出色,并針對(duì)嵌入式工作負(fù)載的功耗、性能和面積 (PPA) 要求進(jìn)行了優(yōu)化??蓪?VPX 系列配置為支持浮點(diǎn)和多種整數(shù)格式(包括用于 AI 推理的 INT8 運(yùn)算)。VPX 系列在 128 位(VPX2、VPX2FS)、256 位(VPX3、VPX3FS)和 512 位(VPX5、VPX5FS)矢量字上運(yùn)行,因此可提供多種性能,還可以從單核擴(kuò)展到四核。這樣可以每個(gè)周期提供 16 個(gè) INT8 MAC 至 512 個(gè) INT8 MAC(在四核 VPX5 上使用雙 MAC 配置)。
ARC NPX NPU IP專(zhuān)用于 NN 處理,還針對(duì)實(shí)時(shí)應(yīng)用的 PPA 要求進(jìn)行了優(yōu)化。該系列從每個(gè)周期 4096 個(gè) MAC 的版本擴(kuò)展到每個(gè)周期 96000 個(gè) MAC 的版本,然后可以擴(kuò)展到多個(gè)實(shí)例。NXP6 系列在單個(gè) SoC 上的 AI 性能可從 1 TOPS 擴(kuò)展到 1000 TOPS。它還針對(duì) CNN 的最新神經(jīng)網(wǎng)絡(luò)模型和新興的轉(zhuǎn)換器模型類(lèi)別進(jìn)行了優(yōu)化。
如圖 3 所示,VPX 和 NPX 系列緊密集成。ARCsync 是額外的 RTL,可在處理器之間提供中斷控制。數(shù)據(jù)通過(guò)外部 NOC 或 AXI 總線傳遞,這類(lèi)總線通常已在 SoC 系統(tǒng)中存在。雖然兩個(gè)處理器可以完全獨(dú)立運(yùn)行,但 VPX5 能夠根據(jù)需要訪問(wèn) NPX6 的 L2 內(nèi)存。
通用軟件開(kāi)發(fā)工具鏈 ARC MetaWare MX 也支持 VPX5 和 NPX6 的緊密集成,該工具鏈支持 NXP 和 VPX 的任意組合。SoC 架構(gòu)師可以使用這些可擴(kuò)展處理器系列選擇 DSP 性能和 AI 性能的正確組合,以最大限度地提高性能并減少面積開(kāi)銷(xiāo)。對(duì)于高度依賴(lài) AI 的工作負(fù)載,“大型 AI,小型 DSP”配置的經(jīng)驗(yàn)法則是,每 8000 或 16000 個(gè) MAC 為 NPX 配備一個(gè) VPX5(具體取決于模型和工作負(fù)載)。對(duì)于 NPX6-64K 配置,建議至少使用四個(gè) VPX5 內(nèi)核。
結(jié)語(yǔ)
誠(chéng)然,對(duì)于特定任務(wù)(例如行人對(duì)象檢測(cè)),神經(jīng)網(wǎng)絡(luò)處理已經(jīng)取代了 DSP 處理,但矢量 DSP 的 SIMD 功能與 DSP 支持功能和 AI 支持功能相結(jié)合,可使其成為 AI 系統(tǒng)的重要組成部分。隨著嵌入式應(yīng)用對(duì) AI 處理的需求持續(xù)增長(zhǎng),要實(shí)現(xiàn)靈活設(shè)計(jì),建議的最佳做法是結(jié)合使用 NPU 和矢量 DSP,前者用于AI處理,后者用于提供對(duì)NPU支持和DSP處理,這樣有助于為快速發(fā)展的AI提供具有前瞻性的AI SoC。
審核編輯 :李倩
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4772瀏覽量
100838 -
AI
+關(guān)注
關(guān)注
87文章
30996瀏覽量
269290 -
自動(dòng)駕駛
+關(guān)注
關(guān)注
784文章
13838瀏覽量
166529
原文標(biāo)題:AI應(yīng)用的絕佳組合:NPU+DSP!
文章出處:【微信號(hào):AI智勝未來(lái),微信公眾號(hào):AI智勝未來(lái)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論