IPU:為何為AI處理器帶來了一種顛覆性架構(gòu)
英國半導(dǎo)體之父、Arm的聯(lián)合創(chuàng)始人Hermann爵士這樣說:“在計算機歷史上只發(fā)生過三次革命,一次是70年代的CPU,第二次是90年代的GPU,而Graphcore就是第三次革命?!边@里指的就是Graphcore率先提出了為AI計算而生的IPU。
本文引用地址:http://m.butianyuan.cn/article/202006/414493.htm不久前,Graphcore高級副總裁兼中國區(qū)總經(jīng)理盧濤先生和Graphcore中國銷售總監(jiān)朱江先生,向電子產(chǎn)品世界等媒體介紹了:①IPU的架構(gòu)及應(yīng)用,②對AI芯片的走向預(yù)測,③如何做AI芯片的思考。
Graphcore高級副總裁兼中國區(qū)總經(jīng)理盧濤(左)和Graphcore中國銷售總監(jiān)朱江
Graphcore總部在英國,目前全球有450名員工。公司已獲大量投資,截止到2020年6月,Graphcore總共融資超過4.5億美元。
Graphcore主要產(chǎn)品是IPU。Graphcore認(rèn)為,由于CPU和GPU不是為了滿足機器學(xué)習(xí)的計算需求而設(shè)計,因此盡管進(jìn)化,創(chuàng)新者卻開始因硬件阻礙而倒退。而Graphcore創(chuàng)建了一種全新的處理器,是第一個專為機器學(xué)習(xí)工作負(fù)載而設(shè)計的處理器——智能處理器(IPU)。
Graphcore現(xiàn)有的IPU的表現(xiàn)及下一代的模型上,性能領(lǐng)先于GPU:在自然語言處理方面的速度能夠提升20%~50%;在圖像分類方面,能夠有6倍的吞吐量而且是更低的時延;在一些金融模型方面的訓(xùn)練速度能夠提高26倍以上。目前,IPU在一些云上、客戶自建的數(shù)據(jù)中心服務(wù)器上已經(jīng)可用。
相比GPU及其他與GPU類似的處理器架構(gòu),IPU有2個亮點設(shè)計。
1)CPU是在控制方面做了很多工作的、非常通用化的處理器,也就是說一個標(biāo)量的處理器。GPU是一個向量處理器,有單指令、多數(shù)據(jù)的特點,適合處理大規(guī)模的、稠密的數(shù)據(jù),在某一類的AI運算里會有非常明顯的優(yōu)勢,這也是現(xiàn)在GPU在市場上表現(xiàn)非常好的一個原因。而IPU是一個全新的架構(gòu)設(shè)計,是一種圖形的處理器,具備多指令、多數(shù)據(jù)的特點。除了稠密的數(shù)據(jù)之外,現(xiàn)在代表整個AI發(fā)展方向的大規(guī)模稀疏化的數(shù)據(jù),在IPU上處理就會有非常明顯的優(yōu)勢。這是從大規(guī)模并行的角度來講IPU的特點。
2)IPU采用的大規(guī)模分布式的片上SRAM的架構(gòu),這與GPU、CPU是完全不同的。Graphcore IPU拋棄了外部的DDR,把所有的memory都放到片上,因此能夠解決在目前機器學(xué)習(xí)中大量出現(xiàn)的內(nèi)存帶寬會構(gòu)成的瓶頸。
在場景應(yīng)用方面,由于采用了分組卷積這種新型的卷積,和ResNet這種目前比較傳統(tǒng)的相比,可以有更好的精度方面的表現(xiàn)。但這樣的分組卷積因為數(shù)據(jù)不夠稠密,在GPU上可能效果并不好,那么IPU就為客戶提供了這樣一種可能性,可以把這樣的模型真正地落地使用,尤其是在一些垂直行業(yè)諸如金融領(lǐng)域提升應(yīng)用的性能。
Graphcore所做的產(chǎn)品包括了硬件、軟件和IPU的系統(tǒng)解決方案(如下圖)。
1 硬件:IPU處理器
機器智能代表的是全新的計算負(fù)載,有一些特點:它是非常大規(guī)模的并行計算;是非常稀疏的數(shù)據(jù)結(jié)構(gòu)。AI或機器智能相較于傳統(tǒng)的科學(xué)計算或者高性能計算(HPC)有個特點,就是低精度計算;另外像在做訓(xùn)練推理過程中的數(shù)據(jù)參數(shù)復(fù)用、靜態(tài)圖結(jié)構(gòu)都是AI應(yīng)用代表的一些全新的計算負(fù)載。
從2016年至今,整個AI算法模型發(fā)展基本上從2016年1月的ResNet50的2500萬個參數(shù),到2018年10月BERT-Large的3.3億個參數(shù),2019年GPT2的15.5億個參數(shù),呈大幅增長的趨勢。甚至現(xiàn)在有一些領(lǐng)先的科研機構(gòu)和AI研究者在探索著更大的算法模型,希望用一些復(fù)雜的模型能夠訓(xùn)練更復(fù)雜的算法,并提高精度。但是現(xiàn)在的密集計算并不是特別可持續(xù)的,因為譬如要從15.5億規(guī)模擴展到1萬億,計算方面的提高是指數(shù)級,即數(shù)倍算力的提升,這就需要一種全新的方法來做AI計算。
但是在當(dāng)前,機器學(xué)習(xí)采用的還是傳統(tǒng)處理器架構(gòu),例如CPU,目前還是有很多AI負(fù)載架構(gòu)在CPU之上。CPU實際是針對應(yīng)用和網(wǎng)絡(luò)進(jìn)行設(shè)計的處理器,是標(biāo)量處理器。
后來出現(xiàn)的GPU是針對圖形和高性能計算,以向量處理為核心的處理器,從2016年到現(xiàn)在被廣泛應(yīng)用在AI里。
但AI是一個全新的應(yīng)用架構(gòu),它底層表征是以計算圖作為表征的,所以可能需要一種全新的處理器架構(gòu),而Graphcore IPU就是針對計算圖的處理來設(shè)計的處理器。
過去提到摩爾定律和算力,處理器現(xiàn)在是1個teraflops(每秒1萬億次浮點運算)、10個teraflops甚至100個teraflops,算力提升非??臁5藗儼l(fā)現(xiàn),有效的算力其實遠(yuǎn)遠(yuǎn)達(dá)不到算力的峰值,中間內(nèi)存的帶寬是非常限制性能的。
例如,處理器算力提高了10倍,內(nèi)存怎樣提高10倍的性能呢?如果用傳統(tǒng)的DDR4、DDR5、HBM、HBM1、HBM2、HBM3內(nèi)存等,基本上每代只能有30%、40%的提升,因此,這是一個非常大的挑戰(zhàn)。
所以在Graphcore做IPU的時候,在這部分做了一個特別的設(shè)計:與傳統(tǒng)的CPU、GPU比較起來,IPU用了大規(guī)模并行MIMD的處理器核,另外做了非常大的分布式的片上的SRAM,在片內(nèi)能做到300MB的SRAM,相對CPU的DDR2的子系統(tǒng),或相對于GPU的GDDR、HBM,IPU能夠做到10~320倍的性能提升(如下圖)。從時延的角度來看,與訪問外存相比較,時延只有1%,可以忽略不計。
再從整體上看一下IPU處理器,目前已經(jīng)量產(chǎn)的是GC2處理器,是16nm TSMC的工藝。該處理器目前片內(nèi)有1216個IPU-Tiles,每個Tile里有獨立的IPU核作為計算及In-Processor-Memory(處理器之內(nèi)的內(nèi)存)。所以整個GC2共有7296個線程,能夠支持7296個程做并行計算。對整片來說,In-Processor-Memory總共是300MB。所以IPU的整個思想是所有的模型要被放在片內(nèi)處理。PCIe也是16個PCIeGen 4。
在各個核心之間做了BSP的同步,能支持在同一個IPU之內(nèi)1216個核心之間的通信,以及跨不同的IPU之間做通信。這都是通過BSP的同步協(xié)議或接口來做的,中間有一個非常高速的IPU exchange的8TB/s的多對多的交換總線。
另外在IPU和IPU之間有80個IPU-Links,總共有320GB/s的芯片與芯片之間的帶寬。這樣,同一個處理器就同時支持了訓(xùn)練和推理。
所以,IPU GC2是非常復(fù)雜的擁有236億個晶體管的芯片處理器,在120W的功耗下有125TFlops的混合精度、1216個獨立的處理器核心(Tile)、300M的SRAM能夠把完整的模型放在片內(nèi),另外內(nèi)存的帶寬有45TB/s、片上的交換是8TB/s,片間的IPU-Links是2.5Tbps。
IPU GC2有1216個核心(Tile)、7000多個線程,所以解決并行硬件的高效編程問題是一個非常大的課題。Graphcore采用構(gòu)建大規(guī)模數(shù)據(jù)中心集群的BSP技術(shù)(Bulk Synchronous Parallel,大容量同步并行),這種技術(shù)目前在谷歌、Facebook、百度這樣的大規(guī)模數(shù)據(jù)中心都在使用。
因此,IPU是業(yè)界第一款BSP處理器,通過硬件能支持BSP協(xié)議,并通過BSP協(xié)議把整個計算邏輯分成計算、同步、交換(如下圖)。對軟件工程師或開發(fā)者,這就是非常易于編程的,因為這樣就不用處理locks這個概念。對用戶來說,也不用管其中是1216個核心(Tile)還是7000多個線程、任務(wù)具體在哪個核上執(zhí)行,所以這是一個非常用戶友好的創(chuàng)新。
2 軟件:Poplar? SDK
不管芯片架構(gòu)怎么樣,真正提供用戶體驗的還是SDK(軟件開發(fā)包),包括可用性如何、用戶和研究者是否能方便地在這個系統(tǒng)上進(jìn)行開發(fā)、移植、優(yōu)化。
2020年5月,全球知名科技分析機構(gòu)Moor Insights & Strategy發(fā)表了一篇研究論文《Graphcore的軟件棧:Build To Scale》,并且給了一個非常高的評價。他們認(rèn)為Graphcore是目前他們已知的唯一一家將產(chǎn)品擴展到囊括如此龐大的部署軟件和基礎(chǔ)架構(gòu)套件的初創(chuàng)公司。
Poplar是軟件棧的名稱,是架構(gòu)在機器學(xué)習(xí)的框架軟件(例如TensorFlow、ONNX、PyTorch和PaddlePaddle)和硬件之間的一個基于計算圖的整套工具鏈和一些庫。目前已經(jīng)提供750個高性能計算元素的50多種優(yōu)化功能,支持標(biāo)準(zhǔn)機器學(xué)習(xí)框架,如TensorFlow 1、2,ONNX和PyTorch,很快也會支持PaddlePaddle。
部署方面,目前可以支持容器化部署,能夠快速啟動并且運行。標(biāo)準(zhǔn)生態(tài)方面,能夠支持Docker、Kubernetes,還有像微軟的Hyper-v等虛擬化的技術(shù)和安全技術(shù)。
操作系統(tǒng)方面,目前支持最主要的3個Linux的發(fā)行版:ubuntu、RedHat Enterprise Linux、CentOS(如下圖)。
在社區(qū)及支持方面,Graphcore有Github、GraphcoreSupport,在StackOverflow上也有針對IPU開發(fā)者的知識門戶網(wǎng)站,在知乎上也開辟了新的創(chuàng)新者社區(qū),未來將有更多深度文章通過知乎來呈現(xiàn)給開發(fā)者和用戶。
3 IPU系統(tǒng)的應(yīng)用
僅僅在今年5月,Graphcore就有如下新進(jìn)展。
5月12日,在OCP Global Summit上,阿里巴巴異構(gòu)計算首席科學(xué)家張偉豐博士宣布了Graphcore支持ODLA的接口標(biāo)準(zhǔn)。接著5月20日,在百度Wave Summit2020上,百度集團副總裁吳甜女士宣布Graphcore成為飛槳硬件生態(tài)圈的創(chuàng)始成員之一,雙方簽署了倡議書。
另外,5月27日,在英國Intelligent Health峰會上,微軟機器學(xué)習(xí)科學(xué)家分享了使用IPU訓(xùn)練CXR模型的卓越性能??梢钥吹絀PU在運行微軟COVID-19影像分析的算法模型的時候表現(xiàn)是非常搶眼的,能夠在30分鐘之內(nèi)完成在NVIDIA GPU上需要5個小時的訓(xùn)練工作量。
Graphcore IPU在垂直領(lǐng)域的應(yīng)用主要在四方面:金融領(lǐng)域,醫(yī)療和生命科學(xué),電信領(lǐng)域,在云和數(shù)據(jù)中心以及互聯(lián)網(wǎng)方面的應(yīng)用。
以下重點介紹一下電信領(lǐng)域。電信是一個非常大的行業(yè),尤其是現(xiàn)在以5G為代表的創(chuàng)新給整個行業(yè)和社會都帶來了非常重大的收益。在智慧網(wǎng)絡(luò)、5G創(chuàng)新、預(yù)測性維護(hù)和客戶體驗方面,都可以用到IPU的創(chuàng)新技術(shù)和能力。例如,機器智能可以幫助分析無線數(shù)據(jù)的變化,采用LSTM(長短期記憶)模型來預(yù)測未來性能促進(jìn)網(wǎng)絡(luò)規(guī)劃。從下圖可以看到拓?fù)淞康那闆r,基于時間序列分析,采用IPU能夠比GPU有260倍以上的提升(如下圖)。
另外在5G里有網(wǎng)絡(luò)切片的概念。網(wǎng)絡(luò)切片和資源管理是5G里面的一個特色,需要大量去學(xué)習(xí)一些沒有標(biāo)記過的數(shù)據(jù),屬于強化學(xué)習(xí)的范疇。IPU在強化學(xué)習(xí)方面有非常明顯的優(yōu)勢。在IPU上運行強化學(xué)習(xí)策略,在訓(xùn)練方面的吞吐量能夠提高最多13倍(如下圖)。
在創(chuàng)新的客戶體驗方面,采用AI方面的技術(shù)主要是自然語言處理(NLP)方面一些最新的技術(shù),這些技術(shù)可以大大提升客戶互動、客戶服務(wù)方面的體驗。其中非常有代表性的就是BERT(雙向編碼器表示)。Graphcore目前在BERT上面訓(xùn)練的時間能夠比GPU縮短25%以上,這是非常明顯的提升(如下圖)。
機器人領(lǐng)域,Graphcore跟倫敦帝國理工學(xué)院有一個合作,主要是用一些空間的AI以及空間的及時定位和地圖構(gòu)建技術(shù),幫助機器人做比較復(fù)雜的動作和更高級的功能。在這個里面會需要一些稀疏概率、圖的幾何推理還有神經(jīng)網(wǎng)絡(luò)計算方面的一些能力。
在以上場景里面,通信和計算同樣重要,并且客戶需要用到低時延的特性,也需要用到很高的功耗效率,這些都是在機器人這個領(lǐng)域所關(guān)注的。
4 2020年AI市場預(yù)測
1)AI是否在遭遇低潮?
前段時間做AI的Wave Computing公司破產(chǎn)了,它以前也是明星企業(yè),因此有人認(rèn)為AI正在遭遇一個低潮?
Graphcore認(rèn)為,全球AI并沒有走向低潮,2020年反而會有很大的發(fā)展。因為尤其是自然語言處理相關(guān)的一些應(yīng)用起來之后,會催生大量各種各樣的應(yīng)用,在算力方面會有很大的提升?,F(xiàn)在一般的CV類的模型幾兆的參數(shù)、幾百萬或者幾千萬的參數(shù),而且大的一些NLP的模型現(xiàn)在都是1億、10億、100億。這對算力的要求是指數(shù)級的。所以我們認(rèn)為其實AI領(lǐng)域并沒有遇到寒冬。
但如果回到AI處理器這個圈子,有這樣一個問題:中間的AI的算力平臺。因為人們都做的是AI處理器,處理器從芯片設(shè)計到落地,中間是有很多gap(挑戰(zhàn))的。芯片出來只是第一部分,出來之后上面是不是有比較好的工具鏈,是不是能夠有較為豐富的軟件庫支撐一些主流的算法,以及是不是能夠跟主流的機器學(xué)習(xí)框架無縫地連接,最后對用戶展現(xiàn)的是比較好的可移植性或可開發(fā)性,還有可部署性,還有很多Gap是看不到的,所以整個鏈條全部打通需要非常大的投入。
回到AI處理器領(lǐng)域,基本上有兩類公司會較為困難:第一類是處理器還沒有做出來的,如果現(xiàn)在還沒有做出來,基本上公司就非常困難。第二類如果有了處理器,但是對軟件不夠重視,投入不夠,未來會面臨困難的局面。
2)AI可能有三種計算平臺
關(guān)于AI處理器市場,未來AI計算將有三種主要的計算平臺:第一種平臺是CPU,它還會持續(xù)存在,因為一些業(yè)務(wù)在CPU上的表現(xiàn)依然不錯;第二種平臺是GPU,它還會持續(xù)發(fā)展,會有適合GPU的應(yīng)用場景。第三種平臺是就是Graphcore的IPU?!癐PU旨在幫助創(chuàng)新者在AI應(yīng)用上實現(xiàn)新的突破,幫助用戶應(yīng)對當(dāng)前在CPU、GPU上表現(xiàn)不太好的任務(wù)或者阻礙大家創(chuàng)新的場景?!北R濤副總指出。
3)AI訓(xùn)練市場格局
在AI訓(xùn)練市場,過去有幾家廠商想挑戰(zhàn)英偉達(dá),Graphcore在這個市場有沒有一些目標(biāo)?
目前GPU在全球已是大規(guī)模的商用部署,其次是Google的TPU通過內(nèi)部應(yīng)用及TensorFlow的生態(tài)占第二大規(guī)模,IPU處于第三,是量產(chǎn)的、部署的平臺。
4)AI的三類解決方案
Graphcore的首席執(zhí)行官Nigel Toon認(rèn)為,AI有三類解決方案。第一類是一些非常簡單的小型化的加速產(chǎn)品,用在手機、傳感器或者攝像頭里面。但這對廠商也有比較大的挑戰(zhàn),算法也在演進(jìn)。解決一個問題,然后會有新的問題出來。
第二類是ASIC,可能是對一些超大規(guī)模的公司,有超大規(guī)模的一類問題要解決,比如谷歌的TPU是一個例子,它用數(shù)學(xué)加速器來解決具體的問題。
第三類是可編程的處理器,目前還只是GPU的市場。Graphcore是在這個分類里面,但未來還是會有非常多其他的應(yīng)用場景。Graphcore要做非常靈活的處理器,未來會有自己的領(lǐng)域和賽道。
5 如何做AI芯片
1)性能的提升思路
在制造“運行速度更快,功耗和制造成本更低、體積更小”的芯片方面,Graphcore是如何做的?
實際上,離開了具體的應(yīng)用來談這些是沒有前提的。我們需要看針對某一個應(yīng)用,它的性價比、收益方面是怎么樣的。如果這樣來看,會拋開從16nm、12nm、7nm、5nm這樣每一代的工藝能給芯片帶來多少的收益,而是要看針對某個AI應(yīng)用做了架構(gòu)上的設(shè)計后,在這一類的應(yīng)用中提高了多少性能收益,即看性價比、性能和功耗比、性能和制造成本比,怎樣給用戶代來更高的收益。總體來看,業(yè)界會持續(xù)保持架構(gòu)上的創(chuàng)新,來應(yīng)對當(dāng)前和未來AI創(chuàng)新者、研究者在提高應(yīng)用性能方面的訴求。
2)如何平衡產(chǎn)出比
投入成本高、門檻高、周期長、回報率低是芯片產(chǎn)業(yè)普遍要翻越的幾座大山,Graphcore有什么好的策略?
這需要有非常好的執(zhí)行力、非常好的戰(zhàn)略上的耐心和韌性。而且還可能有一個很現(xiàn)實的問題:可能持續(xù)耕耘幾代產(chǎn)品之后才能有一個較大的市場份額。所以這個周期可能比很多人想象的更長。如果從AI芯片的研發(fā)成本周期和回報率方面,需要看的是AI的具體應(yīng)用,例如是數(shù)據(jù)中心還是終端的,它們可能非常不同。Graphcore做大規(guī)模高性能、面向數(shù)據(jù)中心的處理器這方面會有更多經(jīng)驗。
那么一款芯片的研發(fā)成本,都有哪些?①購買工具的成本。②如果內(nèi)部IP機能較少,要購買IP,成本也在千萬美元級別。③如果沒有后端設(shè)計工藝,就需要依靠Broadcom、IBM、TI這樣的公司提供幫助。比較新一些的工藝又要涉及到高昂成本。④人力方面的投入,一般做一款A(yù)I處理器的團隊要在100人左右,且只能做一款產(chǎn)品。如果要保持像目前頭部廠商這樣的迭代速度,可能要并行做好幾款產(chǎn)品,這也是很大的成本投入。⑤如果經(jīng)驗比較豐富,可能一版能成功;如果不成功,又需要做好幾版,這又是很大的成本投入。
關(guān)于回報率,要看整個人員、花銷的情況來計算達(dá)到多少營收時,可以打破財務(wù)盈虧點。
至于AI芯片的性價比方面是跟應(yīng)用強相關(guān)的。如果有一些應(yīng)用,能做到5倍、10倍、20倍的性能,性價比的問題就會較為簡單。
3)應(yīng)用如何落地
落地難、落地速度慢是AI公司的普遍困境。那么,落地具體“難”在哪里?
難點在于AI是非常場景化的應(yīng)用。如果你是一家互聯(lián)網(wǎng)公司,可能有幾個很大的應(yīng)用場景,每個量都會很大。但是如果你是一家AI算法公司,最難的肯定是場景化的應(yīng)用。AI在當(dāng)前是非常依賴場景化的應(yīng)用。場景化其實就是碎片化。
實際上,一些具備很吸引人性能的芯片,距離真正的商業(yè)化還有1年、1年半的差距。所以是不是有平臺化的軟件支撐,是不是有大規(guī)模商用部署軟件的支撐,最后是不是有真正的算法在這樣的一個平臺軟件上能落地。這是商業(yè)化的一個標(biāo)準(zhǔn)。
4)新冠疫情的影響
今年的新冠肺炎疫情對整個AI芯片的落地有利好和不利好。利好是這個疫情在全球推動了數(shù)字化的加速。很多企業(yè)主,或者是用戶企業(yè),會看到數(shù)字化是有好處的。長期來看,對整個數(shù)字經(jīng)濟是一個非常利好的事情,也會導(dǎo)致數(shù)據(jù)中心等算力基礎(chǔ)設(shè)施的建設(shè)。
評論