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