用途:该技能面向昇腾NPU环境,帮助用户启动并监控模型训练任务。当用户想开始模型训练、运行性能训练、运行精度训练或咨询训练选项时调用。
主要能力:
- 收集训练需求:询问训练模式偏好(性能训练FP32/FP16、精度训练完整轮次、自定义训练)、使用的GPU/NPU数量、批量大小(自定义时)及特定训练参数。
- 提供训练选项:性能训练(FP32,8卡)、性能训练(FP16,8卡)、精度训练(24轮)、自定义训练配置。
- 准备环境:设置昇腾相关环境变量,包括ASCEND_SLOG_PRINT_TO_STDOUT、ASCEND_GLOBAL_LOG_LEVEL、TASK_QUEUE_ENABLE、COMBINED_ENABLE、HCCL_WHITELIST_DISABLE、HCCL_IF_IP、HCCL_CONNECT_TIMEOUT。
- 启动训练:按所选模式执行训练脚本;以BEVFormer为例,性能训练FP32/FP16使用test目录下对应脚本并指定batch-size与num-npu,精度训练使用train_full_8p.sh,自定义训练使用tools/dist_train.sh并指定配置文件和GPU数量。
- 监控进度:通过ps aux检查torchrun进程,通过tail查看日志;成功启动的标志是日志出现训练迭代、打印损失值、近期无错误、进程运行中。
- 指标观察:损失值(loss_cls、loss_bbox、总损失)、学习率、单次迭代耗时、内存占用、预计剩余时间;每轮验证指标包括NDS、mAP、mATE、mASE、mAOE。
- 完成判定:所有轮次结束、打印最终验证指标、保存检查点,可用grep查找Saving checkpoint确认。
- 问题排查:训练无法启动时检查npu-smi info、环境变量、conda环境、数据集与权重链接;内存不足时减小批量或卡数、启用梯度检查点;训练挂起时检查NPU状态、僵尸进程和日志最后活动;端口占用时用pkill清理torchrun与dist_train进程。
使用方式:按四步工作流执行——选择训练模式、准备环境变量、启动训练脚本、监控进度与日志。日志文件位置随训练模式不同:FP32性能训练为test/output/train_performance_8p_base_fp32.log,FP16性能训练为test/output/train_performance_8p_base_fp16.log,精度训练为test/output/train_full_8p.log。
适用场景:在昇腾NPU上进行模型训练的性能测试、精度验证和自定义训练配置的启动与监控。
限制:资料中的具体命令以BEVFormer为例,其他模型的脚本与配置路径需参考对应模型目录及DrivingSDK的README;未提供超出上述内容的功能、平台或效果承诺。