本文為您介紹如何使用DLC提供的算力健康檢測能力。
功能介紹
在執行DLC任務時,可能會遇到以下問題:
在任務花費一定時間載入模型Checkpoint或其他初始化操作後,由於申請的資源存在故障,無法順利開始訓練,需要調查定位故障問題並重新提交任務。該過程中會導致GPU資源的浪費。
在任務運行階段,如果發現模型訓練效能下降,可能是慢節點導致的,但缺少快捷有效問題定位方法。此外,資源群組內機器的GPU算力和通訊效能測試也欠缺便捷且可靠的基準程式。
針對上述問題,DLC提供了算力健康檢測(SanityCheck)功能,旨在對分布式訓練任務的算力資源健康度與效能進行檢查。在建立DLC訓練任務時可以開啟該功能,健康檢測會對參與訓練的資源進行全面檢測,自動隔離故障節點,並觸發後台自動化營運流程,有效減少任務訓練初期遇到問題的可能性,提升訓練成功率。此外,在檢測完成後,會給出有關GPU算力以及通訊效能的檢測報告,可以協助識別和定位可能導致任務訓練效能下降的問題元素,整體提升問題診斷的效率。
使用限制
僅支援在華北6(烏蘭察布)和新加坡地區,使用靈駿智算資源提交的DLC訓練任務,開啟健康檢測功能。
當前功能僅支援PyTorch類型的訓練任務,且要求任務資源的GPU(卡數)大於0。
開啟健康檢測
通過控制台
在PAI控制台建立DLC訓練任務時,您可以在容錯與診斷地區,開啟健康檢測開關,並配置相關參數。具體操作,請參見建立訓練任務。開啟健康檢測功能,並成功建立任務後,系統將佔用一定的時間用於檢測資源健康度和可用性,並給出檢測結果。
其中健康檢測的關鍵參數說明如下:
參數 | 描述 |
檢測時機 |
|
檢測項 | 預設開啟GPU GEMM、All-Reduce檢測。支援使用者選擇計算效能檢測、節點通訊檢測、計算通訊交叉檢測、模型類比驗證。更多檢測項說明及推薦情境,請參見附錄:檢測項說明。 |
最長檢測時間(分鐘) | 健康檢測最長已耗用時間,預設為30分鐘。在檢測逾時後,會觸發預設的處理方法。 |
檢測逾時處理 | 當健康檢測已耗用時間超過設定值時,您可以選擇將任務轉入以下狀態:
|
其他檢測配置 | 預設為空白。 |
查看檢測結果
健康檢測狀態說明
DLC任務在健康檢測中的相關狀態項如下:
檢測中:進行中算力健康檢測環節,期間的任務狀態將顯示為檢測中。
檢測未通過:在執行算力健康檢測過程中,如果檢測出問題,或檢測時間超出設定的最大已耗用時間,狀態將顯示為檢測未通過。
檢測通過:算力健康檢測全部通過後,任務將直接進入運行中的狀態。
查看健康檢測結果
通過控制台
在DLC任務詳情頁面下方的事件頁簽,單擊健康檢測,可以查看對應的檢測結果。
配置訊息通知
您可以在PAI工作空間的事件通知配置中建立訊息通知規則,其中事件類型選擇DLC任務>任務自動容錯,其他參數配置詳情,請參見訊息通知。當算力健康檢測未通過時,會發送訊息通知。
工作空間建立訊息通知使用說明: 工作空間事件中心。
附錄:檢測項說明
預估檢測時間長度以2台機器為單位,數值僅供參考,請以實際情況為準。
檢測項 | 含義說明(推薦情境) | 預估檢測時間長度 | |
計算效能檢測 | GPU GEMM | 用於檢測GPU GEMM效能情況,可識別:
| 1 分鐘 |
GPU Kernel Launch | 用於檢測 GPU Kernel 啟動延遲情況,可識別:
| 1 分鐘 | |
節點通訊檢測 | All-Reduce | 用於檢測節點通訊效能,識別通訊慢節點/故障節點。在不同的通訊模式下,可識別:
| 單個集合通訊檢測 5 分鐘 |
All-to-All | |||
All-Gather | |||
Multi-All-Reduce | |||
Network Connectivity | 用於檢測機頭/機尾網路連通性,識別通訊連通異常節點。 | 2 分鐘 | |
計算通訊交叉檢測 | MatMul/All-Reduce Overlap | 用於檢測通訊kernel和計算kernel重疊時單節點的效能情況,可識別:
| 1 分鐘 |
模型類比驗證 | Mini GPT | 使用模型類比驗證AI系統可靠性,可識別:
| 1 分鐘 |
Megatron GPT | 5 分鐘 | ||
ResNet | 2 分鐘 |