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