訂閱
糾錯
加入自媒體

邊緣AI對可擴展加速器的需求

來源︱The Linley Group

文︱Mike Demler

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

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

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

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

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

邊緣AI對可擴展加速器的需求

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

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

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

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

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

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

無縫流程將訓練與推理聯系起來

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

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

圖2顯示了Mera軟件流程及其與機器學習框架集成的高級視圖。開發(fā)人員使用C++或Python腳本運行Mera。Pytorch和TensorFlow Lite中內置的函數可以將網絡參數量化為INT8格式以進行推理。開源ONNX交換格式允許將在其他框架中訓練的神經網絡模型轉換到TensorFlow Lite中。

量化后,TVM前端處理初始的高級圖分區(qū),獨立于目標推理引擎。使用EdgeCortix開發(fā)的Mera擴展,編譯器將支持的運算符從開源中繼中間表示(IR)轉換為DNA指令。它還檢測不受支持的運算符,并將其轉換為LLVM IR,以便在目標硬件的基于Arm或x86主機的CPU上執(zhí)行。

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

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

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

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

云平臺縮短上市時間

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

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

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

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

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

標準基準驗證性能

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

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

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

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

MobileNet只需要ResNet-50大約10%的參數,使加速器能夠將性能提升至390fps,延遲僅為2.6ms?蛻魬撚涀,這些MLPerf結果來自Mera的早期v0.2版本;生產版本可能會表現得更好。在提交MLPerf之后,該公司使用其編譯器的更高版本再次運行了ResNet-50。如圖4所示,延遲提高到4.4ms,吞吐量增加了近50%,從152fps增加到225fps。

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

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

總結

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

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

EdgeCortix DNA IP和Mera軟件堆棧組合滿足所有這些要求。DNA-A系列非常適合具有固定要求的ASIC設計,但與FPGA相比,定制芯片推向市場的時間要長得多。通過將Mera與Xilinx Alveo和Zynq PCIe卡一起使用,客戶可以立即將神經網絡模型部署到邊緣服務器。

從MobileNet到ResNet再到Yolo v3,EdgeCortix在眾多標準模型上發(fā)布基準測試的初創(chuàng)公司中很少見。許多供應商不愿透露他們的結果,而是發(fā)布用戶從未意識到的理論TOPS數字。相比之下,DNA-F200測試結果表明,在高達HD分辨率的情況下,其處理視頻具有出色的延遲和吞吐量,使該設計成為實時計算機視覺的有力候選者。EdgeCortix的硬件+軟件平臺是一個完整的邊緣AI解決方案,適用于工業(yè)、零售和智慧城市基礎設施系統(tǒng)。

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

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

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

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

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關注公眾號
OFweek人工智能網
獲取更多精彩內容
文章糾錯
x
*文字標題:
*糾錯內容:
聯系郵箱:
*驗 證 碼:

粵公網安備 44030502002758號