AI晶片市場,必有Graphcore的一席之地
半导体行业观察發表於2020-06-18
根據Global Market Insights的資料預測,在2019年,全球的AI晶片組市場規模超過了80億美元。而預計到2026年,這個數字將飆升至700億美元,年複合增長率高達35%。在此期間,GPU將會佔領主導位置,FPGA同樣也會扮演重要角色。資料顯示,2019年,GPU在AI晶片市場的份額高達45%,而FPGA在未來幾年的年複合增長率也會達到25%。除了這兩者以外,以Intel X86處理器為代表的CPU和以谷歌TPU為代表的ASIC也是AI晶片市場的重要構成。這四種產品也因為各自的效能特點,在AI晶片市場擁有各自的位置。這也是一般行業分析師對AI晶片的分類。但在AI晶片初創公司Graphcore的CEO Nigel Toon看來,現在的AI硬體有三類解決方案:第一類是一些非常簡單的小型化加速產品,應用於手機、感測器或攝像頭中。在他看來,這類產品對廠商有較大挑戰,演算法也在演進。因此不斷會有新的問題產生。第二類是ASIC,這是一些超大規模的公司為解決超大規模的問題而研發出的產品,比如谷歌的TPU就屬這類。這些產品旨在用數學加速器解決問題。第三類是可程式設計的處理器(Program Processor)。在Nigel Toon看來,這類市場目前還是GPU的天下。“但我認為Graphcore也隸屬這類市場,未來Graphcore在這個市場會產生非常多的應用場景,透過不斷創新贏得更多市場份額。”Nigel Toon進一步指出,Graphcore要做的是一個非常靈活的處理器,一個從零開始專門針對AI而生的處理器架構——這就是他們的IPU。所謂IPU,就是Intelligence Processing Unit,這是英國AI晶片初創公司Graphcore專門為機器智慧設計的完全不同的處理器架構。據Graphcore高階副總裁兼中國區總經理盧濤介紹,IPU是一個完全不同於GPU或其他處理器的產品。資料顯示,IPU在自然語言處理方面的速度能夠提升20%到50%;在影像分類方面也有6倍的吞吐量提升且具有更低的時延;在一些金融模型方面,IPU的訓練速度更是能提高26倍以上。盧濤表示,與傳統的CPU和GPU不同,IPU應用了一個大規模並行MIMD的處理器核。相對CPU的DDR2的子系統或者是GPU的GDDR、HBM,IPU的這個設計能夠實現10到320倍的效能提升。而從時延的角度看,與訪問外存相比較,時延基本上為1%、幾乎可以忽略不計。基於這種設計,IPU不單能夠解決AI作為一種全新應用帶來的不同架構要求,同時也能滿足AI算力日益增加的需求。更重要的是,IPU這個全新架構繞開了大家對AI所熟悉的“馮諾依曼瓶頸”。基於這樣的領先概念,Graphcore推出了他們的第一款IPU處理器GC2。據瞭解,GC2是一個使用臺積電16nm工藝打造的處理器,片內擁有1216個IPU-Tiles,而每個Tile有獨立的IPU核作為計算以及In-Processor-Memory(處理器之內的記憶體)。換而言之,整個GC2總共有7296個執行緒,能夠支援7296個程式同時執行。而In-Processor-Memory也達到了300 MB,因此可以完成將所有模型在片內處理的目標。對於這種設計,讀者也許會疑惑,產品如何保證IPU核心心之間的通訊。從盧濤的介紹中我們得知,Bulk Synchronous Parallel(BSP)同步就是他們的解決方法。“在各個核心之間我們進行BSP同步,以此支援同一個IPU處理器內1216個核心之間的通訊,以及跨不同IPU之間的通訊。這些都是透過BSP的同步協議即介面來實現的,中間有一個非常高速的IPU exchange的8TB/s多對多交換匯流排。” 盧濤解釋稱。據悉,IPU是全球第一款BSP處理器,透過硬體支援BSP協議,並透過BSP協議把整個計算邏輯分成了計算、同步、交換。因為無需處理locks這個概念,IPU對軟體工程師或開發者而言非常易於程式設計。而使用者也無需操心這裡面是1216個核心(Tile)還是7000多個執行緒、任務具體在哪個核上執行,因此IPU是一個非常使用者友好型的創新。“另外,在IPU和IPU之間,我們有80個IPU-Links,總共有320GB/s的晶片與晶片間的頻寬。所以一個處理器就可同時支援訓練和推理。”盧濤補充說。總體看來,IPU GC2是世界上非常複雜的擁有236億個電晶體的晶片處理器,在120瓦的功耗下有125TFlops的混合精度、1216個獨立的處理器核心(Tile)、300 M的SRAM能夠把完整的模型放在片內。另外在頻寬上,記憶體可以達到45 TB/s、片上交換為8 TB/s,片間的IPU-Links也能達到2.5 TB/s。如前所述,Graphcore的IPU實力毋庸置疑,但這僅僅是他們面向AI市場推出的一個硬體產品。作為一家以AI為己任的企業,Graphcore還提供了軟體和系統解決方案。正是在這三者的共同推進下,Graphcore才能夠讓開發者更好地擁抱這個面向未來的AI生態。當中的Poplar軟體棧,更是Graphcore晶片落地的重要一環。這也是他們領先於大部分AI晶片初創企業的因素之一。“不管晶片架構如何,能真真正正讓使用者獲得體驗感的還是SDK,包括可用性、使用者和研究者能否方便地在系統上進行開發、移植和最佳化。”盧濤指出,“而Poplar正是這樣的一個SDK。”Poplar是軟體棧的名稱、是一個架構在機器學習的框架軟體(比如TensorFlow、ONNX、PyTorch和PaddlePaddle)和硬體之間的基於計算圖的整套工具鏈和庫。Graphcore迄今為止已經提供了750個高效能運算元素的50多種最佳化功能,支援如TensorFlow 1、2,ONNX和PyTorch等標準機器學習框架。值得一提的是,Graphcore將會很快支援百度開發的PaddlePaddle。在部署方面,Graphcore的Poplar現在可以提供容器化部署支援,能夠快速啟動並且執行。在標準生態方面,Poplar能夠支援Docker、Kubernetes以及微軟的Hyper-v等虛擬化技術和安全技術。在作業系統方面,Graphcore支援廣泛應用的三個Linux發行版:ubuntu、RedHat Enterprise Linux和CentOS。除此之外,Graphcore還推出了一個名為PopVision™ Graph Analyser的分析工具。開發者、研究者在使用IPU進行程式設計時,可以透過PopVision這個視覺化的圖形展示工具來分析軟體執行、效率除錯調優等情況。“從推出到現在,內外部開發者對PopVision的評價反饋極佳。”盧濤補充說。為了進一步幫助開發者在IPU上實現AI落地,Graphcore在今年五月還上線了Poplar開發者文件和社群,由此為開發者提供大量的Poplar user guide、文件以及如何在TensorFlow進行IPU開發、如何把TensorFlow模型移植到IPU和TensorFlow模型如何並行發展等參考資料。在盧濤看來,作為一個針對性開發的SDK,Poplar能夠幫助開發者輕鬆地從零開始設計那些以支援在Graphcore IPU上構建和執行應用程式的框架和標準庫。盧濤指出,AI的開發者有三類。第一類是基於TensorFlow和PyTorch框架的開發者,他們主要使用的開發語言為Python;第二類是基於NVIDIA cuDNN的開發者;第三類是CUDA級別的開發者。在這之中,第一類開發者的佔比為90%,第二類開發者的佔比為9%,最後一類開發者的佔比為1%。面向這三類開發者,Poplar都能提供簡明的遷移方案。“如果您是一個TensorFlow或PyTorch的開發者,那您轉移到IPU平臺上的開發程式碼的遷移成本非常低,因為我們也在使用Python進行開發,同樣的API意味著非常低的成本;如果是第二種開發者,我們會提供和cuDNN類似的使用者體驗,而實踐也證明我們在這方面表現不錯;至於第三類,也是挑戰最大的一類,因為這相當於一個重新實現的過程。但從國內部分使用者的反饋來看,Poplar的易用性比CUDA還好。”盧濤強調。在這些軟硬體生態的推動下,基於IPU的應用已經覆蓋了包括自然語言處理、影像/影片處理、時序分析、推薦/排名及機率模型在內的多個領域。從實際的應用效果來看,IPU獲得了比競爭對手更好的表現。以BERT的訓練為例,NVLink-enabled的平臺大概需要50多個小時才能做到一定精度,而基於IPU的戴爾DSS-8440伺服器只需36.3小時,訓練時間提高了25%。以BERT的推理來看,在同樣時延的情況下,IPU能夠獲得比當前最好的GPU高一倍的吞吐量。Graphcore中國銷售總監朱江介紹稱,該公司的產品已經在多個應用市場獲得客戶認可。當中最值得一提的是微軟使用了IPU訓練CXR(胸部X光射線樣片),從而幫助醫學研究人員進行新冠肺炎的快速準確診斷。朱江表示,微軟釋出的方案展現了IPU在微軟自己專門創新的SONIC CV模型裡,透過30分鐘的時間就能夠完成傳統GPU需要5個小時才能完成訓練的工作量。“微軟方案中用到了兩個不同的模型,第一個模型較傳統、最近一兩年出來的、他們做的EfficientNet-B0版本的模型。這個模型的模型尺寸比較小,只有540萬引數,但能獲得比更為傳統和主流的ResNet更高的精度。”朱江補充說。微軟案例體現出IPU在醫療和生命科學領域的優勢。除此之外,IPU還能在金融、電信、機器人、雲和資料中心以及網際網路等多個領域發揮巨大作用。這些領域的開發者也正在從與Graphcore的合作中受益。在中國,Graphcore正在和包括阿里巴巴和百度在內的AI先行者建立密切的合作,推動IPU迅速融入本地AI生態系統。朱江告訴記者,在今年五月舉辦的OCP Summit上,阿里巴巴集團異構計算首席科學家張偉豐博士宣佈了Graphcore支援ODLA(Open Deep Learning API)硬體標準。透過這種結構,阿里巴巴試圖為底層的架構設計出一個統一的API介面,而Graphcore已經能夠支援ODLA。此外,百度近日釋出了國內一個重要的深度學習開源框架“飛槳”,在其上面也擁有非常廣大的生態系統,包括百萬以上的開發者和幾十萬的模型。鑑於該生態帶來的市場影響力,Graphcore也已加入百度飛槳生態系統,會和百度飛槳一起幫助開發者進行突破性創新、加速AI模型部署及進入市場。盧濤表示:“長期來說,我們對中國市場的期望頗高,希望中國市場能為Graphcore貢獻40%甚至50%的營收。為了達成這個目標,我們正在‘練內功、打基礎、共同建設’,不斷攻克技術上的難題。”而為了更好擁抱中國市場,Graphcore還有針對性地部署本地化產品和服務。在服務方面,Graphcore在國內目前有兩支技術團隊,一支是以定製開發為主要任務的工程技術團隊,另一支是以使用者技術服務為主的現場應用團隊。具體而言,工程技術團隊主要承擔兩方面的工作:一是根據中國本地的AI應用特點和需求,把AI演算法模型在IPU上進行落地;二是根據中國本地使用者對AI穩定性學習框架平臺軟體方面的需求,進行功能性的開發。現場應用團隊則是幫助使用者進行現場技術支援。在與Graphcore交流的過程中,盧濤多次強調AI晶片從做出來到商用落地,中間存在非常大的鴻溝。如果AI晶片公司意識不到這個問題,未來面臨的挑戰就會非常大。他進一步指出,衡量AI晶片真正商業化的標準主要為:第一,是否具有支援AI繼續學習的平臺軟體、支援效果如何;第二,大規模部署的軟體對Docker、虛擬化的支援如何。如果這兩方面支援得比較好,那演算法應用就能真正落地;而Graphcore已經跨過了這些鴻溝,成為了“倖存者”。但我們同時也應該看到,過去一年多以來,無論是Intel Nervana專案的事實上宣告失敗,還是Wave Computing的破產,都似乎透露出AI行業並沒有想象中的那麼簡單,有些人甚至認為AI的低潮期已經到來。針對這個問題,盧濤認為:“其實整個AI行業並沒有走向低潮。相反,今年會有很大發展。因為自然語言處理相關應用的崛起會催生大量的、各種各樣的應用,以及在算力方面有很大提升。”“現在一般的CV類模型為幾兆、幾百萬或幾千萬的引數,而大一些的NLP模型可以達到一億、十億、一百億。這些模型對算力的要求均為指數級,所以我們認為AI行業並沒有遇到寒冬。”盧濤說。在談到未來發展目標時,盧濤表示,現在的獨立AI供應商市場在計算方面會有兩個主要來源,分別是CPU和GPU,而這兩個領域也在不斷更新和發展,因為它們在不少應用場景上有相當大的優勢。而IPU的目標則是成為CPU和GPU外的第三大來源。“IPU旨在幫助使用者應對當前在GPU、CPU上表現不太好的、或者說是阻礙大家創新的場景。”盧濤補充道。而今年下半年的新一代IPU是他們繼續角逐這個市場的“資本”。盧濤告訴記者,AI在未來會有更強的算力需求,持續推出效能強勁的處理器是必然的發展方向。而英偉達最新推出的A100在表現上相當驚豔。但他強調,Graphcore即將推出的使用7nm工藝打造的新一代IPU在效能上並不會輸給英偉達的A100。