最高額。翻牌。GFLOPS。AI 處理器供應商以多種方式計算其架構的最大推理性能。
這些數字還重要嗎?它們中的大多數是在實驗室類型的環境中生產的,理想的條件和工作負載允許被測設備 (SUT) 為營銷目的生成盡可能高的分數。另一方面,大多數工程師可能不太關心這些理論上的可能性。他們更關心技術如何影響推理設備的準確性、吞吐量和/或延遲。
將計算元素與特定工作負載進行比較的行業標準基準更加有用。例如,圖像分類工程師可以識別出多個滿足其性能要求的選項,然后根據功耗、成本等因素對其進行縮減。語音識別設計人員可以使用基準測試結果來分析各種處理器和內存組合,然后決定是否合成本地或云中的語音。
但 AI 和 ML 模型、開發框架和工具的快速引入使此類比較變得復雜。如圖 1 所示,AI 技術堆棧中越來越多的選項也意味著可用于判斷推理性能的排列呈指數級增長。那是在考慮可以針對給定系統架構優化模型和算法的所有方式之前。
圖 1. AI 開發堆棧中越來越多的選項具有復雜的行業標準基準測試。
不用說,開發這樣一個全面的基準超出了大多數公司的能力或愿望。即使有能力完成這一壯舉,工程界真的會接受它作為“標準基準”嗎?
MLPerf:更好的 AI 推理基準
更廣泛地說,工業界和學術界在過去幾年中開發了幾個推理基準,但他們傾向于關注新生人工智能市場的更多利基領域。一些例子包括 EEMBC 用于嵌入式圖像分類和對象檢測的 MLMark,蘇黎世聯邦理工學院針對 Android 智能手機上的計算機視覺的 AI 基準,以及哈佛的 Fathom 基準,它強調各種神經網絡的吞吐量,但不強調準確性。
可以在 MLPerf 最近發布的 Inference v0.5 基準測試中找到對 AI 推理環境的更完整評估。MLPerf Inference 是一個社區開發的測試套件,可用于測量 AI 硬件、軟件、系統和服務的推理性能。這是來自 30 多家公司的 200 多名工程師合作的結果。
正如您對任何基準測試所期望的那樣,MLPerf Inference 定義了一套標準化的工作負載,這些工作負載被組織成用于圖像分類、對象檢測和機器翻譯用例的“任務”。每個任務都由與正在執行的功能相關的 AI 模型和數據集組成,圖像分類任務支持 ResNet-50 和 MobileNet-v1 模型,對象檢測任務利用具有 ResNet34 或 MobileNet-v1 主干的 SSD 模型,以及使用 GNMT 模型的機器翻譯任務。
除了這些任務之外,MLPerf 推理開始偏離傳統基準的規范。由于不同用例對準確性、延遲、吞吐量和成本的重要性的權重不同,MLPerf Inference 通過根據移動設備、自動駕駛汽車、機器人和云這四個關鍵應用領域的質量目標對推理性能進行分級來進行權衡。
為了在盡可能接近在這些應用程序領域運行的真實系統的上下文中有效地對任務進行評分,MLPerf Inference 引入了負載生成器工具,該工具根據四種不同的場景生成查詢流量:
樣本大小為 1 的連續單流查詢,在移動設備中很常見
每個流具有多個樣本的連續多流查詢,如在延遲至關重要的自動駕駛汽車中發現的那樣
請求隨機到達的服務器查詢,例如在延遲也很重要的 Web 服務中
執行批處理且吞吐量是一個突出考慮因素的離線查詢
Load Generator 以測試準確性和吞吐量(性能)的模式提供這些場景。圖 2 描述了 SUT 如何接收來自負載生成器的請求,從而將數據集中的樣本加載到內存中,運行基準測試并將結果返回給負載生成器。然后,準確性腳本會驗證結果。
圖 2. MLPerf Inference 基準測試依賴于負載生成器,該負載生成器根據許多實際場景查詢被測系統 (SUT)。
作為基準測試的一部分,每個 SUT 必須執行最少數量的查詢以確保統計可信度。
提高靈活性
如前所述,人工智能技術市場中使用的各種框架和工具是任何推理基準測試的關鍵挑戰。前面提到的另一個考慮因素是模型和算法的調整,以從 AI 推理系統中擠出最高的準確性、吞吐量或最低的延遲。就后者而言,量化和圖像重塑等技術現在已成為常見做法。
MLPerf Inference 是語義級別的基準測試,這意味著,雖然基準測試提供了特定的工作負載(或一組工作負載)和執行它的一般規則,但實際實施取決于執行基準測試的公司。公司可以優化提供的參考模型,使用他們想要的工具鏈,并在他們選擇的硬件目標上運行基準測試,只要它們保持在一定的指導范圍內。
然而,重要的是要注意,這并不意味著提交公司可以隨意使用 MLPerf 模型或數據集,并且仍然有資格獲得主要基準。MLPerf 推理基準分為兩個部分 - 封閉式和開放式 - 封閉式部分對可以使用哪些類型的優化技術以及禁止使用其他優化技術有更嚴格的要求。
要獲得封閉部門的資格,提交者必須使用提供的模型和數據集,但允許量化。為確保兼容性,封閉部門的參賽者不能使用經過重新訓練或修剪的模型,也不能使用經過調整以具有基準或數據集感知能力的緩存或網絡。
另一方面,開放部門旨在促進人工智能模型和算法的創新。提交給開放部門仍然需要執行相同的任務,但可以更改模型類型、重新訓練和修剪其模型、使用緩存等。
盡管封閉部門聽起來很嚴格,但有 150 多個條目成功地獲得了 MLPerf Inference v0.5 發布的資格。圖 3 和圖 4 展示了參賽者使用的 AI 技術堆棧的多樣性,涵蓋了幾乎所有類型的處理器架構和軟件框架,從 ONNX 和 PyTorch 到 TensorFlow、OpenVINO 和 Arm NN。
圖 3. DSP、FPGA、CPU、ASIC 和 GPU 均成功完成了 MLPerf Inference 封閉劃分要求。
圖 4. AI 軟件開發框架(如 ONNX、PyTorch、TensorFlow、OpenVINO、Arm NN 等)用于開發符合封閉劃分基準的 MLPerf 推理系統。
將猜測排除在評估之外
雖然 MLPerf Inference 的初始版本包含一組有限的模型和用例,但基準測試套件是以模塊化、可擴展的方式構建的。隨著技術和行業的發展,這將使 MLPerf 能夠擴展任務、模型和應用領域,并且該組織已經計劃這樣做。
最新的 AI 推理基準顯然具有重要意義,因為它是目前可用的最接近真實世界 AI 推理性能的衡量標準。但隨著它的成熟和吸引更多的提交,它也將成為成功部署技術堆棧的晴雨表和新實施的試驗場。
為什么不讓技術自己說話,而不是處理特定于供應商的數據表數字呢?畢竟,更少的猜測意味著更強大的解決方案和更快的上市時間。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19264瀏覽量
229666 -
嵌入式
+關注
關注
5082文章
19109瀏覽量
304838 -
AI
+關注
關注
87文章
30758瀏覽量
268902
發布評論請先 登錄
相關推薦
評論