IPU:為AI處理器帶來了一種顛覆 性架構(gòu)
迎 九 (《電子產(chǎn)品世界》 北京,100036)
本文引用地址:http://butianyuan.cn/article/202007/415317.htm摘 要:英國半導體之父、Arm的聯(lián)合創(chuàng)始人Hermann爵士稱:“在計算機歷史上發(fā)生過3次革命,第1次是70年代的CPU,第2次是90年代的GPU,而Graphcore公司帶來了第3次革命?!盙raphcore推出了為AI計算而生的IPU。Graphcore高級副總裁兼中國區(qū)總經(jīng)理盧濤先生和中國銷售總監(jiān)朱江,向電子產(chǎn)品世界等媒體介紹了IPU的架構(gòu)。
0 引言
Graphcore總部在英國,目前全球有450名員工。公司已獲大量投資,截止到2020年6月,總?cè)谫Y超過4.5億美元。
Graphcore主要產(chǎn)品是IPU。Graphcore認為,由于CPU和GPU不是為了滿足機器學習的計算需求而設計,因此盡管進化,創(chuàng)新者卻開始因硬件阻礙而倒退。而Graphcore創(chuàng)建了一種全新的處理器,是第一個專為機器學習工作負載而設計的處理器——智能處理器(IPU)。
1 IPU的兩大特點
Graphcore現(xiàn)有的IPU的表現(xiàn)及下一代的模型上,性能領先于GPU:在自然語言處理方面的速度能夠提升20%~50%;在圖像分類方面,能夠有6倍的吞吐量而且是更低的時延;在一些金融模型方面的訓練速度能夠提高26倍以上。目前,IPU在一些云上、客戶自建的數(shù)據(jù)中心服務器上已經(jīng)可用。
相比GPU及其他與GPU類似的處理器架構(gòu),IPU有2個亮點設計。
1)從大規(guī)模并行的角度來看,CPU在控制方面做了很多非常通用化的處理器,也就是一個標量的處理器;GPU是向量處理器,有單指令、多數(shù)據(jù)的特點,適合處理大規(guī)模的、稠密的數(shù)據(jù),在某一類的AI運算里會有非常明顯的優(yōu)勢,這也是現(xiàn)在GPU在市場上表現(xiàn)得非常好的原因;而IPU是一種全新的架構(gòu)設計,是一種圖形的處理器,具備多指令、多數(shù)據(jù)的特點。除了稠密的數(shù)據(jù)之外,現(xiàn)在代表整個AI發(fā)展方向的大規(guī)模稀疏化的數(shù)據(jù),在IPU上處理就會有非常明顯的優(yōu)勢。
2)IPU采用的大規(guī)模分布式的片上SRAM的架構(gòu),這與GPU、CPU是完全不同的。Graphcore IPU拋棄了外部的DDR,把所有memory放到片上,因此能夠解決在目前機器學習中大量出現(xiàn)的內(nèi)存帶寬構(gòu)成的瓶頸。
在場景應用方面,由于采用了分組卷積這種新型的卷積,和目前比較傳統(tǒng)的ResNet相比,可以有更好的精度表現(xiàn)。但這樣的分組卷積因為數(shù)據(jù)不夠稠密,在GPU上可能效果并不好,而IPU可以把這樣的模型真正落地使用,尤其是在一些垂直行業(yè),諸如金融領域提升應用的性能。
Graphcore所做的產(chǎn)品包括了硬件、軟件和IPU的系統(tǒng)解決方案。
2 為AI應用打造的IPU
機器智能代表的是全新的計算負載,特點是非常大規(guī)模的并行計算,和非常稀疏的數(shù)據(jù)結(jié)構(gòu)。AI或機器智能相較于傳統(tǒng)的科學計算或者高性能計算(HPC)有個特點,就是低精度計算;另外像在做訓練推理過程中的數(shù)據(jù)參數(shù)復用、靜態(tài)圖結(jié)構(gòu)都是AI應用代表的一些全新的計算負載。
從2016年至今,整個AI算法模型發(fā)展基本上從2016年1月的ResNet50的2 500萬個參數(shù),到2018年10月BERT-Large的3.3億個參數(shù),2019年GPT2的15.5億個參數(shù),呈大幅增長的趨勢。甚至現(xiàn)在有一些領先的科研機構(gòu)和AI研究者在探索更大的算法模型,希望用一些復雜的模型能夠訓練更復雜的算法,并提高精度。
但是現(xiàn)在的密集計算并不是可持續(xù)的,因為譬如要從15.5億規(guī)模擴展到1萬億,計算方面的提高是指數(shù)級,即數(shù)倍算力的提升,這就需要一種全新的方法來做AI計算。
但是在當前,機器學習采用的還是傳統(tǒng)處理器架構(gòu),例如CPU,目前還是有很多AI負載架構(gòu)在CPU之上。CPU實際是針對應用和網(wǎng)絡進行設計的處理器,是標量處理器(表1)。
后來出現(xiàn)的GPU是針對圖形和高性能計算,以向量處理為核心的處理器,從2016年到現(xiàn)在被廣泛應用在AI里。
但AI是一種全新的應用架構(gòu),它底層表征是以計算圖作為表征的,所以可能需要一種全新的處理器架構(gòu),而Graphcore IPU就是針對計算圖的處理來設計的處理器。
提到摩爾定律和算力,處理器現(xiàn)在是1個teraflops(每秒1萬億次浮點運算)、10個teraflops甚至100個teraflops,算力提升非???。但人們發(fā)現(xiàn),有效的算力其實遠遠達不到算力的峰值,中間內(nèi)存的帶寬是非常限制性能的。
例如,處理器算力提高了10倍,內(nèi)存怎樣提高10倍吞吐量呢?如果用傳統(tǒng)的DDR4、DDR5、HBM、HBM1、HBM2、HBM3內(nèi)存等,基本上每代只能有30%、40%的提升。
所以在Graphcore做IPU的時候,在這部分做了一個特別的設計:與傳統(tǒng)的CPU、GPU比較起來,IPU用了大規(guī)模并行MIMD的處理器核,另外做了非常大的分布式的片上的SRAM,在片內(nèi)能做到300 MB的SRAM,相對CPU的DDR2的子系統(tǒng),或相對于GPU的GDDR、HBM,IPU能夠做到10~320倍的性能提升。從時延的角度來看,與訪問外存相比較,時延只有1%,可以忽略不計。
再從整體上看一下IPU處理器,目前已經(jīng)量產(chǎn)的是GC2處理器,是16 nm TSMC的工藝。該處理器目前片內(nèi)有1 216個IPU-Tiles,每個Tile里有獨立的IPU核作為計算及In-Processor-Memory(處理器之內(nèi)的內(nèi)存)。所以整個GC2共有7 296個線程,能夠支持7 296個程序做并行計算。對整片來說,In-Processor-Memory總共是300 MB。所以IPU的整個思想是所有的模型要被放在片內(nèi)處理。PCIe也是16個PCIeGen 4。
所以,IPU GC2是非常復雜的擁有236億個晶體管的芯片處理器,在120 W的功耗下有125 TFlops的混合精度、1 216個獨立的處理器核心(Tile)、300 M的SRAM能夠把完整的模型放在片內(nèi),另外內(nèi)存的帶寬有45 TB/s、片上的交換是8 TB/s,片間的IPU-Links是2.5 Tbps。
由于IPU GC2有1 216個核心(Tile)、7 000多個線程,所以解決并行硬件的高效編程問題是一個非常大的課題。Graphcore采用構(gòu)建大規(guī)模數(shù)據(jù)中心集群的BSP技術(Bulk Synchronous Parallel,大容量同步并行),這種技術目前在谷歌、Facebook、百度這樣的大規(guī)模數(shù)據(jù)中心都在使用。
因此,IPU是業(yè)界首款BSP處理器,通過硬件能支持BSP協(xié)議,并通過BSP協(xié)議把整個計算邏輯分成計算、同步、交換。對軟件工程師或開發(fā)者,這就是非常易于編程的,因為這樣就不用處理locks這個概念。對用戶來說,也不用管其中是1 216個核心(Tile)還是7 000多個線程、任務具體在哪個核上執(zhí)行,所以這是一個非常用戶友好的創(chuàng)新。
?。ㄗⅲ罕疚膩碓从诳萍计诳峨娮赢a(chǎn)品世界》2020年第07期第59頁,歡迎您寫論文時引用,并注明出處。)
評論