隨著 AI 的爆炸式增長,人們開始高度關注能夠提供 AI 所需性能的新型專用推理引擎。因此,在過去的六個月里,我們看到了一系列神經推理硬件的發布,所有這些都有望提供比市場上任何其他產品更好的加速。然而,挑戰在于沒有人真正知道如何從另一個衡量一個。這是一項新技術,像任何新技術一樣,我們需要指標,我們需要真正重要的指標。
一切都與吞吐量有關
當推理引擎的性能出現時,供應商會拋出基準測試,引用TOPS(Tera-Operations/second)性能和TOPS/Watt等內容。研究這些數字的系統/芯片設計人員很快意識到這些數字通常毫無意義。真正重要的是推理引擎可以為模型、圖像大小、批量大小和過程以及 PVT(過程/電壓/溫度)條件提供多少吞吐量。這是衡量其性能的第一標準,但令人驚訝的是,很少有供應商提供它。
TOPS最大的問題是,當一家公司說他們的發動機做X TOPS時,他們通常會引用這個而不說明條件是什么。在不知道這些信息的情況下,他們錯誤地認為X TOPS意味著它可以執行X萬億次操作。實際上,報價 130 TOPS 的公司可能只能提供 27 TOPS 的可用吞吐量。
另一個正在使用但不太常見的基準測試是ResNet-50。這個基準的問題在于,大多數引用它的公司都沒有給出批量大小。當他們不提供這一點時,芯片設計人員可以假設這將是一個大批量大小,以最大限度地提高他們的硬件利用率百分比。這使得 ResNet-50 作為基準測試不是很有幫助。相比之下,例如,YOLOv3 需要 100 倍以上的操作來處理 200 萬像素的圖像。硬件利用率在“現實世界”模型上將面臨更大的挑戰。
如何正確測量神經推理引擎
在評估神經推理引擎時,有幾個關鍵事項需要考慮。以下是最重要的考慮因素以及它們真正重要的原因。
定義什么是操作:一些供應商將乘法(通常為 INT 8 乘以 INT 8)計為一個運算,將累加(加法,通常為 INT 32)計為一個運算。因此,單個乘法累加等于 2 個運算。但是,一些供應商在其TOPS規范中包含其他類型的操作,因此必須在開始時進行澄清。
詢問操作條件是什么:如果供應商在沒有提供條件的情況下給出 TOPS,他們通常使用室溫、標稱電壓和典型工藝。通常他們會提到他們指的是哪個工藝節點,但不同供應商的運行速度不同,大多數工藝都提供 2、3 或更高的標稱電壓。由于性能是頻率的函數,而頻率是電壓的函數,因此芯片設計人員在0.9V下可以獲得比0.6V時兩倍以上的性能。頻率因條件/假設而異。有關此方面的更多信息,請參閱本應用筆記。
查看批量大小:即使供應商提供了最壞情況的TOPS,芯片設計人員也需要弄清楚所有這些操作是否真的有助于計算他們的神經網絡模型。實際上,實際利用率可能非常低,因為沒有推理引擎始終對所有 MAC 具有 100% 的利用率。這就是為什么批量大小很重要的原因。批處理是為給定層加載權重并同時處理多個數據集。這樣做的原因是提高吞吐量,但放棄的是更長的延遲。ResNet-50 有超過 2000 萬個權重;YOLOv3 有超過 6000 萬個權重;并且必須獲取每個權重并將其加載到每個圖像的MAC結構中。有太多的權重,無法將它們全部駐留在 MAC 結構中。
查找您的 MAC 利用率:并非所有神經網絡的行為都相同。您需要以所需的批大小找出要部署的神經網絡模型的神經推理引擎的實際 MAC 利用率。
深入了解 TOPS
如果你是一個正在研究神經推理引擎的設計師,希望這篇文章能闡明要尋找什么。請記住,吞吐量才是最重要的。重要的是不要陷入無意義的基準測試,如TOPS和ResNet-50,除非你知道要問的事情。首先提出以下問題:在批量大小= A和XYZ PVT條件下,特定模型(例如YOLOv3)可以處理多少圖像/秒。一旦你開始指定條件和假設,你就會開始了解任何神經推理在現實世界中的表現。歸根結底,這才是最重要的。
審核編輯:郭婷
-
芯片
+關注
關注
455文章
50732瀏覽量
423251 -
神經網絡
+關注
關注
42文章
4771瀏覽量
100720 -
AI
+關注
關注
87文章
30763瀏覽量
268907
發布評論請先 登錄
相關推薦
評論