在人工智能芯片,尤其是在訓(xùn)練芯片這個(gè)市場(chǎng),,英偉達(dá)是當(dāng)之無(wú)愧的霸主,。
得益于公司在通用CPU和CUDA生態(tài)方面的多年投入,,英偉達(dá)拿下了AI訓(xùn)練芯片公開(kāi)市場(chǎng)的絕大多數(shù)份額,。據(jù)筆者了解,,除了谷歌自用的TPU頗具規(guī)模以外,,其他的AI芯片在訓(xùn)練市場(chǎng)現(xiàn)在基本都難以撼動(dòng)英偉達(dá)的地位,。但因?yàn)檫@是一個(gè)巨大的市場(chǎng),,所以不少?gòu)S商正在投入其中,,期望打破這種格局,從中分一杯羹,,來(lái)自英國(guó)的Graphcore正是其中一個(gè)最強(qiáng)挑戰(zhàn)者,。
今年年中,Graphcore發(fā)布了全新一代的IPU芯片Colossus MK2 GC200 IPU,,同時(shí)還帶來(lái)了搭載四顆MK2 IPU的系統(tǒng)解決方案IPU-Machine:M2000(IPU-M2000),。據(jù)介紹,這款產(chǎn)品還可以擴(kuò)展到1024個(gè)IPU-POD,,也就是512個(gè)機(jī)架,,最多64000個(gè)MK2 IPU,進(jìn)而把16bit FP的算力擴(kuò)展到16 ExaFLOPs,。
從基礎(chǔ)數(shù)據(jù)來(lái)看,,IPU給英偉達(dá)帶來(lái)了前所未有的威脅,。而在最近Graphcore發(fā)布的一個(gè)benchmark測(cè)試中,基于這個(gè)芯片打造的系統(tǒng)也在多項(xiàng)應(yīng)用中領(lǐng)先于AI芯片領(lǐng)域的王者,。
多維度領(lǐng)先GPU
Graphcore中國(guó)工程總負(fù)責(zé)人,、AI算法科學(xué)家金琛在日前的一場(chǎng)媒體溝通會(huì)上告訴記者,Graphcore最新的AI計(jì)算系統(tǒng)——IPU-M2000和縱向擴(kuò)展的IPU-POD64在各種流行的模型的訓(xùn)練和推理方面的表現(xiàn)都優(yōu)于英偉達(dá)的A100(基于DGX),。
首先看訓(xùn)練方面:
從金琛提供的數(shù)據(jù)我們可以看到,,在BERT-Large(基于Transformer的自然語(yǔ)言處理模型)端到端的訓(xùn)練方面,英偉達(dá)DGX-A100所需的訓(xùn)練時(shí)間是69.5小時(shí),。來(lái)到IPU-POD64上,,PopART BERT-Large的端到端訓(xùn)練時(shí)間僅為13.2小時(shí)。
“如此看來(lái),,相比1個(gè)DGX-A100,,BERT-Large能在IPU-POD64上實(shí)現(xiàn)5.3倍的提升”,金琛告訴記者,。她進(jìn)一步指出,,與三個(gè)DGX-A100相比,1個(gè)IPU-POD64也能夠?qū)崿F(xiàn)1.8倍的提升,?!?個(gè)IPU-POD64和3個(gè)DGX-A100的功率和價(jià)格基本相同,但卻能夠?qū)崿F(xiàn)接近兩倍的性能提升,,這就是非常顯著的性能優(yōu)勢(shì)”,,金琛補(bǔ)充說(shuō)。
據(jù)金琛介紹,,Graphcore的IPU在Deep Voice 3的訓(xùn)練性能與英偉達(dá)GPU相比,,也有不小的提升。如上圖所示,,IPU-M2000的吞吐量是最新GPU的13.6倍,。
來(lái)到機(jī)器視覺(jué)的訓(xùn)練方面,IPU也毫不遜色,。
如上圖所示,,在大家較為熟悉的ResNet-50的訓(xùn)練中,IPU-M2000較之A100有2.6倍的吞吐量提升,。在ResNet-101的訓(xùn)練中,,IPU-M2000和A100相比,更是實(shí)現(xiàn)了3.7倍吞吐量的提升,。
在EfficientNet-B4的訓(xùn)練中,,EfficientNet在IPU-M2000上實(shí)現(xiàn)了比A100高18倍的性能提升。從金琛的介紹我們得知,,能實(shí)現(xiàn)這樣的飛躍,,主要是因?yàn)镋fficientNet是由可分離深度卷積組成的,,它的卷積核比較小,使得您在調(diào)度上的開(kāi)銷和算子的利用率在IPU上可能會(huì)有更好的體現(xiàn),。而ResNet-50則基本上是由卷積組成的,。
“如果算子小、算子比較多,,在GPU上的調(diào)度開(kāi)銷也會(huì)引入跟HDM內(nèi)存上數(shù)據(jù)交互的開(kāi)銷,,這就可能會(huì)導(dǎo)致它們的性能折損,。這也從側(cè)面證明了新一代的模型上IPU其實(shí)更具普適性,。”金琛說(shuō)道,。
在了解完IPU在訓(xùn)練方面的優(yōu)勢(shì)外,,我們?cè)賮?lái)看一下它們?cè)谕评矸矫娴慕艹霰憩F(xiàn)。首先被介紹的是IPU在EfficientNet上的推理性能,。金琛表示,,這個(gè)由谷歌在2019年開(kāi)發(fā)的模型尺寸有8個(gè)等級(jí),其中B0是一個(gè)模型尺寸比較小的模型,,擁有5兆的參數(shù)量級(jí),。而B(niǎo)7則是其中最大的模型,參數(shù)量級(jí)大概是60兆-70兆,。
“在PyTorch和TensorFlow兩種不同的框架下,,EfficientNet-B0在1臺(tái)IPU-M2000上的吞吐量大概可以達(dá)到以‘萬(wàn)’為單位的級(jí)別,時(shí)延則遠(yuǎn)遠(yuǎn)小于5毫秒,。而在最新的GPU上,,即使在時(shí)延最大化的情況下,它的吞吐量也遠(yuǎn)遠(yuǎn)小于以‘萬(wàn)’為單位的吞吐量級(jí),,由此可充分體現(xiàn)IPU所具備的時(shí)延優(yōu)勢(shì)”,,金琛告訴記者。
“BERT-Large推理上,,在IPU和GPU都處于最低時(shí)延的情況下,,與A100相比,IPU-M2000也能實(shí)現(xiàn)3.4倍的吞吐量提升”,。金琛進(jìn)一步指出,。
據(jù)金琛介紹,IPU-M2000在LSTM推理和ResNeXt-101的推理方面,,獲得了遙遙領(lǐng)先于GPU的時(shí)延和吞吐表現(xiàn),。其中前者以更低時(shí)延實(shí)現(xiàn)吞吐量提升超過(guò)600倍,后者的吞吐量提升了40倍,,同時(shí)時(shí)延縮短了10倍,。
Graphcore軟件高級(jí)副總裁Matt Fyles在對(duì)測(cè)試結(jié)果發(fā)表評(píng)論時(shí)說(shuō),,這一整套全面的benchmark表明Graphcore的IPU-M2000和IPU-POD64在許多流行模型上的性能均優(yōu)于GPU。他進(jìn)一步指出,,諸如EfficientNet之類的新型模型的benchmark特別具有啟發(fā)性,,因?yàn)樗鼈冏C明了AI的發(fā)展方向越來(lái)越傾向于IPU的專業(yè)架構(gòu),而非圖形處理器的傳統(tǒng)設(shè)計(jì),。
軟硬件是底氣
從前文的介紹中,,我們可以看到Graphcore IPU及基于IPU打造的系統(tǒng)的實(shí)力。毫無(wú)疑問(wèn),,Graphcore獨(dú)特設(shè)計(jì)的IPU芯片是其根本,。但除此以外,Graphcore基于這個(gè)芯片打造的一個(gè)可擴(kuò)展的硬件生態(tài)以及一個(gè)讓開(kāi)發(fā)者的工作更簡(jiǎn)便的軟件生態(tài),,才是Graphcore叫板英偉達(dá)的底氣,。
Graphcore高級(jí)副總裁兼中國(guó)區(qū)總經(jīng)理盧濤告訴記者,Graphcore的IPU-POD64是一個(gè)由16臺(tái)IPU-M2000組成的解決方案,,目前也已經(jīng)在全球范圍之內(nèi)實(shí)現(xiàn)了該方案的交付,。該方案具備的優(yōu)勢(shì)之一是實(shí)現(xiàn)了x86和IPU計(jì)算的解耦。
“在IPU-M2000里,,我們通過(guò)IPU-Fabric,,使其能夠?qū)崿F(xiàn)與x86服務(wù)器芯片之間的動(dòng)態(tài)搭配。您在使用IPU做計(jì)算機(jī)視覺(jué)的應(yīng)用時(shí),,可以把x86配比設(shè)置得高一點(diǎn),。而在做自然語(yǔ)言處理業(yè)務(wù)的時(shí)候,您則可能可以用一臺(tái)x86服務(wù)器帶動(dòng)一個(gè)IPU-POD64,、甚至兩個(gè)IPU-POD64,。這就是解耦的作用”,盧濤舉例說(shuō),。
此外,,IPU-POD64是目前市場(chǎng)上非常少見(jiàn)的,可以同時(shí)將縱向擴(kuò)展和橫向擴(kuò)展都做得非常好的AI計(jì)算平臺(tái)產(chǎn)品,。
據(jù)盧濤介紹,,所謂縱向擴(kuò)展是指IPU-POD64可以實(shí)現(xiàn)從一臺(tái)IPU-M2000到一個(gè)IPU-POD16(4臺(tái)IPU-M2000),再到一個(gè)IPU-POD64(16臺(tái)IPU-M2000)進(jìn)行軟件透明擴(kuò)展,。換而言之,,您在一個(gè)IPU-M2000里編譯好的軟件,可以被應(yīng)用到擴(kuò)展后的IPU-POD64上,。
在談到為何將擴(kuò)展限制在IPU-POD64的時(shí)候,,盧濤表示,這是他們與很多頭部互聯(lián)網(wǎng)公司交流的結(jié)果,。在后者看來(lái),,當(dāng)前絕大部分單一工作負(fù)載最大不會(huì)超過(guò)IPU-POD64,。也就是說(shuō),對(duì)于當(dāng)前最主流的工作負(fù)載來(lái)說(shuō),,1個(gè)IPU-POD64就能夠讓絕大多數(shù)工程師不需要擔(dān)心分布式的機(jī)器學(xué)習(xí),、分布式的機(jī)器學(xué)習(xí)框架和分布式通信等問(wèn)題,可以進(jìn)行軟件透明擴(kuò)展,。
“與之相比,,如果您把DGX-A100這樣的機(jī)器,從1個(gè)擴(kuò)展到4個(gè),,就需要用一個(gè)叫做分布式的機(jī)器學(xué)習(xí)框架,,對(duì)您的算法模型進(jìn)行相應(yīng)的改造,才能被應(yīng)用到新系統(tǒng)上”,,盧濤接著說(shuō),。
從橫向擴(kuò)展的角度來(lái)看,,多個(gè)IPU-POD64最多可以支持64000個(gè)IPU組成的AI計(jì)算集群,。這就為開(kāi)發(fā)者提供了更多的選擇。
在介紹了Graphcore的IPU在硬件方面的擴(kuò)展能力之后,,盧濤還對(duì)公司在軟件方面的進(jìn)展進(jìn)行了分享,。首先,他講到,,公司在發(fā)布Poplar SDK 1.4時(shí),,還發(fā)布了面向IPU的PyTorch產(chǎn)品化版本。
“在PyTorch的代碼里面,,Graphcore引入了一個(gè)叫PopTorch的輕量級(jí)接口,。通過(guò)這個(gè)接口,用戶可以基于他們當(dāng)前的PyTorch的模型做一個(gè)輕量級(jí)的封裝,。封裝之后就可以無(wú)縫的在IPU和CPU上執(zhí)行這個(gè)模型了,。在當(dāng)前的Poplar SDK 1.4版本中,我們既支持模型并行,、也支持?jǐn)?shù)據(jù)并行,。”
他進(jìn)一步指出,,這個(gè)封裝使得模型生成了一個(gè)IPU和PyTorch兼容的一個(gè)中間模型表示格式,,這個(gè)表示格式可以通過(guò)PopART編譯起來(lái),之后生成一個(gè)可在IPU上執(zhí)行的一個(gè)二進(jìn)制文件,?!癙oplar SDK 1.4版本支持模型從1個(gè)IPU橫向擴(kuò)展到64個(gè)IPU。下一代的Poplar SDK可能能夠橫向擴(kuò)展到128個(gè)IPU”,,金琛補(bǔ)充說(shuō),。
除了進(jìn)一步完善自身的軟件方面以外,,Graphcore還正在與微軟和阿里云進(jìn)行開(kāi)源相關(guān)合作。用盧濤的話來(lái)說(shuō),,他們與這兩者的合作,,目的就是希望能從AI編譯的角度,讓用戶能夠在GPU和IPU之間能實(shí)現(xiàn)盡量平滑的遷移,。
金琛也解析道,,NNFusion是微軟亞洲研究院所做的一項(xiàng)的工作,其目的就是為了讓用戶在不同芯片平臺(tái)上開(kāi)發(fā)的時(shí)候,,可以避免一些重復(fù)性的工作,,使用統(tǒng)一的平臺(tái)、統(tǒng)一的接口,,讓模型在不同的硬件廠商的芯片上無(wú)縫的運(yùn)行,。
“上圖中間表示,理想情況下,,NNFusion可以做跨平臺(tái)的工作,,既可以集成TensorFlow生成的模型、也可以集成PyTorch或其他框架生成的模型,,用戶只要通過(guò)一個(gè)NNFusion接口就可以在不同的AI芯片上做訓(xùn)練或者推理”,,金琛告訴記者。
至于阿里云的HALO,,其初衷也是和NNFusion一樣,,想做一個(gè)整體的框架,向上跨AI框架,,向下通過(guò)ODLA這樣一個(gè)通用的硬件接口對(duì)接不同的硬件廠商的芯片,。據(jù)金琛所說(shuō),阿里云的初衷多是希望處理如TensorFlow的模型,、ONNX的模型,、或是PyTorch的模型等不同模型,然后能夠?qū)⑺绘I式地在系統(tǒng)上或者是集群上運(yùn)行起來(lái),。
在問(wèn)到對(duì)競(jìng)爭(zhēng)的看法時(shí),,盧濤告訴記者,在他看來(lái),,Graphcore在AI芯片市場(chǎng),,唯一的一個(gè)挑戰(zhàn)者就是英偉達(dá)。這主要是得益于他們過(guò)去多年與開(kāi)發(fā)者,、社區(qū)一起共同建立的,,包括GPU和CUDA在內(nèi)的AI加速計(jì)算的軟硬件生態(tài)。但即使如此,他們對(duì)未來(lái)還是充滿信心,,這一方面因?yàn)镚raphcore的處理器在不同的地方充分體現(xiàn)了自己的價(jià)值,;另一方面,Graphcore也在解決一些GPU所不能解決的問(wèn)題,。
“目前我們從體量和生態(tài)上跟英偉達(dá)相比,,肯定還是有差距的。但只要我們?cè)谒劢沟念I(lǐng)域跑得更快,,我們之間的距離會(huì)越來(lái)越短,,甚至在某些領(lǐng)域超過(guò)英偉達(dá)。Graphcore希望在未來(lái)幾年之內(nèi),,能夠真正在數(shù)據(jù)中心的AI訓(xùn)練和推理的批量部署上面,,在發(fā)貨以及體量上面,做到除英偉達(dá)以外的另一個(gè)頭部企業(yè)的地位,,這是我們中短期的目標(biāo)”,,盧濤最后說(shuō)。