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