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