再升级!华为昇腾 NPU 进入华佗开源生态
大规模 AI 训练中,单点硬件异常就可能拖慢甚至中断整个任务。NSDI 2025 论文 Minder 基于生产环境中 7 个月的数据统计发现,部分训练任务规模超过 1 万块 GPU,平均每天遭遇约 2 次意外软硬件故障;机内硬件故障占全部故障的 55.8%,其中 ECC 错误占 38.9%。Meta 对 Llama 3 系列模型训练的统计显示,超过 66% 的中断与硬件故障有关。
硬件可靠性已成为影响大规模 AI 集群稳定运行的关键因素。针对这一问题,华为昇腾团队贡献的 PR #198 已合入 HUATUO(华佗),正式支持华为昇腾 NPU 的深度观测。该功能通过 DCMI、PCIe 和 HCCN 三类采集路径,持续监测设备状态、计算负载、存储可靠性和通信链路,帮助 AI 集群快速发现并定位训练与推理过程中的异常。
支持概览
HUATUO 是由滴滴发起、中国计算机学会(CCF)孵化的操作系统级深度观测开源项目。项目面向云原生通用计算、AI 计算和基础设施等场景,提供内核级监测、异常事件追踪、自动诊断与持续性能分析能力。
HUATUO 对昇腾 NPU 的支持覆盖设备、内存、链路和通信等关键故障域,有助于缓解异构环境中监控工具链分散、指标口径不一和告警体系割裂等问题,为云原生环境下的 AI 训练与推理提供更统一的观测入口。
业务价值
该功能将分散在 DCMI、hccn_tool 和 PCIe sysfs 中的设备数据转换为统一的 Prometheus 指标,使硬件异常能够被持续监测、关联分析和自动告警。
| 典型现象 | 可关联信号 | 可能的排查方向 |
|---|---|---|
| 单卡算力下降 | 利用率、AI Core 频率、功耗、温度 | 过热、降频、负载不均 |
| 任务间歇性失败 | HBM 单/双比特 ECC、隔离页计数 | HBM 可靠性与坏页增长 |
| 多卡通信变慢 | PCIe 当前 speed/width 与最大能力不一致 | 链路协商降级、插槽或硬件问题 |
| 集合通信超时 | HCCN Link、RoCE 错包/重试/乱序、CNP | 拥塞、丢包或链路异常 |
| 跨机性能抖动 | 光模块温度、电压、收发功率、LOS、SNR | 光模块或光链路质量退化 |
新增观测能力
在华为昇腾团队的贡献下,HUATUO 已支持通过 DCMI、PCIe 和 HCCN 三类路径采集昇腾 NPU 的关键指标。
从实现层面看,DCMI 采集模块会在启动时动态加载 /usr/local/dcmi/libdcmi.so(Linux 默认路径),加载成功后注册以下核心接口,并通过统一的初始化、关闭和重试机制管理采集生命周期:
dcmi_init
dcmi_get_device_health
dcmi_get_device_power_info
dcmi_get_device_temperature
dcmi_get_device_voltage
dcmi_get_device_utilization_rate
dcmi_get_device_frequency
dcmi_get_device_network_health
dcmi_get_device_hbm_info
dcmi_get_device_ecc_info
dcmi_get_device_pcie_info_v2
dcmi_get_device_logic_id
dcmi_get_device_phyid_from_logicid
启用后,可在 HUATUO 中查询以下数据:
| 采集路径 | 观测范围 | 关键指标 |
|---|---|---|
| DCMI | 设备状态与计算负载 | 健康度、功耗、温度、电压、利用率、时钟频率 |
| DCMI | HBM 状态与可靠性 | 容量、使用量、温度、带宽利用率、ECC 错误、隔离页计数 |
| PCIe | 主机侧链路 | 最大与当前链路速度、最大与当前链路宽度 |
| HCCN | 卡间网络与 RoCE 通信 | 链路状态、收发速率、错包、重试、乱序、CNP 及光模块信息 |
配置与部署
启用采集
ascend_npu 默认位于全局 BlackList 中。启用前,需要先将其从黑名单中移除,再按需开启对应的采集能力:
# 从全局 BlackList 中移除 "ascend_npu"
BlackList = ["netdev_hw", "metax_gpu"]
[MetricCollector.AscendNPU]
EnableDCMI = true
EnablePCIe = true
EnableHCCN = true
其中,EnableDCMI、EnablePCIe 和 EnableHCCN 可独立配置,便于根据设备型号、驱动能力和部署环境按需启用。
容器部署
如果通过容器运行 HUATUO,需要将宿主机上的昇腾驱动和 DCMI 库挂载到容器中。以下命令仅作示例,具体路径请以实际安装环境为准:
docker run --privileged --pid=host --cgroupns=host --network=host \
-v /sys:/sys \
-v /proc:/proc \
-v /run:/run \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
-v /usr/local/dcmi:/usr/local/dcmi:ro \
huatuo/huatuo-bamai:latest
结语
HUATUO 对华为昇腾 NPU 的支持,进一步完善了面向 AI 基础设施的可观测体系,也为异构算力环境提供了更统一的故障分析入口。
从事后排查走向全生命周期监测、持续告警与根因定位,是提升 AI 集群稳定性的关键一步。后续,HUATUO 将继续完善指标说明、告警阈值建议和场景化排障流程,帮助更多团队将深度观测能力高效落地到生产环境。
相关链接
- HUATUO GitHub:https://github.com/ccfos/huatuo
- 昇腾 NPU 支持 PR:https://github.com/ccfos/huatuo/pull/198
- 官方动态:https://huatuo.tech/zh/events/2026-07-29-huawei-ascend-npu-monitoring/
- NSDI 2025 论文 Minder:https://www.usenix.org/conference/nsdi25/presentation/deng
- Meta AI 硬件可靠性实践:https://engineering.fb.com/2025/07/22/data-infrastructure/how-meta-keeps-its-ai-hardware-reliable/
- 华为昇腾介绍:https://e.huawei.com/cn/products/computing/ascend
- DCMI / npu-smi / hccn_tool:https://www.hiascend.com/document/detail/zh/Atlas%20200I%20A2/260RC1/re/npu/npusmi_135.html