人工智能(AI)模型的規(guī)模和復(fù)雜度以每年大約 10 倍的速度不斷增加,AI 解決方案提供商面臨著巨大的壓力,他們必須縮短產(chǎn)品上市時間,提高性能,快速適應(yīng)不斷變化的形勢。模型復(fù)雜性日益增加,AI 優(yōu)化的硬件隨之出現(xiàn)。
例如,近年來,圖形處理單元(GPU)集成了 AI 優(yōu)化的算法單元,以提高 AI 計算吞吐量。然而,隨著 AI 算法和工作負載的演變與發(fā)展,它們會展現(xiàn)出一些屬性,讓我們難以充分利用可用的 AI 計算吞吐量,除非硬件提供廣泛的靈活性來適應(yīng)這種算法變化。近期的論文表明,許多 AI 工作負載都難以實現(xiàn) GPU 供應(yīng)商報告的全部計算能力。即使對于高度并行的計算,如一般矩陣乘法(GEMM),GPU 也只能在一定規(guī)模的矩陣下實現(xiàn)高利用率。因此,盡管 GPU 在理論上提供較高的 AI 計算吞吐量(通常稱為“峰值吞吐量”),但在運行 AI 應(yīng)用時,實際性能可能低得多。
FPGA 可提供一種不同的 AI 優(yōu)化的硬件方法。與 GPU 不同,F(xiàn)PGA 提供獨特的精細化空間可重構(gòu)性。這意味著我們可以配置 FPGA 資源,以極為準確的順序執(zhí)行精確的數(shù)學(xué)函數(shù),從而實施所需的操作。每個函數(shù)的輸出都可以直接路由到需要它的函數(shù)的輸入之中。這種方法支持更加靈活地適應(yīng)特定的 AI 算法和應(yīng)用特性,從而提高可用 FPGA 計算能力的利用率。此外,雖然 FPGA 需要硬件專業(yè)知識才能編程(通過硬件描述語言),但專門設(shè)計的軟核處理單元(也就是重疊結(jié)構(gòu)),允許 FPGA 以類似處理器的方式編程。FPGA 編程完全通過軟件工具鏈來完成,簡化了任何特定于 FPGA 的硬件復(fù)雜性。
FPGA與GPU架構(gòu)的背景
2020 年,英特爾 宣布推出首款 AI 優(yōu)化的 FPGA — 英特爾 Stratix 10 NX FPGA 器件。英特爾 Stratix 10 NX FPGA 包括 AI 張量塊,支持 FPGA 實現(xiàn)高達 143 INT8 和 286 INT4 峰值 AI 計算 TOPS 或 143 塊浮點 16(BFP16)和 286 塊浮點 12(BFP12)TFLOPS。最近的論文表明,塊浮點精度可為許多 AI 工作負載提供更高的精度和更低的消耗。NVIDIA GPU 同樣也提供張量核。但從架構(gòu)的角度來看,GPU 張量核和 FPGA AI 張量塊有很大的不同,如下圖所示。
GPU 和 FPGA 都有張量核心。FPGA 有可以在數(shù)據(jù)流內(nèi)外編織的軟邏輯
(左)GPU 數(shù)據(jù)從張量核心處理的內(nèi)存系統(tǒng)中讀取,寫回內(nèi)存系統(tǒng)。(右)FPGA 數(shù)據(jù)可以從內(nèi)存中讀取,但數(shù)據(jù)流可以并行安排到一個或多個張量核心。任意數(shù)量的張量核心都能以最小的傳輸開銷使用輸出。數(shù)據(jù)可以被寫回內(nèi)存或路由到其他任何地方
英特爾研究人員開發(fā)了一種名為神經(jīng)處理單元(NPU)的 AI 軟處理器。這種 AI 軟處理器適用于低延遲、低批量推理。它將所有模型權(quán)重保持在一個或多個連接的 FPGA 上以降低延遲,從而確保模型持久性。
NPU 重疊架構(gòu)和用于編程 NPU 軟核處理器的前端工具鏈高級概述
FPGA與GPU性能比較
本次研究的重點是計算性能。下圖比較了英特爾 Stratix 10 NX FPGA 上的 NPU 與 NVIDIA T4 和 V100 GPU 運行各種深度學(xué)習(xí)工作負載的性能,包括多層感知器(MLP)、一般矩陣向量乘法(GEMV)、遞歸神經(jīng)網(wǎng)絡(luò)(RNN)、長期短期記憶(LSTM)和門控循環(huán)單元(GRU)。GEMV 和 MLP 由矩陣大小來指定,RNN、LSTM 和 GRU 則通過大小和時間步長來指定。例如,LSTM-1024-16 工作負載表示包含 1024x1024 矩陣和 16 個時間步長的 LSTM。
NVIDIA V100 和 NVIDIA T4 與英特爾 Stratix 10 NX FPGA 上的 NPU 在不同批處理規(guī)模下的性能。虛線顯示 NPU 在批次大小可被 6 整除情況下的性能
從這些結(jié)果可以充分地看出,英特爾 Stratix 10 NX FPGA 不僅可以在低批次實時推理時實現(xiàn)比 GPU 高一個數(shù)量級的性能,還可以有效地進行高批次實時推理。
由于架構(gòu)上的差異和靈活編程模型,英特爾 Stratix 10 NX FPGA 還可實現(xiàn)更出色的端到端性能。不會產(chǎn)生與 GPU 相同的開銷。
短序列和長序列時 RNN 工作負載的系統(tǒng)級執(zhí)行時間(越低越好)
結(jié)論
英特爾 Stratix 10 NX FPGA 采用高度靈活的架構(gòu),所實現(xiàn)的平均性能比 NVIDIA T4 GPU 和 NVIDIA V100 GPU 分別高 24 倍和 12 倍。
由于其較高的計算密度,英特爾 Stratix 10 NX FPGA 可為以實際可達到性能為重要指標的高性能、延遲敏感型 AI 系統(tǒng)提供至關(guān)重要的功能。
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1626文章
21667瀏覽量
601856 -
英特爾
+關(guān)注
關(guān)注
60文章
9886瀏覽量
171525 -
算法
+關(guān)注
關(guān)注
23文章
4599瀏覽量
92643
原文標題:實際性能超過GPU,英特爾?Stratix?10 NX FPGA如何助您在AI加速領(lǐng)域贏得先機?
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論