算力检测与容错

EAS提供算力检测与容错功能,可以自动检测GPU算力、节点通信等资源的健康状态,提升问题诊断效率,保障大规模部署下服务的可用性与稳定性。

适用范围

算力检测与容错功能适用于使用灵骏智算资源部署的多机分布式推理服务。

核心概念

  • 检测时机

    • 实例运行前: 在服务实例(Pod)内的程序正式启动前进行检测。适用于预防因资源故障导致的启动失败,提前发现硬件或网络问题。

    • 实例运行中: 在服务运行阶段进行后台常驻检测。

  • 检测项

    • 实例运行前:支持计算性能检测、节点通信检测和计算通信交叉检测。

    • 实例运行中:仅支持C4D(检测显卡的健康状态

    • 详细检测项说明,请参见附录:检测项说明

  • 异常状态处理

    • 实例启动失败: 当检测发现异常时,终止本次实例的启动。

    • 不处理: 检测到异常后仅记录事件,不执行任何操作。

操作步骤

开启并配置算力检测

  1. 登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS

  2. 单击部署服务,然后在自定义模型部署区域,单击自定义部署

  3. 服务功能区域的稳定保障分类下,开启算力检测与容错,在右侧弹出的面板中,配置检测参数。如果直接配置JSON文件,请参见附录:JSON文件参数说明

    说明

    可以同时添加“实例运行前”和“实例运行中”两种检测。

    • 配置实例运行前检测(可选)

      • 选择检测时机: 选择实例运行前

      • 配置检测项: 根据需要勾选计算性能检测节点通信检测等项目。平台默认开启了GPU GEMMAll-Reduce-单节点All-Reduce-两节点间的检测。

      • 设置最长检测时间:根据已选择的检测项,参考检测项说明中的预估检测时间(检测串行执行),设定一个检测超时时间(默认为5分钟),若检测在此时间内未完成,将被视为异常。

      • 选择异常状态处理: 默认为实例启动失败

    • 配置实例运行中检测(可选)

      • 选择检测时机: 选择实例运行中

      • 配置检测项: 目前仅支持C4D

      • 选择异常状态处理:目前仅支持不处理

查看算力健康检测结果

配置该功能后,可以通过以下两种方式查看检测报告:

  • 方法一:通过实例列表

    1. 在服务详情页,进入概览标签页。

    2. 找到服务实例区域的目标实例单元,在操作列中单击检测结果image

  • 方法二:通过部署事件

    1. 在服务详情页,进入部署事件标签页。

    2. 找到类型为 SanityCheckSucceededSanityCheckFailed的事件,在其操作列单击检测结果image

单击后,页面右侧将弹出算力健康检测结果抽屉,可以在此查看不同检测项的详细报告。

常见问题

Q: All-Reduce检测失败通常是什么原因?

All-Reduce检测失败通常指向节点间的网络通信问题,例如网络延迟高、丢包严重,或者节点间RDMA配置错误等。可以根据报告中的详细数据,重点排查通信慢的节点。

附录:检测项说明

检测项

含义说明(推荐场景)

预估检测时长

实例运行前

计算性能检测

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

PyTorch-Gloo

使用PyTorch Gloo检测节点通信, 识别通信故障节点。

1分钟

Network Connectivity

用于检测机头或机尾网络连通性,识别通信连通异常节点。

2 分钟

计算通信交叉检测

MatMul/All-Reduce Overlap

用于检测通信kernel和计算kernel重叠时单节点的性能情况,可识别:

  • 故障节点:重叠计算报错、Hang住。

  • 性能慢节点:重叠计算耗时较长。

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

最大检测时长,单位:分钟。