生成式人工智能等高級人工智能算法高度依賴硬件性能和可靠性。這些模型的訓練和推理所涉及的計算復雜性和規模需要強大而可靠的硬件。
硬件故障、過熱和計算效率低下等問題可能會嚴重影響生成式 AI 模型的開發和部署。這使得關于硬件可靠性很重要,盡管有時會被忽視,在人工智能社區中。
確保硬件可靠性對于 AI 開發至關重要。不可靠的硬件可能會帶來負面影響,從丟失寶貴的訓練數據和進度等小麻煩到導致數月訓練成果付諸東流的災難性故障。在本文中,我們將研究與傳統內部部署硬件設置相關的挑戰,并討論為什么云 GPU 提供了實現和維持高水平硬件可靠性的可行解決方案。
人工智能中的硬件可靠性是什么?
硬件可靠性指底層計算基礎設施在指定時間內持續無故障地執行其預期功能的能力。這涵蓋多個方面,包括預防硬件故障、緩解錯誤和從中斷中恢復。
在用于 AI 訓練和推理的 GPU 集群中,可靠性是指互聯 GPU并支持基礎設施在較長時間內持續無故障地執行其預期功能,這是對人工智能訓練很重要以及其他需要持續處理能力的高性能計算任務。
可靠性可以通過以下指標來量化:平均故障間隔時間 (MTBF),它估計發生故障之前的平均運行時間;平均修復時間 (MTTR),它測量發生故障后恢復系統的平均時間。較高的 MTBF 表示更高的可靠性,因為它意味著故障間隔時間更長,而較低的 MTTR 值表示系統可以快速恢復到運行狀態,從而最大限度地減少停機時間。
GPU 集群中常見的可靠性問題
1、GPU HBM ECC 錯誤:
HBM(高帶寬內存)ECC(錯誤糾正碼)錯誤指的是高速存儲器中發生的錯誤用于現代 GPU。ECC 是一種旨在檢測和糾正內存錯誤以維護數據完整性并防止崩潰或故障的機制。
HBM ECC 錯誤可分為兩類:
可糾正錯誤:這些是 ECC 機制可以檢測和糾正的小錯誤,不會影響 GPU 的運行。
無法糾正的錯誤:這些是 ECC 機制無法糾正的更嚴重錯誤。它們可能導致數據損壞、崩潰或 GPU 中的其他故障。
不同的事情可能會導致GPU HMB ECC 錯誤; 這里有幾個:
制造缺陷: HBM 芯片或互連中的缺陷可能導致運行期間出現錯誤。
磨損:隨著時間的推移,HBM 組件會因熱量、電壓波動或粒子輻射等因素而性能下降,從而增加出現錯誤的可能性。
超頻:將 GPU 推至超出其工廠指定的極限可能會給 HBM 帶來壓力并增加出現錯誤的風險。
軟件問題:有故障的驅動程序或軟件錯誤也可能觸發 HBM ECC 錯誤。
減少 HMB ECC 錯誤發生幾率的最佳方法之一是使用具有錯誤處理機制的 GPU,例如 NVIDIA H100。您可以開始使用只需單擊幾下即可在捷智算上完成。
2、GPU 驅動程序卡?。?/p>
GPU 驅動程序卡住會導致控制圖形處理單元 (GPU) 的軟件停止響應或變得無響應。這可能表現在以下幾種方面:
屏幕凍結:顯示屏可能完全凍結,沒有任何移動或對輸入做出響應。
黑屏:屏幕可能變黑,但計算機仍保持通電狀態。
錯誤消息:您可能會看到諸如“顯示驅動程序停止響應并已恢復”或類似通知的錯誤消息。
性能問題:即使顯示器沒有完全凍結,您仍然可能會在圖形密集型應用程序中遇到延遲、卡頓或其他性能問題。
集群中 GPU 驅動程序問題的一些原因包括:
驅動程序不兼容:集群內的不同 GPU 可能具有不同的驅動程序版本或配置,從而導致沖突和不穩定。
通信問題: GPU 之間的軟件或網絡通信問題可能導致驅動程序掛起或崩潰。
工作負載不平衡:如果工作負載在 GPU 之間分布不均勻,某些 GPU 可能會超載,從而導致驅動程序因壓力過大或資源耗盡而崩潰。
硬件故障:故障的 GPU 或其他硬件組件可能會觸發驅動程序錯誤,從而影響整個集群。
驅動程序卡住可能會導致正在運行的作業或任務失敗,從而導致延遲和生產力下降。頻繁的驅動程序崩潰會使整個集群不穩定,需要重新啟動或手動干預才能恢復功能。即使集群保持運行,驅動程序問題也會導致性能下降和 GPU 資源利用率低下。
3、光纖收發器故障:
光模塊是 GPU 集群中不可或缺的組件,通過光纖電纜實現 GPU、服務器和存儲系統之間的高速通信,有助于實現 AI 工作負載的高效數據傳輸和協調。
光纖收發器可能由于以下原因發生故障:
熱應力:光收發器在運行過程中會產生熱量,過多的熱量會降低其性能并縮短其使用壽命。冷卻不足或環境溫度過高會加速這一過程。
激光器退化:由于老化、溫度波動和高功率操作等因素,光收發器內的激光器會隨著時間的推移而退化。
物理損壞:物理壓力(例如振動、沖擊或誤操作)可能會損壞光收發器內的精密組件。
制造缺陷:制造過程中的缺陷可能導致光收發器過早失效。
光纖收發器故障可能會中斷 GPU 與集群中其他組件之間的通信,從而導致性能下降、錯誤甚至整個系統中斷。
如果在關鍵數據傳輸過程中發生故障,則可能導致數據丟失或損壞。更換發生故障的光纖收發器需要停機和維護,這會影響生產力并可能產生巨額成本。
4、NIC 過熱:
網絡接口卡 (NIC) 在高負載條件下可能會過熱,尤其是在通風不良的環境中。過熱可能會導致 NIC 故障或降低性能。
由于 GPU 之間傳輸的數據量巨大,AI 工作負載的高吞吐量可能會將 NIC 推向極限,從而產生大量熱量,從而加劇 NIC 過熱。
當 NIC 過熱時,其性能會下降,導致數據傳輸速率變慢、延遲增加和潛在錯誤。長時間暴露在高溫下會損壞 NIC 組件,縮短其使用壽命并可能導致永久性故障。
處理可靠性問題時面臨的挑戰之一是GPU 直接連接通過 PCIe 交換機相互連接,因此在網絡架構層面沒有容錯能力。這意味著如果一個 NIC、收發器或 GPU 發生故障,整個服務器將被視為宕機。
如何預防硬件可靠性問題
上述挑戰強調了采取主動措施來避免或至少減少硬件可靠性問題的重要性。以下是一些有助于提高 GPU 可靠性的步驟:
1、使用容錯技術:
容錯是指設計系統即使個別組件發生故障也能繼續運行,有時容量會降低。冗余是容錯的一個基本方面,可以在多個級別實施。
在硬件層面,整合冗余電源、網絡接口和存儲設備可確保當其中一個發生故障時,另一個可以無縫接管。準備好熱插拔備件以便立即更換 GPU 等關鍵組件,可以顯著減少停機時間。
對于數據,跨多個存儲位置或云服務的實時復制可防止因存儲故障而導致數據丟失。此外,軟件級容錯技術(例如檢查點)可以幫助保留長期運行的 AI 工作負載的進度,使其能夠在發生中斷時從保存的狀態恢復。
使用像 Oobleck 這樣的容錯訓練技術將會很有益。Oobleck 提供了一種容錯方法用于深度神經網絡 (DNN) 的大規模分布式訓練。其工作原理如下:
管道模板:Oobleck 使用規劃-執行協同設計方法。它首先生成管道模板,定義要為管道分配多少個節點、要創建的階段以及如何將模型層映射到 GPU。這種解耦允許通過使用新的管道模板替換丟失的節點來快速恢復故障。
冗余計算:Oobleck 實例化多個 ( f + 1) 邏輯等效的管道副本,以容忍任何f 個同時發生的故障。這種冗余確保即使多個節點發生故障,訓練也可以繼續進行,而無需完全重啟。
檢查點:雖然傳統的檢查點方法涉及存儲訓練進度并在故障后從最新的檢查點重新啟動,但 Oobleck 通過動態重新配置訓練作業而無需大量開銷來縮短恢復時間。
無需重啟即可恢復:Oobleck 允許在發生指定數量的同時故障時無需重啟即可進行重新配置,從而保證容錯能力。這樣可以最大限度地減少停機時間,即使在頻繁發生故障的情況下也能保持較高的訓練吞吐量。
Oobleck已經在 GPT-3 等大型模型上進行評估,展示了其保持高吞吐量和有效容錯的能力。該系統旨在處理現代人工智能模型日益增長的復雜性和規模,為分布式訓練環境提供彈性和高效的解決方案。
2、通過精簡設計和智能管理實現軟件彈性
雖然強大的硬件必不可少,但軟件在確保集群可靠性方面也發揮著重要作用。復雜、結構不良的代碼庫可能會導致錯誤和漏洞。因此,采用精簡和模塊化的設計方法非常重要。
分解復雜代碼將其拆分成更小、更易于管理且具有明確接口的模塊,可以提高代碼的可維護性,并降低級聯故障的風險。此外,徹底的錯誤處理自動化測試有助于在問題影響集群運行之前識別并糾正問題。
3、硬件可靠性
基礎可靠的GPU集群在于選擇高質量的硬件組件。具有內置錯誤糾正機制的 GPU(例如 ECC 內存)可以自動檢測并糾正內存錯誤,防止崩潰和數據損壞。
選擇具有有效熱節流功能的 GPU 可確保動態調整性能以保持安全的工作溫度,防止熱損壞。投資企業級網絡接口卡 (NIC) 和耐用的光學收發器可進一步增強集群內通信基礎設施的彈性。
此外,適當的冷卻和氣流管理有助于防止過熱,從而可以顯著增加組件的壽命和可靠性。
通過結合容錯設計原則、強大的軟件實踐和高質量的硬件組件,組織可以創建能夠抵御故障的 GPU 集群,確保不間斷運行并最大限度地提高其 AI 投資的價值。
雖然上述策略可以增強本地 GPU 集群的可靠性,但構建和維護此類基礎設施所固有的復雜性和成本可能會成為沉重的負擔。
云服務捷智算平臺憑借其可擴展且可管理的基礎設施,為尋求簡化 AI 計劃并專注于核心研發的組織提供了極具吸引力的替代方案。具體方法如下。
云 GPU 如何解決 AI 硬件可靠性問題
云 GPU 的優勢之一是其固有的可擴展性。組織可以根據其工作負載需求輕松擴展或縮減其 GPU 資源,無需在硬件上進行大量前期投資。這種彈性使他們能夠處理峰值工作負載,而不會在需求較低的時期過度配置資源,從而確保最佳的成本效益。
內置冗余和高可用性:云提供商通常在設計其基礎設施時會考慮冗余。例如,捷智算提供云環境中可用的多個關鍵組件實例,例如服務器、存儲設備和網絡基礎設施。如果一個組件發生故障,工作負載可以無縫轉移到另一個組件,從而最大限度地減少停機時間并確保高可用性。
托管基礎設施并減輕維護負擔:云提供商負責管理底層硬件基礎設施,包括維護、更新和維修。這為組織節省了寶貴的時間和資源,使他們可以專注于核心 AI 研發活動,而不是處理復雜的硬件管理。
全球覆蓋和可訪問性:只要有互聯網連接,世界上任何地方都可以訪問云 GPU,從而使地理位置分散的團隊能夠在 AI 項目上無縫協作,并且允許組織在發生區域性中斷時在不同位置快速啟動新資源,從而促進災難恢復。
成本效率和按需付費模式:云 GPU 提供商如捷智算通常采用即用即付模式,即組織只需為實際使用的資源付費,這樣就無需進行大量的前期投資,并且可以實現更可預測的預算。此外,捷智算還提供按需、按需和定制合同的 GPU,以滿足您的工作負載,從而進一步優化成本效率。
解決可靠性挑戰:云 GPU 服務可以有效解決前面討論的許多可靠性挑戰。例如,云基礎設施內置的冗余可降低單點故障的風險。托管基礎設施可確保定期更新和維護硬件,從而降低因過時的組件或軟件而出現問題的可能性。此外,云提供商通常制定了強大的災難恢復計劃,以確保在發生重大中斷時業務連續性。
捷智算平臺提供最新的 NVIDIA GPU,以最低的速度加快您的模型訓練和推理。