技術指南

NVLink 和 GPU 互連

NVLink 和相關互連是高速鏈路,可讓許多 GPU 直接快速地相互通訊。

概述

NVLink 和相關互連是高速鏈路,可讓許多 GPU 直接快速地相互通訊。它們至關重要,因為訓練和服務最大的 AI 模型需要數百或數千個 GPU 才能像巨大的加速器一樣運作。

NVLink 和 GPU 互連是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。

深入探討

單一 GPU 無法容納最大的模型,因此它們被分成許多晶片,這些晶片必須不斷交換數據,例如權重、梯度和啟動。標準 PCIe 總線對此來說速度太慢,因此 NVIDIA 創建了 NVLink,這是 GPU 到 GPU 的直接鏈接,可提供更高的頻寬和更低的延遲。 NVSwitch 晶片將其擴展到一種結構中,以便伺服器中的每個 GPU 都可以全速存取其他 GPU,從而將八個 GPU 變成一個大型記憶體和計算池。在機架規模上,像 NVIDIA 的 NVL72 這樣的系統透過統一的 NVLink 域連接數十個 GPU。除了單一機架之外,InfiniBand 和乙太網路(通常使用 RDMA)等網路技術還將數千個節點連接到一個叢集中。這些互連的品質直接限制了模型的訓練規模和速度。

技術洞察

NVLink 在 GPU 之間提供專用的點對點通道,其頻寬是 PCIe 的許多倍並且延遲更低,讓 GPU 幾乎可以像讀取本地記憶體一樣讀取彼此的記憶體。 NVSwitch 的作用就像一個高速交叉開關,因此節點中的所有 GPU 都可以在全頻寬下進行無阻塞通訊。諸如 all-reduce 之類的集體操作(在訓練期間對 GPU 上的梯度求和)在這種結構上運行速度要快得多,這就是為什麼互連頻寬強烈影響訓練擴展到多個晶片的程度。

掌握 NVLink 和 GPU 互連

NVLink 和相關互連是高速鏈路,可讓許多 GPU 直接快速地相互通訊。它們至關重要,因為訓練和服務最大的 AI 模型需要數百或數千個 GPU 才能像巨大的加速器一樣運作。 NVLink 和 GPU 互連是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。為了加深理解,請將 NVLink 和 GPU 互連視為一種操作模型,而不是單一功能:定義所需的結果,澄清假設,並將系統可以可靠地執行的操作與仍需要專家判斷的操作分開。

在實踐中,使用 NVLink 和 GPU 互連的強大團隊根據可靠性和成本優化架構、資料和基礎設施選擇。他們記錄明確的成功標準,根據實際數據和工作流程進行測試,並根據觀察到的失敗模式而不是一次性基準測試勝利進行迭代。這就是理論理解轉變為跨產品、政策和營運的持久能力的地方。

多年來,架構決策決定著效能和營運成本。同時,優化一個基準測試可以隱藏更廣泛的系統弱點。最具彈性的方法是將實驗速度與治理規則結合:運行試點、捕獲證據、發布決策日誌,並隨著模型行為、使用者期望和監管要求的發展不斷更新保障措施。

戰略影響

多年來,架構決策決定著效能和營運成本。

多年來,架構決策決定著效能和營運成本。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

更好的工程選擇可以減少生產中的可靠性事故。

更好的工程選擇可以減少生產中的可靠性事故。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

NVLink 和 GPU 互連的未來

隨著模型的發展超出了單一伺服器的範圍,互連正在成為系統。 NVLink 每一代都在不斷獲得頻寬,機架級 NVLink 域(如 NVL72)正在擴大作為一個 GPU 的數量。預計會有更大的統一域、計算和網路的更緊密耦合、可降低距離功率的光鏈路,以及業界在開放互連標準(例如 UALink)方面所做的努力,以與專有結構競爭。擴展人工智慧越來越依賴晶片之間的數據傳輸以及晶片本身。

現實世界的實施

透過 NVSwitch 連接一台伺服器(如 NVIDIA DGX 系統)內的八個 GPU,以便它們共享記憶體並一起訓練一個大型模型。

在分散式訓練期間跨 GPU 執行 all-reduce 梯度同步,並由 NVLink 頻寬加速。

將機架級 NVL72 系統中的數十個 GPU 連接到一個統一的 NVLink 域,以實現萬億參數模型。

使用 InfiniBand 或 RDMA-over-Ethernet 將數千台 GPU 伺服器連接到叢集中,以進行大規模基礎模型訓練。

實施模式

NVLink 和 GPU 互連的實踐

透過 NVSwitch 連接一台伺服器(如 NVIDIA DGX 系統)內的八個 GPU,以便它們共享記憶體並一起訓練一個大型模型。

透過 NVSwitch 在一台伺服器(如 NVIDIA DGX 系統)內連接八個 GPU,以便它們共享記憶體並一起訓練一個大型模型。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

NVLink 和 GPU 互連的實踐

在分散式訓練期間跨 GPU 執行 all-reduce 梯度同步,並由 NVLink 頻寬加速。

在分散式訓練期間跨 GPU 執行 all-reduce 梯度同步,並透過 NVLink 頻寬進行加速 當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並追蹤一段時間內的生產力提升和錯誤成本時,通常會獲得更好的結果。

NVLink 和 GPU 互連的實踐

將機架級 NVL72 系統中的數十個 GPU 連接到一個統一的 NVLink 域,以實現萬億參數模型。

將機架級 NVL72 系統中的數十個 GPU 連接到一個統一的 NVLink 域,以實現數萬億參數模型當團隊預先定義質量閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。

NVLink 和 GPU 互連的實踐

使用 InfiniBand 或 RDMA-over-Ethernet 將數千台 GPU 伺服器連接到叢集中,以進行大規模基礎模型訓練。

使用 InfiniBand 或 RDMA-over-Ethernet 將數千台 GPU 伺服器綁定到一個叢集中,進行大規模基礎模型訓練 團隊在預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

風險與防護欄

!

優化一項基準測試可以隱藏更廣泛的系統弱點。

!

基礎設施和維護成本常常被低估。

!

隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。

實施路線圖

1

在實施之前定義延遲、品質和成本目標。

在實施之前定義延遲、品質和成本目標。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

2

在實際負載和資料條件下進行基準測試。

在實際負載和資料條件下進行基準測試。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

3

儀器監控錯誤、漂移和使用者影響。

儀器監控錯誤、漂移和使用者影響。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

4

在擴展之前準備回滾和事件回應路徑。

在擴展之前準備回滾和事件回應路徑。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

不斷探索