在過去的十年中,神經網絡已經從有趣的研究發展到廣泛用于語言翻譯、關鍵詞識別和對象識別。
長期以來,神經網絡僅限于具有運行神經網絡所需的計算資源的數據中心,最初是在微處理器上,然后越來越多地在GPU上,這些GPU具有運行神經網絡所需的更多MAC。
英偉達最近宣布,其推理產品的銷量首次超過了其培訓產品的銷量。
隨著推理轉移到功耗和成本預算受限的邊緣(數據中心以外的任何地方),客戶正在尋找能夠以他們所能承受的價格和功耗提供所需吞吐量的推理加速器。
本博客討論了如何對推理加速器進行基準測試,以找到最適合您的神經網絡的推理加速器;以及客戶在學習曲線上通常如何發展他們對基準測試的思考。神經網絡推理令人興奮但很復雜,因此最初非常令人困惑。當客戶解決問題時,指示燈會逐步亮起。
首先,讓我們回顧一下推理加速器的常見元素及其運行的神經網絡。
所有推理加速器的通用元素
所有推理加速器都具有以下共同點:
MAC(很多)
片上靜態存儲器
片外內存內存
控制邏輯
所有單元之間的片上互連
元素的數量和組織在推理加速器之間差異很大;組織 MAC 的方法;MAC 與 SRAM/DRAM 的比率;數據如何在它們之間流動對于確定加速器的實際加速程度至關重要。
所有神經網絡模型的通用元素
所有神經網絡都包含以下元素:
數值選擇:32 位浮點數(模型訓練時使用的),
16 位浮點、16 位整數或 8 位整數
輸入數據:圖像、音頻、文本等
從幾十層到幾百層,每個層處理前一層的激活,并將輸出激活傳遞到下一層
模型每一層的權重
TOPS - 推理基準測試的第一階段
剛接觸神經網絡性能評估的客戶幾乎總是從問“您的芯片/模塊/板有多少 TOPS 開始?因為他們假設 TOPS 和吞吐量相關 - 但他們沒有。
TOPS 是每秒萬億次操作的首字母縮寫,可用 MAC 的數量(以千為單位)乘以 MAC 運行的頻率,以千兆赫茲為單位,乘以 2(一個 MAC = 兩個操作)。因此,簡單來說,1GHz 的 1K MAC = 2 TOPS。
更多的 MAC 意味著更多的 TOPS。
重要的是內存組織和互連是否可以保持MAC“饋送”,以便它們得到高度利用,從而在模型上產生高吞吐量。
ResNet-50 - 推理基準測試的第二階段
一旦客戶意識到重要的指標是吞吐量,他們通常會繼續問:“對于 ResNet-50,您的芯片/模塊/電路板的吞吐量(以推理/秒為單位)是多少?
MLPerf最近發布了眾多制造商提交的ResNet-50基準測試。
ResNet-50 是一種流行的 CNN(卷積神經網絡),用于對圖像進行分類,多年來一直廣泛用于基準測試。
問題是,沒有客戶真正使用ResNet-50。
客戶詢問 ResNet-50 是因為他們認為其型號上的芯片/模塊/電路板的吞吐量與 ResNet-50 吞吐量相關。
這個假設的兩個主要缺陷是:
ResNet-50 使用 224x224 圖像,但大多數客戶希望處理大 16+ 倍的百萬像素圖像。對于 224x224 圖像,ResNet-50 可能在芯片/模塊/板上運行良好,但對于百萬像素圖像可能不行,因為較大的圖像會比較小的圖像對內存子系統施加更大的壓力。對于 200 萬像素圖像,中間激活可以是 64Mb,而對于 224x224 圖像,中間激活最多為幾兆字節。
批量大小:制造商希望為基準測試引用他們所能引用的最大數字,因此他們的 ResNet-50 基準測試編號通常針對他們可以運行的最大批量大小。但對于邊緣應用程序,幾乎所有應用程序都需要批量大小 = 1 才能將延遲降至最低。考慮一輛車:如果您正在尋找行人等物體,則需要盡快意識到它們。因此,大批量大小可能會最大化吞吐量,但在邊緣需要的是最小延遲,即批量大小為 1。
ResNet-50 對于現實世界的模型來說不是一個糟糕的基準,如果它在批量大小 = 1 的百萬像素圖像上運行。但它不是通常使用的良好基準。
真實世界模型和圖像 - 推理基準測試的第三階段
客戶在學習曲線中達到的下一個階段是,他們應該找到一個與他們相似的開源神經網絡模型:相似類型的模型(CNN或RNN或LSTM),相似的圖像大小(或其他輸入類型),相似的層數和類似的操作。
例如,對 CNN 感興趣的客戶最常問:“對于 200 萬像素(或 1 或 4)的 YOLOv2(或 YOLOv3),您的每秒幀數是多少?
真正有趣的是,盡管大多數客戶都想知道YOLOv2 / v3,但幾乎沒有制造商為其提供基準測試(一個例外是Nvidia Xavier,它將YOLOv3基準為608x608或1/3百萬像素)。
YOLOv3 是一個非常緊張的基準測試,是對推理加速器魯棒性的一個很好的測試:6200 萬個權重;100+層;以及 》3000 億 MAC 來處理單個 200 萬像素的圖像。對該模型進行基準測試可顯示加速器是否可以同時獲得高 MAC 利用率、管理存儲讀/寫而不會使 MAC 停止,以及互連是否可以在不停止計算的情況下有效地在內存和 MAC 之間移動數據。
當然,重要的不僅僅是吞吐量,還有實現吞吐量的成本和功率。
售價 2000 美元和 75 瓦的 Nvidia Tesla T4 可能具有您想要的吞吐量,但可能遠遠超出您的預算。
客戶考慮的另一件事是他們計劃運行的模型類型的吞吐量效率、吞吐量/$和吞吐量/瓦特
第 4 階段:對吞吐量、功耗和成本的實際模型進行基準測試
客戶對基準推理的學習曲線的最后階段是使用訓練硬件/軟件(通常來自 Nvidia 或數據中心)開發自己的模型,然后在可能的目標推理加速器上對該模型進行基準測試。
通過這種方式,客戶可以真正分辨出哪個加速器將為他們提供最佳的吞吐效率。
終點似乎很明顯,但一切都是事后諸葛亮。神經網絡推理非常復雜,所有客戶都要經歷學習曲線才能得出正確的結論。
審核編輯:郭婷
-
gpu
+關注
關注
28文章
4912瀏覽量
130679 -
微處理器
+關注
關注
11文章
2371瀏覽量
83863
發布評論請先 登錄
用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 四頻前端模塊,帶四個線性 TRx 開關端口 skyworksinc

用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 四頻前端模塊,帶四個線性 TRx 開關端口 skyworksinc

用于四頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四個線性 TRx 開關端口和雙頻 TD-SCDMA skyworksinc

模數轉換電路的四個過程
ADS1158 MUXOUT、MUXOUTP、ADCINP和ADCINN這四個管腳什么作用呢?
vLLM項目加入PyTorch生態系統,引領LLM推理新紀元

評論