邊緣AI對(duì)可擴(kuò)展加速器的需求
來源︱The Linley Group
文︱Mike Demler
人工智能(AI)正在迅速從數(shù)據(jù)中心轉(zhuǎn)移到邊緣計(jì)算。開發(fā)人員通常使用通用CPU和GPU內(nèi)核來開發(fā)和訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,但這些內(nèi)核的效率遠(yuǎn)低于用于推理任務(wù)的專用加速器。盡管快速增長(zhǎng)的市場(chǎng)導(dǎo)致眾多企業(yè)家推出邊緣AI初創(chuàng)公司,但很少有人能夠開發(fā)出包括生產(chǎn)系統(tǒng)所需硬件和軟件的完整解決方案。算法開發(fā)人員已經(jīng)發(fā)布了許多在線免費(fèi)提供的神經(jīng)網(wǎng)絡(luò)模型,亞馬遜、谷歌和微軟等科技巨頭提供了在云端運(yùn)行這些模型的平臺(tái),但邊緣AI部署需要對(duì)每個(gè)細(xì)分市場(chǎng)進(jìn)行更細(xì)粒度的優(yōu)化。
邊緣AI市場(chǎng)包括許多不同的應(yīng)用,從嵌入式設(shè)備到企業(yè)、工業(yè)、零售和智能城市管理系統(tǒng)的本地服務(wù)器。這些應(yīng)用涵蓋了廣泛的性能范圍,從嵌入式中每秒不到一萬億次操作(TOPS)開始,到在邊緣服務(wù)器中達(dá)到數(shù)十萬億次或數(shù)百萬億次(TOPS)操作。為避免為每個(gè)細(xì)分市場(chǎng)使用不同的平臺(tái),設(shè)計(jì)人員應(yīng)選擇可擴(kuò)展的加速器和軟件堆棧,以滿足其所針對(duì)的不同的細(xì)分市場(chǎng)需求。
邊緣服務(wù)器的趨勢(shì)是通過在PCIe插卡上添加專用加速器來從CPU上卸載AI;贔PGA的加速器具有可配置性支持各種應(yīng)用的優(yōu)勢(shì),而且比定制芯片的上市時(shí)間更短。同時(shí)還允許用戶修改架構(gòu)以在現(xiàn)場(chǎng)安裝新模型以及優(yōu)化加速器以處理不同的工作負(fù)載。另一方面,ASIC更適合具有固定要求的嵌入式系統(tǒng)和大批量的消費(fèi)電子產(chǎn)品。
許多IP供應(yīng)商為ASIC或FPGA提供了可授權(quán)AI加速器,但很少有供應(yīng)商能夠提供兩者均適用的AI加速器。AI初創(chuàng)公司EdgeCortix是一個(gè)例外。該公司開發(fā)了一個(gè)名為動(dòng)態(tài)神經(jīng)加速器(DNA)的高度可配置硬件平臺(tái),為FPGA提供1.2到15 TOPS的算力,為ASIC提供高達(dá)54 TOPS的算力。對(duì)于需要更高吞吐量的系統(tǒng),設(shè)計(jì)人員可以安裝多個(gè)PCIe卡或?qū)⒍鄠(gè)ASIC內(nèi)核連接到SoC的AXI總線。
但除了這種高度可擴(kuò)展的架構(gòu)外,同時(shí)為ASIC和FPGA設(shè)計(jì)提供服務(wù)的關(guān)鍵是該公司的多模塊高效可重配置加速器(Mera)軟件。通過Mera和DNA內(nèi)核的結(jié)合,針對(duì)可編程邏輯和定制芯片,設(shè)計(jì)人員可以使用相同的工具。同時(shí)還可以從Mera基于云的平臺(tái)支持中受益;Xilinx應(yīng)用商店就是一個(gè)例子,其進(jìn)一步加快了部署速度,并支持對(duì)網(wǎng)聯(lián)設(shè)備進(jìn)行無線(OTA)更新。這家初創(chuàng)公司已經(jīng)在Alveo和Zynq UltraScale+FPGA上證明了自己的技術(shù),報(bào)告了MLPerf測(cè)試套件的結(jié)果,并且該公司正在開發(fā)一種測(cè)試芯片來展示DNA在ASIC中的性能。
邊緣AI對(duì)可擴(kuò)展加速器的需求
EdgeCortix DNA-F系列非常適合邊緣服務(wù)器,而DNA-A系列可滿足更廣泛的ASIC功率預(yù)算和性能要求。然而,兩種產(chǎn)品的底層架構(gòu)特性是相同的,為客戶提供了高度可配置和可擴(kuò)展的推理引擎。
如圖1所示,DNA架構(gòu)通過將多個(gè)內(nèi)核連接至可配置互連總線進(jìn)行擴(kuò)展。在每個(gè)內(nèi)核中,卷積引擎使用INT8數(shù)據(jù)執(zhí)行大多數(shù)操作。矢量引擎處理激活函數(shù),以及池化、采樣和其他非卷積層。DNA設(shè)計(jì)中引擎的組成和數(shù)量是可配置的。
圖1:EdgeCortix DNA架構(gòu)。每個(gè)DNA內(nèi)核包括兩個(gè)卷積引擎:一個(gè)用于逐點(diǎn)操作,另一個(gè)用于深度運(yùn)算。向量單元處理最常見的激活函數(shù),以及池化、采樣和其他非卷積層。該架構(gòu)允許配置各種引擎的數(shù)量和類型,以及連接多個(gè)內(nèi)核以擴(kuò)展性能。
內(nèi)部SRAM的大小和數(shù)量也是可配置的。DNA將數(shù)據(jù)和網(wǎng)絡(luò)參數(shù)存儲(chǔ)在三個(gè)不同的內(nèi)存塊中,但這些塊共享相同的物理資源。AccMem是一個(gè)累加器,用于保存激活函數(shù)和卷積操作之間的中間結(jié)果。顧名思義,DataMem存儲(chǔ)激活函數(shù),WeightMem存儲(chǔ)神經(jīng)網(wǎng)絡(luò)權(quán)重和偏差值。
EdgeCortix提供了五種針對(duì)Xilinx Alveo和Zynq UltraScale+FPGA進(jìn)行優(yōu)化的DNA-F模型。DNA-A內(nèi)核更具可定制性,支持每層或每個(gè)推理的運(yùn)行時(shí)配置能力,允許重新分配物理存儲(chǔ)以調(diào)整三個(gè)內(nèi)存塊的容量。計(jì)算引擎和內(nèi)存之間的互連也是運(yùn)行時(shí)可配置的,因此DNA內(nèi)核可以為通道、內(nèi)核、模型和磁貼并行性動(dòng)態(tài)分配資源。
Mera編譯器自動(dòng)為每一層或模型確定計(jì)算塊和存儲(chǔ)器的最佳排列,DNA核心通過電路交換技術(shù)動(dòng)態(tài)配置這些排列。這種運(yùn)行時(shí)可配置性是Mera軟件和DNA架構(gòu)的獨(dú)特功能,可確保所有神經(jīng)網(wǎng)絡(luò)模型都受益于最大的硬件利用率和最小的推理延遲。
無縫流程將訓(xùn)練與推理聯(lián)系起來
神經(jīng)網(wǎng)絡(luò)開發(fā)人員通常在機(jī)器學(xué)習(xí)框架中訓(xùn)練模型,例如Pytorch和TensorFlow等,在CPU和GPU上運(yùn)行全精度浮點(diǎn)(FP32)計(jì)算。所有DLA-IP供應(yīng)商都提供軟件開發(fā)工具包(SDK),用于編譯在其推理引擎上運(yùn)行的預(yù)訓(xùn)練模型,但為了保持準(zhǔn)確性,許多供應(yīng)商需要額外的優(yōu)化或重新訓(xùn)練,從而延遲部署。
相比之下,Mera軟件堆棧直接編譯和運(yùn)行在Pytorch或TensorFlow Lite中構(gòu)建的模型,無需額外的訓(xùn)練后優(yōu)化。EdgeCortix通過擴(kuò)展Apache軟件基金會(huì)的TVM深度學(xué)習(xí)編譯器(一種流行的開源軟件堆棧)創(chuàng)建了Mera。受益于主要人工智能技術(shù)公司的貢獻(xiàn),包括亞馬遜、Facebook、谷歌和微軟,開發(fā)人員使用TVM進(jìn)行開發(fā)工作。
圖2顯示了Mera軟件流程及其與機(jī)器學(xué)習(xí)框架集成的高級(jí)視圖。開發(fā)人員使用C++或Python腳本運(yùn)行Mera。Pytorch和TensorFlow Lite中內(nèi)置的函數(shù)可以將網(wǎng)絡(luò)參數(shù)量化為INT8格式以進(jìn)行推理。開源ONNX交換格式允許將在其他框架中訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型轉(zhuǎn)換到TensorFlow Lite中。
量化后,TVM前端處理初始的高級(jí)圖分區(qū),獨(dú)立于目標(biāo)推理引擎。使用EdgeCortix開發(fā)的Mera擴(kuò)展,編譯器將支持的運(yùn)算符從開源中繼中間表示(IR)轉(zhuǎn)換為DNA指令。它還檢測(cè)不受支持的運(yùn)算符,并將其轉(zhuǎn)換為L(zhǎng)LVM IR,以便在目標(biāo)硬件的基于Arm或x86主機(jī)的CPU上執(zhí)行。
一旦圖像分區(qū)完成,Mera的代碼生成器讓開發(fā)人員可以使用Mera解釋器執(zhí)行快速功能模擬。功能模擬器提供檢查以確保編譯模型與原始預(yù)訓(xùn)練版本匹配,而不會(huì)損失準(zhǔn)確性。功能驗(yàn)證后,Mera會(huì)針對(duì)特定目標(biāo)執(zhí)行低級(jí)優(yōu)化和分區(qū)。優(yōu)化包括融合層和運(yùn)算符以最大化吞吐量以及有效地平鋪操作以匹配特征圖維度。開發(fā)人員可以選擇內(nèi)置的性能模擬器作為目標(biāo),可以準(zhǔn)確估計(jì)網(wǎng)絡(luò)延遲。他們還可以使用Mera在Verilator或其他開源周期精確模擬器中生成的RTL代碼。
圖2.Mera編譯器流程。Mera支持在Pytorch或TensorFlow Lite中訓(xùn)練的模型。這些平臺(tái)中的量化工具將權(quán)重轉(zhuǎn)換為用于推理的INT8格式。Mera針對(duì)目標(biāo)硬件優(yōu)化模型,包括一個(gè)驗(yàn)證準(zhǔn)確性的功能模擬器和一個(gè)估計(jì)延遲的動(dòng)態(tài)模擬器,可以與Ventilator以及其他開源周期精確模擬器一起使用。
Mera的調(diào)度程序是DNA效率的關(guān)鍵。通過利用網(wǎng)絡(luò)并行性,該軟件根據(jù)硬件配置分配工作負(fù)載來最大限度地提高利用率。在batch=1時(shí),該軟件能夠最大限度地減少延遲,這在實(shí)時(shí)對(duì)象識(shí)別中很典型。根據(jù)目標(biāo),開發(fā)人員可以選擇快速或慢速調(diào)度程序。前者缺乏后者的低級(jí)優(yōu)化,但提供了網(wǎng)絡(luò)編譯正確的更快證明;對(duì)于某些客戶,這足以進(jìn)行部署。
由于Xilinx Alveo系列等FPGA配備了各種數(shù)量的DRAM,而且因?yàn)橛行〥RAM內(nèi)置高帶寬存儲(chǔ)器(HBM),所以慢速調(diào)度器可以通過執(zhí)行比快速調(diào)度器更細(xì)粒度的優(yōu)化來利用這些細(xì)節(jié)。與僅針對(duì)加速器內(nèi)核中內(nèi)置的資源進(jìn)行優(yōu)化的編譯器相比,此功能具有更大的靈活性。
云平臺(tái)縮短上市時(shí)間
對(duì)于ASIC產(chǎn)品來說,EdgeCortix使用傳統(tǒng)的IP許可模式,其中包括預(yù)付費(fèi)用以及基于銷售芯片數(shù)量的版稅。然而,對(duì)于基于FPGA的客戶,它提供了基于云的SaaS模型,可加速部署。不過,無論目標(biāo)硬件如何,Mera軟件堆棧都是相同的。
表1.EdgeCortix DNA-F系列。DNA-F050面向Zynq UltraScale+FPGA,其中包括可用作主機(jī)處理器的Arm Cortex-A CPU。設(shè)計(jì)人員可以編譯F100、F200和F400以在Alveo U50 FPGA上運(yùn)行;F600面向Alveo 250。Alveo卡具有PCIe接口,用于連接到x86或Arm主機(jī)。
客戶可以從針對(duì)Xilinx PCIe卡優(yōu)化的五種DNA-F產(chǎn)品中進(jìn)行選擇,如表1所示。F050與集成Arm CPU的Zynq UltraScale+SoC配合使用。設(shè)計(jì)人員既可以使用Zynq的可編程邏輯將視頻直接流式傳輸?shù)紻NA內(nèi)核,也可以使用芯片的Cortex-A53 CPU作為主機(jī)處理器。F100、F200和F400針對(duì)Xilinx U50 PCIe卡進(jìn)行了優(yōu)化,可提供2.2至7.5 INT8 TOPS的AI吞吐量。F600針對(duì)Alveo U250進(jìn)行了優(yōu)化;運(yùn)行在300MHz,達(dá)到15 TOPS。
使用FPGA設(shè)計(jì)一個(gè)系統(tǒng)歷來需要RTL編程技能,但EdgeCortix通過將DNA-F位流和相應(yīng)的Mera軟件打包在即用型Docker容器中,使這項(xiàng)任務(wù)變得更加容易,如圖3所示。SaaS模式為客戶提供鎖定到每個(gè)設(shè)備的可更新訂閱。F100和F200可通過Xilinx應(yīng)用商店進(jìn)行云或本地部署,也可用于Nimbix平臺(tái)上的云部署。到2021年底,EdgeCortix計(jì)劃在其他云平臺(tái)上提供DNA-F產(chǎn)品,例如AWS和Microsoft Azure
圖3.DNA計(jì)算機(jī)視覺系統(tǒng)。在此示例配置中,主機(jī)處理器以高清分辨率將圖像流式傳輸?shù)紸lveo PCIe卡。設(shè)計(jì)人員可以通過下載Docker容器,輕松地在FPGA中安裝DNA加速器,該容器包含特定硬件位流以及在主機(jī)處理器上運(yùn)行的Mera編譯器。
標(biāo)準(zhǔn)基準(zhǔn)驗(yàn)證性能
邊緣AI加速器供應(yīng)商通常僅將推理吞吐量指定為乘積累加運(yùn)算(MAC)操作或TOPS的總數(shù),因?yàn)檫@些操作可以代表90%或更多計(jì)算機(jī)視覺網(wǎng)絡(luò)計(jì)算。但大多數(shù)加速器中的硬件利用率通常低于50%,并且因型號(hào)而異,產(chǎn)生的吞吐量比數(shù)據(jù)表顯示的要少得多。因此,我們建議客戶評(píng)估此類設(shè)備以測(cè)試他們自己的模型,或者至少要求供應(yīng)商使用標(biāo)準(zhǔn)的公開可用基準(zhǔn)提供結(jié)果。
EdgeCortix通過在各種流行的神經(jīng)網(wǎng)絡(luò)(包括來自行業(yè)標(biāo)準(zhǔn)MLPerf測(cè)試套件的樣本)上對(duì)DNA-F200設(shè)計(jì)進(jìn)行基準(zhǔn)測(cè)試,展示了其邊緣人工智能平臺(tái)的功能。由于DNA內(nèi)核針對(duì)執(zhí)行實(shí)時(shí)對(duì)象識(shí)別的計(jì)算機(jī)視覺系統(tǒng),因此它采用了此類應(yīng)用中典型的batch=1進(jìn)行處理。該公司還優(yōu)化了模型來最大限度地減少延遲,這是汽車和工業(yè)系統(tǒng)中的一個(gè)關(guān)鍵因素。
如圖4所示,已發(fā)布的EdgeCortix基準(zhǔn)測(cè)試結(jié)果包括各種MobileNet和ResNet配置,以及更復(fù)雜的Yolo v3模型。MobileNet v2和ResNet-50是MLPerf Inference v1.0的兩個(gè)組件,要求供應(yīng)商展示在ImageNet驗(yàn)證數(shù)據(jù)庫中50,000張圖像的準(zhǔn)確率為99%。在300MHz和batch=1下運(yùn)行ResNet-50,DNA-F200滿足該標(biāo)準(zhǔn),僅以6.6ms的延遲提供152fps的吞吐量。
圖4.DNA-F200 batch=1基準(zhǔn)。EdgeCortix已在計(jì)算機(jī)視覺網(wǎng)絡(luò)上測(cè)試了其DNA加速器,從僅包含3億次MAC操作的MobileNet v2到執(zhí)行100倍操作數(shù)的其他網(wǎng)絡(luò)。它發(fā)布了符合MLPerf要求的MobileNet v2和ResNet-50的結(jié)果,證明了從ImageNet數(shù)據(jù)庫中提取的樣本的對(duì)象分類準(zhǔn)確率至少為99%。(來源:EdgeCortix)
MobileNet只需要ResNet-50大約10%的參數(shù),使加速器能夠?qū)⑿阅芴嵘?90fps,延遲僅為2.6ms。客戶應(yīng)該記住,這些MLPerf結(jié)果來自Mera的早期v0.2版本;生產(chǎn)版本可能會(huì)表現(xiàn)得更好。在提交MLPerf之后,該公司使用其編譯器的更高版本再次運(yùn)行了ResNet-50。如圖4所示,延遲提高到4.4ms,吞吐量增加了近50%,從152fps增加到225fps。
Yolo v3不是MLPerf的一部分,但它是一個(gè)比ResNet-50更具挑戰(zhàn)性的網(wǎng)絡(luò),在106層中包含330億次MAC操作,以及6200萬個(gè)參數(shù)。它的原始輸入圖像分辨率為416x416像素,但EdgeCortix展示了DNA-F200通過縮小全高清(1,920x1,080)視頻流來準(zhǔn)確分類圖像的能力,以40ms的延遲提供25fps吞吐量。將輸入分辨率降低到Y(jié)olo v3的原生幀大小可將吞吐量提高到43fps,將延遲降低到23ms。
這些基準(zhǔn)測(cè)試結(jié)果證明了Mera在編譯跨越10:1模型大小范圍的神經(jīng)網(wǎng)絡(luò)方面的多功能性,以及DNA IP有效提高性能的能力。例如,雖然Yolo v3包含的MAC操作數(shù)是ResNet-50的8倍以上,但DNA-F200執(zhí)行更大的網(wǎng)絡(luò)時(shí)延遲僅為7倍,這表明Mera能夠最大限度地提高硬件利用率。
總結(jié)
由于邊緣AI設(shè)備具有廣泛的性能和功率要求,因此加速器的選擇將面臨挑戰(zhàn)。該加速器必須能夠支持不同的工作負(fù)載,并在主流計(jì)算機(jī)視覺模型上提供所需吞吐量。但邊緣AI軟件堆?赡芨蛹,因?yàn)槿粢诓煌繕?biāo)設(shè)備中實(shí)現(xiàn)硬件最大利用率,就必須包含一個(gè)能夠優(yōu)化各種預(yù)訓(xùn)練模型的編譯器。
對(duì)于標(biāo)準(zhǔn)訓(xùn)練框架的無縫接口來說,其需求是給定的。軟件堆棧還必須包括滿足對(duì)延遲敏感應(yīng)用要求的調(diào)度程序和運(yùn)行時(shí)引擎。由于算法開發(fā)人員不斷發(fā)布新模型,軟件平臺(tái)應(yīng)該有一個(gè)云組件,用于向已安裝的系統(tǒng)提供模型更新。
EdgeCortix DNA IP和Mera軟件堆棧組合滿足所有這些要求。DNA-A系列非常適合具有固定要求的ASIC設(shè)計(jì),但與FPGA相比,定制芯片推向市場(chǎng)的時(shí)間要長(zhǎng)得多。通過將Mera與Xilinx Alveo和Zynq PCIe卡一起使用,客戶可以立即將神經(jīng)網(wǎng)絡(luò)模型部署到邊緣服務(wù)器。
從MobileNet到ResNet再到Y(jié)olo v3,EdgeCortix在眾多標(biāo)準(zhǔn)模型上發(fā)布基準(zhǔn)測(cè)試的初創(chuàng)公司中很少見。許多供應(yīng)商不愿透露他們的結(jié)果,而是發(fā)布用戶從未意識(shí)到的理論TOPS數(shù)字。相比之下,DNA-F200測(cè)試結(jié)果表明,在高達(dá)HD分辨率的情況下,其處理視頻具有出色的延遲和吞吐量,使該設(shè)計(jì)成為實(shí)時(shí)計(jì)算機(jī)視覺的有力候選者。EdgeCortix的硬件+軟件平臺(tái)是一個(gè)完整的邊緣AI解決方案,適用于工業(yè)、零售和智慧城市基礎(chǔ)設(shè)施系統(tǒng)。

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會(huì)
-
即日-5.15立即報(bào)名>>> 【在線會(huì)議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評(píng) >> 【評(píng)選啟動(dòng)】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評(píng)選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺(tái)
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長(zhǎng)空間
- 8 地平線自動(dòng)駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營(yíng)收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?