直擊CPU、GPU弱項!第三類AI處理器IPU正崛起
AI沒有走向低潮,而是在催生大量的應用。但大量的AI的應用非常場景化,既需要成熟的CPU和GPU,也需要全新的AI處理器。IPU(Intelligence Processing Unit)就是一種為AI計算而生的革命性架構,如今,IPU已經在金融、醫療、電信、機器人、雲和互聯網等領域取得成效。
隨著英國初創公司的Graphcore的IPU在AI應用市場的規模化落地,第三類AI處理器受到的關注度越來越高的同時,但IPU能否更好完成CPU和GPU不擅長的AI任務成為當之無愧的革命性架構?
IPU如何跨過晶片與AI應用之間的鴻溝?
去年底,雷鋒網(公眾號:雷鋒網)的《為AI顛覆GPU!電腦史上迎來第三個革命性架構IPU》一文已經解讀了Graphcore IPU架構的獨特之處。這裡再稍作介紹,Graphcore已經量產的IPU型號為GC2,處理器內部有1216個IPU Tiles,每個Tile裡面有獨立的 IPU核作為計算以及In Processor Memory 即處理器之內的記憶體。整個GC2處理器總共有7296個執行緒,能夠支援7296個程式在並行的運行。
基於台積電16nm製程集成236億個電晶體的GC2在120瓦的功耗下有125TFlops的混合精度、300M的SRAM能夠把完整的模型放在片內,另外記憶體的頻寬有15TB/s、片上的交換是8TB/s,片間的IPU-Links是2.5Tbps。

也就是說,IPU通過分散式的片上存儲架構突破了AI晶片的存儲牆瓶頸。但正如Graphcore 銷售副總裁兼中國區總經理盧濤在近日的一場媒體分享會上所言:「從一個晶片到落地中間有很多gap。包括是否有比較好的工具鏈、豐富的軟體以及豐富的軟體庫支援,還有對主流演算法、框架以及作業系統的支援。」
這就意味著,只有通過易用的軟體將晶片的優勢發揮出來AI晶片才能更好地落地。對於IPU而言,由於架構的特色,解決並行硬體的高效編程是一個非常大的課題。為此,Graphcore在GC2中採用了Google、Facebook、百度這些構建大規模數據中心集群會使用的BSP(Bulk Synchronous Parallel)技術 ,通過硬體支援BSP協議,並通過BSP協議把整個計算邏輯分成計算、同步、交換。

盧濤說:「對軟體工程師或者開發者來說,採用了BSP後就非常易於編程,因為不用處理 locks 。對用戶來說,也不用管這裡面是 1216 個核心(Tile)還是 7000 多個執行緒、任務具體在哪個核上執行,這是一個非常用戶友好的創新。」
在此基礎上,Graphcore推出了在機器學習框架軟體和硬體之間基於計算圖的整套工具鏈和庫的Poplar 是軟體棧。據悉,Poplar目前已經提供750個高性能計算元素的 50 多種優化功能,支援標準機器學習框架,如TensorFlow1、2,ONNX和PyTorch,很快也會支援 PaddlePaddle。
另外,可以支援容器化部署,能夠快速啟動並且運行。標準生態方面支援 Docker、Kubernetes,還有像微軟的 Hyper-v 等虛擬化技術和安全技術。作業系統支援廣泛應用的三個 Linux 發行版:ubuntu、RedHat Enterprise Linux、CentOS。
今年5月,Graphcore又推出了名為PopVision Graph Analyser 的分析工具,開發者、研究者在使用 IPU 進行編程的時候,可以通過 PopVision 這個可視化的圖形展示工具來分析軟體運行的情況、效率調試調優等。同月也上線了Poplar開發者文檔和社區。
目前,基於 IPU 的一些應用已經覆蓋了機器學習的各個應用領域,包括自然語言處理、影像/影片處理、時序分析、推薦/排名及概率模型。Graphcore在Github不僅提供模型移植的文章,還有豐富的應用案例和模型。
還有一個關鍵的問題,開發者把模型遷移到IPU需要進行程式碼級修改嗎?盧濤對雷鋒網表示:「AI的開發者90%都使用開源框架,開發語言是Python,對於這類開發者,程式碼的遷移成本非常低。就算是占開發者群體9%的,使用基於Nvidia cuDNN的性能級開發者,我們也會盡量提供和cuDNN 類似的用戶體驗,這個工作量目前看來完全在接受的範圍。」
IPU吞吐量最高比GPU提升260倍
解決了晶片到應用的軟體問題,那IPU更適合在哪些場景應用?「我們未來推進的策略還是訓練和推理兩個事情並行來做。有可能是一些單獨的訓練任務,也有可能是一些單獨的推理任務,但我們會更加聚焦在一些對精度要求更高、對時延要求更低、對吞吐量要求更高的一些場景。」盧濤進一步表示。
「當前廣泛應用、主流的 CV 類的模型是以 Int8為主,但像現在的NLP模型,以及一些搜索引擎里用的模型或者廣告演算法模型其實都是 FP16,甚至 FP32為主流的數據格式,因為這樣一些模型對於精度的要求會更高。因此雲端推理除了Int8,FP16和FP32的市場也很大。」
Graphcore中國銷售總監朱江指出,除了稠密的數據之外,現在代表整個AI發展方向的大規模稀疏化的數據,在IPU上處理就會有非常明顯的優勢。與大規模的稀疏化數據對應的是分組卷積這樣一種新型的卷積演算法,與ResNet這種目前比較傳統的方式相比,可以有更好的精度方表現和性能提升。
Graphcore給出了一個分組卷積內核的Micro-Benchmark,將組維度(Group Dimension)分成從1到512來比較。512就是應用得較多的「Dense卷積網路」,典型的應用如ResNet。在212的維度,IPU GC2 性能比 V100 要好近一倍。隨著稠密程度降低、稀疏化程度增加,在組維度為1或為 32 時,針對 EfficientNet 或 MobileNet,IPU 對比 GPU 展現出巨大的優勢,做到成倍的性能提升,同時延時大大降低。
之所以在低數組維度優勢明顯,是因為分組卷積數據不夠稠密,在 GPU 上可能效果並不好,而IPU的架構設計在分組卷積中能夠發揮優勢,並且可以提供GPU很難甚至無法提供的低延遲和高吞吐量。
整體而言,與NVIDIA V100相比,Graphcore的IPU在自然語言處理方面的速度能夠提升 20%-50%,影像分類能有6倍的吞吐量提升實現更低的時延。這些優勢在IPU的實際落地案例中也同明顯的性能優勢。

在金融領域的風險管理、演算法交易等應用中,會使用Markov Chain和MCMC等演算法,藉助IPU,取樣速率能夠比GPU提高26倍。在金融領域應用廣泛的強化學習,IPU也能把強化學習時間縮短到1/13。還有,採用MLP(多層感知器)加上嵌入一些數據的方式來做銷售的預測,IPU相比GPU能有5.9倍以上的吞吐量提升。
在醫療和生命科學領域,包括新葯發現、醫學影像、醫學研究、精準醫療等,IPU也已經體現出優勢。微軟使用IPU訓練COVID-19 影像分析的演算法模型CXR,能夠在 30 分鐘之內完成在 NVIDIA GPU 上需要 5 個小時的訓練工作量。
另外,在電信領域,機器智慧可以幫助分析無線數據的一些變化,比如採用 LSTM 模型預測未來性能促進網路規劃。基於時間序列分析,採用IPU 能夠比 GPU 有 260 倍的吞吐量提升。
在5G網路切片和資源管理中需要用到的強化學習,用IPU訓練吞吐量也能夠提升最多13倍。
在創新的客戶體驗的自然語言處理(NLP)方面,代表性的模型就是BERT。朱江介紹:「我們目前在 BERT 上訓練的時間能夠比 GPU 縮短 25%以上。」
還有一個有意思的應用是IPU在機器人領域的應用,是Graphcore和倫敦帝國理工學院的合作,主要是用到一些空間的 AI 以及及時定位和地圖構建技術,幫助機器人做比較複雜的動作和更高級的功能。
對Graphcore更重要的是在IPU在雲和數據中心中的應用,這是他們早期推廣以及現在主要推廣的領域,包括微軟在Azure公有雲上開放IPU的服務,以及歐洲搜索引擎公司Qwant使用IPU做搜圖識別性能達到3.5倍以上的提升。
如何搶佔中國AI市場先機?
「在IPU的落地上,目前我們整個策略上還是與雲服務商和伺服器提供商合作,所有地區基本上是一樣的做法。」盧濤坦言,IPU在美國的落地速度比中國更快,包括Azure公有雲上開放IPU的服務,以及與戴爾易安信合作推出了IPU伺服器等。
他解釋,「這是因為美國的用戶可能是較為活躍的 研究者社區,而中國很注重產品化落地。我們中國本地的一些合作夥伴、開發者可能會更加務實。可能前期導入會慢一點,但是後面真正開始加速了, 整個開發過程速度是會非常快。」
盧濤也透露,Graphcore在和金山雲在合作,即將上線一個面向中國開發者和創新者的免費試用的開發者雲。
在本地化產品服務方面,「長期來講,我們很開放地希望針對中國市場的需求做產品的訂製化演進。從服務的角度,我們有兩支技術團隊,工程技術團隊承擔兩個方面的工作,一是根據中國本地的 AI的應用的特點和應用的需求,把一些AI的演算法模型用 IPU 去落地;二是根據中國本地用戶對於 AI 的穩定性學習框架平台軟體方面的需求,做功能性的一些開發加強的工作。現場應用團隊則是幫助客戶做一些更現場的技術支援的工作。」
當然,Graphcore支援阿里巴巴為底層的架構抽象出來的統一介面API ODLA(Open Deep Learning API)硬體標準,以及支援中國重要的深度學習框架百度飛槳也都有助於Graphcore的IPU在中國的落地。
從AI發展的未來趨勢看,IPU也能發揮優勢。盧濤說:「我們看到一個大的趨勢,就是訓練和推理有混步的需求。比如線上的推薦演算法,以及預測汽車類應用。能夠同時滿足訓練和推理需求的IPU就能夠發揮優勢。」
另外,「分組卷積對演算法設計者來說,最簡單的一個表現就是設計出參數規模更小、精度更高的一個演算法模型。我們認為這是未來一個大的趨勢。」
雷鋒網小結
作為一個全新的架構,IPU獲得了業界多位專家的高度評價。不過從創新的架構到晶片再到成為革命性的產品,Graphcore從晶片到落地之間的距離,需要易用的軟體和豐富的工具來支援,特別是對軟體生態依賴程度比較到的雲端晶片市場。從目前的情況看,Graphcore在工具鏈、部署支援方面都已經有對應的產品,並且在金融、醫療、數據中心等領域都有落地案例。並且,Graphcore下一代基於更先進7nm製程的IPU也即將推出。
接下來的問題就是標杆客戶之後市場的接受度如何?以及Graphcore的市場策略是否和他們的產品一樣優勢明顯?
不可忽視的是,全球範圍內除了Graphcore還有其他公司也使用了IPU的理念設計出了AI晶片並且開始推廣。我們正在見證IPU時代的到來。












