訂閱
糾錯
加入自媒體

邊緣AI對可擴(kuò)展加速器的需求

來源︱The Linley Group

文︱Mike Demler

人工智能(AI)正在迅速從數(shù)據(jù)中心轉(zhuǎn)移到邊緣計算。開發(fā)人員通常使用通用CPU和GPU內(nèi)核來開發(fā)和訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,但這些內(nèi)核的效率遠(yuǎn)低于用于推理任務(wù)的專用加速器。盡管快速增長的市場導(dǎo)致眾多企業(yè)家推出邊緣AI初創(chuàng)公司,但很少有人能夠開發(fā)出包括生產(chǎn)系統(tǒng)所需硬件和軟件的完整解決方案。算法開發(fā)人員已經(jīng)發(fā)布了許多在線免費提供的神經(jīng)網(wǎng)絡(luò)模型,亞馬遜、谷歌和微軟等科技巨頭提供了在云端運行這些模型的平臺,但邊緣AI部署需要對每個細(xì)分市場進(jìn)行更細(xì)粒度的優(yōu)化。

邊緣AI市場包括許多不同的應(yīng)用,從嵌入式設(shè)備到企業(yè)、工業(yè)、零售和智能城市管理系統(tǒng)的本地服務(wù)器。這些應(yīng)用涵蓋了廣泛的性能范圍,從嵌入式中每秒不到一萬億次操作(TOPS)開始,到在邊緣服務(wù)器中達(dá)到數(shù)十萬億次或數(shù)百萬億次(TOPS)操作。為避免為每個細(xì)分市場使用不同的平臺,設(shè)計人員應(yīng)選擇可擴(kuò)展的加速器和軟件堆棧,以滿足其所針對的不同的細(xì)分市場需求。

邊緣服務(wù)器的趨勢是通過在PCIe插卡上添加專用加速器來從CPU上卸載AI。基于FPGA的加速器具有可配置性支持各種應(yīng)用的優(yōu)勢,而且比定制芯片的上市時間更短。同時還允許用戶修改架構(gòu)以在現(xiàn)場安裝新模型以及優(yōu)化加速器以處理不同的工作負(fù)載。另一方面,ASIC更適合具有固定要求的嵌入式系統(tǒng)和大批量的消費電子產(chǎn)品。

許多IP供應(yīng)商為ASIC或FPGA提供了可授權(quán)AI加速器,但很少有供應(yīng)商能夠提供兩者均適用的AI加速器。AI初創(chuàng)公司EdgeCortix是一個例外。該公司開發(fā)了一個名為動態(tài)神經(jīng)加速器(DNA)的高度可配置硬件平臺,為FPGA提供1.2到15 TOPS的算力,為ASIC提供高達(dá)54 TOPS的算力。對于需要更高吞吐量的系統(tǒng),設(shè)計人員可以安裝多個PCIe卡或?qū)⒍鄠ASIC內(nèi)核連接到SoC的AXI總線。

但除了這種高度可擴(kuò)展的架構(gòu)外,同時為ASIC和FPGA設(shè)計提供服務(wù)的關(guān)鍵是該公司的多模塊高效可重配置加速器(Mera)軟件。通過Mera和DNA內(nèi)核的結(jié)合,針對可編程邏輯和定制芯片,設(shè)計人員可以使用相同的工具。同時還可以從Mera基于云的平臺支持中受益;Xilinx應(yīng)用商店就是一個例子,其進(jìn)一步加快了部署速度,并支持對網(wǎng)聯(lián)設(shè)備進(jìn)行無線(OTA)更新。這家初創(chuàng)公司已經(jīng)在Alveo和Zynq UltraScale+FPGA上證明了自己的技術(shù),報告了MLPerf測試套件的結(jié)果,并且該公司正在開發(fā)一種測試芯片來展示DNA在ASIC中的性能。

邊緣AI對可擴(kuò)展加速器的需求

EdgeCortix DNA-F系列非常適合邊緣服務(wù)器,而DNA-A系列可滿足更廣泛的ASIC功率預(yù)算和性能要求。然而,兩種產(chǎn)品的底層架構(gòu)特性是相同的,為客戶提供了高度可配置和可擴(kuò)展的推理引擎。

如圖1所示,DNA架構(gòu)通過將多個內(nèi)核連接至可配置互連總線進(jìn)行擴(kuò)展。在每個內(nèi)核中,卷積引擎使用INT8數(shù)據(jù)執(zhí)行大多數(shù)操作。矢量引擎處理激活函數(shù),以及池化、采樣和其他非卷積層。DNA設(shè)計中引擎的組成和數(shù)量是可配置的。

圖1:EdgeCortix DNA架構(gòu)。每個DNA內(nèi)核包括兩個卷積引擎:一個用于逐點操作,另一個用于深度運算。向量單元處理最常見的激活函數(shù),以及池化、采樣和其他非卷積層。該架構(gòu)允許配置各種引擎的數(shù)量和類型,以及連接多個內(nèi)核以擴(kuò)展性能。

內(nèi)部SRAM的大小和數(shù)量也是可配置的。DNA將數(shù)據(jù)和網(wǎng)絡(luò)參數(shù)存儲在三個不同的內(nèi)存塊中,但這些塊共享相同的物理資源。AccMem是一個累加器,用于保存激活函數(shù)和卷積操作之間的中間結(jié)果。顧名思義,DataMem存儲激活函數(shù),WeightMem存儲神經(jīng)網(wǎng)絡(luò)權(quán)重和偏差值。

EdgeCortix提供了五種針對Xilinx Alveo和Zynq UltraScale+FPGA進(jìn)行優(yōu)化的DNA-F模型。DNA-A內(nèi)核更具可定制性,支持每層或每個推理的運行時配置能力,允許重新分配物理存儲以調(diào)整三個內(nèi)存塊的容量。計算引擎和內(nèi)存之間的互連也是運行時可配置的,因此DNA內(nèi)核可以為通道、內(nèi)核、模型和磁貼并行性動態(tài)分配資源。

Mera編譯器自動為每一層或模型確定計算塊和存儲器的最佳排列,DNA核心通過電路交換技術(shù)動態(tài)配置這些排列。這種運行時可配置性是Mera軟件和DNA架構(gòu)的獨特功能,可確保所有神經(jīng)網(wǎng)絡(luò)模型都受益于最大的硬件利用率和最小的推理延遲。

無縫流程將訓(xùn)練與推理聯(lián)系起來

神經(jīng)網(wǎng)絡(luò)開發(fā)人員通常在機(jī)器學(xué)習(xí)框架中訓(xùn)練模型,例如Pytorch和TensorFlow等,在CPU和GPU上運行全精度浮點(FP32)計算。所有DLA-IP供應(yīng)商都提供軟件開發(fā)工具包(SDK),用于編譯在其推理引擎上運行的預(yù)訓(xùn)練模型,但為了保持準(zhǔn)確性,許多供應(yīng)商需要額外的優(yōu)化或重新訓(xùn)練,從而延遲部署。

相比之下,Mera軟件堆棧直接編譯和運行在Pytorch或TensorFlow Lite中構(gòu)建的模型,無需額外的訓(xùn)練后優(yōu)化。EdgeCortix通過擴(kuò)展Apache軟件基金會的TVM深度學(xué)習(xí)編譯器(一種流行的開源軟件堆棧)創(chuàng)建了Mera。受益于主要人工智能技術(shù)公司的貢獻(xiàn),包括亞馬遜、Facebook、谷歌和微軟,開發(fā)人員使用TVM進(jìn)行開發(fā)工作。

圖2顯示了Mera軟件流程及其與機(jī)器學(xué)習(xí)框架集成的高級視圖。開發(fā)人員使用C++或Python腳本運行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前端處理初始的高級圖分區(qū),獨立于目標(biāo)推理引擎。使用EdgeCortix開發(fā)的Mera擴(kuò)展,編譯器將支持的運算符從開源中繼中間表示(IR)轉(zhuǎn)換為DNA指令。它還檢測不受支持的運算符,并將其轉(zhuǎn)換為LLVM IR,以便在目標(biāo)硬件的基于Arm或x86主機(jī)的CPU上執(zhí)行。

一旦圖像分區(qū)完成,Mera的代碼生成器讓開發(fā)人員可以使用Mera解釋器執(zhí)行快速功能模擬。功能模擬器提供檢查以確保編譯模型與原始預(yù)訓(xùn)練版本匹配,而不會損失準(zhǔn)確性。功能驗證后,Mera會針對特定目標(biāo)執(zhí)行低級優(yōu)化和分區(qū)。優(yōu)化包括融合層和運算符以最大化吞吐量以及有效地平鋪操作以匹配特征圖維度。開發(fā)人員可以選擇內(nèi)置的性能模擬器作為目標(biāo),可以準(zhǔn)確估計網(wǎng)絡(luò)延遲。他們還可以使用Mera在Verilator或其他開源周期精確模擬器中生成的RTL代碼。

圖2.Mera編譯器流程。Mera支持在Pytorch或TensorFlow Lite中訓(xùn)練的模型。這些平臺中的量化工具將權(quán)重轉(zhuǎn)換為用于推理的INT8格式。Mera針對目標(biāo)硬件優(yōu)化模型,包括一個驗證準(zhǔn)確性的功能模擬器和一個估計延遲的動態(tài)模擬器,可以與Ventilator以及其他開源周期精確模擬器一起使用。

Mera的調(diào)度程序是DNA效率的關(guān)鍵。通過利用網(wǎng)絡(luò)并行性,該軟件根據(jù)硬件配置分配工作負(fù)載來最大限度地提高利用率。在batch=1時,該軟件能夠最大限度地減少延遲,這在實時對象識別中很典型。根據(jù)目標(biāo),開發(fā)人員可以選擇快速或慢速調(diào)度程序。前者缺乏后者的低級優(yōu)化,但提供了網(wǎng)絡(luò)編譯正確的更快證明;對于某些客戶,這足以進(jìn)行部署。

由于Xilinx Alveo系列等FPGA配備了各種數(shù)量的DRAM,而且因為有些DRAM內(nèi)置高帶寬存儲器(HBM),所以慢速調(diào)度器可以通過執(zhí)行比快速調(diào)度器更細(xì)粒度的優(yōu)化來利用這些細(xì)節(jié)。與僅針對加速器內(nèi)核中內(nèi)置的資源進(jìn)行優(yōu)化的編譯器相比,此功能具有更大的靈活性。

云平臺縮短上市時間

對于ASIC產(chǎn)品來說,EdgeCortix使用傳統(tǒng)的IP許可模式,其中包括預(yù)付費用以及基于銷售芯片數(shù)量的版稅。然而,對于基于FPGA的客戶,它提供了基于云的SaaS模型,可加速部署。不過,無論目標(biāo)硬件如何,Mera軟件堆棧都是相同的。

表1.EdgeCortix DNA-F系列。DNA-F050面向Zynq UltraScale+FPGA,其中包括可用作主機(jī)處理器的Arm Cortex-A CPU。設(shè)計人員可以編譯F100、F200和F400以在Alveo U50 FPGA上運行;F600面向Alveo 250。Alveo卡具有PCIe接口,用于連接到x86或Arm主機(jī)。

客戶可以從針對Xilinx PCIe卡優(yōu)化的五種DNA-F產(chǎn)品中進(jìn)行選擇,如表1所示。F050與集成Arm CPU的Zynq UltraScale+SoC配合使用。設(shè)計人員既可以使用Zynq的可編程邏輯將視頻直接流式傳輸?shù)紻NA內(nèi)核,也可以使用芯片的Cortex-A53 CPU作為主機(jī)處理器。F100、F200和F400針對Xilinx U50 PCIe卡進(jìn)行了優(yōu)化,可提供2.2至7.5 INT8 TOPS的AI吞吐量。F600針對Alveo U250進(jìn)行了優(yōu)化;運行在300MHz,達(dá)到15 TOPS。

使用FPGA設(shè)計一個系統(tǒng)歷來需要RTL編程技能,但EdgeCortix通過將DNA-F位流和相應(yīng)的Mera軟件打包在即用型Docker容器中,使這項任務(wù)變得更加容易,如圖3所示。SaaS模式為客戶提供鎖定到每個設(shè)備的可更新訂閱。F100和F200可通過Xilinx應(yīng)用商店進(jìn)行云或本地部署,也可用于Nimbix平臺上的云部署。到2021年底,EdgeCortix計劃在其他云平臺上提供DNA-F產(chǎn)品,例如AWS和Microsoft Azure

圖3.DNA計算機(jī)視覺系統(tǒng)。在此示例配置中,主機(jī)處理器以高清分辨率將圖像流式傳輸?shù)紸lveo PCIe卡。設(shè)計人員可以通過下載Docker容器,輕松地在FPGA中安裝DNA加速器,該容器包含特定硬件位流以及在主機(jī)處理器上運行的Mera編譯器。

標(biāo)準(zhǔn)基準(zhǔn)驗證性能

邊緣AI加速器供應(yīng)商通常僅將推理吞吐量指定為乘積累加運算(MAC)操作或TOPS的總數(shù),因為這些操作可以代表90%或更多計算機(jī)視覺網(wǎng)絡(luò)計算。但大多數(shù)加速器中的硬件利用率通常低于50%,并且因型號而異,產(chǎn)生的吞吐量比數(shù)據(jù)表顯示的要少得多。因此,我們建議客戶評估此類設(shè)備以測試他們自己的模型,或者至少要求供應(yīng)商使用標(biāo)準(zhǔn)的公開可用基準(zhǔn)提供結(jié)果。

EdgeCortix通過在各種流行的神經(jīng)網(wǎng)絡(luò)(包括來自行業(yè)標(biāo)準(zhǔn)MLPerf測試套件的樣本)上對DNA-F200設(shè)計進(jìn)行基準(zhǔn)測試,展示了其邊緣人工智能平臺的功能。由于DNA內(nèi)核針對執(zhí)行實時對象識別的計算機(jī)視覺系統(tǒng),因此它采用了此類應(yīng)用中典型的batch=1進(jìn)行處理。該公司還優(yōu)化了模型來最大限度地減少延遲,這是汽車和工業(yè)系統(tǒng)中的一個關(guān)鍵因素。

如圖4所示,已發(fā)布的EdgeCortix基準(zhǔn)測試結(jié)果包括各種MobileNet和ResNet配置,以及更復(fù)雜的Yolo v3模型。MobileNet v2和ResNet-50是MLPerf Inference v1.0的兩個組件,要求供應(yīng)商展示在ImageNet驗證數(shù)據(jù)庫中50,000張圖像的準(zhǔn)確率為99%。在300MHz和batch=1下運行ResNet-50,DNA-F200滿足該標(biāo)準(zhǔn),僅以6.6ms的延遲提供152fps的吞吐量。

圖4.DNA-F200 batch=1基準(zhǔn)。EdgeCortix已在計算機(jī)視覺網(wǎng)絡(luò)上測試了其DNA加速器,從僅包含3億次MAC操作的MobileNet v2到執(zhí)行100倍操作數(shù)的其他網(wǎng)絡(luò)。它發(fā)布了符合MLPerf要求的MobileNet v2和ResNet-50的結(jié)果,證明了從ImageNet數(shù)據(jù)庫中提取的樣本的對象分類準(zhǔn)確率至少為99%。(來源:EdgeCortix)

MobileNet只需要ResNet-50大約10%的參數(shù),使加速器能夠?qū)⑿阅芴嵘?90fps,延遲僅為2.6ms?蛻魬(yīng)該記住,這些MLPerf結(jié)果來自Mera的早期v0.2版本;生產(chǎn)版本可能會表現(xiàn)得更好。在提交MLPerf之后,該公司使用其編譯器的更高版本再次運行了ResNet-50。如圖4所示,延遲提高到4.4ms,吞吐量增加了近50%,從152fps增加到225fps。

Yolo v3不是MLPerf的一部分,但它是一個比ResNet-50更具挑戰(zhàn)性的網(wǎng)絡(luò),在106層中包含330億次MAC操作,以及6200萬個參數(shù)。它的原始輸入圖像分辨率為416x416像素,但EdgeCortix展示了DNA-F200通過縮小全高清(1,920x1,080)視頻流來準(zhǔn)確分類圖像的能力,以40ms的延遲提供25fps吞吐量。將輸入分辨率降低到Y(jié)olo v3的原生幀大小可將吞吐量提高到43fps,將延遲降低到23ms。

這些基準(zhǔn)測試結(jié)果證明了Mera在編譯跨越10:1模型大小范圍的神經(jīng)網(wǎng)絡(luò)方面的多功能性,以及DNA IP有效提高性能的能力。例如,雖然Yolo v3包含的MAC操作數(shù)是ResNet-50的8倍以上,但DNA-F200執(zhí)行更大的網(wǎng)絡(luò)時延遲僅為7倍,這表明Mera能夠最大限度地提高硬件利用率。

總結(jié)

由于邊緣AI設(shè)備具有廣泛的性能和功率要求,因此加速器的選擇將面臨挑戰(zhàn)。該加速器必須能夠支持不同的工作負(fù)載,并在主流計算機(jī)視覺模型上提供所需吞吐量。但邊緣AI軟件堆?赡芨蛹,因為若要在不同目標(biāo)設(shè)備中實現(xiàn)硬件最大利用率,就必須包含一個能夠優(yōu)化各種預(yù)訓(xùn)練模型的編譯器。

對于標(biāo)準(zhǔn)訓(xùn)練框架的無縫接口來說,其需求是給定的。軟件堆棧還必須包括滿足對延遲敏感應(yīng)用要求的調(diào)度程序和運行時引擎。由于算法開發(fā)人員不斷發(fā)布新模型,軟件平臺應(yīng)該有一個云組件,用于向已安裝的系統(tǒng)提供模型更新。

EdgeCortix DNA IP和Mera軟件堆棧組合滿足所有這些要求。DNA-A系列非常適合具有固定要求的ASIC設(shè)計,但與FPGA相比,定制芯片推向市場的時間要長得多。通過將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)測試的初創(chuàng)公司中很少見。許多供應(yīng)商不愿透露他們的結(jié)果,而是發(fā)布用戶從未意識到的理論TOPS數(shù)字。相比之下,DNA-F200測試結(jié)果表明,在高達(dá)HD分辨率的情況下,其處理視頻具有出色的延遲和吞吐量,使該設(shè)計成為實時計算機(jī)視覺的有力候選者。EdgeCortix的硬件+軟件平臺是一個完整的邊緣AI解決方案,適用于工業(yè)、零售和智慧城市基礎(chǔ)設(shè)施系統(tǒng)。

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標(biāo)題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號