機器之心報道
機器之心編輯部
# 近日,Meta 透露了其在人工智慧方面取得的最新進展。
人們提起 Meta 時,通常會想到其應用程序,包括 Facebook、Instagram、WhatsApp 或即將推出的元宇宙。但許多人不知道的是這家公司設計和建構了非常複雜的資料中心來運作這些服務。
與 AWS、GCP 或 Azure 等雲端服務供應商不同,Meta 不需要揭露有關其矽芯選擇、基礎設施或資料中心設計的細節,除了其 OCP 設計用來給買家留下深刻印象。 Meta 的用戶希望獲得更好、更一致的體驗,而不關心它是如何實現的。
在 Meta,AI 工作負載無所不在,它們構成了廣泛用例的基礎,包括內容理解、資訊流、生成式 AI 和廣告排名。這些工作負載在 PyTorch 上運行,具有一流的 Python 整合、即時模式(eager-mode)開發和 API 簡潔性。特別是深度學習推薦模型(DLRMs),對於改善 Meta 的服務和應用體驗非常重要。但隨著這些模型的大小和複雜性的增加,底層的硬體系統需要在保持高效的同時提供指數級增長的記憶體和運算能力。
Meta 發現,對於目前規模的 AI 運算和特定的工作負載,GPU 的效率不高,並不是最佳選擇。因此,該公司提出了推理加速器 MTIA,以幫助更快地訓練 AI 系統。
MTIA V1
#MTIA v1(推理)晶片(die)
2020 年,Meta 為其內部工作負載設計了第一代 MTIA ASIC 推理加速器。此推理加速器是其全端解決方案的一部分,整個解決方案包括晶片、PyTorch 和推薦模型。
MTIA 加速器採用 TSMC 7nm 製程製造,運作頻率為 800 MHz,在 INT8 精度下提供 102.4 TOPS,在 FP16 精度下提供 51.2 TFLOPS。它的熱設計功耗 (TDP) 為 25 W。
MTIA 加速器由處理元件 (PE)、片上和片外記憶體資源以及互連組成。該加速器配備了運行系統韌體的專用控制子系統。韌體管理可用的運算和記憶體資源,透過專用主機介面與主機通信,協調加速器上的 job 執行。
記憶體子系統使用 LPDDR5 作為片外 DRAM 資源,可擴充至 128 GB。該晶片還有 128 MB 的片上 SRAM,由所有 PE 共享,為頻繁存取的資料和指令提供更高的頻寬和更低的延遲。
MTIA 加速器網格包含以 8x8 配置組織的 64 個 PE,這些 PE 相互連接,並透過網狀網路連接到記憶體區塊。整個網格可以作為一個整體來運行一個 job,也可以分成多個可以運行獨立 job 的子網格。
每個 PE 配備兩個處理器核心(其中一個配備向量擴展)和一些固定功能單元,這些單元經過最佳化以執行關鍵操作,例如矩陣乘法、累加、資料移動和非線性函數計算。處理器核心基於 RISC-V 開放指令集架構 (ISA),並經過大量自訂以執行必要的運算和控制任務。
每個 PE 還具有 128 KB 的本地 SRAM 內存,用於快速存儲和操作資料。該架構最大限度地提高了平行性和資料重用性,這是高效運行工作負載的基礎。
此晶片同時提供執行緒和資料級並行性(TLP 和 DLP),利用指令級並行性 (ILP),並透過允許同時處理大量記憶體請求來實現大量的記憶體級並行性 (MLP)。
MTIA v1 系統設計
MTIA 加速器安裝在小型雙 M.2 板上,可以更輕鬆地整合到伺服器中。這些板使用 PCIe Gen4 x8 連結連接到伺服器上的主機 CPU,功耗低至 35 W。
MTIA 的樣品測試板
託管這些加速器的伺服器使用來自開放運算專案的 Yosemite V3 伺服器規格。每台伺服器包含 12 個加速器,這些加速器連接到主機 CPU,並使用 PCIe 交換器層級相互連接。因此,不同加速器之間的通訊不需要涉及主機 CPU。此拓撲允許將工作負載分佈在多個加速器上並並行運行。加速器的數量和伺服器配置參數經過精心選擇,以最適合執行當前和未來的工作負載。
MTIA 軟體堆疊
#MTIA 軟體(SW)堆疊旨在提供給開發者更好的開發效率和高效能體驗。它與 PyTorch 完全集成,為用戶提供了一種熟悉的開發體驗。使用基於 MTIA 的 PyTorch 與使用 CPU 或 GPU 的 PyTorch 一樣簡單。並且,由於蓬勃發展的PyTorch 開發者生態系統和工具,現在MTIA SW 棧可以使用PyTorch FX IR 執行模型級轉換和優化,並使用LLVM IR 進行低階優化,同時也支援MTIA 加速器自訂架構和ISA 。
下圖為 MTIA 軟體堆疊框架圖:
作為 SW 堆疊的一部分,Meta 還為效能關鍵型 ML 核心開發了一個手動調整和高度最佳化的核心函式庫,例如完全連接和嵌入套件運算子。在 SW 堆疊的更高層級可以選擇在編譯和程式碼產生過程中實例化和使用這些高度最佳化的核心。
此外,MTIA SW 堆疊隨著與 PyTorch 2.0 的整合而不斷發展,PyTorch 2.0 更快、更 Python 化,但一如既往地動態。這將啟用新功能,例如 TorchDynamo 和 TorchInductor。 Meta 也正在擴展 Triton DSL 以支援 MTIA 加速器,並使用 MLIR 進行內部表示和進階最佳化。
MTIA 效能
#Meta 比較了 MTIA 與其他加速器的性能,結果如下:
Meta 使用五種不同的 DLRMs(複雜度從低到高)來評估 MTIA
此外,Meta 還將 MTIA 與 NNPI 以及 GPU 進行了比較,結果如下:
評估發現,與 NNPI 和 GPU 相比,MTIA 能夠更有效率地處理低複雜度(LC1 和 LC2)和中等複雜度(MC1 和 MC2)的模型。此外,Meta 尚未針對高複雜度(HC)模型進行 MTIA 的最佳化。
參考連結:
https://ai.facebook.com/blog/meta-training-inference-accelerator-AI-MTIA/
以上是7nm流程,比GPU效率高,Meta發布第一代AI推理加速器的詳細內容。更多資訊請關注PHP中文網其他相關文章!