這個用整塊晶圓做的芯片,性能超乎想像
Cerebras Systems 及其晶圓級硬件由於其完全非傳統的製造方法在業界引起了轟動。他們沒有像AI 中的所有其他參與者一樣構建一個專用於機器學習的大芯片,而是瞄準了一個完全不同的擴展途徑。他們奉行將整個晶圓製成單個芯片的策略。該硬件已顯示出令人驚訝的多功能性,甚至在其他高性能計算應用程序中也取得了突破性進展。
這是由一個簡單的觀察結果驅動的,即摩爾定律已經顯著放緩。大幅增加晶體管數量的唯一途徑是增加每個芯片中的矽數量。Cerebras正在開發他們的第二代產品Cerebras WSE-2,該芯片的尺寸為215mm x 215mm。
與可用的最大GPU Nvidia A100 相比,Cerebras 取得了巨大的優勢,尤其是在將片上40GB 的內存帶寬與A100 的類似大小的HBM 內存進行比較時。Cerebras 擁有令人難以置信的高結構帶寬,遠遠超過GPU 到GPU 的互連。
Cerebras通過在水冷機箱中提供它來馴服他們的20KW野獸。作為參考,Nvidia A100的功率範圍從250W到500W,具體取決於配置。在創建這種冷卻解決方案時必須特別小心。由於該芯片的尺寸和功耗,諸如矽和其他組件的不同熱膨脹等問題成為主要問題。
長期以來,半導體製造受限於裸片尺寸,一直受到掩模版的限制。掩模版限制為33 x 26,這意味著這是ASML 的光刻浸入式步進器可以在晶片上圖案化的最大尺寸。Nvidia 最大的芯片都在800mm^2 的低範圍內,主要是因為超越這個範圍是不可能的。
Cerebras WSE 實際上是在掩模版限制範圍內的晶圓上的許多芯片。他們沒有沿著芯片之間的劃線將芯片切割開,而是開發了一種跨芯片線的方法。這些導線與實際芯片分開圖案化,並允許芯片相互連接。實際上,芯片可以擴展到超出掩模版的限制。
以經典方式構建芯片時,通常會存在缺陷。因此,必須丟棄來自每個晶片的多個芯片或必須禁用芯片的元件。Nvidia 通常將這種做法用於他們的GPU。每一代都存在禁用更大比例內核的持續趨勢,而在當前一代Ampere 中,大約有12% 的內核被禁用。
Cerebras 通過在每個標線子芯片(reticle sub-chip)上添加2 行額外的核心來解決這個問題。這些芯片內的互連是2D 網格,其中每個核心在垂直和水平方向上連接。它們還為每個對角線核心提供額外的互連。這允許對有缺陷的核心進行佈線,並且軟件仍然可以識別2D 網格。
在這個2D 網格中,Cerebras 設定了幾個目標。他們希望所有內存都保留在芯片上,而不必等待片外內存緩慢。唯一的外部連接是到主機系統。每個內核都有細粒度的並行性(fine grained parallelism ),彼此之間不共享任何內容。它們是具有MIMD 能力的節能通用內核,並擁有自己的本地存儲器。
主要用例是機器學習訓練或推理。網絡層被映射到晶片大小的芯片區域。每個矩形塊對應一個層,有趣的是這被稱為“Colorado”。卷積、矩陣向量和矩陣乘法是在每一層的核心上計算的。2D 網格處理網絡每一層內和網絡層之間的核心間通信。
大多數通信通常在沿芯片的X 或Y 方向進行,但有些通信需要跨越芯片的大部分。網格可以處理這個而不會變得擁擠。這允許網絡中的層不必是連續的或彼此直接相鄰。
Cerebras 軟件堆棧放置和路由這些層,同時保持核心和結構的高利用率。該軟件能夠在單個芯片上僅放置幾層網絡,或者在芯片上放置整個網絡的多個副本,以實現數據並行。
Cerebras 的客戶擁有實時生產的晶圓級引擎。這些用於許多不同的工作負載,但最有趣的一種是CANDLE。WSE 用於精確模擬藥物組合的藥物反應及其對癌症的影響。然後選擇最有希望的模擬結果進行實驗研究。
目前在這些芯片上運行的另一個用例是內部限制融合。它運行在一台大型超級計算機上,該計算機還包含多個互連的Cerebras WSE。這種大規模模擬的組成部分之一涉及原子和亞原子粒子之間的相互作用。
該計算被一個在Cerebras 硬件上運行的大型預訓練神經網絡所取代。這是一個僅使用推理的用例。它在模擬的每個時間步中都會被喚起。數據從較大的超級計算機流式傳輸到Cerebras WSE,後者又為這些原子和亞原子交互提供輸出。
Cerebras 硬件也不僅僅用於機器學習。Joule 超級計算機在3D 網格中運行的傳統硬件上運行計算流體動力學。他們以兩種不同的方式遇到了擴展問題。由於網絡帶寬的限制,他們無法通過核心數量來提高性能。此外,由於緩存未命中,內核通常會在表上留下很多性能,從而導致內存不足。該內存隨後遇到了巨大的帶寬瓶頸。
流體動力學模型的3D 網格被映射到WSE 芯片的2D 網格。鄰居交換、向量AXPY 和全局向量的點積,這需要局部點積和全局all-reduce。由於大量的SRAM 和每個單獨內核的相對較高的複雜性,所有這些操作都可以輕鬆處理。
有大量的內核間通信,但片上內部網絡足夠強大,可以以低延遲處理它們。網絡通過沿著稱為“顏色”的虛擬通道而不是預先確定的地址發送消息來實現這一點。這種基於硬件的通信允許數據在整個芯片上每時鐘傳輸1 跳。
Allreduce 可以非常快地完成。每個內核將其標量發送到它旁邊的內核。當它到達那裡時,標量被加在一起並向前發送。芯片的邊緣向東/西向中心發送數據。一旦它到達中心,就會發生同樣的過程,但北/南結果被合併,然後在核心網格上廣播回來。只需1微秒,就可以完成這個allreduce。作為參考,超級計算機中的典型集群從一個處理器到另一個相鄰處理器的單個MPI 通信需要大約這麼長時間。
無論引入數據的延遲如何,都可以進行計算以實現全帶寬。路由器具有來自每個相鄰核心的4個傳入數據集。此外,內核可以將其輸出重新路由回,這樣就不需要將其存儲在SRAM中。內核可以同時運行多個線程。有一個主線程被賦予優先級,但是如果它在等待數據,其他線程就會前進。通過使用大量SRAM和多線程架構保持數據局部性,利用率保持極高。
對硬件進行低級優化的結果使計算流體動力學速度提高了200 倍。這與同樣高度優化的大型超級計算機集群相比。除了速度上的提升,成本,尤其是功耗,也有著巨大的優勢。這種優勢在某種程度上是顯而易見的,因為將超級計算機集群與單個(儘管是晶圓大小)芯片進行比較。
不幸的是,軟件還沒有完全符合要求。Beta SDK 將於今年晚些時候推出,用於編寫自定義內核操作。這種語言將完全特定於WSE 的領域。他們將擁有數學函數和通信庫,有望在一定程度上減輕負擔。
除此之外,還有一些功能和工具會有所幫助,但這將是高技能程序員的任務。這是唯一可以實現這種計算規模的硬件,因此對於那些需要這種性能水平的任務來說,它可能不是進入的巨大障礙。
Cerebras 將實時計算流體動力學作為利用WSE 的下一個工作負載。有相當大的希望,這將打開一個全新的用例。
我們很高興基於7nm 的WSE2 全面推出。看看SDK 是否可以允許開發人員生成其他工作負載,WSE 可以帶來數量級的性能提升,這將是令人興奮的。人工智能是Cerebras 積極進取的領域,但晶圓級計算可能會改變這個行業,而不僅僅是機器學習。