直擊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中采用了谷歌、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很難甚至無法提供的低延遲和高吞吐量。
整體而言,與英偉達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時代的到來。