為AI而生的IPU晶片,或挑戰GPU的霸主位?

naojiti發表於2020-10-03

在CPU晶片領域,延續至今的“摩爾定律”正在隨著製程工藝逼近物理極限而有了延緩的趨勢,甚至失效的可能。就在摩爾定律的增長放緩腳步的同時,半導體晶片的計算也正在從通用走向專用,其中AI計算正是其中增長最快的一種專用計算。

現在,AI計算正在接棒摩爾定律,延續並超越其倍增神話。2019年,OpenAI釋出了AI算力的增長情況,結果顯示AI算力以3.4個月的倍增時間實現了指數增長,從2012年起,該指標已經增長了30萬倍。

在AI算力爆炸式增長的過程中,英偉達的GPU功不可沒。廣為人知的一個故事就是2012年,來自多倫多大學的Alex和他的團隊設計了AlexNet的深度學習演算法,並用了2個英偉達的GTX580 GPU進行訓練後,打敗了其他所有計算機視覺團隊開發的演算法,成為那一屆ImageNet的冠軍。

此後,在計算機視覺和自然語言處理領域,GPU的高平行計算能力得到了充分的發揮,英偉達的GPU也隨著AI第三次浪潮的崛起而迎來井噴發展。與此同時,更多為機器學習而專門定製的專用晶片開始出現,比如專用積體電路(ASIC)的張量處理單元TPU、神經網路單元NPU以及半定製晶片FPGA等等。

2018年底,英國一家名為Graphcore的創業公司推出了一種專門用於AI計算的處理器晶片IPU(Intelligence Processing Unit)。一經問世,IPU就受到AI界越來越多的關注。

ARM創始人,被稱為英國半導體之父的赫曼·豪瑟曾為Graphcore的IPU給出很高評價,將其譽為“計算機史上三次革命中,繼CPU和GPU之後的第三次革命”。赫曼在晶片產業的地位自然不容置疑,但由於Graphcore是英國晶片產業中為數不多的新生力量,難免赫曼有“護犢子”的打廣告之嫌。

IPU出道2年時間,現已推出了量產第二代型號為GC2的IPU。那麼,IPU的表現如何,與GPU相比有哪些優勢之處,這是本文要重點探討的問題。

GPU所開啟的深度學習

一個廣為人們熟知的例子就是,在計算機視覺發展初期的2011年,谷歌大腦想要在YouTube的視訊中識別人類和貓,當時這樣一個簡單的任務,谷歌要動用一家大型資料中心內的 2,000 顆伺服器 CPU,這些CPU的執行會產生大量的熱量和能耗,關鍵是代價不菲,很少能有研究人員可以用得起這種規模的伺服器。

不過在當時,研究人員注意到了英偉達的GPU,史丹佛大學的吳恩達團隊開始和英偉達合作,將GPU應用於深度學習。後來證明,只需要12顆英偉達GPU就可以達到相當於2000顆CPU提供的深度學習效能。此後越來越多的AI研究人員開始在GPU上加速其深度神經網路 (DNN)的訓練。

現在我們都知道,GPU能夠在深度學習的訓練中大顯身手,正是源於GPU的計算架構正好適用於深度學習的計算模式。深度學習是一種全新的計算模式,其採用的DNN演算法包含數十億個網路神經元和數萬億個連線來進行並行訓練,並從例項中自己學習規律。

深度學習演算法主要依賴的基本運算方法有矩陣相稱和卷積浮點運算,而GPU多核架構在原本影像渲染中可以大規模處理矩陣乘法運算和浮點運算,很好地可以處理平行計算任務,使得DNN訓練速度大幅提升。

此後,GPU成為輔助完成深度學習演算法的主流計算工具,大放異彩。但GPU本身並非是專門為AI計算而設計的晶片,其中有大量的邏輯計算對於AI演算法來說毫無用處,所以行業自然也需要專門針對AI演算法的專用AI晶片。

近幾年,全球已經有上百家公司投入到新型AI晶片的研發和設計當中,當然最終能夠成功流片並推出商用的仍然是幾家巨頭公司和少數實力雄厚的獨角獸公司。

這其中,2017年初創成立的Graphcore所研發的AI晶片IPU,則成為這些AI晶片當中的另類代表,因其不同於GPU架構的創新得到了業內的關注。而這正是我們要著重介紹的部分。

更適合AI計算的IPU晶片

近兩年,AI 晶片出現了各種品類的井噴,其中甚至出現一些堪稱瘋狂的另類產品。

比如一家同樣創立四年的AI晶片創業公司Cerebras Systems就釋出了史上最大的半導體晶片Wafer Scale Engine(WSE),號稱“晶圓級發動機”,擁有1.2萬億個電晶體,比英偉達最大的GPU要大出56.7倍。這塊晶片主要瞄準的是超級計算和和大型雲端計算中心市場,其創新之處在於一體化的晶片設計大幅提高了內部的資料通訊資料,但其架構仍然類似於GPU的計算架構。

而Graphcore的 IPU與GPU的架構差異非常大,代表的是一種新的技術架構,可以說是專門為解決CPU和GPU在AI計算中難以解決的問題而設計的。

IPU為AI計算提供了全新的技術架構,同時將訓練和推理合二為一,兼具處理二者工作的能力。

我們以目前已經量產的IPU的GC2處理器來看,IPU GC2採用臺積電的16nm工藝,擁有 236億個電晶體,在120瓦的功耗下有125TFlops的混合精度,另外有45TB/s記憶體的頻寬、8TB/s片上多對多交換匯流排,2.5 TB/s的片間IPU-Links。

其中,片內有1216個IPU-Tiles獨立處理器核心,每個Tile中有獨立的IPU核,作為計算以及In-Processor-Memory(處理器內的記憶體)。對整個GC2來說共有7296個執行緒(每個核心最多可以跑6個執行緒),能夠支援7296個程式並行執行,處理器內的記憶體總共可以達到300MB,其設計思路就是要把所有模型放在片內處理。

首先,IPU作為一個標準的神經網路處理晶片,可以支援多種神經網路模型,因其具備數以千計到數百萬計的頂點數量,遠遠超過GPU的頂點規模,可以進行更高潛力的平行計算工作。此外,IPU的頂點的稀疏特性,令其也可以高效處理GPU不擅長的稀疏的卷積計算。其次,IPU 也支援了模型引數的複用,這些複用特性可以獲取資料中的空間或時間不變性,對於訓練與推理的效能會有明顯幫助。

其次,為解決晶片記憶體的寬頻限制,IPU採用了大規模並行MIMD(多指令流多資料流)眾核架構,同時,IPU架構做了大規模分散式的片上SRAM。片內300MB的SRAM,相對於GPU的GDDR、HBM來說,可以做到數十倍的效能提升,而且與訪問外存相比,SRAM的片內時延基本可以忽略不計。

第三,IPU採用了高效的多核通訊技術BSP(Bulk Synchronous Parallel)。IPU是目前世界上第一款採用BSP通訊的處理器,支援內部1216個核心之間的通訊以及跨不同的IPU之間的通訊。通過硬體支援BSP協議,並通過BSP協議把整個計算邏輯分成了計算、同步、交換,能極大方便工程師們的開發工作。

基於以上IPU的差異化特點,IPU在某些批量訓練和推理中能夠獲得更好的效能、更低延時和更快網路收斂。片內的SRAM相對於片外儲存,也有高頻寬和低延時的優勢。

今年7月,Graphcore釋出了二代的Colossus MK2 IPU (MK2),以及包含四顆MK2晶片系統方案的IPU-Machine:M2000 (IPU-M2000),其核心數增加了20% ,達到1472個,8832個可並行執行的執行緒。片內SRAM則多出3倍,增加到900MB,互聯擴充套件效能是上一代的16倍。顯然在計算、資料和通訊擴充套件層面,MK2都算是延續了第一代IPU堆料狂魔的作風。

由4個IPU晶片構成的IPU-M2000系統,可以提供大約1 PetaFLOPs的算力。基於IPU的多層級儲存結構,與IPU Exchange Memory等技術優化,整體與GPU的HBM2儲存比較,可以提供超過100倍的頻寬以及大約10倍的容量,可以適用於更復雜的AI模型和程式。

計算加上資料的突破可以讓IPU在原生稀疏計算中展現出領先GPU 10-50倍的效能優勢,在通訊上,Graphcore專為為AI橫向擴充套件設計了IPU-Fabric,解決資料中心大規模計算橫向擴充套件的關鍵問題。Graphcore將計算、資料、通訊三者的突破技術結合,構建了大規模可擴充套件的IPU-POD系統,最終可以提供一個AI計算和邏輯進行解耦、系統易於部署、超低網路延時、高可靠的AI超算叢集。

可以預計,未來IPU在各類AI應用中將具有更大的優勢,而這也必然會引起英偉達的注意。那麼,相較於英偉達GPU所佔據的AI行業生態位的霸主地位,IPU會有哪些前景,也會遭遇哪些困境呢?

走向通用AI計算的“另闢蹊徑”

如果回顧下AI晶片的發展經歷,我們看到在經過這幾年專用AI晶片的井噴之後,也開始面臨一個尷尬困境,那就是ASIC晶片的靈活性或者說可程式設計性很差,對應的專用AI晶片只能應對一種演算法應用,而演算法本身則在3-6個月的時間就有可能變化一次,或許出現很多AI晶片還未上市,演算法就已經發生進化的問題,一些AI晶片註定無法生產。當然,專用AI晶片的優勢也很明顯,在效能、功耗和效率上遠勝更加通用的GPU,對於一些非常具體的AI應用場景,這些專用晶片就具有了巨大的收益。

從專注影像渲染崛起的英偉達的GPU,走的也是相當於ASIC的技術路線,但隨著遊戲、視訊渲染以及AI加速需要的出現,英偉達的GPU也在向著GPGPU(General Purpose GPU)的方向演進。為保持其在GPU領域的寡頭地位,使得英偉達必須一直保持先進的製程工藝,保持其通用性,但是要犧牲一定的效能優勢。

這給後來者一定的啟發,那就是AI晶片既要具備一定的靈活的可程式設計性(通用性),又要具備專用的高效效能優勢。這為IPU找到了一個新的細分市場,也就是介入GPU不能很好發揮效能的神經網路模型,比如強化學習等型別,同時又避免的專用AI晶片的不可擴充套件性,能夠部署在更大規模的雲端計算中心或超算中心,對新演算法模型保持足夠的彈性計算空間。

目前來看,IPU正在成為僅次於GPU和谷歌TPU的第三大部署平臺,基於IPU的應用已經覆蓋包括自然語言處理、影像/視訊處理、時序分析、推薦/排名及概率模型等機器學習的各個應用場景。

典型的如通過IPU可以訓練胸片,幫助醫學人員快速進行新冠肺炎的診斷;如在金融領域,對涉及演算法交易、投資管理、風險管理及詐騙識別的場景進行更快的分析和判斷;此外在生命科學領域、通訊網路等方面,都可以同IPU實現高於GPU效能的AI加速。

(NLP模型引數的指數增長)

當然,IPU想要在AI計算中擁有挑戰GPU地位的資格,除了在效能和價格上面證明自己的優勢之外,還需要在為機器學習框架提供的軟體棧上提供更多選擇,獲得主流AI演算法廠商的支援,在標準生態、作業系統上也需要有廣泛的支援,對於開發者有更方便的開發工具和社群內容的支援,才能從實際應用中壯大IPU的開發生態。

今年, AI晶片產業正在遭遇洗牌期,一些AI晶片企業黯然退場,但這並不意味著AI計算遭遇寒冬,反而AI算力正在得到大幅提升,以今年數量級提升GPT-3的出場就可以看出這樣的趨勢。

一個AI晶片從產出到大規模應用必須要經過一系列的中間環節,包括像上面提到的支援主流演算法框架的軟體庫、工具鏈、使用者生態等等,打通這樣一條鏈條都會面臨一個巨大挑戰。

現在,GPU已經形成一個非常完整的AI算力生態鏈路,而IPU則仍然在路上,是否能真正崛起,還需要整個AI產業和開發者用實際行動來投票。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561483/viewspace-2725413/,如需轉載,請註明出處,否則將追究法律責任。

相關文章