- 文档首页
机器学习平台
用户指南
自定义任务
Hang检测能力
Hang检测能力
Hang 检测功能可以在训练任务运行时,自动巡检并定位性能瓶颈节点。该功能主要面向算法工程师和任务运维人员,旨在帮助你快速解决训练瓶颈,提升任务的效率与稳定性。本文档将指导你如何配置和使用 Hang 检测及其相关的任务健康度监控功能。
通过与 VECCL 通信库的集成,实现对训练任务中性能瓶颈节点的自动巡检与定位。同时,它还优化了任务 Hang 检测、进程栈采集和诊断记录等相关功能,为用户提供了一站式的任务健康度监控与问题排查解决方案。
veCCL是云平台基于NCCL(Nvidia Collective Communication Library)自研开发的高性能集合通信库,支持安装在单节点或多节点的多张GPU卡上,结合云平台自身的网络特点及丰富的大模型任务通信调优经验,实现多GPU之间的高性能通信。更多介绍见 文档 。 - 自动化的 Hang 检测:在任务训练过程中自动巡检,并精确定位导致性能瓶颈的慢节点。
- 灵活的 Hang 检测:提供基于 VECCL 通信库和标准输出日志 (Stdout/Stderr) 的两种任务挂起检测方式,满足不同场景需求。
- 多模式进程栈采集:支持按预设间隔自动采集或在需要时手动触发采集进程栈数据,为问题分析保留关键现场。
- 集中的诊断记录:将所有诊断策略的日志与结论汇总展示,便于统一查看、回溯和分析问题。
- 运行中动态配置:支持在任务运行时动态调整诊断策略,无需中断任务即可优化监控配置。
- 日志留存:诊断日志默认留存 7 天。任务结束后,超过 7 天的日志将被自动清空。
在使用 Hang 检测功能前,请确保你的训练任务满足以下条件:
- 基于 VECCL 的 Hang 检测功能依赖于动态加载的通信库,任务使用的通信库必须为动态编译方式。
- 使用静态编译的 NVIDIA 集体通信库 (NVIDIA Collective Communications Library, NCCL),这些功能将不会生效。
- 任务使用的 NCCL 版本必须在 2.21 - 2.27 范围内。
- 在配置基于 Stdout/Stderr 日志输出的 Hang 检测前,请确保实例配置中的 worker 角色已正确设置。
此方式通过监控指定实例的 Stdout/Stderr 日志输出是否在规定时间内停滞,来判断任务是否挂起。
在 诊断与容错 配置区域,为你的训练任务开启并配置 Hang 检测-日志功能。
相关参数。
此方式通过 VECCL 通信库的内置机制检测任务挂起,诊断更精准。
启用该功能后,系统将通过动态编译方式加载并使用平台自研的 VECCL 通信库。请确保满足前提条件中对通信库编译方式和 NCCL 版本的相关要求。
在 诊断与容错 配置区域,为你的训练任务开启并配置 Hang 检测-veCCL功能。
诊断任务的执行记录和结论都汇总在 诊断记录 页签。
- 在页面上方的诊断策略列表中,选择你想要查看的诊断类型(如 环境诊断、 Hang 检测 等),下方区域将展示对应的诊断日志。
- 在页面下方,查看 诊断结论 表格。此表格汇总了各类诊断事件的结果和详细信息。
- 在任务运行时编辑诊断策略:当任务处于运行等非终态时,你可以导航到 自定义任务详情 > 概览信息 页面,修改 Hang 检测、进程栈采集等配置。
- 使用其他诊断功能:除了 Hang 检测,你还可以利用平台提供的 环境诊断、进程巡检 等功能,对任务进行更全面的健康度分析。
最近更新时间:2025.12.30 16:39:19