這款用整塊晶圓做的芯片:性能超乎想象

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

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧