­

不是GPU的IPU:NVIDIA要小心了

2020年7月30日,MLPerf組織發布第三個版本MLPerf Training v0.7基準測試(Benchmark)結果。NVIDIA基於5月最新發布的A100 Tensor Core GPU構建的DGX SuperPOD系統在性能上打破了8個記錄,這為不少想要打造比NVIDIA更好GPU的AI晶片公司增加了難度。

相比而言,7月15日Graphcore發布的第二代IPU GC200更值得NVIDIA警惕。其中的原因,當然不是簡單因為同為台積電7nm製程的第二代IPU比NVIDIAA100 GPU電晶體密度大10%。

而是,Graphcore的第二代IPU在多個主流模型上的表現優於A100 GPU,兩者將在超大規模數據中心正面競爭。

未來,IPU可能在一些新興的AI應用中展現出更大的優勢。

不是GPU的IPU:NVIDIA要小心了

多維度對比GPU,IPU有最高100倍性能提升

目前,AI的應用主要還是集中在電腦視覺(CV)。就CV而言,以Google最新發布的EfficientNet模型的Benchmarks(基準測試)來看,推理性能IPU吞吐量可以達到GPU的15倍,訓練也有7倍的性能提升。

不是GPU的IPU:NVIDIA要小心了

在ResNet的改進模型ResNeXt-101的推理中,IPU可以帶來7倍吞吐量的提升,同時時延降低了約24倍。在ResNeXt-50模型的一個訓練中,IPU的吞吐量比GPU提升 30%左右。

另外,在目前最流行的NLP模型BERT-Base中,進行推理時相同時延IPU可以有2倍的吞吐量,訓練時間減少25%到36.3小時左右,同時可以降低20%的功耗。

不是GPU的IPU:NVIDIA要小心了

在概率模型中,IPU同樣有優勢,在MCMC的一個訓練模型中,IPU比GPU有15倍的性能提升,縮短15倍的訓練時間。在VAE的精度訓練模型中,可以達到4.8倍的性能提升,縮短4.8倍的訓練時間。

還有,目前比較受關注的銷售預測和推薦模型。IPU在用在做銷售數據分析的MLP模型訓練中相比GPU有最高6倍的性能提升,在用於推薦的Dense Autoencoder模型訓練性能有2.5倍提升。

不是GPU的IPU:NVIDIA要小心了

如果是在IPU更擅長的分組卷積內核中,組維度越少,IPU的性能優勢越明顯,總體而言,有4-100倍的吞吐量提升。

不是GPU的IPU:NVIDIA要小心了

IPU的三大技術突破

從IPU與GPU在當下AI應用的多個維度對比中,已經可以看到IPU的優勢,這與Graphcore的計算、數據、通訊三大關鍵技術突破密切相關。

Graphcore最新發布的第二代IPU Colossus Mk2 GC200算力核心從1216個提升到1472個獨立的IPU-Tiles的單元,共有8832個可以並行執行的執行緒。In-Processor-Memory從上一代的300MB提升到900MB。每個IPU的Memory頻寬為47.5TB/s。

還包含了IPU-Exchange以及PCI Gen4跟主機交互的一個介面;以及IPU-Links 320GB/s的一個晶片到晶片的互聯。

不是GPU的IPU:NVIDIA要小心了

計算

選用三個典型的應用場景從計算層面對比第二代和第一代IPU,BERT-Large的訓練有9.3倍性能的提升,3層BERT推理有8. 5倍的性能提升,EfficientNet-B3有7.4 倍的性能提升。第二代IPU相比第一代IPU有兩倍峰值算力的提升,在典型的CV還有NLP的模型中,第二代IPU相比第一代IPU則展現出了平均8倍的性能提升。

不是GPU的IPU:NVIDIA要小心了

這樣的性能提升很重要的是處理器內部存儲從300MB提升到了900MB。Graphcore中國區技術應用總負責人羅旭對雷鋒網表示,「我們在算力核心的微架構上做了一些調整,每個IPU-Tiles的性能本身就會更強,總體實現2倍的峰值性能提升。在有效算力方面,處理器記憶體儲從300M提升到900M,可以位性能帶來較大的提升。」

MK2 IPU增加的處理器記憶體儲主要是用於供我們模型的激活、權重的一些存儲空間。因為處理器記憶體儲的程式所佔的空間與第一代IPU基本相同,所以增加的供演算法模型可用的權重和激活的有效存儲容量有6倍以上。

不是GPU的IPU:NVIDIA要小心了

但是,300M的處理器記憶體儲本身就挑戰很大,提升到900M面臨著怎樣的挑戰?羅旭指出,「要讓MK2支援8000個超執行緒並行一起工作,並且保證其線性度和各方面性能都要好,這個是非常複雜的一個技術,我們是利用BSP這一套軟體+硬體+編譯的機制,來保障性能能夠提升。軟體層面主要的挑戰是對新模式的支援,所以我們的軟體Poplar SDK要不斷迭代。「

如果對比NVIDIA基於8個最新A100 GPU的DGX-A100,Graphcore 8個M2000組成的系統的FP32算力是DGX-A100的12倍,AI計算是3倍,AI存儲是10倍。價格上,IPU-M2000需要花費25.96萬美元,DGX-A100需要19.9萬美元。Graphcore有一定的性價比優勢。

不是GPU的IPU:NVIDIA要小心了

如果從應用的角度,在EfficientNet-B4的圖象分類訓練中,8個IPU-M2000(在1U的盒子里集成4個GC200 IPU)的性能等同於16個DGX-A100,這時候就能體現出10倍以上的價格優勢。

不是GPU的IPU:NVIDIA要小心了

不是GPU的IPU:NVIDIA要小心了

數據

數據方面,Graphcore提出了IPU Exchange Memory的交換式存儲概念,相比NVIDIA當前使用的HBM技術,IPU- M2000每個IPU-Machine通過IPU-Exchange-Memory技術,可以提供近100倍的頻寬以及大約10倍的容量,這對於很多複雜的AI模型演算法是非常有幫助。

不是GPU的IPU:NVIDIA要小心了

計算加上數據的突破可以讓IPU在原生稀疏計算中展現出領先IPU 10-50倍的性能優勢。在數據以及計算密集的情況下,GPU表現非常好,但是隨著數據稀疏性的增強,到了數據稀疏以及動態稀疏時,IPU就有了比GPU越來越顯著的優勢。

Graphcore高級副總裁兼中國區總經理盧濤說:「現在一些全球領先的研究,像NLP方面,大家開始來探索一些像sparse NLP的演算法模型。我們的技術對很多超大規模的AI模型非常有幫助。」

不是GPU的IPU:NVIDIA要小心了

通訊

通訊也是目前數據中心大規模計算非常關鍵的問題。為此,Graphcore專為為AI橫向擴展設計了IPU-Fabric。IPU-Fabric可以做到2.8Tbps超低延時的結構,同時最多可以支援64000個IPU之間的橫向擴展。

盧濤介紹,IPU-Fabric是由三種網路一起組成,第一種是IPU-Link,第二種叫IPU Gateway Link,第三種是IPU over Fabric。IPU-Link是在一個機架(rack)之內提供在IPU之間的一個通訊的介面。IPU Gateway Link提供了機架和機架之間橫向擴展之間的網路。IPU over Fabric能夠把IPU的集群和x86的集群進行非常靈活以及低延時、高性能組合起來的網路。

不是GPU的IPU:NVIDIA要小心了

將計算、數據、通訊的突破結合在一起,就可以用於構建大規模可擴展的IPU-POD系統。一個用於超頻規模的IPU-POD的形態是一個IPU-POD64,這是IPU-POD的一個基本組件,每個IPU-POD64的機櫃裡面總共有64顆IPU,提供16PFlops的算力、58GB的In-Processor-Memory,總共達到了7個TB的流存儲。

不是GPU的IPU:NVIDIA要小心了

因此,在IPU-POD中間非常重要的是把AI的計算跟邏輯的控制進行了解耦,讓系統易於部署,網路延時非常低,能夠支援非常大型的一個演算法模型,以及非常安全的多住戶的使用。

盧濤表示,「IPU-Fabric最高支援64000個IPU-POD組成的集群,總共能提供16 EFlops FP16的算力。日本前一陣發布的超頻是0.5 EFlops算力。而我們基於64000個IPU總共可以組建16個EFlops算力,這非常驚人。」

Graphcore為什麼值得NVIDIA關注?

「目前超大規模IPU-POD技術主要的應用場景還是大規模AI訓練,包括自然語言處理以及機器視覺的應用,IPU-POD都有優勢。」盧濤指出,「譬如說做一個模型的訓練, GPU的性能是1,可能一個單機有8張卡,性能比0.7高。但如果把場景擴展到1000個GPU或者幾千個GPU,性能可能會下降到0.7、0.6,好一點可能到0.8,而超大規模的IPU-POD很重要的是要幫助大家解決大規模集群可擴展性的問題。

另外,從功耗的角度看,不同的場景會有一些差別。總體來看,單片 M2000 的整機系統功耗為 1.1KW,摺合到每顆IPU處理器的性能功耗比 0.9TFlops/W,在同類面向數據中心高性能AI計算的產品中,比A100 GPU的0.7TFlops/W,華為Ascend 910的 0.71TFlops/W的能效比都高一些。

也就是說,在大規模數據中心,Graphcore將會與NVIDIA進行正面的競爭。雷鋒網認為,相比於來自類GPU的競爭,NVIDIA不應該忽視Graphcore的IPU,特別是Graphcore一直都在強調其是為AI而生,面向的應用也是CPU、GPU不那麼擅長的AI應用。

不是GPU的IPU:NVIDIA要小心了

這從Graphcore的軟體以及生態建設中也能看出。IPU作為一款通用處理器能夠同時支援訓練和推理也提供統一的軟體平台。最新的POPLAR SDK1.2有三個特性:第一,會與比較先進的機器學習框架做好集成。第二,進一步開放低級別的API,讓開發者針對網路的性能做一些特定的調優。第三,增加框架支援,包括對PyTorch和Keras的支援,還優化了卷積庫和稀疏庫。

另外,通過支援全面的開發框架的三個主流作業系統ubuntu、RedHat、CentOS,降低開發者的使用難度,同時通過進一步開放低級別API,開源POPLAR PopLibs源程式碼。這些工作,正是想要讓開發者利用IPU去創新,在新的應用領域構建IPU的競爭優勢。

不是GPU的IPU:NVIDIA要小心了

更進一步,Graphcore面向商業用戶、高校及研究機構、個人開發者都提供不同時長的免費IPU使用。在中國,Graphcore IPU開發者雲部署在金山雲上,這裡面使用了三種IPU產品,一種是IPU-POD64,還有浪潮的IPU伺服器(NF5568M5),以及戴爾的IPU伺服器(DSS8440)。

雷鋒網了解到,目前申請使用Graphcore IPU開發者雲的主要是商業用戶和高校,個人研究者比較少。

IPU開發者雲支援當前一些最先進和最複雜的AI演算法模型的訓練和推理。比如,高級電腦視覺類主要以分組卷積為代表的一些機器視覺的應用模型,像ResNeXt、EfficientNet等。基於時序分析類的應用,像LSTM、GRU等大量應用在自然語音應用、廣告推薦、金融演算法等方面的模型。排名和推薦類像Deep Autoencoder,在概率模型方面,基於MCMC的一些演算法交易的模型方面都有非常好的一些表現。

不是GPU的IPU:NVIDIA要小心了

盧濤表示:「Graphcore找到了自己的賽道,我們首要思考的是IPU如何幫助客戶與合作夥伴解決他們目前使用CPU或者GPU上解決不了的問題。從全球看,我們最快落地的應用還是在超大規模數據中心,在金融、醫療健康領域進展非常大。」

還有一個影響IPU大規模商用非常關鍵的問題,片記憶體儲高達900M的第二代IPU良率的成本如何?

盧濤表示:「成本分為幾個部分,包括人員、工具、IP、流片成本。所以要考慮兩個部分。第一部分,晶片生產的BOM成本,這部分基本是固定的。所以,第二部分的良率就是非常重要,我們從第一代產品到第二代產品都採用分散式存儲架構,就會非常好地控制產品的良率,所以即使是900M處理器記憶體儲,也不會對成本產生特別大的影響。

不是GPU的IPU:NVIDIA要小心了

已經有多家雲合作夥伴的Graphcore,正在通過硬體以及軟體打造起中國創新社區來發展生態,接下來通過與OEM、渠道合作夥伴的合作,將會如何與NVIDIA競爭呢?

不是GPU的IPU:NVIDIA要小心了