如何在AI系統中檢測和糾正靜默數據損壞?
靜默數據損壞 (SDC),有時稱為位衰減或靜默數據錯誤 (SDE),是指標準錯誤檢查機制未檢測到的數據錯誤,可能導致重大數據丟失或計算錯誤。SDC 可能導致訓練不準確、預測錯誤和性能不可靠。檢測 SDC 需要專門的技術和工具。
SDC 可以是瞬態的,也可以是隨機的。瞬態 SDC 可能是由中微子或 α 粒子等輻射事件引起的。中微子和 α 粒子很難預測,更難阻止。幸運的是,它們也很罕見,對數據中心和大多數 AI 系統中的 SDC 沒有顯著貢獻。
SDC 更大、更嚴重的來源是由 IC 缺陷導致的永久性硬件故障。這就是本文的重點。
SDC 以每百萬缺陷數 (DPM) 進行量化,并且通常存在于制造時,因此被稱為“時間 0 缺陷”。先進 IC 的極小特征尺寸會加劇 SDC 的外觀,使其無法消除。
圖 1.微觀缺陷會導致 IC 網絡偏離理想狀態,是 SDC 的原因之一。(圖片:Asset))
特別是在高性能 IC 中,器件中許多點的小缺陷和邊緣可能會導致結果不一致。DRAM、CPU 和 GPU 等 IC 上的圖案化并不完美。即使是大小、形狀和間距的輕微不規則也可能導致 SDC。這有時被稱為“燕麥片”效應(圖 1)。
當然,易受 SDC 影響的各種類型的 IC 并不是孤立使用的;它們是更大系統的一部分。最近的一項研究利用來自一組云數據中心的性能數據來檢查內存中的 SDC 與其他系統組件之間的相關性。一些發現包括(圖 2):
圖 2.顯示 SDC 某些原因之間相關性的熱圖。(圖片:Meta Research)
內存錯誤遵循 Pareto 分布,其中很大一部分效果來自少量來源。
來自內存控制器和通道的非 DRAM 故障是大多數錯誤的原因。
更新、更高密度的 DRAM 具有更高的故障率。
芯片較少且傳輸寬度較小的 DIMM 錯誤率較低。
CPU 和內存利用率 (CPU%) 和 Memory% 分別與整體服務器故障率相關。
檢測和緩解
一旦 IC 安裝在系統中,檢測和緩解 SDC 就具有挑戰性。有些缺陷僅在溫度、電壓、頻率和指令序列等因素的特定組合下發生。
在一個案例中,觀察到 1% 的服務器負責所有可糾正錯誤的 97.8%。減輕 SDC 影響的一種方法是使用冗余和容錯架構,其中多個系統或處理器驗證結果并驗證數據。
這可能會很昂貴,并且會減慢整個系統的運行速度。另一種方法是在將潛在故障芯片集成到系統之前識別它們。
例如,Intel 的 Data Center Diagnostics Tool (DCDiag) 使用多種機制來識別 SDC。它基于重復執行作或計算并確認正確的結果。
由于這些測試明確確認了每個計算的正確性,因此它們改進了對導致 SDC 的缺陷部件的識別。其中一些測試包括確認內核到內核和套接字到套接字通信的準確性,以及運行復雜的浮點、整數和數據作指令。
開放計算項目 (OCP) 最近建立了服務器組件彈性工作流,以應對 SDC 日益增長的挑戰。該工作流側重于研究硬件引起的 SDC 以及開發有效的檢測和緩解工具。工作流中涉及的初始成員包括 AMD、ARM、Google、Intel、Meta、Microsoft 和 NVIDIA。
總結
隨著 AI 訓練和模型的復雜性不斷增加,以及先進 IC 的特征尺寸不斷縮小,SDC 是一個日益嚴重的問題。SDC 的主要原因是 IC 制造過程中出現的硬件中所謂的“零時間缺陷”。這增加了檢測和減輕其影響的挑戰。最近,OCP 建立了一個全行業范圍的工作流程,以開發處理 SDC 的有效工具。
評論