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