From f68bdb31f030f7ba5b5a9f0563248debd4438862 Mon Sep 17 00:00:00 2001 From: user_10012209 <734267852@qq.com> Date: Fri, 15 Dec 2023 15:28:57 +0800 Subject: [PATCH 1/7] =?UTF-8?q?[api=5Faccuracy=5Fchecker]=E9=A2=84?= =?UTF-8?q?=E6=A3=80=E5=B7=A5=E5=85=B7dump=E6=8E=A5=E5=8F=A3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debug/accuracy_tools/api_accuracy_checker/README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/README.md b/debug/accuracy_tools/api_accuracy_checker/README.md index 8fdaeab8dc..c460d5443b 100644 --- a/debug/accuracy_tools/api_accuracy_checker/README.md +++ b/debug/accuracy_tools/api_accuracy_checker/README.md @@ -49,15 +49,16 @@ Ascend模型精度预检工具能在昇腾NPU上扫描用户训练模型中所 ```Python import api_accuracy_checker.dump as DP - DP.dump.set_dump_switch("ON") + DP.dump.start() # 必选,开启工具dump模块,可以在代码中的不同位置多次添加,选择需要dump的内容 ... - DP.dump.set_dump_switch("OFF") # 可选,未配置"OFF"参数时表示dump从DP.dump.set_dump_switch("ON")开始的所有数据 + DP.dump.stop() # 可选,未配置该函数时,表示dump从DP.dump.start()开始的所有数据;配置该函数时,仅结束dump操作不结束训练进程,用户需要手动结束训练进程 + DP.dump.step() # 在最后一个DP.dump.stop()后加入DP.dump.step()即可指定需要dump的step ``` - - DP.dump.set_dump_switch:开启工具dump模块,该接口取值为"ON"和"OFF",配置OFF时,仅结束dump操作不结束训练进程,用户需要手动结束训练进程。 - + + 可以通过将att/debug/accuracy_tools/api_accuracy_checker目录下config.yaml文件的enable_dataloader参数值修改为False,关闭torch.utils.data.dataloader加载数据。 + 上述代码要添加在迭代前向的代码段中,或者说是遍历数据集循环的代码段中。如对于GPT-3可以添加在pretrain_gpt.py 的forward_step函数中。之后工具会适配这个场景开关的自动打开。 dump信息默认会存盘到“./step1”路径下(相对于启动训练的路径),包括: -- Gitee From a621e796720d3acf62970dc62043a9a1a03b9ebd Mon Sep 17 00:00:00 2001 From: user_10012209 <734267852@qq.com> Date: Fri, 15 Dec 2023 16:01:40 +0800 Subject: [PATCH 2/7] =?UTF-8?q?[api=5Faccuracy=5Fchecker]=E9=A2=84?= =?UTF-8?q?=E6=A3=80=E5=B7=A5=E5=85=B7dump=E6=8E=A5=E5=8F=A3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debug/accuracy_tools/api_accuracy_checker/README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/README.md b/debug/accuracy_tools/api_accuracy_checker/README.md index c460d5443b..ee5b7fab83 100644 --- a/debug/accuracy_tools/api_accuracy_checker/README.md +++ b/debug/accuracy_tools/api_accuracy_checker/README.md @@ -49,16 +49,18 @@ Ascend模型精度预检工具能在昇腾NPU上扫描用户训练模型中所 ```Python import api_accuracy_checker.dump as DP - DP.dump.start() # 必选,开启工具dump模块,可以在代码中的不同位置多次添加,选择需要dump的内容 + DP.dump.start() # 开启工具dump模块,可以在代码中的不同位置多次添加,选择需要dump的内容 ... - DP.dump.stop() # 可选,未配置该函数时,表示dump从DP.dump.start()开始的所有数据;配置该函数时,仅结束dump操作不结束训练进程,用户需要手动结束训练进程 + DP.dump.stop() # 未配置该函数时,表示dump从DP.dump.start()开始的所有数据;配置该函数时,仅结束dump操作不结束训练进程,用户需要手动结束训练进程 DP.dump.step() # 在最后一个DP.dump.stop()后加入DP.dump.step()即可指定需要dump的step ``` 可以通过将att/debug/accuracy_tools/api_accuracy_checker目录下config.yaml文件的enable_dataloader参数值修改为False,关闭torch.utils.data.dataloader加载数据。 + 上述代码操作在enable_dataloader为True时可选,enable_dataloader为False时必选, + 上述代码要添加在迭代前向的代码段中,或者说是遍历数据集循环的代码段中。如对于GPT-3可以添加在pretrain_gpt.py 的forward_step函数中。之后工具会适配这个场景开关的自动打开。 dump信息默认会存盘到“./step1”路径下(相对于启动训练的路径),包括: -- Gitee From 426d226e57c4aeed345e01aefde6ffa528f17ced Mon Sep 17 00:00:00 2001 From: user_10012209 <734267852@qq.com> Date: Tue, 19 Dec 2023 11:25:25 +0800 Subject: [PATCH 3/7] =?UTF-8?q?[api=5Faccuracy=5Fchecker]=E9=A2=84?= =?UTF-8?q?=E6=A3=80=E5=B7=A5=E5=85=B7dump=E6=8E=A5=E5=8F=A3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debug/accuracy_tools/api_accuracy_checker/README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/README.md b/debug/accuracy_tools/api_accuracy_checker/README.md index ee5b7fab83..412327c709 100644 --- a/debug/accuracy_tools/api_accuracy_checker/README.md +++ b/debug/accuracy_tools/api_accuracy_checker/README.md @@ -49,18 +49,17 @@ Ascend模型精度预检工具能在昇腾NPU上扫描用户训练模型中所 ```Python import api_accuracy_checker.dump as DP - DP.dump.start() # 开启工具dump模块,可以在代码中的不同位置多次添加,选择需要dump的内容 + + # 关闭torch.utils.data.dataloader加载数据需要通过将att/debug/accuracy_tools/api_accuracy_checker目录下config.yaml文件的enable_dataloader参数值修改为False + # 关闭torch.utils.data.dataloader加载数据时,下列代码须在训练step代码内添加 + DP.dump.start() # 开启工具dump模块 ... DP.dump.stop() # 未配置该函数时,表示dump从DP.dump.start()开始的所有数据;配置该函数时,仅结束dump操作不结束训练进程,用户需要手动结束训练进程 - DP.dump.step() # 在最后一个DP.dump.stop()后加入DP.dump.step()即可指定需要dump的step + DP.dump.step() # 在DP.dump.stop()后加入DP.dump.step()即可指定需要dump的step ``` - 可以通过将att/debug/accuracy_tools/api_accuracy_checker目录下config.yaml文件的enable_dataloader参数值修改为False,关闭torch.utils.data.dataloader加载数据。 - - 上述代码操作在enable_dataloader为True时可选,enable_dataloader为False时必选, - 上述代码要添加在迭代前向的代码段中,或者说是遍历数据集循环的代码段中。如对于GPT-3可以添加在pretrain_gpt.py 的forward_step函数中。之后工具会适配这个场景开关的自动打开。 dump信息默认会存盘到“./step1”路径下(相对于启动训练的路径),包括: -- Gitee From 8fdb60cd4afa1f4ea7d5139f07a153c58521c6d6 Mon Sep 17 00:00:00 2001 From: user_10012209 <734267852@qq.com> Date: Tue, 19 Dec 2023 11:55:22 +0800 Subject: [PATCH 4/7] =?UTF-8?q?[api=5Faccuracy=5Fchecker]=E9=A2=84?= =?UTF-8?q?=E6=A3=80=E5=B7=A5=E5=85=B7dump=E6=8E=A5=E5=8F=A3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debug/accuracy_tools/api_accuracy_checker/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/debug/accuracy_tools/api_accuracy_checker/README.md b/debug/accuracy_tools/api_accuracy_checker/README.md index 412327c709..f3608c47f8 100644 --- a/debug/accuracy_tools/api_accuracy_checker/README.md +++ b/debug/accuracy_tools/api_accuracy_checker/README.md @@ -61,6 +61,14 @@ Ascend模型精度预检工具能在昇腾NPU上扫描用户训练模型中所 ``` 上述代码要添加在迭代前向的代码段中,或者说是遍历数据集循环的代码段中。如对于GPT-3可以添加在pretrain_gpt.py 的forward_step函数中。之后工具会适配这个场景开关的自动打开。 + + 关闭torch.utils.data.dataloader加载数据操作如下: + + ```bash + cd att/debug/accuracy_tools/api_accuracy_checker + vi config.yaml + # 修改enable_dataloader参数值为False + ``` dump信息默认会存盘到“./step1”路径下(相对于启动训练的路径),包括: -- Gitee From 5fb296a9913596c9f3213a3b470303724fed72a3 Mon Sep 17 00:00:00 2001 From: user_10012209 <734267852@qq.com> Date: Tue, 19 Dec 2023 14:08:56 +0800 Subject: [PATCH 5/7] =?UTF-8?q?[api=5Faccuracy=5Fchecker]=E9=A2=84?= =?UTF-8?q?=E6=A3=80=E5=B7=A5=E5=85=B7dump=E6=8E=A5=E5=8F=A3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api_accuracy_checker/README.md | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/README.md b/debug/accuracy_tools/api_accuracy_checker/README.md index f3608c47f8..b1a7ef4121 100644 --- a/debug/accuracy_tools/api_accuracy_checker/README.md +++ b/debug/accuracy_tools/api_accuracy_checker/README.md @@ -45,12 +45,22 @@ Ascend模型精度预检工具能在昇腾NPU上扫描用户训练模型中所 若报错信息不一致,可能是由于服务器的其他错误信息覆盖导致,可以尝试查找报错信息中的Exception。 - - 若训练脚本中的代码不是通过torch.utils.data.dataloader来加载数据或在部分流水并行、张量并行场景下,工具的开关无法在每张卡上自动打开,导致多卡训练dump结果只有一组json,那么需要在训练代码中添加打开工具开关的调用: + - 若训练脚本中的代码不是通过torch.utils.data.dataloader来加载数据或在部分流水并行、张量并行场景下,工具的开关无法在每张卡上自动打开,导致多卡训练dump结果只有一组json,那么需要在训练代码中添加打开工具开关的调用。 + 关闭torch.utils.data.dataloader加载数据操作如下: + + ```bash + cd att/debug/accuracy_tools/api_accuracy_checker + vi config.yaml + # 修改enable_dataloader参数值为False + ``` + + 在训练代码中添加数据dump操作如下: + ```Python import api_accuracy_checker.dump as DP - # 关闭torch.utils.data.dataloader加载数据需要通过将att/debug/accuracy_tools/api_accuracy_checker目录下config.yaml文件的enable_dataloader参数值修改为False + # 需要先修改enable_dataloader参数值为False # 关闭torch.utils.data.dataloader加载数据时,下列代码须在训练step代码内添加 DP.dump.start() # 开启工具dump模块 @@ -62,13 +72,6 @@ Ascend模型精度预检工具能在昇腾NPU上扫描用户训练模型中所 上述代码要添加在迭代前向的代码段中,或者说是遍历数据集循环的代码段中。如对于GPT-3可以添加在pretrain_gpt.py 的forward_step函数中。之后工具会适配这个场景开关的自动打开。 - 关闭torch.utils.data.dataloader加载数据操作如下: - - ```bash - cd att/debug/accuracy_tools/api_accuracy_checker - vi config.yaml - # 修改enable_dataloader参数值为False - ``` dump信息默认会存盘到“./step1”路径下(相对于启动训练的路径),包括: -- Gitee From 98e64cad30126bd1d4f84053f0a07a54ec4e7d99 Mon Sep 17 00:00:00 2001 From: user_10012209 <734267852@qq.com> Date: Tue, 19 Dec 2023 14:47:41 +0800 Subject: [PATCH 6/7] =?UTF-8?q?[api=5Faccuracy=5Fchecker]=E9=A2=84?= =?UTF-8?q?=E6=A3=80=E5=B7=A5=E5=85=B7dump=E6=8E=A5=E5=8F=A3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debug/accuracy_tools/api_accuracy_checker/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/README.md b/debug/accuracy_tools/api_accuracy_checker/README.md index b1a7ef4121..fa0ebabeb1 100644 --- a/debug/accuracy_tools/api_accuracy_checker/README.md +++ b/debug/accuracy_tools/api_accuracy_checker/README.md @@ -47,7 +47,7 @@ Ascend模型精度预检工具能在昇腾NPU上扫描用户训练模型中所 - 若训练脚本中的代码不是通过torch.utils.data.dataloader来加载数据或在部分流水并行、张量并行场景下,工具的开关无法在每张卡上自动打开,导致多卡训练dump结果只有一组json,那么需要在训练代码中添加打开工具开关的调用。 - 关闭torch.utils.data.dataloader加载数据操作如下: + 首先,需要关闭torch.utils.data.dataloader加载数据,操作如下: ```bash cd att/debug/accuracy_tools/api_accuracy_checker @@ -55,7 +55,7 @@ Ascend模型精度预检工具能在昇腾NPU上扫描用户训练模型中所 # 修改enable_dataloader参数值为False ``` - 在训练代码中添加数据dump操作如下: + 其次,在训练代码中添加数据dump操作如下: ```Python import api_accuracy_checker.dump as DP -- Gitee From 62cc59f5914df56094a965966a29529bffba0434 Mon Sep 17 00:00:00 2001 From: user_10012209 <734267852@qq.com> Date: Tue, 19 Dec 2023 16:33:26 +0800 Subject: [PATCH 7/7] =?UTF-8?q?[api=5Faccuracy=5Fchecker]=E9=A2=84?= =?UTF-8?q?=E6=A3=80=E5=B7=A5=E5=85=B7dump=E6=8E=A5=E5=8F=A3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debug/accuracy_tools/api_accuracy_checker/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/README.md b/debug/accuracy_tools/api_accuracy_checker/README.md index fa0ebabeb1..84d4535c60 100644 --- a/debug/accuracy_tools/api_accuracy_checker/README.md +++ b/debug/accuracy_tools/api_accuracy_checker/README.md @@ -66,7 +66,7 @@ Ascend模型精度预检工具能在昇腾NPU上扫描用户训练模型中所 ... - DP.dump.stop() # 未配置该函数时,表示dump从DP.dump.start()开始的所有数据;配置该函数时,仅结束dump操作不结束训练进程,用户需要手动结束训练进程 + DP.dump.stop() # 控制dump结束 DP.dump.step() # 在DP.dump.stop()后加入DP.dump.step()即可指定需要dump的step ``` -- Gitee