在 CPU 芯片領(lǐng)域,延續(xù)至今的“摩爾定律”正在隨著制程工藝逼近物理極限而有了延緩的趨勢(shì),甚至失效的可能。就在摩爾定律的增長(zhǎng)放緩腳步的同時(shí),半導(dǎo)體芯片的計(jì)算也正在從通用走向?qū)S茫渲?AI 計(jì)算正是其中增長(zhǎng)最快的一種專用計(jì)算。
現(xiàn)在,AI 計(jì)算正在接棒摩爾定律,延續(xù)并超越其倍增神話。2019 年,OpenAI 發(fā)布了 AI 算力的增長(zhǎng)情況,結(jié)果顯示 AI 算力以 3.4 個(gè)月的倍增時(shí)間實(shí)現(xiàn)了指數(shù)增長(zhǎng),從 2012 年起,該指標(biāo)已經(jīng)增長(zhǎng)了 30 萬(wàn)倍。
在 AI 算力爆炸式增長(zhǎng)的過(guò)程中,英偉達(dá)的 GPU 功不可沒。廣為人知的一個(gè)故事就是 2012 年,來(lái)自多倫多大學(xué)的 Alex 和他的團(tuán)隊(duì)設(shè)計(jì)了 AlexNet 的深度學(xué)習(xí)算法,并用了 2 個(gè)英偉達(dá)的 GTX580 GPU 進(jìn)行訓(xùn)練后,打敗了其他所有計(jì)算機(jī)視覺團(tuán)隊(duì)開發(fā)的算法,成為那一屆 ImageNet 的冠軍。
此后,在計(jì)算機(jī)視覺和自然語(yǔ)言處理領(lǐng)域,GPU 的高并行計(jì)算能力得到了充分的發(fā)揮,英偉達(dá)的 GPU 也隨著 AI 第三次浪潮的崛起而迎來(lái)井噴發(fā)展。與此同時(shí),更多為機(jī)器學(xué)習(xí)而專門定制的專用芯片開始出現(xiàn),比如專用集成電路(ASIC)的張量處理單元 TPU、神經(jīng)網(wǎng)絡(luò)單元 NPU 以及半定制芯片 FPGA 等等。
2018 年底,英國(guó)一家名為 Graphcore 的創(chuàng)業(yè)公司推出了一種專門用于 AI 計(jì)算的處理器芯片 IPU(Intelligence Processing Unit)。一經(jīng)問世,IPU 就受到 AI 界越來(lái)越多的關(guān)注。
ARM 創(chuàng)始人,被稱為英國(guó)半導(dǎo)體之父的赫曼·豪瑟曾為 Graphcore 的 IPU 給出很高評(píng)價(jià),將其譽(yù)為“計(jì)算機(jī)史上三次革命中,繼 CPU 和 GPU 之后的第三次革命”。赫曼在芯片產(chǎn)業(yè)的地位自然不容置疑,但由于 Graphcore 是英國(guó)芯片產(chǎn)業(yè)中為數(shù)不多的新生力量,難免赫曼有“護(hù)犢子”的打廣告之嫌。
IPU 出道 2 年時(shí)間,現(xiàn)已推出了量產(chǎn)第二代型號(hào)為 GC2 的 IPU。那么,IPU 的表現(xiàn)如何,與 GPU 相比有哪些優(yōu)勢(shì)之處,這是本文要重點(diǎn)探討的問題。
GPU 所開啟的深度學(xué)習(xí)
一個(gè)廣為人們熟知的例子就是,在計(jì)算機(jī)視覺發(fā)展初期的 2011 年,谷歌大腦想要在 YouTube 的視頻中識(shí)別人類和貓,當(dāng)時(shí)這樣一個(gè)簡(jiǎn)單的任務(wù),谷歌要?jiǎng)佑靡患掖笮?a class="article-link" target="_blank" href="/tag/%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83/">數(shù)據(jù)中心內(nèi)的 2,000 顆服務(wù)器 CPU,這些 CPU 的運(yùn)行會(huì)產(chǎn)生大量的熱量和能耗,關(guān)鍵是代價(jià)不菲,很少能有研究人員可以用得起這種規(guī)模的服務(wù)器。
不過(guò)在當(dāng)時(shí),研究人員注意到了英偉達(dá)的 GPU,斯坦福大學(xué)的吳恩達(dá)團(tuán)隊(duì)開始和英偉達(dá)合作,將 GPU 應(yīng)用于深度學(xué)習(xí)。后來(lái)證明,只需要 12 顆英偉達(dá) GPU 就可以達(dá)到相當(dāng)于 2000 顆 CPU 提供的深度學(xué)習(xí)性能。此后越來(lái)越多的 AI 研究人員開始在 GPU 上加速其深度神經(jīng)網(wǎng)絡(luò) (DNN)的訓(xùn)練。
現(xiàn)在我們都知道,GPU 能夠在深度學(xué)習(xí)的訓(xùn)練中大顯身手,正是源于 GPU 的計(jì)算架構(gòu)正好適用于深度學(xué)習(xí)的計(jì)算模式。深度學(xué)習(xí)是一種全新的計(jì)算模式,其采用的 DNN 算法包含數(shù)十億個(gè)網(wǎng)絡(luò)神經(jīng)元和數(shù)萬(wàn)億個(gè)連接來(lái)進(jìn)行并行訓(xùn)練,并從實(shí)例中自己學(xué)習(xí)規(guī)律。
深度學(xué)習(xí)算法主要依賴的基本運(yùn)算方法有矩陣相稱和卷積浮點(diǎn)運(yùn)算,而 GPU 多核架構(gòu)在原本圖像渲染中可以大規(guī)模處理矩陣乘法運(yùn)算和浮點(diǎn)運(yùn)算,很好地可以處理并行計(jì)算任務(wù),使得 DNN 訓(xùn)練速度大幅提升。
此后,GPU 成為輔助完成深度學(xué)習(xí)算法的主流計(jì)算工具,大放異彩。但 GPU 本身并非是專門為 AI 計(jì)算而設(shè)計(jì)的芯片,其中有大量的邏輯計(jì)算對(duì)于 AI 算法來(lái)說(shuō)毫無(wú)用處,所以行業(yè)自然也需要專門針對(duì) AI 算法的專用 AI 芯片。
近幾年,全球已經(jīng)有上百家公司投入到新型 AI 芯片的研發(fā)和設(shè)計(jì)當(dāng)中,當(dāng)然最終能夠成功流片并推出商用的仍然是幾家巨頭公司和少數(shù)實(shí)力雄厚的獨(dú)角獸公司。
這其中,2017 年初創(chuàng)成立的 Graphcore 所研發(fā)的 AI 芯片 IPU,則成為這些 AI 芯片當(dāng)中的另類代表,因其不同于 GPU 架構(gòu)的創(chuàng)新得到了業(yè)內(nèi)的關(guān)注。而這正是我們要著重介紹的部分。
更適合 AI 計(jì)算的 IPU 芯片
近兩年,AI 芯片出現(xiàn)了各種品類的井噴,其中甚至出現(xiàn)一些堪稱瘋狂的另類產(chǎn)品。
比如一家同樣創(chuàng)立四年的 AI 芯片創(chuàng)業(yè)公司 Cerebras Systems 就發(fā)布了史上最大的半導(dǎo)體芯片 Wafer Scale Engine(WSE),號(hào)稱“晶圓級(jí)發(fā)動(dòng)機(jī)”,擁有 1.2 萬(wàn)億個(gè)晶體管,比英偉達(dá)最大的 GPU 要大出 56.7 倍。這塊芯片主要瞄準(zhǔn)的是超級(jí)計(jì)算和和大型云計(jì)算中心市場(chǎng),其創(chuàng)新之處在于一體化的芯片設(shè)計(jì)大幅提高了內(nèi)部的數(shù)據(jù)通信數(shù)據(jù),但其架構(gòu)仍然類似于 GPU 的計(jì)算架構(gòu)。
而 Graphcore 的 IPU 與 GPU 的架構(gòu)差異非常大,代表的是一種新的技術(shù)架構(gòu),可以說(shuō)是專門為解決 CPU 和 GPU 在 AI 計(jì)算中難以解決的問題而設(shè)計(jì)的。
IPU 為 AI 計(jì)算提供了全新的技術(shù)架構(gòu),同時(shí)將訓(xùn)練和推理合二為一,兼具處理二者工作的能力。
我們以目前已經(jīng)量產(chǎn)的 IPU 的 GC2 處理器來(lái)看,IPU GC2 采用臺(tái)積電的 16nm 工藝,擁有 236 億個(gè)晶體管,在 120 瓦的功耗下有 125TFlops 的混合精度,另外有 45TB/s 內(nèi)存的帶寬、8TB/s 片上多對(duì)多交換總線,2.5 TB/s 的片間 IPU-Links。
其中,片內(nèi)有 1216 個(gè) IPU-Tiles 獨(dú)立處理器核心,每個(gè) Tile 中有獨(dú)立的 IPU 核,作為計(jì)算以及 In-Processor-Memory(處理器內(nèi)的內(nèi)存)。對(duì)整個(gè) GC2 來(lái)說(shuō)共有 7296 個(gè)線程(每個(gè)核心最多可以跑 6 個(gè)線程),能夠支持 7296 個(gè)程序并行運(yùn)行,處理器內(nèi)的內(nèi)存總共可以達(dá)到 300MB,其設(shè)計(jì)思路就是要把所有模型放在片內(nèi)處理。
首先,IPU 作為一個(gè)標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)處理芯片,可以支持多種神經(jīng)網(wǎng)絡(luò)模型,因其具備數(shù)以千計(jì)到數(shù)百萬(wàn)計(jì)的頂點(diǎn)數(shù)量,遠(yuǎn)遠(yuǎn)超過(guò) GPU 的頂點(diǎn)規(guī)模,可以進(jìn)行更高潛力的并行計(jì)算工作。此外,IPU 的頂點(diǎn)的稀疏特性,令其也可以高效處理 GPU 不擅長(zhǎng)的稀疏的卷積計(jì)算。其次,IPU 也支持了模型參數(shù)的復(fù)用,這些復(fù)用特性可以獲取數(shù)據(jù)中的空間或時(shí)間不變性,對(duì)于訓(xùn)練與推理的性能會(huì)有明顯幫助。
其次,為解決芯片內(nèi)存的寬帶限制,IPU 采用了大規(guī)模并行 MIMD(多指令流多數(shù)據(jù)流)眾核架構(gòu),同時(shí),IPU 架構(gòu)做了大規(guī)模分布式的片上 SRAM。片內(nèi) 300MB 的 SRAM,相對(duì)于 GPU 的 GDDR、HBM 來(lái)說(shuō),可以做到數(shù)十倍的性能提升,而且與訪問外存相比,SRAM 的片內(nèi)時(shí)延基本可以忽略不計(jì)。
第三,IPU 采用了高效的多核通信技術(shù) BSP(Bulk Synchronous Parallel)。IPU 是目前世界上第一款采用 BSP 通信的處理器,支持內(nèi)部 1216 個(gè)核心之間的通信以及跨不同的 IPU 之間的通信。通過(guò)硬件支持 BSP 協(xié)議,并通過(guò) BSP 協(xié)議把整個(gè)計(jì)算邏輯分成了計(jì)算、同步、交換,能極大方便工程師們的開發(fā)工作。
基于以上 IPU 的差異化特點(diǎn),IPU 在某些批量訓(xùn)練和推理中能夠獲得更好的性能、更低延時(shí)和更快網(wǎng)絡(luò)收斂。片內(nèi)的 SRAM 相對(duì)于片外存儲(chǔ),也有高帶寬和低延時(shí)的優(yōu)勢(shì)。
今年 7 月,Graphcore 發(fā)布了二代的 Colossus MK2 IPU (MK2),以及包含四顆 MK2 芯片系統(tǒng)方案的 IPU-Machine:M2000 (IPU-M2000),其核心數(shù)增加了 20%?,達(dá)到 1472 個(gè),8832 個(gè)可并行執(zhí)行的線程。片內(nèi) SRAM 則多出 3 倍,增加到 900MB,互聯(lián)擴(kuò)展性能是上一代的 16 倍。顯然在計(jì)算、數(shù)據(jù)和通信擴(kuò)展層面,MK2 都算是延續(xù)了第一代 IPU 堆料狂魔的作風(fēng)。
由 4 個(gè) IPU 芯片構(gòu)成的 IPU-M2000 系統(tǒng),可以提供大約 1 PetaFLOPs 的算力?;?IPU 的多層級(jí)存儲(chǔ)結(jié)構(gòu),與 IPU Exchange Memory 等技術(shù)優(yōu)化,整體與 GPU 的 HBM2 存儲(chǔ)比較,可以提供超過(guò) 100 倍的帶寬以及大約 10 倍的容量,可以適用于更復(fù)雜的 AI 模型和程序。
計(jì)算加上數(shù)據(jù)的突破可以讓 IPU 在原生稀疏計(jì)算中展現(xiàn)出領(lǐng)先 GPU 10-50 倍的性能優(yōu)勢(shì),在通信上,Graphcore 專為為 AI 橫向擴(kuò)展設(shè)計(jì)了 IPU-Fabric,解決數(shù)據(jù)中心大規(guī)模計(jì)算橫向擴(kuò)展的關(guān)鍵問題。Graphcore 將計(jì)算、數(shù)據(jù)、通信三者的突破技術(shù)結(jié)合,構(gòu)建了大規(guī)??蓴U(kuò)展的 IPU-POD 系統(tǒng),最終可以提供一個(gè) AI 計(jì)算和邏輯進(jìn)行解耦、系統(tǒng)易于部署、超低網(wǎng)絡(luò)延時(shí)、高可靠的 AI 超算集群。
可以預(yù)計(jì),未來(lái) IPU 在各類 AI 應(yīng)用中將具有更大的優(yōu)勢(shì),而這也必然會(huì)引起英偉達(dá)的注意。那么,相較于英偉達(dá) GPU 所占據(jù)的 AI 行業(yè)生態(tài)位的霸主地位,IPU 會(huì)有哪些前景,也會(huì)遭遇哪些困境呢?
走向通用 AI 計(jì)算的“另辟蹊徑”
如果回顧下 AI 芯片的發(fā)展經(jīng)歷,我們看到在經(jīng)過(guò)這幾年專用 AI 芯片的井噴之后,也開始面臨一個(gè)尷尬困境,那就是 ASIC 芯片的靈活性或者說(shuō)可編程性很差,對(duì)應(yīng)的專用 AI 芯片只能應(yīng)對(duì)一種算法應(yīng)用,而算法本身則在 3-6 個(gè)月的時(shí)間就有可能變化一次,或許出現(xiàn)很多 AI 芯片還未上市,算法就已經(jīng)發(fā)生進(jìn)化的問題,一些 AI 芯片注定無(wú)法生產(chǎn)。當(dāng)然,專用 AI 芯片的優(yōu)勢(shì)也很明顯,在性能、功耗和效率上遠(yuǎn)勝更加通用的 GPU,對(duì)于一些非常具體的 AI 應(yīng)用場(chǎng)景,這些專用芯片就具有了巨大的收益。
從專注圖像渲染崛起的英偉達(dá)的 GPU,走的也是相當(dāng)于 ASIC 的技術(shù)路線,但隨著游戲、視頻渲染以及 AI 加速需要的出現(xiàn),英偉達(dá)的 GPU 也在向著 GPGPU(General Purpose GPU)的方向演進(jìn)。為保持其在 GPU 領(lǐng)域的寡頭地位,使得英偉達(dá)必須一直保持先進(jìn)的制程工藝,保持其通用性,但是要犧牲一定的效能優(yōu)勢(shì)。
這給后來(lái)者一定的啟發(fā),那就是 AI 芯片既要具備一定的靈活的可編程性(通用性),又要具備專用的高效性能優(yōu)勢(shì)。這為 IPU 找到了一個(gè)新的細(xì)分市場(chǎng),也就是介入 GPU 不能很好發(fā)揮效能的神經(jīng)網(wǎng)絡(luò)模型,比如強(qiáng)化學(xué)習(xí)等類型,同時(shí)又避免的專用 AI 芯片的不可擴(kuò)展性,能夠部署在更大規(guī)模的云計(jì)算中心或超算中心,對(duì)新算法模型保持足夠的彈性計(jì)算空間。
目前來(lái)看,IPU 正在成為僅次于 GPU 和谷歌 TPU 的第三大部署平臺(tái),基于 IPU 的應(yīng)用已經(jīng)覆蓋包括自然語(yǔ)言處理、圖像 / 視頻處理、時(shí)序分析、推薦 / 排名及概率模型等機(jī)器學(xué)習(xí)的各個(gè)應(yīng)用場(chǎng)景。
典型的如通過(guò) IPU 可以訓(xùn)練胸片,幫助醫(yī)學(xué)人員快速進(jìn)行新冠肺炎的診斷;如在金融領(lǐng)域,對(duì)涉及算法交易、投資管理、風(fēng)險(xiǎn)管理及詐騙識(shí)別的場(chǎng)景進(jìn)行更快的分析和判斷;此外在生命科學(xué)領(lǐng)域、通信網(wǎng)絡(luò)等方面,都可以同 IPU 實(shí)現(xiàn)高于 GPU 性能的 AI 加速。
(NLP 模型參數(shù)的指數(shù)增長(zhǎng))
當(dāng)然,IPU 想要在 AI 計(jì)算中擁有挑戰(zhàn) GPU 地位的資格,除了在性能和價(jià)格上面證明自己的優(yōu)勢(shì)之外,還需要在為機(jī)器學(xué)習(xí)框架提供的軟件棧上提供更多選擇,獲得主流 AI 算法廠商的支持,在標(biāo)準(zhǔn)生態(tài)、操作系統(tǒng)上也需要有廣泛的支持,對(duì)于開發(fā)者有更方便的開發(fā)工具和社區(qū)內(nèi)容的支持,才能從實(shí)際應(yīng)用中壯大 IPU 的開發(fā)生態(tài)。
今年, AI 芯片產(chǎn)業(yè)正在遭遇洗牌期,一些 AI 芯片企業(yè)黯然退場(chǎng),但這并不意味著 AI 計(jì)算遭遇寒冬,反而 AI 算力正在得到大幅提升,以今年數(shù)量級(jí)提升 GPT-3 的出場(chǎng)就可以看出這樣的趨勢(shì)。
一個(gè) AI 芯片從產(chǎn)出到大規(guī)模應(yīng)用必須要經(jīng)過(guò)一系列的中間環(huán)節(jié),包括像上面提到的支持主流算法框架的軟件庫(kù)、工具鏈、用戶生態(tài)等等,打通這樣一條鏈條都會(huì)面臨一個(gè)巨大挑戰(zhàn)。
現(xiàn)在,GPU 已經(jīng)形成一個(gè)非常完整的 AI 算力生態(tài)鏈路,而 IPU 則仍然在路上,是否能真正崛起,還需要整個(gè) AI 產(chǎn)業(yè)和開發(fā)者用實(shí)際行動(dòng)來(lái)投票。