diff --git a/debug/accuracy_tools/msprobe/core/common_config.py b/debug/accuracy_tools/msprobe/core/common_config.py
index 0dd252433387852a15fa2040ee045376bb883ab8..75fe1c49341b292ef67e70be0de86188765126a2 100644
--- a/debug/accuracy_tools/msprobe/core/common_config.py
+++ b/debug/accuracy_tools/msprobe/core/common_config.py
@@ -28,7 +28,7 @@ class CommonConfig:
self.level = json_config.get('level')
self.enable_dataloader = json_config.get('enable_dataloader', False)
self.async_dump = json_config.get("async_dump", False)
- self.precision = json_config.get("precision", Const.DUMP_PRECISION_HIGH)
+ self.precision = json_config.get("precision", Const.DUMP_PRECISION_LOW)
self._check_config()
def _check_config(self):
diff --git a/debug/accuracy_tools/msprobe/core/data_dump/data_processor/pytorch_processor.py b/debug/accuracy_tools/msprobe/core/data_dump/data_processor/pytorch_processor.py
index 8ab864b232565a37500e601253c98ad1d90730c6..cd84d1df27a1d1785d0108138c7418138ab1d98b 100644
--- a/debug/accuracy_tools/msprobe/core/data_dump/data_processor/pytorch_processor.py
+++ b/debug/accuracy_tools/msprobe/core/data_dump/data_processor/pytorch_processor.py
@@ -95,7 +95,7 @@ class PytorchDataProcessor(BaseDataProcessor):
return {"type": "torch.dtype", "value": str(element)}
@staticmethod
- def get_stat_info(data, async_dump=False, precision=Const.DUMP_PRECISION_HIGH):
+ def get_stat_info(data, async_dump=False, precision=Const.DUMP_PRECISION_LOW):
tensor_stat = TensorStatInfo()
if data.is_meta:
return tensor_stat
diff --git a/debug/accuracy_tools/msprobe/docs/02.config_introduction.md b/debug/accuracy_tools/msprobe/docs/02.config_introduction.md
index e00b9c86bd6fa1ba7d2b54292859fb6fb583172d..7b70cd859ebca13db471837c469e7661e0a774f2 100644
--- a/debug/accuracy_tools/msprobe/docs/02.config_introduction.md
+++ b/debug/accuracy_tools/msprobe/docs/02.config_introduction.md
@@ -19,7 +19,7 @@
| level | dump 级别,str 类型,根据不同级别采集不同数据。可选参数:
"L0":dump 模块级精度数据,使用背景详见 [1.1.1 模块级精度数据 dump 说明](#111-模块级精度数据-dump-说明)。
"L1":dump API 级精度数据,默认值,仅 PyTorch、MSAdapter 以及 MindSpore 动态图场景支持。
"L2":dump kernel 级精度数据,PyTorch 场景详细介绍见 [PyTorch 场景的 kernel dump 说明](./04.kernel_dump_PyTorch.md);MindSpore 动态图场景详细介绍见 [MindSpore 动态图场景的 kernel dump 说明](./28.kernel_dump_MindSpore.md);MindSpore 静态图场景详细介绍见《MindSpore 场景的数据采集》中的 ["**8.1 静态图场景**"](./06.data_dump_MindSpore.md#81-静态图场景)小节。
"mix":dump module 模块级和 API 级精度数据,即"L0"+"L1",仅 PyTorch、MSAdapter 以及 MindSpore 动态图场景支持。
"debug":单点保存功能,详见[单点保存工具](./28.debugger_save_instruction.md)。
**配置示例**:"level": "L1"。 | 否 |
| enable_dataloader | 自动控制开关,bool 类型,仅 PyTorch 场景支持。可选参数 true(开启)或 false(关闭),默认为 false。配置为 true 后自动识别 step 参数指定的迭代,并在该迭代执行完成后退出训练,此时 start、stop 和 step 函数可不配置,开启该开关要求训练脚本是通过 torch.utils.data.dataloader 方式加载数据。仅支持 PyTorch 单卡训练使用,分布式训练场景下存在数据 dump 不全问题。 **这个特性下个版本将被废弃** | 否 |
| async_dump | 异步 dump 开关,bool 类型, 支持 task 为 tensor 或 statistic 模式, level 支持 L0、 L1、 mix、 debug 模式。可选参数 true(开启)或 false(关闭),默认为 false。配置为 true 后开启异步 dump,即采集的精度数据会在当前 step 训练结束后统一落盘,训练过程中工具不触发同步操作。由于使用该模式有**显存溢出**的风险,当 task 配置为 tensor 时,即真实数据的异步dump模式,必须配置 [list](#13-task-配置为-tensor) 参数,指定需要 dump 的 tensor 。该模式下,summary_mode 不支持 md5 值,也不支持复数类型 tensor 的统计量计算。
| 否 |
-| precision | 控制统计值计算所用精度,可选值["high", "low"],默认值为"high"。选择"high"时,统计量使用float32进行计算,会增加device内存占用,精度更高,但在处理较大数值时可能会导致**显存溢出**;为"low"时使用与原始数据相同的类型进行计算,device内存占用较少。支持 Pytorch,MindSpore 动态图,MindSpore静态图 O0/O1 场景。支持 task 配置为 statistic 或 tensor, level 配置为 L0,L1,mix,debug。 | 否 |
+| precision | 控制统计值计算所用精度,可选值["high", "low"],默认值为"low"。选择"high"时,统计量使用float32进行计算,会增加device内存占用,精度更高,但在处理较大数值时可能会导致**显存溢出**;为"low"时使用与原始数据相同的类型进行计算,device内存占用较少。支持 Pytorch,MindSpore 动态图,MindSpore静态图 O0/O1 场景。支持 task 配置为 statistic 或 tensor, level 配置为 L0,L1,mix,debug。 | 否 |
#### 1.1.1 模块级精度数据 dump 说明
diff --git a/debug/accuracy_tools/msprobe/mindspore/debugger/debugger_config.py b/debug/accuracy_tools/msprobe/mindspore/debugger/debugger_config.py
index b4ea9c0fa314484ae77e07b4ccf3b8ad342ded4f..1ea0a36256600adf9a5dcf1da383bc719c024b37 100644
--- a/debug/accuracy_tools/msprobe/mindspore/debugger/debugger_config.py
+++ b/debug/accuracy_tools/msprobe/mindspore/debugger/debugger_config.py
@@ -51,7 +51,7 @@ class DebuggerConfig:
self.device_stat_precision_mode = task_config.device_stat_precision_mode \
if hasattr(task_config, 'device_stat_precision_mode') else None
self.async_dump = common_config.async_dump if common_config.async_dump else False
- self.precision = common_config.precision if common_config.precision else Const.DUMP_PRECISION_HIGH
+ self.precision = common_config.precision if common_config.precision else Const.DUMP_PRECISION_LOW
self.check()
self._check_statistics_config(task_config)
create_directory(self.dump_path)
diff --git a/debug/accuracy_tools/msprobe/pytorch/debugger/debugger_config.py b/debug/accuracy_tools/msprobe/pytorch/debugger/debugger_config.py
index 2f43f240112a5f6d7024702cd9a474caa49cff0b..4f7400f98b6a8a456d5bd373324317166b536a11 100644
--- a/debug/accuracy_tools/msprobe/pytorch/debugger/debugger_config.py
+++ b/debug/accuracy_tools/msprobe/pytorch/debugger/debugger_config.py
@@ -34,7 +34,7 @@ class DebuggerConfig:
self.overflow_nums = task_config.overflow_nums if task_config.overflow_nums else 1
self.framework = Const.PT_FRAMEWORK
self.async_dump = common_config.async_dump if common_config.async_dump else False
- self.precision = common_config.precision if common_config.precision else Const.DUMP_PRECISION_HIGH
+ self.precision = common_config.precision if common_config.precision else Const.DUMP_PRECISION_LOW
if self.task == Const.FREE_BENCHMARK:
self.fuzz_device = task_config.fuzz_device