挑戰Google TPU,AI晶片新玩家面臨哪些難題?
SemiEngineering-BRIAN BAILEY / 吳優 / 何渝婷
2021-08-09 09:50

距離Google第一代TPU助力AlphaGo打敗李世石已有5年,Google TPU已經更新到第四代。與此同時,數據中心領域的AI晶片備受關注,在大量投資下湧現了不少新玩家,儘管未來是光明的,但新玩家們不得不面對Google等大企業雄厚的財力和已經形成的市場格局。挑戰Google TPU,AI晶片新玩家還會面臨哪些難題呢?

近些年,大量資金湧入到數據中心領域新型AI處理器的研發中。

但在投資熱潮的背後,也要注意到問題所在。畢竟,該領域需要處理的問題是特定的,結果不可預測;且該領域的競爭者們財力雄厚(因為它們往往是巨頭),能夠提供用戶黏性非常強的產品。

對於新型AI晶片設計公司而言,最大的問題在於終端的數據不足。

需要多少個數據中心,才能實現盈利?

通常,晶片設計公司在設計一個新的AI處理器時,首先會弄清楚一個基本問題,就是如何定義產品的靈活性?是專為單一任務而設計?還是支持更多的工作負載?

這兩個問題之間存在一系列解決方案,但與過去的許多解決方案相比,為AI處理器找到合適的解決方案更加困難,對數據中心工作負載而言尤其如此。

之所以更加困難,是因為有許多因素需要平衡。「既需要在一定的成本和時間內設計和製造晶片,又要考慮成本和回報問題。」Synopsys 人工智慧產品和研發總監Stelios Diamantidis解釋道。這些限制因素縮小了AI處理器的潛在市場。

「設計和製造訂製晶片,什麼時候才能賺錢?」Synopsys 驗證組工程副總裁Susheel Tadikonda說。

「如果我們要為數據中心提供訂製晶片,那麼需要多少個數據中心才能實現盈利?也許可以高價出售晶片,但光是這樣遠遠不夠。如果是為消費電子設備設計和製造晶片,那麼這一領域存在十億台設備體量,這也是AISC晶片能夠賺取更多利潤的市場之一,當然設備體量越大越好。」

不過就算最終弄清楚多少個數據中心才能實現盈利,也無法確定設計方案。

「晶片訂製化程度越來越高,以至於能夠為非常特定的算法創建晶片,提供更高的能效和性能。」西門子EDA戰略和業務發展高階經理Anoop Saha說: 「但這會犧牲一部分市場,也會縮短晶片的壽命。如果兩年後出現了一個新算法,那為舊算法訂製的晶片價值還會如初嗎?很多事情都會互相牽制。」

「一些邊緣算法確實已經趨於穩定。這是因為業界經過多年研究,找到一些多場景適用的最佳算法,例如我們已經看到的卷積神經網路算法CNN(convolutional neural network),還有對於喚醒詞檢測、手寫辨識等特定應用找到的最佳算法。」Anoop Saha補充道。

晶片自定義的優勢

要對晶片進行自定義,核心是理解面向何種工作負載,晶片自定義的確為許多玩家帶來優勢。

Xilinx人工智慧和軟體產品營銷總監Nick Ni表示:「大多數大型企業已經組建了自己的晶片部門,並為其數據中心一些高工作負載打造晶片。例如,如果Google將『推薦』型神經網路,視為其數據中心最高的工作負載之一,那麼它就很有必要為此創建專用晶片。如果排名第二的工作負載是語音辨識,排名第三的是YouTube的影音轉碼,那麼為其打造專用晶片都是有意義的。」

「其實這裡的機會很多,但Google只是一個孤例。幾年前,谷歌發表了一篇廣受好評的論文,文章陳述了一個事實,就是數據中心的工作負載類型非常豐富,但沒有一種工作負載佔比超過10%,這意味著還有大量佔比微小的工作負載需要優化。」

「大多數訂製都是面向推理的,當這些訂製晶片轉向訓練時,就需要浮點支持。」Synopsys 的 Diamantidis表示。

「但是如果需要的是一個100%應用於推理的解決方案,那麼它的定點( fixed point)位數可能是八位甚至更低的精度。如果模型是固定的,那麼在推理基礎設備之上進行訂製是否有意義?例如,針對語音、影音以及其他重量級應用程式的訂製解決方案。大企業們(Hyperscaler)實際上正在投資應用於推理的晶片解決方案,這些推理適用於它們自身在AI領域的訂製化高階模型和解決方案,但如果是需要處理多種應用,那麼就需要更多的靈活性和可訂製性。」

當然,對Google而言,這已經是一個良性循環。「 TPU旨在滿足Google數據中心內的特定工作負載。」Synopsys的Tadikonda說。「Google最開始打造TPU,是因為意識到處理如此龐大複雜的數據和運算,需要建立起大量的數據中心。第一代TPU體積大且非常耗電,但它已經通過不斷地學習而得到了改進,這正是這些TPU的工作,這就是 Google。」

並非每家公司都能夠使用Google的回饋循環,不過其他公司也確有其他選擇。「我們發現,其中一個關鍵點是盡可能早點關注和重視選擇正確的架構。」西門子的Saha說。「所謂正確,並不是指某一個人認為正確,也不是基於過去的經驗,憑直覺做出的決定,因為現在還有太多的未知數。業界正在做的,是在設計週期早期,依靠數據驅動做出決定,這樣我們能夠在發現某些東西不起作用時迅速做出改變。」

這些決定是宏觀的,也可以是微觀的。「比如說,你的儲存元素與運算元素差距有多大?」Saha問道:「再比如,多久執行一次內存讀取,這是一個重要的問題,因為讀取和寫入將直接影響整體的能效。業界正在尋找新的架構,沒有人知道什麼樣的架構才真正起作用。不過可以確定的是,要有一定的可塑性,且在決定架構之前,能夠確保有足夠的市場數據來支撐。」

硬體和算法迭代快速

影響架構選擇的另一個因素是硬體和算法的發展速度。這決定了數據中心所有者從他們購買的硬體中賺錢的時間,也決定了他們願意支付的價格,同時限定了晶片開發的總成本。

那麼,數據中心晶片(即硬體)的使用壽命是多久?

「通常情況下,晶片或電路板的壽命為三到四年。」Xilinx的Ni說。「一些較為激進的數據中心可能會在這一時間段內升級,還有一些則會持續使用更長時間。在人工智慧領域,如果我們關注Google TPU的新聞發布,就能發現在過去六年左右的時間裡,Google發行了四個版本的TPU,也就是說,幾乎每隔一兩年Google就會更換一次內部硬體,針對AI等快速變化的工作負載進行優化。」

換個角度來看,AI晶片公司可能每18個月就有一次進入數據中心的機會。Saha說:「要攪動這個市場並不容易,有兩個重要因素,包括更換現有數據中心晶片的頻率,以及添加新東西的頻率。我看見幾乎所有的數據中心都在嘗試更新的東西,幾乎每個建構數據中心晶片的公司都在同一些終端客戶合作。」

「市場多久更換一次正在工作的晶片?只要晶片在工作,公司就會盡量延長晶片的使用壽命。一旦晶片進入數據中心,持續的時間會很長且難以更換。這就是為什麼我們可以看到大型數據中心晶片領域有大量投資。」

「一部分投資者認為這是贏家通吃的市場,最終會有一至三個獲勝者獲得最大的市佔率。一旦市場被這些公司佔領,這些公司的地位就很難被取代。」

設計面向18個月後的晶片

如果從今天開始設計晶片,那麼這顆晶片必須滿足18個月後需要滿足的條件。

「當我們決定對晶片進行模塊化時,我們還必須針對特定精度進行優化。」Xilinx的Ni說。「例如,當我們選擇在8位數精度上做文章時,我們不得不立下賭約,當這款產品成為主流時,8位仍然是主流。

「我們還要確保製造出的產品可以處理混合精度網路,其中一半是8位,四分之一是4位,另外四分之一是1位。為此,我們在AI引擎中執行8位,其運行基本性能非常快,然後可以在FPGA架構中實現4位和1位MAC單元。」

設計時間和算法進化的時間要保持一致。「在18個月內,應用程式很可能會變得相當不同。」Tadikonda警告說。「我認為今天的數據科學家,不會向任何人保證他們將在未來18個月內運行與今天相同的模型。」

還有其他一系列決策也需要作出。

「量化可能是許多能效指標中的最大因素。」Saha說。「量化將對推理產生更大的影響,推理分散在數據中心和邊緣之間,但在『學習』端也需要一些量化。當我們量化成較低的位數時,就意味著我們正在權衡能效而不是準確性。訓練可能需要浮點數,不過有一些新型浮點數出現。谷歌在設計下一代TPU時,他們創造了Bfloat16,這是用於訓練的大腦浮點數。它與IEEE浮點數非常不同,它在精度上具有浮點數的優勢,但也具有顯著的能效優勢。」

不過這將讓經濟因素陷入困境。

「對於如此規模的ASIC,需要在快速變化節奏裡付出巨大的努力,只有少數公司能夠保證其經濟性。」Tadikonda說。「因為有關這些數據的用例正在增加,所以算法正在發生變化。我們今天認為有效的算法明天不一定有效,想要跟上節奏並處於最前沿,就必須不斷創新或重新研發ASIC。谷歌佔據優勢,因為它擁有足夠多的數據以至於能快速攪動局面,它從自己的TPU中學到了很多東西,知道為了保證程式運行地更好需要作出哪些改變。」

「如果我是第三方晶片開發商,我沒有這些數據,就只能依靠我的客戶來提供,因此週轉週期會更長,所以谷歌的情況非常特殊。」OneSpin市場營銷主管Rob Van Blommestein指出,數據的缺乏也給驗證帶來壓力,浮點硬體的驗證對滿足這些晶片的性能和功耗要求至關重要。

長期以來,浮點硬體設計的驗證一直被認為是一項重大挑戰。FPU(floating-point unit)將浮點運算的數學複雜性與需要複雜控制路徑的各種特殊情況相結合。我們需要一種正式的驗證解決方案,以驗證由硬體浮點單元 (FPU) 計算出的算術運算結果,是否與IEEE 754標準規範準確匹配。

結論

人們常說,數據是新的石油,這一比喻在人工智慧領域得以明顯體現。

對於晶片架構師來說,這個比喻再恰切不過。他們需要訪問數據來改進建構更好的產品,這也是數據中心處理器用戶黏性高的原因;架構師們一旦擁有數據中心處理器,就有機會獲得需要的數據。

另一個唯一可行的辦法是加快設計速度來提升效率,推動產品成本的回收。但具有諷刺意味的是,在試圖通過提升效率來解決問題的時候,AI卻成為了唯一的阻礙者。

畢竟,AI領域的算法進化速度和變數實在是太大了。

本文為雷鋒網授權刊登,原文標題為「挑戰 Google TPU,AI 芯片新玩家面臨哪些難題?