這個用整塊晶圓做的晶片,性能超乎想像

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 積極進取的領域,但晶圓級計算可能會改變這個行業,而不僅僅是機器學習。

來源:cnBeta