昇腾社区首页
中文
注册

训练前配置检查

根据本手册的样例,需要将工具接口添加到训练脚本中进行配置检查。

  • MindSpore训练场景:当前是以MindSpore不同版本在同一环境下进行精度比对的场景为例,因此两个场景检查出的结果只会有版本号的不同,所以可跳过此步骤。
  • PyTorch训练场景:需要在GPU和昇腾NPU环境上分别执行检查。

前提条件

完成模型开发&迁移,确保在所有示例的环境可正常完成训练任务。

环境准备

在昇腾NPU环境下安装msprobe工具,执行如下命令:

pip install mindstudio-probe

执行检查

操作步骤如下:

  1. 获取两个环境的zip包。
    • MindSpore训练场景分别以MindSpore 2.6.0和MindSpore 2.7.0执行以下操作。
    • PyTorch训练场景分别在GPU和昇腾NPU环境下执行以下操作。

    需要注意给两个zip包不同的命名。

    1. 在训练流程执行到的第一个Python脚本开始处插入如下代码。
      1
      2
      from msprobe.core.config_check import ConfigChecker
      ConfigChecker.apply_patches(fmk)
      

      fmk:训练框架,string类型,可选"pytorch"和"mindspore",默认为"pytorch"。

    2. 在模型初始化好之后插入如下代码。
      1
      2
      from msprobe.core.config_check import ConfigChecker
      ConfigChecker(model, output_zip_path, fmk)
      
      • model:初始化好的模型,默认不会采集权重和数据集。
      • output_zip_path:输出zip包的路径,string类型,需要指定zip包的名称,默认为"./config_check_pack.zip"。
      • fmk:训练框架。可选"pytorch"和"mindspore",默认为"pytorch"。

      完整代码请参见MindSpore训练前配置检查代码样例PyTorch训练前配置检查代码样例

    3. 执行训练脚本命令。
      • MindSpore训练场景:
        python mindspore_main.py
      • PyTorch训练场景:
        python pytorch_main.py -a resnet50 -b 32 --gpu 1 --dummy

      采集完成后会得到一个zip包,里面包括各项影响精度的配置。分rank和step存储,其中step为micro_step。

  2. 将两个zip包传到同一个环境下,使用如下命令进行比对。
    • MindSpore训练场景:
      msprobe -f mindspore config_check -c bench_zip_path cmp_zip_path -o output_path 

      其中bench_zip_path为标杆侧采集到的zip包名称,cmp_zip_path为待对比侧采集到的zip包名称。

      output_path默认为"./config_check_result"。

      执行以上命令后,在output_path里会生成如下数据:

      • bench:bench_zip_path里打包的数据。
      • cmp:cmp_zip_path里打包的数据。
      • result.xlsx:比对结果。会有多个sheet页,其中summary总览通过情况,其余页是具体检查项的详情,其中step为micro_step。
    • PyTorch训练场景:
      msprobe -f pytorch config_check -c bench_zip_path cmp_zip_path -o output_path 

      其中bench_zip_path为标杆侧采集到的zip包名称,cmp_zip_path为待对比侧采集到的zip包名称。

      output_path默认为"./config_check_result"。

      执行以上命令后,在output_path里会生成如下数据:

      • bench:bench_zip_path里打包的数据。
      • cmp:cmp_zip_path里打包的数据。
      • result.xlsx:比对结果。会有多个sheet页,其中summary总览通过情况,其余页是具体检查项的详情,其中step为micro_step。
  3. 检查通过情况。
    两个环境以下五项检查均一致则通过,若不一致则需要自行调整环境:
    • 环境变量
    • 三方库版本
    • 数据集
    • 权重
    • 训练超参

    如下所示:

    1
    2
    3
    4
    5
    6
    filename    ass_check
    env         TRUE
    pip	    TRUE
    dataset     TRUE
    weights     TRUE
    random      TRUE