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