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