AI性能基準測試從此有了「中國標準」,英偉達、谷歌可以試試這套算力卷
編者按:本文來自微信公眾號“量子位”(ID:QbitAI),作者:金磊,36氪經授權發(fā)布。
在秀算力這件事上,近幾年一個叫MLPerf的AI性能基準測試,經常躍入人們的視線。
為了拿這個標準證明實力,英偉達、谷歌等「算力」大廠的表現(xiàn),可謂是賺足了眼球。
早在2018年12月,也就是MLPerf首次出爐之際,英偉達便基于自家Tesla V100,在包括圖像分類、物體分割、推薦系統(tǒng)等六項測試中均取得優(yōu)秀成績,拿下全場最佳。
而此后,英偉達更是頻頻刷榜,就在剛剛過去不久的最新性能測試中,英偉達又憑借A100 GPU打破了八項AI性能紀錄。
谷歌方面也是毫不示弱,憑借4096塊TPU V3將BERT的訓練時間縮短到了23秒。
對此,谷歌AI掌門人Jeff Dean還在社交平臺發(fā)文表示:
很高興看到MLPerf 0.7的結果,谷歌TPU在八項基準測試中,創(chuàng)造了六項紀錄。
我們需要(換)更大的標準了,因為我們現(xiàn)在在30秒內,就可以訓練ResNet-50、BERT、Transformer、SSD 等模型。
那么問題來了,令這些「算力」大廠們競相追逐的MLPerf這套「考題」,真的是「AI性能基準測試的唯一標準」嗎?
不見得。
要達到理想的AI或者高性能計算(HPC)基準測試,具有三方面的挑戰(zhàn):
首先,基準工作負載(workload)需要表示關于硬件利用率、設置成本和計算模式等的實際問題。
其次,基準測試工作負載最好能夠自動適應不同規(guī)模的機器。
最后,使用簡單、較少的指標,就可以衡量AI應用上的整個系統(tǒng)性能。
反觀MLPerf,正如Jeff Dean所言,它具有固定的工作負載大小,這本身或許就是個錯誤。
因為增加的算力,應當被用來解決更大規(guī)模的問題,而不是用更少的時間去解決相同的問題。
而像LINPACK這樣的基準測試,在沒有代表性工作負載的情況下,又無法反映AI的跨棧性能。
針對上述問題,清華大學、鵬城實驗室、中科院計算所聯(lián)合推出了一套「中國AI試卷」——AIPerf。
簡單來說,AIPerf的特點如下:
基于的是自動化機器學習(AutoML)算法,能夠實現(xiàn)深度學習模型的實時生成,對不同規(guī)模機器有自適應擴展性,并可檢驗系統(tǒng)對通用AI模型的效果。
通過全新的解析方式計算浮點數(shù)運算量,可快速準確的預測AI任務中需要的浮點數(shù)運算,以此計算浮點數(shù)運算速率并作為評測分數(shù)。
那么,中國的這套「AI試卷」具體難度幾何?科學與否?
還請各位看官繼續(xù)品讀。
中國的這套「AI試卷」長什么樣?攤開這套「AI試卷」,全貌如下:
△ AIPerf基準測試工作流程圖
剛才也提到,AIPerf是基于AutoML算法來實現(xiàn),在框架方面,研究人員選擇的是一款較為用戶友好的AutoML框架——NNI(Neural Network Intelligence)。
但在此基礎上,研究人員針對「AI加速器閑置」、「模型生成耗時」等問題,對NNI框架進行了修改。
AIPerf的工作流程如下:
通過SSH訪問主節(jié)點,收集從屬節(jié)點的信息,并創(chuàng)建SLURM配置腳本。
主節(jié)點通過SLURM,將工作負載并行和異步地分配給對應請求和可用資源的從屬節(jié)點。
從屬節(jié)點接收到工作負載后,并行地進行架構搜索和模型訓練。
從屬節(jié)點上的CPU,據(jù)當前歷史模型列表搜索新的架構(該列表中包含了測試數(shù)據(jù)集上詳細的模型信息和精度),然后將架構存儲在緩沖區(qū)(如網絡文件系統(tǒng))中,以便后期訓練。
從屬節(jié)點上的AI加速器加載「候選架構」和「數(shù)據(jù)」,利用數(shù)據(jù)并行性與HPO一起訓練后,將結果存儲在歷史模型列表中。
一旦滿足條件(如達到用戶定義的時間),運行就會終止。根據(jù)記錄的指標計算出最終結果,然后上報。
做完這套「AI試卷」,得到的分數(shù)又該如何來衡量和排名呢?
我們知道,F(xiàn)LOPS是當前最常用來反映高性能計算整體計算能力的性能指標。
在這套「試卷」中,研究人員還是用FLOPS作為主要的指標,直接描述AI加速器的計算能力。
在AIPerf中,浮點數(shù)運算速率被當作一個數(shù)學問題來求解。通過對深度神經網絡的分解,對每個部分的運算量進行解析的分析,得到浮點數(shù)運算量。
結合任務運行時間,即可得到浮點數(shù)運算速率并作為benchmark分數(shù)。
理論到位了,實驗就要跟上。
硬件規(guī)格方面如下:
評估環(huán)境的詳情如下:
最后,公布性能結果!
研究人員在各種規(guī)模的機器上運行了AIPerf這項基準測試,主要對兩方面特性做了評估,分別是穩(wěn)定性和可擴展性。
從10個節(jié)點到50個節(jié)點,最多有400個GPU。所有的中間結果,包括生成的架構、超參數(shù)配置、每個時間點的精度和時間戳,都記錄在日志文件中。
下圖展示了用不同規(guī)模的機器進行評估的「基準分數(shù)」和「規(guī)范分數(shù)」(單位均為FLOPS),隨時間產生的變化。
結果表明,AIPerf基準測試具有魯棒性和線性可擴展性。
接下來,是在不同規(guī)模機器下,GPU及其內存利用率的相關評估。
從圖中可以發(fā)現(xiàn),AI訓練卡整體的計算和內存利用率很高(均大于90%)。在不同模型之間的過渡階段,由于數(shù)據(jù)的加載和計算圖的編譯等原因,利用率會有所下降。
「瀏覽試卷」后,就需要思考一個問題:
為什么要出AIPerf這套AI基準測試?
這個問題就需要「由表及里」地來看待。
首先,從表象來看,類似MLPerf和LINPACK基準測試程序,自身存在一些漏洞和問題:
要么工作負載大小是固定的,而算力的增加,應當用來解決更大規(guī)模的問題,限制了可擴展性。
要么在沒有代表性工作負載的情況下,無法反映系統(tǒng)對AI的跨棧計算性能。
雖然諸如此類的評測標準,目前來看是具有一定的價值和意義,但客觀存在的不足也是不容忽視。
畢竟在當前人工智能飛速發(fā)展的大環(huán)境下,算力顯得格外重要,而完備及更加科學的「基準測試」,將有助于算力的發(fā)展。
由此看來,「基準測試」和「算力」更像一對作用力和反作用力。
其次,從深層意義來看,發(fā)展算力,是非常必要的。
對于高性能計算來說,早在1993年便誕生了「TOP500」榜單,從一開始的美國、日本霸榜,到中國算力的崛起,不難看出國家在這項建設中的投入。
原因很簡單,高性能計算對于各個國家發(fā)展航天事業(yè)、石油勘探、水利工程,再到新興的高科技產業(yè),都起到至關重要的作用。
但伴隨著AI的興起,改變了一往傳統(tǒng)高性能計算的「求解方法」——AI+HPC才是未來算力的發(fā)展趨勢。
近年來TOP500榜單,便能體現(xiàn)這一點:
首臺登頂榜首的ARM架構HPC,是基于富士通48/52核A64FX ARM。
排名第二的SUMMIT,采用IBM Power+NVIDIA V100。
……
榜單中近30%系統(tǒng)擁有加速卡/協(xié)處理器,也就是說,越來越多的系統(tǒng)配有大量低精度算術邏輯單元,用來支撐人工智能計算能力需求。
而在我國,也有越來越多的企業(yè),開始或已經布局其中。
例如華為、浪潮、聯(lián)想等,均拿出了自家強悍產品,在諸如TOP500、MLPerf等榜單中大顯身手。
再從實際應用層面來看,或許你覺得發(fā)展算力對平民百姓并沒有用,但其實不然。
恰好每年大血拼的「雙11」即將來臨,而每個電商平臺背后,都有一套強有力的推薦系統(tǒng),也就是用戶經??吹降摹覆履阆矚g」功能。
推薦得準不準、快不快,很大程度上也是依賴于AI算力的強大與否。
再則,每年上千億元成交額,能夠保證及時付款成功,AI算力也是功不可沒。
……
最后,回到最初的那個問題:
中國出的這套「AI試卷」,即ALPerf,英偉達、谷歌等老牌算力大廠又會有怎樣的表現(xiàn)?