隨著我國近幾年人工智能新基建與大規模計算系統的逐步落地,為了使大規模人工智能計算系統健康持續發展,需要一個能夠有效地評價計算系統的人工智能算力的評價指標,而現有的測試方法無法滿足這一需求。
目前,已有一些大規模計算系統的評測程序,例如Linpack是一個目前被廣泛使用的高性能計算機雙精度浮點運算性能基準評測程序,國際超算Top500榜單依據Linpack值來進行排名。然而典型的人工智能應用并不需要雙精度浮點數運算,大部分人工智能訓練任務以單精度浮點數或16位浮點數為主,推理以Int8為主。各大企業、高校和相關組織也相繼開發了各類人工智能算力基準評測程序,如MLPerf、Mobile AI Bench、DeepBench、AIIA DNN Benchmark,以及在雙精度的Linpack基礎上改成混合精度的HPL-AI等基準評測程序,但是這些程序并不適用于大規模和可變規模人工智能計算系統的評測。
為了填補大規模計算系統人工智能算力評測這一領域的空白,清華大學與鵬城實驗室聯合研制并開發了人工智能算力基準測試程序——AIPerf Benchmark(以下簡稱AIPerf)。AIPerf基于微軟NNI(neural network intelligence)開源框架實現,以自動化機器學習(AutoML)為負載,使用網絡態射(network morphism)網絡結構搜索和樹狀結構Parzen估計(tree-structured Parzen estimator,TPE)方法超參搜索來尋找精度更高的神經網絡結構和(或)超參數。用戶可以通過配置文件指定AutoML的相關參數,如訓練使用的批大?。╞atch size)、最大epoch數、學習率、最大搜索模型總個數、最長搜索總時間、最大同時搜索模型個數(并發數)等多個參數。
AIPerf的設計達到了以下4個關鍵的設計目標。
(1)一個統一的分數
AIPerf能夠報告一個分數,該分數可以作為被評測計算集群系統的評價指標。AIPerf目前的評價指標是Tops,即平均每秒處理的混合精度AI浮點操作數。使用一個而不是多個分數能方便進行不同機器的橫向比較,且方便公眾宣傳。
(2)可變的問題規模
人工智能計算集群往往有不同的系統規模,差異性體現在節點數量、加速器數量、加速器類型、內存大小等指標上。因此,為了適應各種規模的高性能計算集群,AIPerf能夠使用AutoML調整問題規模來適應集群規模的變化,從而充分利用人工智能計算集群的計算資源來體現其算力。
(3)具有實際的人工智能意義
具有人工智能意義的計算(如神經網絡運算)是人工智能基準測試程序相較于傳統高性能計算機基準測試程序的重要區別,也是其能夠檢測集群人工智能算力的核心所在。目前,AIPerf通過在ImageNet數據集上訓練神經網絡來運行計算機視覺應用程序;將來,計劃將自然語言處理等其他人工智能任務加入AIPerf的評測范圍。
(4)包含必要的多機通信
網絡通信是人工智能計算集群設計的主要指標之一,也是其龐大計算能力的重要組成部分。作為面向高性能計算集群的人工智能基準測試程序,AIPerf包括必要的多機通信(如任務的分發、結果的收集與多機訓練),從而將網絡通信性能作為最終性能的影響因素之一。
在第二屆中國超級算力大會(ChinaSC2020)上,基于AIPerf大規模人工智能算力基準評測程序的國際人工智能性能算力排行榜首次發布。鵬城實驗室研制的基于ARM架構和華為加速處理器的鵬城云腦二主機以194 527 Tops的AIPerf算力榮登榜首,其性能是排名第二的聯泰集群NVIDIA系統性能的12倍以上。
AIPerf基準評測程序還處于積極的開發和完善階段,目前AIPerf正在應用負載、硬件適應性以及國際推廣等方面大力推進。AIPerf目前只支持面向計算機視覺的人工智能應用程序。為了更好地評估大規模智能系統在各個典型應用領域的性能,研究團隊計劃之后支持更多種網絡搜索與訓練算法以及評測數據集,同時支持更多類型的人工智能計算集群系統;此外,將積極推動AIPerf在國際上的影響力,將其打造成有國際影響力和公信力的大規模人工智能系統基準評測程序。 □