From b319a8214853bd9b42c368857289867afe39f5c5 Mon Sep 17 00:00:00 2001 From: lcw Date: Thu, 27 Mar 2025 20:16:12 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90feature=E3=80=91config=5Fchecking?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E8=B5=84=E6=96=99=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debug/accuracy_tools/msprobe/README.md | 9 ++- .../msprobe/docs/31.config_checking.md | 71 +++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 debug/accuracy_tools/msprobe/docs/31.config_checking.md diff --git a/debug/accuracy_tools/msprobe/README.md b/debug/accuracy_tools/msprobe/README.md index a33403976..d3cf82001 100644 --- a/debug/accuracy_tools/msprobe/README.md +++ b/debug/accuracy_tools/msprobe/README.md @@ -149,7 +149,14 @@ MindSpore 动态图场景的[离线预检](./docs/09.accuracy_checker_MindSpore. [PyTorch 单算子API自动生成脚本](./docs/23.generate_operator_PyTorch.md) -### 12 数码关联 +### 12 训练前配置检查 + +该工具主要适用于对比两个环境下可能影响训练精度的配置差异, 推荐在精度对比前使用。 + +[PyTorch 训练前配置检查](./docs/31.config_checking.md) + + +### 13 数码关联 该功能只支持 MindSpore 静态图场景,用于将IR图与dump数据进行关联,获取dump数据和代码调用栈的关联关系。 diff --git a/debug/accuracy_tools/msprobe/docs/31.config_checking.md b/debug/accuracy_tools/msprobe/docs/31.config_checking.md new file mode 100644 index 000000000..3eb2ee53a --- /dev/null +++ b/debug/accuracy_tools/msprobe/docs/31.config_checking.md @@ -0,0 +1,71 @@ +# config checking + +## 介绍 + +该工具主要适用于对比两个环境下可能影响训练精度的配置差异,目前只支持pytorch,包括: + +**静态检查项** + +- 环境变量 +- 三方库版本 +- 训练超参 + + +## 安装教程 + +[whl包下载](https://gitee.com/pengxiaopeng1/config_checking/blob/master/dist/config_checking-1.0-py3-none-any.whl) + +## 使用说明 + +分别在 npu 和 gpu 上使用工具将配置信息打包,将打的两个包传到同一个环境下使用工具对比。 + +1、写一个如下所示配置文件config.json。 "output zip path"为输出路径,**必填**, 其他项目可缺省, 缺省代表不采集。 + +``` +{ + "env args": true, + "pip data": true, + "shell path":["shell_0.sh, "shell_1.sh"] + "output zip path": "./config_check_pack.zip" +} +``` + +说明: + +- env args:环境变量。传true就表示采集,不传或缺省就表示不采集。 +- pip data:三方库信息。传true就表示采集,不传或缺省就表示不采集。 +- shell path:训练脚本路径,类型为列表,可传入多个训练脚本。不传或缺省就表示不采集。 + +2、数据采集,将环境上需要校验的内容打包。 +### 静态数据采集 + +执行如下命令,传入写的配置文件的路径 **config_path** 和采集结果的输出路径 **output_path** , 此处的 **output_path** 配置优先于 json 文件中的配置。 + +``` +msprobe -f pytorch config_checking -p config_path -o output_path +``` + +会得到一个zip包,里面包括[静态检查项](#介绍)。 + +3、待对比侧和标杆测上分别执行上述操作,获得两个zip包 + +4、将两个zip包传到同一个环境下,使用如下命令进行比对: + +``` +msprobe -f pytorch config_checking -c cmp_zip_path bench_zip_path -o output_path +``` + +其中 **cmp_zip_path** 为待对比侧采集到的数据, **bench_zip_path** 为标杆测采集到的数据。 + +**output_path 会被删掉再新建**,在 **output_path** 里可以查看先前被打包的数据和比对结果 + + +## 通过标准 + +以下三项检查通过: + +- 环境变量检查无error告警 +- 三方库检查无error告警 +- 训练超参无error告警 + +这三项检查在**精度比对**前必须保证达成。 -- Gitee