2020年12月,Graphcore宣布加入MLCommons(獨立Benchmark組織MLPerf的下屬機構(gòu)),成為其創(chuàng)始成員,并表示將于2021年加入MLPerf,在春季提交第一份訓(xùn)練。北京時間2021年7月1日凌晨1點,一份出色的提交結(jié)果如期而至。
在今年提交的MLPerf訓(xùn)練1.0版本的任務(wù)里面,Graphcore提交了兩個在相應(yīng)領(lǐng)域里面頗具代表意義,被廣為使用的模型:計算機視覺模型ResNet-50,以及自然語言處理模型BERT。所提交的硬件形態(tài)也是兩個,IPU-POD16和IPU-POD64。
如下圖所示,在IPU-POD64上,BERT的訓(xùn)練時間只有9.39分鐘,ResNet-50的訓(xùn)練時間為14.48分鐘,已經(jīng)達到了超級計算機級別的AI性能。
據(jù)悉,封閉分區(qū)(Closed Division)嚴格要求提交者使用完全相同的模型實施和優(yōu)化器方法,包括定義超參數(shù)狀態(tài)和訓(xùn)練時期。開放分區(qū)(Open Division)保證了和封閉分區(qū)完全相同的模型準確性和質(zhì)量,但支持更靈活的模型實施以促進創(chuàng)新。因此,開放分區(qū)支持更快的模型實現(xiàn),更加適應(yīng)不同的處理器功能和優(yōu)化器方法。其實,對于像Graphcore IPU這樣的創(chuàng)新架構(gòu),開放分區(qū)更能體現(xiàn)出其性能,但公司還是選擇在開放和封閉分區(qū)都進行了提交。
“在IPU-POD16上,BERT在MLPerf v1.0 Training開放分區(qū)中的訓(xùn)練時間(Time To Train)基本上是小于半個小時的。而在IPU-POD64上,其Scaling Factor基本上可以達到3.5倍,在開放分區(qū)提交中的訓(xùn)練時間基本上是小于10分鐘的,這對于很多科研工作者來說是非常令人興奮的一個消息,這意味著在訓(xùn)練過程中他們可以更快地得到研究結(jié)果?!盙raphcore中國工程總負責(zé)人、AI算法科學(xué)家金琛表示。
Graphcore中國工程總負責(zé)人、AI算法科學(xué)家 金琛
性價比超高!Graphcore“每美元性能”領(lǐng)先英偉達
MLPerf被稱為比較基準,實際上進行直接比較可能很復(fù)雜。而從“每美元性能”角度來看,往往最能夠說明問題。
MLPerf對比了市面上的Graphcore系統(tǒng)與NVIDIA的最新產(chǎn)品,結(jié)果證實Graphcore在“每美元性能”(Performance-Per-Dollar)的指標上穩(wěn)居領(lǐng)先地位。
據(jù)悉,NVIDIA此次提交的很多數(shù)據(jù)是基于其DGX A100 640G的版本。以ResNet-50為例,其使用的DGX A100 640G的版本,8張卡,6U的空間。Graphcore使用的是IPU-POD16,5U的空間。如上圖所示,DGX A100的廠商指導(dǎo)零售價接近30萬美金/臺。Graphcore的全球合作伙伴給出的IPU-POD16目錄價是將近15萬美金/臺。
經(jīng)對比可見,這兩個系統(tǒng)中,IPU-POD16上ResNet-50的MLPerf訓(xùn)練時間是37.12分鐘,DGX A100 640G版本上是28.77分鐘?!白罱K用戶非常關(guān)注‘每花費一美金所能獲得的訓(xùn)練收益’。如果我們將訓(xùn)練收益和目錄價折算成性價比的話,IPU-POD16相對DGX A100 640G版本的性價比收益有1.6倍?!盙raphcore高級副總裁兼中國區(qū)經(jīng)理盧濤表示。
Graphcore高級副總裁兼中國區(qū)經(jīng)理 盧濤
兩個系統(tǒng)同樣在BERT的訓(xùn)練任務(wù)上也進行了比較。IPU-POD16上BERT的MLPerf訓(xùn)練時間是34.49分鐘,NVIDIA是21.69分鐘,折算成性價比的話,IPU-POD16的性價比收益可達DGX A100 640G版本的1.3倍。
由此可見,Graphcore系統(tǒng)的經(jīng)濟性可以更好地幫助客戶實現(xiàn)其AI計算目標。同時,由于IPU專為AI構(gòu)建的架構(gòu)特點,Graphcore系統(tǒng)還可以解鎖下一代模型和技術(shù)。
持續(xù)追求軟件改進,六個月內(nèi)性能提升高達2.1倍
上圖顯示的是SDK對模型性能的影響(以在IPU-POD16上為例)。近期發(fā)布的Poplar SDK中所取得的基準測試(Benchmark)方面的進展,體現(xiàn)了Graphcore對持續(xù)改進軟件的關(guān)注。圖中列出了三個版本:1.4版本、2.0版本、2.1版本。1.4版本于2020年發(fā)布,2.0版本于2021年Q1發(fā)布,2.1版本在6月底剛剛發(fā)布。可以發(fā)現(xiàn),隨著版本的演進,Graphcore實現(xiàn)了2.1倍的ResNet-50性能提升,1.6倍的BERT-Large性能提升和1.5倍的計算機視覺模型EfficientNet性能提升?!皩τ贐ERT-Large第一階段預(yù)訓(xùn)練(SL128)吞吐量的來說,其SDK 1.4的吞吐量大概是2700,SDK 2.0大概是3700,SDK 2.1是4000多。對于Graphcore這樣一個500人左右的公司來說,能在半年內(nèi)取得這樣的提升,可以算是取得了一個較為顯著的成果?!苯痂”硎?,“計算機視覺(CV)圖像分類(Image Classification)方面,EfficientNet在SDK 2.1上的性能和SDK 1.4相比提升了1.5倍。而在這三個模型中,提升最顯著的是ResNet-50,其在SDK 2.1上的性能和SDK 1.4相比提升了2倍左右。這是發(fā)揮了我們SDK中的兩個比較顯著的功能(Feature)的作用:一是post I/O的overlap,即在CPU和IPU間進行任務(wù)處理時,在圖像傳輸?shù)倪^程中會與我們的計算進行重疊,這樣可以更好地利用我們IPU的計算資源。另外,我們在算子庫和Tile Memory Layout方面也取得了一些進步,使得我們在算子方面有所提升。”
MLPerf的提交對Graphcore意味著什么?
“Graphcore什么時候能夠提交MLPerf的結(jié)果?”在過去的一兩年里,這個問題常被外界問及。
由于資源有限,還要聚焦于開發(fā)公司自身的核心軟件特性,以及與頭部客戶及合作伙伴聯(lián)合探索應(yīng)用場景落地,Graphcore在當(dāng)時沒有足夠的人力和時間資源進行MLPerf提交的相關(guān)工作。
“今年,Graphcore整體軟硬件,尤其是軟件和生態(tài),更加成熟完善,公司整體實力和之前相比更加雄厚?!北R濤說道,“提交MLPerf的工作量不小。我們有一個團隊主要做MLPerf的相關(guān)工作,在其他團隊的支持下,這個團隊針對這一次的提交做了半年多的工作?!?/p>
的確,對于如今500人左右規(guī)模的Graphcore來說,這是一項很大的投資。“提交MLPerf從某種意義上證明,和以前相比,Graphcore的實力有了進一步提高,我們有資源來做提交MLPerf的相關(guān)工作?!北R濤補充道,“在未來,我們也有做更大規(guī)模集群性能提交的計劃?!?/p>
Graphcore追求的三個目標:更優(yōu)的性能、更大的規(guī)模和添加更多模型
MLCommons的使命是“加速機器學(xué)習(xí)創(chuàng)新并擴大其對社會的積極影響”,這也是Graphcore全力以赴、為之奮斗的志向。全球的處理器各不相同,衡量其性能的維度更是多種多樣。在對比不同處理器的時候,所對比的維度也是不盡相同。MLCommons所提出的各種基準測試從某種意義上說將各類處理器都拉到了同一個維度里進行對話,這對于業(yè)界來說有較大的參考意義?!跋馬esNet、BERT等應(yīng)用都是在過往基于GPU架構(gòu)選擇出來并深度優(yōu)化的應(yīng)用。這可能對于Graphcore來說不是特別‘公平’。但是對于一家企業(yè)機構(gòu)來說,要積極參與產(chǎn)業(yè)標準的探討,逐漸成為產(chǎn)業(yè)中的有力聲音,才能最終影響產(chǎn)業(yè)標準的走向。所以對于Graphcore來說,要先擁抱這一標準,逐漸加深對這一標準規(guī)則的了解以及其對整個產(chǎn)業(yè)的意義?!北R濤如是說,“此次是Graphcore第一次提交MLPerf訓(xùn)練任務(wù)。這是一項需要持續(xù)投入的工作,我們在未來也會積極參與MLPerf的提交,提供一些不同的任務(wù),讓MLPerf的工作負載(Workload)更具代表性。”