芯片作為產業鏈技術要求最高的環節之一,往往是最難攻克的陣地。2016年,我們談中國集成電路在芯片環節還比較薄弱;2017上半年,我們說我國與美國的差距主要在硬件方面,尤其是芯片環節;2017下半年及2018年,我們看到一批本土AI芯發布,很多還帶有“首款”的榮譽稱號,首款嵌入式AI芯、首款人臉識別AI芯、首款AI移動芯片等等。
似乎,集成電路最難攻克的環節——芯片,在AI大環境下,一切都變得那么EASY。這是真的嗎?
以上是一位與非網友向小編表達出的疑惑。近期,小編收到很多網友關于AI芯的疑惑。那么,在近期的《AI發現》中,我們將結合與非網友的疑惑,講一講AI芯那些事。
AI芯定義
廣義上講,可以運行AI算法的都可以稱為AI芯片,只不過效率有高有低;狹義上說,針對AI算法專門做了特殊加速設計的芯片才是AI芯片。
AI芯的硬件核心
AI芯的核心就是神經網絡加速器,或者叫深度學習加速器。
AI芯分類
芯片架構,四大類芯片
通用類芯片,代表如CPU、GPU、FPGA;
基于FPGA的半定制化芯片,代表如深鑒科技DPU、百度XPU等;
全定制化ASIC芯片,代表如TPU、寒武紀 Cambricon-1A等;
類腦計算芯片,代表如IBM TrueNorth、westwell、高通Zeroth等。
功能,訓練( Training)與推理(Inference)
訓練(Training):通常需要通過大量的數據輸入,或采取增強學習等非監督學習方法,訓練出一個復雜的深度神經網絡模型。
該過程對處理器的計算能力、精度、可擴展性等性能要求很高,能勝任此環節工作的芯片有英偉達的GPU集群與Google TPU2.0。
推理(Inference):利用訓練好的模型,使用新的數據去“推理”出各種結論。
相比訓練過程,推理的計算量像是個“小兒科”,盡管如此,但此過程也涉及大量的矩陣運算。GPU、FPGA和ASIC在此過程發揮作用。
應用場景,云端(Cloud/DataCenter)與設備端(Device/Embedded)
目前,訓練環節只能在云端實現。GPU、FPGA、ASIC(Google TPU1.0/2.0)等都已應用于云端訓練環境。
設備端對AI芯的需求差異大、數量龐大,低功耗、低延遲、低成本是該領域需求趨勢,如今的xPU與ASIC熱更多集中于該領域。
搞清楚各類芯在AI格局中所在的位置后,我們就集中精力解答如下的問題:
AI芯與AI通用芯的趨勢是什么?
AI通用芯的玩法有哪些? 誰才是王道?
與非觀點:
AI芯的趨勢:從通用到專用。
該趨勢包含兩個層次的含義:某些應用場景,AI專用芯取代AI通用芯;AI通用芯,從通用到為AI定制。
AI通用芯玩法:CPU、GPU、FPGA和DSP共存。
市場首批AI芯片,幾乎都是以現成的CPU、GPU、FPGA和DSP加以組合而成,是和平共處的局面;如今,他們卻被視作互撕的幾股勢力。或許情況并不是這樣,各種AI芯玩法都有存在的意義。
AI通用芯之間的競爭,是一場舊勢力新套路的競爭。
與非論據:
AI芯的趨勢
曾經提及AI通用芯的較量,主要是CPU與GPU兩股勢力;后來CPU漸漸淡出大眾視線,GPU成為AI界寵兒。2016~2017年,英特爾與英偉在AI市場的地位及發展也能說明這一點。
黃仁勛曾在演講中表示,CPU的時代結束了。
英特爾懟回去說:不單CPU不行了,GPU也不行了。
這說明,英特爾肯定了通用CPU在AI領域無力的事實,同時對通用GPU也提出了質疑。
那么,短板在哪?是“通用”還是“處理器類型”?
小編認為是“通用”,而不同處理器類型是面向不同應用場景總有自身可發揮的優勢。
GPU贏過CPU就是因為GPU比CPU專用。GPU借助在深度學習方面的優勢,成為最有競爭力的AI芯片;CPU通用性強,適用于串行計算,對于AI算力而言,較緩慢。當然,CPU與GPU都不是發展AI最專用的芯片。
2017年12月,IBM推出首個為AI而生的服務器CPU POWER9,旨在為數據密集型人工智能工作負載管理自由流動數據、流傳感器及算法。該處理器采用14納米技術,嵌入80億個晶體管。
POWER9試圖通過最新的技術和聯盟來解決系統短板——異構處理器是否有足夠的帶寬與系統的其它部分進行通信。
從通用CPU到AI定制CPU,POWER9代表了CPU行業在AI領域的發展趨勢。
對于云端AI芯片市場,小公司只能覬覦,這是一場屬于寥寥可數大公司的權利游戲,云端發展不只需要有高運算力的芯片,還得營造出生態系,基本上供應商就是這幾家巨頭。但對于終端市場,能實現更小功耗、更低成本的xPU與ASIC將成為主流。這就注定通用AI芯向專用AI芯發展的趨勢。
AI通用芯玩法
CPU & GPU
黃仁勛曾表示:GPU不會替代CPU,它是攜手和CPU共同工作的,這也是我們為什么把它稱之為加速器,CPU是通用型的,什么場景都可以適用。但是GPU在一些專門的問題上是能量非常大的。它的性能要比CPU超過10倍,50倍甚至百倍。最完美的架構就是“萬事皆能的CPU”+“勝任重大計算挑戰的GPU”。
我們先來看看CPU與GPU的對比情況:
英特爾CPU與英偉達GPU性能對比圖
CPU功能模塊很多,能適應復雜運算環境;GPU構成相對簡單,對Cache需求小,大部分晶體管可以組成各類專用電路、多條流水線,使得GPU的計算速度有了突破性的飛躍,擁有了更強大的處理浮點運算的能力。
CPU與GPU結構對比示意圖
GPU未來的主攻方向是高級復雜算法和通用性人工智能平臺。但GPU無法單獨工作,必須由CPU進行控制調用才能工作。這也就是黃仁勛為何強調“CPU+GPU”的模式了。
CPU向AI發力的重要一大方向就是加速了CPU和GPU、FPGA甚至TPU之間的通信。POWER9也印證了這一觀點,POWER9將加速POWER和GPU、FPGA、TPU之間的合作。比如支持最新的英偉達Nvida NVLINK技術,可大幅提升GPU與CPU之間的數據交換速度。
GPU未來的主攻方向是高級復雜算法和通用性人工智能平臺。
FPGA
FPGA兼顧了低功耗和高運算能力的優勢,FPGA在AI領域的優勢是加速和異構計算,比如騰訊云的FPGA加速可以實現比通用CPU型服務器快30倍的性能。
FPGA和GPU未來在超級數據中心將成主流應用,尤其是在深度學習方面,在這方面GPU強在訓練,而FPGA強在推斷。
賽靈思曾表示:伙伴廠商利用FPGA芯片進行基因體定序與優化語音識別所需的深度學習,察覺FPGA的耗能低于GPU且處理速度較快。相較于GPU只能處理運算,FPGA能以更快速的速度一次處理所有與AI相關的信息。
DSP
DSP是AI通用芯里面最低調的,或者說最受重視的。
我們先來看看驍龍845如何發揮AI實力吧。
與華為、蘋果采用ASIC方式來不同,高通驍龍845利用基于分布式架構的神經網路處理引擎(SNPE),運行在驍龍異構平臺的CPU、GPU、DSP等每一個單元上。
Hexagon 685 DSP不僅只是一塊用于處理語音和音頻的解碼器,由于采用了異步計算架構,支持矢量計算,因此可用于AI以及神經運算,在虛擬現實、增強現實、圖像處理、視頻處理、計算視覺等功能中發揮作用。
DSP核心主要供貨商CEVA認為,若要在嵌入式系統中實現CNN(卷積神經網絡),DSP將能取代GPU和CPU,因CNN在本質上,就十分適合運用DSP。
DSP能夠實現平行處理,核心利用率高。據悉,相較GPU只能達到40~50%的使用率,DSP甚至達到90%以上的核心使用率。業內專家表示,對于一些應用場景,以DSP架構驅動的CNN引擎,在成本與功耗上皆具優勢。
關于AI通用芯的情況就講完了。
回顧2017,我們發現我國的AI芯熱主要集中于半定制化芯片與全定制化ASIC芯片領域。與非網友關于“集成電路最難攻克的環節(芯片),在AI大環境下,一切都變得那么EASY?”的問題,我們將在下期《AI發現》中找出答案。