全部產品
Search
文件中心

Platform For AI:SanityCheck:算力健康檢測

更新時間:Dec 11, 2024

本文為您介紹如何使用DLC提供的算力健康檢測能力。

功能介紹

在執行DLC任務時,可能會遇到以下問題:

  • 在任務花費一定時間載入模型Checkpoint或其他初始化操作後,由於申請的資源存在故障,無法順利開始訓練,需要調查定位故障問題並重新提交任務。該過程中會導致GPU資源的浪費。

  • 在任務運行階段,如果發現模型訓練效能下降,可能是慢節點導致的,但缺少快捷有效問題定位方法。此外,資源群組內機器的GPU算力和通訊效能測試也欠缺便捷且可靠的基準程式。

針對上述問題,DLC提供了算力健康檢測(SanityCheck)功能,旨在對分布式訓練任務的算力資源健康度與效能進行檢查。在建立DLC訓練任務時可以開啟該功能,健康檢測會對參與訓練的資源進行全面檢測,自動隔離故障節點,並觸發後台自動化營運流程,有效減少任務訓練初期遇到問題的可能性,提升訓練成功率。此外,在檢測完成後,會給出有關GPU算力以及通訊效能的檢測報告,可以協助識別和定位可能導致任務訓練效能下降的問題元素,整體提升問題診斷的效率。

使用限制

  • 僅支援在華北6(烏蘭察布)和新加坡地區,使用靈駿智算資源提交的DLC訓練任務,開啟健康檢測功能。

  • 當前功能僅支援PyTorch類型的訓練任務,且要求任務資源的GPU(卡數)大於0。

開啟健康檢測

通過控制台

PAI控制台建立DLC訓練任務時,您可以在容錯與診斷地區,開啟健康檢測開關,並配置相關參數。具體操作,請參見建立訓練任務。開啟健康檢測功能,並成功建立任務後,系統將佔用一定的時間用於檢測資源健康度和可用性,並給出檢測結果。

image

其中健康檢測的關鍵參數說明如下:

參數

描述

檢測時機

  • 在任務運行前(預設):即任務擷取到資源後,先基於該訓練任務的算力節點進行預先檢測,再執行使用者代碼。

  • 在容錯發生後:即當任務運行異常,AIMaster自動容錯將任務重啟後,進行算力健康檢測。

    說明

    選擇該配置項時,必須開啟自動容錯功能。更多內容介紹,請參見AIMaster:彈性自動容錯引擎

檢測項

預設開啟GPU GEMM、All-Reduce檢測。支援使用者選擇計算效能檢測、節點通訊檢測、計算通訊交叉檢測、模型類比驗證。更多檢測項說明及推薦情境,請參見附錄:檢測項說明

最長檢測時間(分鐘)

健康檢測最長已耗用時間,預設為30分鐘。在檢測逾時後,會觸發預設的處理方法。

檢測逾時處理

當健康檢測已耗用時間超過設定值時,您可以選擇將任務轉入以下狀態:

  • 結束任務(預設):任務結束,狀態將變為檢測未通過

  • 掛起任務:將任務掛起,任務狀態還是檢測中,等待進一步的人工幹預或系統指導進行下一步操作。

其他檢測配置

預設為空白。

查看檢測結果

健康檢測狀態說明

DLC任務在健康檢測中的相關狀態項如下:

  • 檢測中:進行中算力健康檢測環節,期間的任務狀態將顯示為檢測中。

  • 檢測未通過:在執行算力健康檢測過程中,如果檢測出問題,或檢測時間超出設定的最大已耗用時間,狀態將顯示為檢測未通過。

  • 檢測通過:算力健康檢測全部通過後,任務將直接進入運行中的狀態。

查看健康檢測結果

通過控制台

在DLC任務詳情頁面下方的事件頁簽,單擊健康檢測,可以查看對應的檢測結果。

image

配置訊息通知

您可以在PAI工作空間的事件通知配置中建立訊息通知規則,其中事件類型選擇DLC任務>任務自動容錯,其他參數配置詳情,請參見訊息通知。當算力健康檢測未通過時,會發送訊息通知。

說明

工作空間建立訊息通知使用說明: 工作空間事件中心

image

附錄:檢測項說明

說明

預估檢測時間長度以2台機器為單位,數值僅供參考,請以實際情況為準。

檢測項

含義說明(推薦情境)

預估檢測時間長度

計算效能檢測

GPU GEMM

用於檢測GPU GEMM效能情況,可識別:

  • 故障GPU:計算報錯、計算 Hang 住;

  • 效能慢節點:計算 TFLOPS 比較低。

1 分鐘

GPU Kernel Launch

用於檢測 GPU Kernel 啟動延遲情況,可識別:

  • 故障節點:Kernel 啟動報錯、Kernel 啟動 Hang 住;

  • 效能慢節點:Kernel 啟動耗時較長。

1 分鐘

節點通訊檢測

All-Reduce

用於檢測節點通訊效能,識別通訊慢節點/故障節點。在不同的通訊模式下,可識別:

  • 通訊故障節點:通訊報錯、Hang住;

  • 通訊慢節點:通訊頻寬較低。

單個集合通訊檢測

5 分鐘

All-to-All

All-Gather

Multi-All-Reduce

Network Connectivity

用於檢測機頭/機尾網路連通性,識別通訊連通異常節點。

2 分鐘

計算通訊交叉檢測

MatMul/All-Reduce Overlap

用於檢測通訊kernel和計算kernel重疊時單節點的效能情況,可識別:

  • 故障節點:重疊計算報錯、Hang住;

  • 效能慢節點:重疊計算耗時較長。

1 分鐘

模型類比驗證

Mini GPT

使用模型類比驗證AI系統可靠性,可識別:

  • 故障節點:訓練loss異常、訓練Hang住、訓練報錯;

  • 效能慢節點:單步訓練耗時較長。

1 分鐘

Megatron GPT

5 分鐘

ResNet

2 分鐘