FPGA用于AI的優勢
問:AI的技術挑戰是什么?
本文引用地址:http://www.j9360.com/article/201912/407978.htm答:Achronix目前關注的重點主要放在數據中心中的機器學習上。然而,隨著工業應用領域中人工智能(AI)的興起,處理將需要向邊緣遷移,以減少延遲并實現網絡流量最小化。機器學習(ML)處理的特征隨著處理向邊緣遷移而改變;通常情況下,計算更多地側重于推理,而不是訓練,盡管這并沒有將增強學習和邊緣訓練等新模式出現排除在外。功耗在邊緣受到更多限制,每瓦特的性能通常是一種比原始性能更有用的衡量指標。
數字格式也能夠被數量化以提高處理效率,其中浮點數將被優化浮點數(例如bfloat16或塊浮點數)或整數計算所取代。此外,數據中心里的訓練和推理可以依靠巨大批量處理來提高計算效率;對更少聚合流量和邊緣推理的更低延遲的需要可以縮小處理批量的規模,直到理想的一個大小。這種情況不太適用于某些類型的處理器結構,而更好的應對方案是采用優化的處理單元陣列或可重新編程邏輯。此外,為具有大量權重應用的網絡提供支持這一需求驅動了對片內/片外存儲器的層次結構和對高速片外存儲器(GDDR6或HBM2)的需求。
邊緣處理的另一個特點是,因為接近大量的傳感器而推動了接口無處不在。不僅需要諸如CAN、PCIe、JESD204等多種接口,而且這些接口可以根據應用或產品的類別進行更改。此外,多個數據流需要被組合和操作,以便能夠去適應處理需求。這些數據包提取、傳感器融合和位操作任務非常適合FPGA可以按位和按字節處理的靈活路由架構。此外,當需要一個新的傳感器接口或應用發生變化時,就可以編譯一個新的FPGA布局并將其下載到設備上以支持新需求,從而提供一個無縫的升級路徑。
Achronix公司 戰略與規劃部高級總監 Mike Fitton博士
問:貴公司是如何解決這些難點的?有哪些創新性的解決方案推薦?
答:盡管FPGA可以用于通用加速,但仍可以調整其架構以最大限度地提高性能,同時降低成本和功耗;這也正是Achronix在其獨立Speedster7t FPGA器件以及Speedcore嵌入式FPGA中都在做的。Speedster7t可被用于多樣化的部署中來實現數據加速,包括我們最近宣布的與BittWare合作開發的PCIe格式加速卡。Speedcore嵌入式FPGA可以被集成在一個機器學習(ML)系統級芯片(SOC)中,并且通常在將數據饋送到專用的矩陣處理引擎之前就實現靈活的輸入輸出(IO)、數據提取、傳感器融合和預處理任務。
我們在三個關鍵領域進行了創新,提高了機器學習的性能。
1. 需要將大量數據傳送到芯片上:高性能接口
2. 需要在芯片內移動數據:高效的數據轉移
3. 需要以有限的成本和功耗去處理數據:高效計算
高性能接口
這是FPGA可編程邏輯的一個典型優勢所在,通常最新的高帶寬接口得到處理器或專用芯片支持之前,都是先得到FPGA所提供的支持。例如,在處理器卸載這一應用場景中,Achronix提供了首款支持PCIe Gen5的FPGA。在網絡連接方面,新發布的一些FPGA支持400G的速率,例如支持8x50G或4x100G收發器。
高效的數據轉移
一旦數據最終被送到芯片中,將數據傳輸到處理單元中以使其盡可能完全地被加載至關重要。通過適當的架構性設計,將能夠使處理單元的負載保持在其峰值速率的80%以上。
存儲器的層次結構(包括內部和外部存儲器)是其中的一個關鍵要素:包括平衡內部存儲器的端口寬度和存儲器大小,也包括為外部(GDDR6)和封裝內(HBM2)存儲器提供高速接口。在最新的Achronix Speedster7t系列FPGA器件中,我們提供了對GDDR6的支持,因為它和其他可選方案相比,提供了更高的靈活性和更低的系統成本。由圖形處理應用帶來的規模經濟正在降低GDDR6的成本[https://semiengineering.com/hbm2-vs-gddr6-tradeoffs-in-dram]。
近年來出現的一個趨勢是在FPGA內部構建片上網絡(NoC)架構,以支持數據在整個FPGA內部實現轉移。在Achronix最新的FPGA系列芯片中,我們利用NoC將外部接口和存儲器(例如在PCIe、以太網和存儲器接口之間)以及FPGA內核本身連在一起。后者非常重要,因為它可以將可編程資源從路由/連接任務中解放出來,并支持它們被應用于更高價值的計算任務。
高效計算
雖然FPGA可以執行通用的加速功能,但是這種器件的架構可以被調整以面向諸如機器學習等某些工作負載實現最優的效率。通常,FPGA具有支持高效乘法累加的硬件宏單元,它們通常被稱為“DSP單元模塊”。這些宏單元一直以來被配置為高效地支持FIR濾波。但是,在針對機器學習的應用場景中,略微不同的架構性選擇可能會對性能產生巨大的影響。例如,機器學習推理通常需要較低的位寬支持。Achronix的器件在32、16、8和4位之間具有完全可分割的整數算術支持;此外,例如bfloat16或塊浮點數等其他的數字格式通常也適用。Achronix硬MAC宏單元原生支持浮點和塊浮點,其中多個樣本具有各自不同的尾數,但共享一個相同的指數。這樣就提供了接近浮點的性能,但其復雜性和功耗更類似于整數計算。
通過整體性而不是孤立地考慮數據處理和數據轉移,就可以實現更多的優化。具體來說,在構成機器學習的基本矩陣和向量數學運算中,可以利用大量的數據局部性。數據局部性以共享權重來表示,并在相鄰的計算之間重復使用激活數據。通過緊密將存儲器和處理單元集成在一起,可降低功耗(因為已將數據轉移量降至最少)并提高性能(因為不需要消耗路由資源來連接存儲器和MAC)。這種優化方法在諸如波束成形和雷達等采用矩陣數學的或利用數據局部性(例如FFT)的相鄰應用中具有額外的好處。
簡歷:Mike Fitton博士是Achronix公司戰略與規劃部高級總監。他在信號處理領域擁有25年以上的經驗,涉及包括系統架構、算法開發、半導體、無線運營商、網絡基礎設施以及最新的機器學習等領域。
評論