AI晶片與相關產業 • 觀察和展望

半導體行業觀察 發佈 2020-01-25T10:12:06+00:00

兩年多以前,我在github上開始了一個業餘項目:AIChip ,主要是用於記錄AI晶片領域的公司和重要事件。

來源:內容來自「StarryHeavensAbove」,謝謝。

我最近受邀在ASPDAC會議上做了一個報告,介紹了一下我對AI晶片和相關產業的觀察和對未來的一點點猜測,在這裡整理了一下分享給大家。

兩年多以前,我在github上開始了一個業餘項目:AI Chip (ICs and IPs),主要是用於記錄AI晶片領域的公司和重要事件。隨著時間的推移,這個列表不斷的增長。後來我做了這個AI晶片全景圖,作為AI晶片列表的一個可視化總結,得到很多關注和傳播。這個圖不僅僅是一個Logo的集合,如果我們仔細觀察,可以發現很多有趣的現象。

第一個最重要的趨勢是很多非傳統晶片玩家進入晶片設計,特別是AI晶片領域,並且表現很好。Google 2017年公布TPU可以看作AI晶片爆發的關鍵點。AWS已經在實際業務里部署了多款自研晶片,不僅是AI。特斯拉也自己研發了FSD晶片,用於加速自動駕駛算法,取得了相當好的效果。其它中美科技巨頭雖然路徑各有不同,也都有自研定製晶片或FPGA的動作。這些新的玩家有很多優勢,有大量需求,最熟悉業務和晶片部署場景,有豐富的資源;有非常豐富的系統經驗,技術上可以從系統角度進行優化,可能減輕晶片本身的負擔,等等。他們的成功也帶動了更多之前不做晶片的公司開始考慮和動手自研晶片。但是,有的非傳統玩家也有一個問題,即對晶片設計,開發和生產的規律不熟悉,往往低估晶片研發的投入而做出盲從但並不經濟的選擇;或者低估過程的艱辛,以軟體和網際網路產業的KPI來要求晶片研發,這些都可能最終導致爛尾工程。而對於傳統晶片廠商來說,如何適應這個趨勢也是很大挑戰。不管怎樣,自研定製的趨勢已經逐漸形成,這對整個晶片產業和產業中所有從業人員都會產生深遠的影響。

第二個大家都看得到的現象就是大量的AI晶片初創企業。在我的AI晶片列表中有大約70家左右,還有很多是沒有公開或者我不知道的。這種初創企業大量出現的情況在半導體產業應該是前所未有的。所以大家問的最多的問題就是「最後誰能生存下來?」老實說,我不知道答案。但我們看到,Habana剛剛被Intel以20億美金收購。希望大家都能和他們一樣幸運吧。

如果我們仔細觀察AI晶片初創公司的發展,我們可以看到他們面臨的最大挑戰往往不在硬體而是在軟體,能夠在晶片硬體投片成功後快速實現相應的軟體工具的鳳毛麟角。這裡面有幾方面的原因,第一的是這些公司的晶片架構比較特殊,開發相應的編譯工具和優化庫的工作量不小。而有的公司為了保證投片的時間,降低硬體研發的難度和風險,往往選擇最大程度簡化硬體的編程性和靈活性,導致最後編程的困難。即便能夠做到比較好的軟硬體平衡,提供一套完整好用的軟體工具鏈和開發環境本身就是很大的挑戰,也是現在大家很難對Nvidia形成威脅的原因。一個好消息是現在大家對機器學習編譯器的重視程度普遍提高,在開源社區也有一些不錯的編譯器項目在積極推進,比如TVM,MLIR,GLOW等等。這些項目都希望能夠給大家提供一個好的編譯器框架,支持多個層次的IR,從而可以比較方便在不同層次進行優化。在我看來,ML Compiler相比傳統編譯器來說可能玩出新的花樣,比如實現軟硬體的協同設計,靜態優化和Autotuner的結合,等等。大家可以多關注這方面的工作。

另一個比較活躍的領域是基準測試Benchmark。和傳統的處理器的基準測試一樣,AI晶片的Benchmark是讓所有設計者能夠對目標應用和workload有清楚和統一的認識的關鍵。但AI晶片的Benchmark設計和部署有相當的難度。目前我們還需要用多個神經網絡模型來覆蓋不同的應用,同時還需要對不同場景的支持;而各種AI晶片架構和軟體棧的成熟程度差異很大,即便讓Benchmark跑出結果都要消耗很多精力。如之前Cerebras就明確說,他們寧願把時間花在對客戶應用的優化上,而不會為了取得一個漂亮的Benchmark結果上花一點時間。目前這方面的工作中,MLPerf應該是最紮實的一個,但即使是MLPerf,要想成為大家公認的標準也還有很多問題要解決。

總的來說,AI晶片對於整個晶片產業也起到了一個巨大的推動作用。相關的EDA工具,IP,設計服務,Foundry等等部門都有針對AI晶片的需求改進和發展。而在一些相關的基礎技術上,比如新型存儲,封裝技術,片上網絡,片間互聯等等,我們都看到技術加速進步現象。

具體到晶片架構,從2016年開始,我們就看到了很多非常有趣的設計。Google的TPU是基於脈動陣列;Nvidia在GPU中加入了Tensor core;Habana採用VLIW/SIMD加GEMM Engine的架構,雖然中規中矩,但取得了很好的效果;Graphcore實現了一個由上千個核組成的多核架構,並且集成了300MB的片上存儲;而Cerebras的Wafer Scale Engine可以說是一個工程奇蹟。此外我們還在談論和期待更多的可能性,CGRA/SDH(軟體定義硬體),類腦,存內計算,光計算,圖處理器等等,真的是「Golden Age of Computer Architecture」。

這些架構中有很多並不是新的發明,在幾十年前剛出現的時候也並不成功,在今天重新煥發青春完全是因為應用需求發生的變化。如果我們看看AI晶片外的更大的背景,我們今天要處理的workload在近十年發生了巨大的變化,已經從以處理(processing)為核心的通用計算變為以數據為核心的領域專用計算。因此,我們必須,也有機會重新思考整個計算系統的設計(參考下圖)。比如目前很多的嘗試就是把運算放到更合理的地方,比如數據產生和存儲的地方,而不是統一用「距離遙遠」的CPU進行處理。

計算系統的功能描述和分層抽象

在這種re-think和re-design的過程中,巨大的挑戰(機會)是跨越邊界(包括功能模塊的邊界和抽象層次的邊界)的優化和全棧的實現。相信,能夠解決相應問題的設計,工具和方法學都有很多機會。

*免責聲明:本文由作者原創。文章內容系作者個人觀點,半導體行業觀察轉載僅為了傳達一種不同的觀點,不代表半導體行業觀察對該觀點讚同或支持,如果有任何異議,歡迎聯繫半導體行業觀察。

今天是《半導體行業觀察》為您分享的第2200期內容,歡迎關注

關鍵字: