EAS提供算力檢測與容錯功能,可以自動檢測GPU算力、節點通訊等資源的健康狀態,提升問題診斷效率,保障大規模部署下服務的可用性與穩定性。
適用範圍
核心概念
-
檢測時機:
-
執行個體運行前: 在服務執行個體(Pod)內的程式正式啟動前進行檢測。適用於預防因資源故障導致的啟動失敗,提前發現硬體或網路問題。
-
執行個體運行中: 在服務運行階段進行後台常駐檢測。
-
-
檢測項:
-
執行個體運行前:支援計算效能檢測、節點通訊檢測和計算通訊交叉檢測。
-
執行個體運行中:僅支援C4D(檢測顯卡的健康狀態)。
-
詳細檢測項說明,請參見附錄:檢測項說明。
-
-
異常狀態處理:
-
執行個體啟動失敗: 當檢測發現異常時,終止本次執行個體的啟動。
-
不處理: 檢測到異常後僅記錄事件,不執行任何操作。
-
操作步驟
開啟並配置算力檢測
-
登入PAI控制台,在頁面上方選擇目標地區,並在右側選擇目標工作空間,然後單擊進入EAS。
單擊部署服务,然後在自定义模型部署地區,單擊自定义部署。
-
在服务功能地區的穩定保障分類下,開啟算力检测与容错,在右側彈出的面板中,配置檢測參數。如果直接配置JSON檔案,請參見附錄:JSON檔案參數說明。
說明可以同時添加“執行個體運行前”和“執行個體運行中”兩種檢測。
-
配置執行個體運行前檢測(可選):
-
選擇檢測時機: 選擇实例运行前。
-
配置檢測項: 根據需要勾選计算性能检测、节点通信检测等專案。平台預設開啟了GPU GEMM和All-Reduce-單節點、All-Reduce-兩節點間的檢測。
-
設定最長檢測時間:根據已選擇的檢測項,參考檢測項說明中的預估檢測時間(檢測串列執行),設定一個檢測逾時時間(預設為5分鐘),若檢測在此時間內未完成,將被視為異常。
-
選擇異常狀態處理: 預設為实例启动失败,也可以根據容災策略選擇实例重建。
-
-
配置執行個體運行中檢測(可選):
-
選擇檢測時機: 選擇实例运行中。
-
配置檢測項: 目前僅支援C4D。
-
選擇異常狀態處理:目前僅支援不处理。
-
-
查看算力健康檢測結果
配置該功能後,可以通過以下兩種方式查看檢測報告:
-
方法一:通過執行個體列表
-
在服務詳情頁,進入概览標籤頁。
-
找到服務執行個體地區的目標執行個體單元,在操作列中單擊检测结果。

-
-
方法二:通過部署事件
-
在服務詳情頁,進入部署事件標籤頁。
-
找到類型為
SanityCheckSucceeded或SanityCheckFailed的事件,在其操作列單擊检测结果。
-
單擊後,頁面右側將彈出算力健康检测结果抽屜,可以在此查看不同檢測項的詳細報告。
常見問題
Q: All-Reduce檢測失敗通常是什麼原因?
All-Reduce檢測失敗通常指向節點間的網路通訊問題,例如網路延遲高、丟包嚴重,或者節點間RDMA配置錯誤等。可以根據報告中的詳細資料,重點排查通訊慢的節點。
附錄:檢測項說明
|
檢測項 |
含義說明(推薦情境) |
預估檢測時間長度 |
|
|
執行個體運行前 |
|||
|
計算效能檢測 |
GPU GEMM |
用於檢測GPU GEMM效能情況,可識別:
|
1 分鐘 |
|
GPU Kernel Launch |
用於檢測 GPU Kernel 啟動延遲情況,可識別:
|
1 分鐘 |
|
|
節點通訊檢測 |
All-Reduce |
用於檢測節點通訊效能,識別通訊慢節點/故障節點。在不同的通訊模式下,可識別:
|
單個集合通訊檢測 5 分鐘 |
|
All-to-All |
|||
|
All-Gather |
|||
|
Multi-All-Reduce |
|||
|
PyTorch-Gloo |
使用PyTorch Gloo檢測節點通訊, 識別通訊故障節點。 |
1分鐘 |
|
|
Network Connectivity |
用於檢測機頭或機尾網路連通性,識別通訊連通異常節點。 |
2 分鐘 |
|
|
計算通訊交叉檢測 |
MatMul/All-Reduce Overlap |
用於檢測通訊kernel和計算kernel重疊時單節點的效能情況,可識別:
|
1 分鐘 |
|
執行個體運行中 |
|||
|
C4D |
在執行個體運行過程中檢測顯卡的健康狀態。 |
||
附錄:JSON檔案參數說明
配置樣本
{
"aimaster": {
"runtime_check": {
"fail_action": "retain",
"micro_benchmarks": "c4d"
},
"sanity_check": {
"fail_action": "retain",
"micro_benchmarks": "gemm_flops,all_reduce_1,all_reduce_2,kernel_launch,all_reduce,all_to_all_2,all_gather_2,all_gather,multi_all_reduce_2,multi_all_reduce,pytorch_gloo_2,network_connectivity,comp_comm_overlap",
"timeout": 100
}
}
}
參數說明
|
參數 |
描述 |
||
|
aimaster |
runtime_check 執行個體運行中 |
fail_action |
異常狀態處理 |
|
micro_benchmarks |
檢測項。可選值:c4d。 |
||
|
sanity_check 執行個體運行前 |
fail_action |
異常狀態處理 |
|
|
micro_benchmarks |
檢測項。多個檢測項英文逗號分隔。 |
||
|
timeout |
最大檢測時間長度,單位:分鐘。 |
||