因為(xx)兩個不同架構計畫的關系,不斷有朋友問我,怎麽看AI芯片和通用計算芯片在架構上的差異和優缺點?其實這個話題有點「舊」了,這幾年中,既有學術界專家的比較正式的文章回答,也有業界大佬在會議上總結了一些觀點,感興趣的稍微搜一下就可以找到。但其實這個問題卻又非常難回答,一個主要的原因,AI芯片架構眾多,有幾條不同的路線,再加上不同的套用場景:訓練(normal/HPC),推理(Datacenter/Edge/Mobile/Tiny),自動駕駛是Mobile+Edge的組合,L2/L2.5以Mobile為主。我們不能以其中一個架構代表所有的AI芯片架構,但讓我們了解了所有的AI芯片再來回答這個問題,就會發現太發散了,不好總結。
我嘗試從幾個最主要的特征出發,基於當前的一代架構為基礎,將這些架構分成幾類,純粹個人見解:
- GPGPU類, 以SIMD為基礎和核心 ,為AI拓展了較小的Tensor core(幾百OPS/Cycle),整個芯片幾十到百來個SM/CU,硬體排程Grid/Block。以Nvidia Ampere,AMD MI200為代表,包括包括國內幾家以AI訓練和推理為方向的初創公司架構,也可以包括寒武紀MLU架構。
- 以 AI計算中GEMM/Conv為目標,圍繞較大的MAC陣列設計 的架構,MAC通常在邊長256*256/128*128/64*64的範圍,希望透過大陣列提供高能效。前期主打的是推理,後面也可以拓展到訓練。以Google TPU為代表的新的AI架構,包括海思達芬奇,特斯拉FSD的NPU核等。
- 以 DNN網路計算特點為基礎,眾多小核組成網格布局 ,軟體棧編譯器切割排程模型為主,希望透過最好的排程減少數據流動的能耗。小核用比如RISC-V,沒有MAC陣列或者很小,以Graphcore IPU和Tenstorrent的Tensix core為代表,還有Cerebras的盤子一樣大的Wafer Scale Engine 2。
- 某一些專用領域的推理NPU ,比如OPPO的MariSilicon X,還有一些SOC裏專用給ISV/CV功能的NPU核心。這些核心對應相關需求客製化,包括精度,量化,pipeline設計等,以達到更高的能效。
- 以數據流為設計中心 的架構,張量流處理器,代表是Groq的TSP。
- 基於光學矩陣計算單元 的數位/光學混合架構,類似第2類架構,對應的有較大(128*128/64*64)的光學矩陣,以Lightintelligence和Lightmatter為代表。
- 存內AI計算/存算一體 芯片,國內外都有不少公司已有相關芯片,包括達摩院也釋出了一款。
可以看得出,每一種架構都有自己的獨特的出發點,然後圍繞這個出發點,以更好的AI加速為目的,再加上其他的一下約束,比如編程模型和編譯器設計等,去拓展其他架構和微架構,實作一個AI計算架構。
有些架構兼有多種特征,比如高通最新的AI core(第7代),在原來的SIMD(DSP)架構上,加入較大MAC陣列,兼顧上面第1和第2類的特點。國內還有推理芯片使用同樣的DSP+MAC(可認為DSA)架構。
上面幾種型別的架構,後三種還是比較特別的,這裏就不參與詳細的對比討論了。感興趣的可以看相關論文資料。
我這裏分析總結這些架構,只能從比較籠統的幾個方面,以公開的資料來闡述。因為從業者的特殊身份,細節的地方容易觸碰敏感的地方。敬請諒解。
總結一些架構思考角度,非常精簡和枯燥,
一個提醒,我們討論的是芯片產品架構,它有很多的理論以外的限制,比如硬體和軟體的實作代價:RTL設計,驗證,後端;編譯器,軟體棧,復雜度和人手和產品周期等等因素的相互約束。這些因素會影響這個產品能不能最後實作,多長時間能落地,從而影響架構的創新。我們似乎可以看到國外的公司更加敢於去做創新的架構,一個方面就是他們senior的人相對多一些,投資者也給他們更長的時間。當然另外還有一個因素是他們沒有國產化這一個市場替代的創業方向,走已有的NV/AMD等的架構路線必然是沒有前途的。
後面文章詳細聊聊自己上面幾個典型架構的一些想法,純屬個人見解,很多不足之處,歡迎指教和討論。
總的觀點是,當前是一個計算架構的時代,各種架構有自身的長處和短處,沒有好壞之分,只有適合不適合。所以我們只看架構特點,不爭論哪個架構更優秀。這些架構的架構師和設計者都是業界大佬,我們也不了解他們做這個架構的一些實際情況,所以真沒資格做評判。