更新时间:2026-05-25 GMT+08:00
分享

训练作业精度问题

问题现象

使用ModelArts平台训练算法时,出现模型精度异常问题,常见问题如下:

  1. 训练精度/验证精度低于预期。
  2. 相同代码多次训练结果不一致。
  3. loss不收敛、震荡或出现NaN。

原因分析

可能存在如下原因:

  1. 训练代码或训练参数发生变更。
    • 学习率、batch size、epoch、optimizer、scheduler等参数被修改;
    • 机种子未固定;
    • 混合精度、梯度裁剪、梯度累积等策略变化;
    • CheckPoint加载逻辑异常。
  1. 数据集或数据预处理存在差异。
    • 训练集、验证集路径配置错误。
    • 数据集版本发生变化。
    • 数据增强策略与预期不一致。
    • 标签文件错误、类别映射错误。
    • 数据读取顺序、shuffle设置异常。
    • 训练/验证数据划分不一致。
  1. 环境依赖版本不一致。
    • PyTorch、TensorFlow、MindSpore等框架版本不同。
    • 第三方依赖库版本不同。
    • 镜像版本变化导致算子行为或默认参数不同。
  1. 分布式训练配置异常。
    • 多卡训练时batch size、学习率未按比例调整。
    • 分布式sampler配置错误。
    • rank/world size配置异常。
    • 梯度同步异常。
    • 多机训练通信不稳定导致训练异常。
  1. 资源或运行状态异常。
    • NPU利用率异常。
    • 节点异常、通信异常或存储读取异常。

处理方法

  1. 请您对作业代码进行排查分析,确认是否对训练代码和参数进行过修改。

    - loss函数;

    - optimizer;

    - learning rate;

    - batch size;

    - epoch数;

    - 随机种子设置;

  2. 检查数据集是否与正常训练时一致,或数据集是否正常训练过。
  3. 如果多次训练精度波动较大,请检查是否固定随机种子。
  4. 如果前面排查没问题,可考虑使用二分法定位排除节点问题。将本次训练作业的节点通过多次递归二分创建小规模作业,排查是否是某个节点静默故障导致的精度问题。

相关文档