最新版本的MLPerf存儲(chǔ)基準(zhǔn)測(cè)試需要仔細(xì)研究,以便比較供應(yīng)商的單節(jié)點(diǎn)和多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)在三個(gè)工作負(fù)載、系統(tǒng)特性以及兩種基準(zhǔn)測(cè)試運(yùn)行類型中的表現(xiàn)?;鶞?zhǔn)測(cè)試背后的組織MLCommons聯(lián)系了我們,并提供了有關(guān)基準(zhǔn)測(cè)試背景和使用的信息。我們?cè)谶@里轉(zhuǎn)載它,以幫助評(píng)估其結(jié)果。

MLCommons的市場(chǎng)總監(jiān)Kelly Berschauer告訴我們,基準(zhǔn)測(cè)試最初主要針對(duì)的是人工智能實(shí)踐者,他們以訓(xùn)練數(shù)據(jù)樣本和每秒樣本數(shù)來思考,而不是以文件、MBps或IOPS等存儲(chǔ)人員的方式來思考。MLPerf存儲(chǔ)工作組的成員決定在v1.0版本中,將存儲(chǔ)基準(zhǔn)測(cè)試報(bào)告與購買者尋找的更傳統(tǒng)指標(biāo)(MB/s、IOPs等)對(duì)齊?;鶞?zhǔn)測(cè)試中的每個(gè)工作負(fù)載定義了一個(gè)“樣本”(對(duì)于該工作負(fù)載),作為一定量的數(shù)據(jù),每個(gè)單獨(dú)樣本的大小圍繞這個(gè)數(shù)字有一定的隨機(jī)波動(dòng),以模擬我們?cè)诂F(xiàn)實(shí)世界中會(huì)看到的一些自然變化。最終,MLPerf將樣本視為一個(gè)恒定大小,即實(shí)際大小的平均值。平均大小分別是Cosmoflow(2,828,486字節(jié))、Resnet50(114,660字節(jié))和Unet3D(146,600,628字節(jié))。由于樣本是“固定”大小,我們將其乘以每秒樣本數(shù),得到MiB/s,并讓人工智能實(shí)踐者知道他們可以反向計(jì)算出他們感興趣的每秒樣本數(shù)。

比較每個(gè)GPU的獲得MiB/s值并沒有太大的價(jià)值,因?yàn)榛鶞?zhǔn)測(cè)試認(rèn)為“通過結(jié)果”是Unet3D和ResNet50的加速器利用率(AU)達(dá)到90%或更高,而Cosmoflow則為70%或更高。我們文章中包含的圖表僅顯示MiB/s/GPU結(jié)果的變化高達(dá)10%?;鶞?zhǔn)測(cè)試使用AU百分比作為閾值。這是因?yàn)?,由于GPU是重要的投資,用戶希望確保每個(gè)GPU不會(huì)因?yàn)榇鎯?chǔ)系統(tǒng)跟不上而缺乏數(shù)據(jù)。基準(zhǔn)測(cè)試并沒有額外的價(jià)值,以保持GPU超過90%的忙碌(或Cosmoflow超過70%)。

比較每個(gè)客戶端系統(tǒng)的MiB/s值(基準(zhǔn)測(cè)試稱之為“主機(jī)節(jié)點(diǎn)”)也不是很有價(jià)值,因?yàn)樵诮o定的計(jì)算機(jī)系統(tǒng)中可以安裝的GPU數(shù)量有物理限制,但在“主機(jī)節(jié)點(diǎn)”上可以運(yùn)行的模擬GPU數(shù)量沒有限制。因此,基準(zhǔn)測(cè)試報(bào)告的“主機(jī)節(jié)點(diǎn)”數(shù)量與需要托管相同數(shù)量GPU的實(shí)際計(jì)算機(jī)系統(tǒng)數(shù)量之間沒有關(guān)系,我們無法從中得出任何結(jié)論?;鶞?zhǔn)測(cè)試使用模擬的GPU,使存儲(chǔ)供應(yīng)商能夠運(yùn)行基準(zhǔn)測(cè)試,而無需實(shí)際付出大量投資獲得如此多(通常)的主機(jī)節(jié)點(diǎn)和GPU。

給定的存儲(chǔ)設(shè)備可以支持的模擬GPU訓(xùn)練集群的規(guī)模是這個(gè)基準(zhǔn)評(píng)測(cè)的核心要點(diǎn)。即對(duì)于給定的存儲(chǔ)設(shè)備集,它可以支持多少同類型的模擬GPU。在現(xiàn)代的可擴(kuò)展架構(gòu)中(無論是計(jì)算集群還是存儲(chǔ)集群),沒有“架構(gòu)最大”性能,如果你需要更多的性能,通常只需要添加更多的設(shè)備。這當(dāng)然因廠商而異,但這是一個(gè)好的經(jīng)驗(yàn)法則。v1.0版本的提交者使用了數(shù)量各異的存儲(chǔ)設(shè)備,因此我們預(yù)計(jì)報(bào)告的最高性能數(shù)字會(huì)有很大的差異。

不同的GPU集群“規(guī)?!笨隙〞?huì)對(duì)存儲(chǔ)施加不同程度的負(fù)載,但每個(gè)GPU的帶寬必須保持在所需帶寬的90%或更高,否則結(jié)果將不會(huì)“通過”測(cè)試。

分布式神經(jīng)網(wǎng)絡(luò)(NN)訓(xùn)練需要定期在GPU群體之間交換NN權(quán)重的當(dāng)前值。沒有權(quán)重交換,網(wǎng)絡(luò)將根本無法學(xué)習(xí)。AI社區(qū)已經(jīng)對(duì)權(quán)重交換的周期性進(jìn)行了深入研究,基準(zhǔn)測(cè)試使用了每種工作負(fù)載權(quán)重交換間隔的公認(rèn)規(guī)范。隨著訓(xùn)練集群中GPU數(shù)量的增加,完成權(quán)重交換所需的時(shí)間會(huì)增加,但權(quán)重交換是必需的,因此AI社區(qū)將其視為不可避免的成本。基準(zhǔn)測(cè)試使用“MPI屏障”來模擬定期的權(quán)重交換。MPI屏障迫使GPU都到達(dá)一個(gè)共同的停止點(diǎn),就像現(xiàn)實(shí)世界訓(xùn)練中的權(quán)重交換一樣?;鶞?zhǔn)測(cè)試最近計(jì)算的AU不包括GPU等待模擬權(quán)重交換完成的時(shí)間。

無論GPU集群的規(guī)模如何,每個(gè)GPU的每秒帶寬值都將是相同的值,只有在模擬權(quán)重交換期間,才會(huì)定期出現(xiàn)沒有存儲(chǔ)IO請(qǐng)求的時(shí)候。如果將總數(shù)據(jù)移動(dòng)量除以總運(yùn)行時(shí)間,似乎隨著規(guī)模的增加,每個(gè)GPU所需的B/W在下降,那是因?yàn)槿绻麤]有正確計(jì)算權(quán)重交換的“靜止時(shí)間”,就會(huì)出現(xiàn)這種情況。

MLPerf計(jì)劃在v2.0版本中將功率數(shù)據(jù)作為基準(zhǔn)測(cè)試的一個(gè)可選方面納入其中,并且很可能會(huì)要求報(bào)告每次提交時(shí)設(shè)備消耗的機(jī)架單元數(shù)。同時(shí),它還在考慮為v2.0增加幾個(gè)額外的功能。與所有基準(zhǔn)測(cè)試一樣,MLPerf工作組將通過一段時(shí)間持續(xù)去完善這個(gè)評(píng)測(cè)標(biāo)準(zhǔn)。

分享到

zhupb

相關(guān)推薦