# 配置文件介绍 - 当调用**PrecisionDebugger**接口执行dump或其他操作时,需要使用[config.json](../../../python/msprobe/config.json)文件;当未指定config.json时,将使用默认配置。 - msProbe成功安装后,可根据msProbe的安装路径确认config.json文件的所在路径,可通过如下命令确认msProbe的安装路径: ```shell pip show mindstudio-probe ``` 假如msProbe的安装路径为:`/usr/local/lib/python3.11/site-packages`,则`config.json`文件位于:`/usr/local/lib/python3.11/site-packages/msprobe`路径下。 ## 参数介绍 ### 通用配置 #### 通用配置参数说明 | 参数 | 可选/必选 | 解释 | |-------------------| -------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | task | 可选 | dump的任务类型,str类型。可选参数:
• "statistics":仅采集统计信息。
• "tensor":采集统计信息和完全复刻整网的真实数据。
• "acc_check":精度预检,仅PyTorch场景支持,采集数据时勿选。
• "overflow_check":溢出检测。
• "nan_check":NaN/Inf检测(检测寄存器状态是否为NaN或Inf),仅PyTorch场景支持。
• "structure":仅采集模型结构以及调用栈信息,不采集具体数据。
默认值为"statistics"。
根据task参数取值的不同,可以配置不同场景参数,详细介绍请参见:
• [task配置为statistics](#task配置为statistics)
• [task配置为tensor](#task配置为tensor)
• [task配置为acc_check](#task配置为acc_check)
• [task配置为overflow_check](#task配置为overflow_check)
• [task配置为nan_check](#task配置为nan_check)
• [task配置为structure](#task配置为structure)
• [task配置为exception_dump](#task配置为exception_dump)
配置示例:"task": "tensor"。 | | dump_path | 必选 | 设置dump数据目录路径,str类型。
配置示例:"dump_path": "./dump_path"。 | | rank | 可选 | 指定对某张卡上的数据进行采集,list[Union[int, str]]类型,默认未配置(表示采集所有卡的数据),应配置元素为≥ 0的整数或类似"4-6"的字符串,且须配置实际可用的Rank ID。
• PyTorch场景:Rank ID从0开始计数,最大取值为所有节点可用卡总数-1,若所配置的值大于实际训练所运行的卡的Rank ID,则dump数据为空,比如当前环境Rank ID为0到7,实际训练运行0到3卡,此时若配置Rank ID为4或不存在的10等其他值,dump数据为空。
• MindSpore场景:所有节点的Rank ID均从0开始计数,最大取值为每个节点可用卡总数-1,config.json配置一次rank参数对所有节点同时生效。静态图L0级别dump暂不支持指定rank。
单卡训练时,rank必须为[],即空列表,不能指定rank。
配置示例:"rank": [1, "4-6"]。 | | step | 可选 | 指定采集某个step的数据,list[Union[int, str]]类型。默认未配置,表示采集所有step数据。采集特定step时,须指定为训练脚本中存在的step,可逐个配置,也可以指定范围。
配置示例:"step": [0, 1, 2, "4-6"]。 | | level | 可选 | dump级别,str类型,根据不同级别采集不同数据。可选参数:
• "L0":dump模块级精度数据,使用背景详细介绍请参见[模块级精度数据dump说明](#模块级精度数据dump说明)。
• "L1":dump API级精度数据,默认值,仅PyTorch、MSAdapter以及MindSpore动态图场景支持。
• "L2":dump kernel级精度数据,PyTorch场景详细介绍见[PyTorch场景kernel精度数据采集](./pytorch_kernel_dump_instruct.md);MindSpore动态图场景详细介绍请参见[MindSpore动态图场景kernel精度数据采集](./mindspore_kernel_dump_instruct.md);MindSpore静态图场景详细介绍请参见《MindSpore场景精度数据采集》中的 ["静态图场景精度数据采集功能介绍"](./mindspore_data_dump_instruct.md#静态图场景精度数据采集功能介绍)小节。
• "mix":dump module模块级和API级精度数据,即"L0"+"L1",仅PyTorch、MSAdapter以及MindSpore动态图场景支持。
• "debug":单点保存功能,详细介绍请参见[单点保存工具](./debugger_save_instruct.md)。
配置示例:"level": "L1"。 | | async_dump | 可选 | 异步dump开关,bool类型,支持task为tensor或statistics模式,level支持L0、L1、mix、debug模式。可选参数true(开启)或false(关闭),默认为false。
配置为true后开启异步dump,即采集的精度数据会在当前step训练结束后统一落盘,训练过程中工具不触发同步操作。
由于使用该模式有**显存溢出**的风险,当task配置为tensor时,即真实数据的异步dump模式,必须配置[list](#task配置为tensor)参数,指定需要dump的tensor 。
该模式下,summary_mode不支持md5值,也不支持复数类型tensor的统计量计算。 | | dump_enable | 可选 | dump功能开关,用于控制PrecisionDebugger dump的启动和停止,bool类型。可选参数:
• true:允许执行dump采集。
• false:关闭dump采集。
该参数支持动态启停,即在dump任务运行过程中,可以随时启动和停止dump进程。
默认未配置,表示不对dump数据进行控制,按照静态配置dump数据。
更多配置说明请参见:[dump_enable参数配置说明](#dump_enable参数配置说明)。
配置示例:"dump_enable": true。 | | extra_info | 可选 | 控制是否采集并输出额外信息文件(`stack.json`和`construct.json`),bool类型。可选参数:
• true:采集并输出`stack.json`和`construct.json`。
• false:不采集额外信息,且不生成`stack.json`和`construct.json`。
默认值为true。
配置示例:"extra_info": false。 | | precision | 可选 | 控制统计值计算所用精度,str类型,可选值["high", "low"],默认值为"low"。选择"high"时,统计量使用float32进行计算,会增加device内存占用,精度更高,但在处理较大数值时可能会导致**显存溢出**;为"low"时使用与原始数据相同的类型进行计算,device内存占用较少。
支持PyTorch、MindSpore动态图和MindSpore静态图O0/O1场景。
支持task配置为statistics或tensor,level配置为L0、L1、mix、debug。 | | risk_level | 可选 | API风险级别过滤,str类型,仅PyTorch场景且level配置为L1以及mix时生效。可选参数:
• "ALL":dump所有API的数据。
• "CORE":仅dump核心(高风险,易出现精度问题)API的数据,包括融合计算、通信、精密计算等。
• "FOCUS":dump核心API和关注API的数据,排除低风险API(如reshape、transpose、permute、to、view等形状变换类API)。
默认值为"FOCUS"。
配置示例:"risk_level": "CORE"。 | #### 模块级精度数据dump说明 大模型场景下,通常不是简单的利用自动迁移能力实现从GPU到NPU的训练脚本迁移,而是会对NPU网络进行一系列针对性的适配,因此,常常会造成迁移后的NPU模型存在部分子结构不能与GPU原始模型完全对应。模型结构不一致导致API调用类型及数量不一致,若直接按照API粒度进行精度数据dump和比对,则无法完全比对所有的API。 本小节介绍的功能是对模型中的大粒度模块进行数据dump,使其比对时,对于无法以API粒度比对的模块可以直接以模块粒度进行比对。 模块指的是继承nn.Module类(PyTorch与MSAdapter场景)或nn.Cell类(MindSpore场景)的子类,通常情况下这类模块就是一个小模型,可以被视为一个整体,dump数据时以模块为粒度进行dump。 特别地,在PyTorch场景中,为了规避BackwardHook函数的输出不能进行原地操作的框架限制,工具使用了`torch._C._autograd._set_creation_meta`接口对BackwardHook函数的输出张量进行属性重置,这可能会造成dump数据中缺少原地操作模块nn.ReLU(inplace=True)及其上一个模块的反向数据。 ### task配置为statistics **配置样例** ```json { "task": "statistics", "dump_path": "/home/data_dump", "rank": [], "step": [], "level": "L1", "async_dump": false, "extra_info": true, "statistics": { "scope": [], "list": [], "tensor_list": [], "data_mode": ["all"], "summary_mode": "statistics" } } ``` 支持场景: - PyTorch场景 - MindSpore静态图场景 - MindSpore动态图场景 **参数说明** | 参数 | 可选/必选 | 解释 | | ------------ | --------- | ------------------------------------------------------------ | | scope | 可选 | PyTorch、MSAdapter以及MindSpore动态图场景dump范围,list[str]类型,默认未配置(list也未配置时表示dump所有API的数据)。详细配置方法请参见[scope参数配置说明](#scope参数配置说明)。 | | list | 可选 | 自定义采集的算子列表,list[str]类型,默认未配置(scope也未配置时表示dump所有API的数据)。详细配置方法请参见[list参数配置说明](#list参数配置说明)。 | | tensor_list | 可选 | 自定义采集真实数据的算子列表,list[str]类型,默认未配置。详细配置方法请参见[tensor_list参数配置说明](#tensor_list参数配置说明)。
PyTorch、MSAdapter以及MindSpore动态图场景目前只支持level配置为L0、L1和mix级别。
MindSpore静态图场景不支持。 | | device | 可选 | 控制统计值计算所用的设备,可选值["device", "host"],默认值为"host"。使用device计算会比host有性能加速,只支持min/max/avg/l2norm统计量。
仅MindSpore静态图O0/O1场景支持。 | | data_mode | 可选 | dump数据过滤,list[str]类型。详细配置方法请参见[data_mode参数配置说明](#data_mode参数配置说明)。 | | summary_mode | 可选 | 控制dump文件输出的模式,支持PyTorch、MSAdapter、MindSpore动态图以及MindSpore静态图L2级别jit_level=O2场景和L0级别jit_level=O0/O1场景。详细配置方法请参见[summary_mode参数配置说明](#summary_mode参数配置说明)。 | ### task配置为tensor **配置样例** ```json { "task": "tensor", "dump_path": "/home/data_dump", "rank": [], "step": [], "level": "L1", "async_dump": false, "tensor": { "scope": [], "list":[], "data_mode": ["all"], "bench_path": "/home/bench_data_dump", "summary_mode": "md5", "diff_nums": 5 } } ``` 支持场景: - PyTorch场景 - MindSpore静态图场景 - MindSpore动态图场景 **参数说明** | 参数 | 可选/必选 | 解释 | | -------------- | -------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | scope | 可选 | PyTorch、MSAdapter以及MindSpore动态图场景dump范围,list[str]类型,默认未配置(list也未配置时表示dump所有API的数据)。详细配置方法请参见[scope参数配置说明](#scope参数配置说明)。 | | list | 可选 | 自定义采集的算子列表,list[str]类型,默认未配置(scope也未配置时表示dump所有API的数据)。详细配置方法请参见[list参数配置说明](#list参数配置说明)。 | | data_mode | 可选 | dump数据过滤,list[str]类型。详细配置方法请参见[data_mode参数配置说明](#data_mode参数配置说明)。 | | file_format | 可选 | tensor数据的保存格式,str类型,仅支持MindSpore静态图场景的L2级别配置该字段,其他场景不生效。可选参数:
• "bin":dump的tensor文件为二进制格式。
• "npy":dump的tensor文件后缀为.npy。
默认值为"npy"。 | | summary_mode | 可选 | 控制dump文件输出的模式,支持PyTorch、MSAdapter、MindSpore动态图。可选参数:
• md5:dump输出包含CRC-32值以及API统计信息的dump.json文件,用于验证数据的完整性。
• statistics:dump仅输出包含API统计信息的dump.json文件。
• xor:仅PyTorch场景支持。dump输出仅包含XOR二进制校验值(字段名为md5),不输出max、min、mean、L2norm统计信息。
默认值为statistics。 | | bench_path | 可选 | 自动控制在PyTorch确定性问题定位时进行md5实时差异分析,即dump存在差异的md5数据,str类型,默认未配置本参数。
需要在bench_path参数传入提前预置的md5数据路径(即在上一次dump操作时,summary_mode参数配置为md5),并且本次dump时同样配置summary_mode为md5。
配置本参数后,dump会判断本次任务中每个tensor与预置的md5数据的差异,识别到差异节点后,进行真实数据dump。
配置示例:"bench_path": "./bench_dump_path"。 | | diff_nums | 可选 | 最大差异次数,int类型,默认为1,仅PyTorch md5实时差异分析场景支持(即配置bench_path)。 表示第N次差异出现后,不再进行差异分析。过程中检测到差异对应的输入输出数据均dump。
配置为-1时,表示持续检测溢出直到训练结束。
配置示例:"diff_nums": 3。 | ### task配置为acc_check **配置样例** ```json { "task": "acc_check", "dump_path": "/home/data_dump", "rank": [], "step": [], "level": "L1", "acc_check": { "white_list": [], "black_list": [], "error_data_path": "./" } } ``` 支持场景: - PyTorch场景 **参数说明** | 参数 | 可选/必选 | 解释 | | --------------- | ------------ | ------------------------ | | white_list | 可选 | API dump白名单,仅对指定的API进行dump。默认未配置白名单,即dump全量API数据。
配置示例:"white_list": ["conv1d", "conv2d"]。 | | black_list | 可选 | API dump黑名单,被指定的API不进行 dump。默认未配置黑名单,即dump全量API数据。
配置示例:"black_list": ["conv1d", "conv2d"]。 | | error_data_path | 可选 | 配置保存精度未达标的API输入输出数据路径,默认为当前路径。
配置示例:"error_data_path": "./"。 | > [!NOTE] > > white_list和black_list同时配置时,实际生效的API为白名单中排除黑名单后的剩余部分。 ### task配置为overflow_check **配置样例** ```json { "task": "overflow_check", "dump_path": "/home/data_dump", "rank": [], "step": [], "level": "L2", "overflow_check": { "check_mode": "all" } } ``` 支持场景: - MindSpore静态图场景 **参数说明** MindSpore静态图场景下,"level"须为"L2",且模型编译优化等级(jit_level)须为"O2"。 | 参数 | 可选/必选 | 解释 | | ------------- | -------- | ---------------------- | | check_mode | 可选 | 溢出类型,str类型,仅MindSpore v2.3.0以下版本的静态图场景支持,可选参数:
• "aicore":开启AI Core的溢出检测。
• "atomic":开启Atomic的溢出检测。
• "all":开启算子的溢出检测。
默认值为all。
配置示例:"check_mode": "all"。 | ### task配置为nan_check **配置样例** ```json { "task": "nan_check", "dump_path": "/home/data_dump", "rank": [], "step": [], "level": "L1", "nan_check": { "list": [], "scope": [], "tensor_list": [], "data_mode": ["all"] } } ``` 支持场景: - PyTorch场景 **注意事项** - 使用前请确保使用编译时带有`--include-mod=nan_check`参数的msProbe工具包。 - 该任务类型在昇腾NPU设备上运行,适配的CANN版本要求8.5.0及以上 - 采集config中level须配置为"L1" - 使用前需设置环境变量:INF_NAN_MODE_FORCE_DISABLE=1 - 由于检测结果通过读取寄存器状态获得,因此可能出现结果正常但检测结果为溢出的情况,说明该API存在过程溢出(过程溢出为正常情况) - 由于硬件底层不支持int64类型(通过软件实现),因此本接口获取的硬件寄存器状态无法保证在int64类型上的结果准确性 **参数说明** nan_check模式通过读取NPU寄存器状态,检测模型中的API运行时是否存在NaN或Inf的情况。 | 参数 | 可选/必选 | 解释 | | ---- | --------- | ---- | | scope | 可选 | PyTorch场景dump范围,list[str]类型,默认未配置(list也未配置时表示dump所有API的数据)。详细配置方法请参见[scope参数配置说明](#scope参数配置说明)。 | | list | 可选 | 自定义采集的算子列表,list[str]类型,默认未配置(scope也未配置时表示dump所有API的数据)。详细配置方法请参见[list参数配置说明](#list参数配置说明)。 | | tensor_list | 可选 | 指定需要额外触发`npu_nan_test`的API关键字列表,`list[str]`类型。详细配置方法请参见[tensor_list参数配置说明](#tensor_list参数配置说明)。 | | data_mode | 可选 | dump数据过滤,list[str]类型。详细配置方法请参见[data_mode参数配置说明](#data_mode参数配置说明)。

**注意**:nan_check任务场景下,data_mode中指定"input"时,需同时配置"output"。 ### task配置为structure structure模式仅采集模型结构,无其他特殊配置。 **配置样例** ```json { "task": "structure", "dump_path": "/home/data_dump", "rank": [], "step": [], "level": "mix" } ``` 支持场景: - PyTorch场景 - MindSpore动态图场景 ### task配置为exception_dump MindSpore动态图场景下,"level"须为"L2"; MindSpore静态图场景下,"level"须为"L2",且模型编译优化等级(jit_level)须为"O0"或"O1"。 在运行过程中会在指定目录下生成kernel_graph_exception_dump.json的中间文件,该文件包含异常dump的相关设置。 除中间文件外的其他dump结果文件请参见MindSpore官方文档中的[Ascend下O0/O1模式Dump数据对象目录和数据文件介绍](https://www.mindspore.cn/docs/zh-CN/r2.5.0/model_train/debug/dump.html#%E6%95%B0%E6%8D%AE%E5%AF%B9%E8%B1%A1%E7%9B%AE%E5%BD%95%E5%92%8C%E6%95%B0%E6%8D%AE%E6%96%87%E4%BB%B6%E4%BB%8B%E7%BB%8D)。 **配置样例**: ```json { "task": "exception_dump", "dump_path": "/home/data_dump", "rank": [], "step": [], "level": "L2" } ``` 支持场景: - MindSpore动态图场景 - MindSpore静态图场景 ## 附录 ### dump_enable参数配置说明 - `dump_enable`用于控制`PrecisionDebugger`的dump动态启停能力:取值为`true`时执行dump采集,取值为`false`时关闭dump采集。建议仅在需要动态控制采集时配置该参数,初始值设为`false`。 - PyTorch场景下,当`PrecisionDebugger`初始化时配置了该字段,工具会在执行过程中自动读取`config_path`并刷新配置。 - 推荐流程:常规训练/推理阶段保持关闭;需要定位问题时改为开启采集;完成定位后再关闭,以减少对业务流程的干扰。 - `vLLM`场景下,如果有`level`切换的需要,建议先设置`level`的初始值为`L0`,这样能保证后续的`level`可以任意切换;如果`level`的初始值不是`L0`可能会导致切换`level`失败。 **配置样例**: ```json { "task": "statistics", "dump_path": "/home/data_dump", "rank": [], "step": [], "level": "L1", "dump_enable": false, "statistics": { "summary_mode": "statistics" } } ``` > 说明:`dump_enable`仅在需要动态开关dump时配置。运行中可将`dump_enable`从`false`改为`true`(或反向修改)实现动态开关,json中其他字段修改也能生效。 支持场景: - PyTorch场景 ### list参数配置说明 - PyTorch、MSAdapter以及MindSpore动态图场景配置具体的API全称,dump该API数据。在PyTorch场景,如果level配置成L2,list参数为必填项。 配置示例:"list": ["Tensor.permute.1.forward", "Tensor.transpose.2.forward", "Torch.relu.3.backward"]。 - PyTorch和MindSpore动态图场景在level为mix级别时可以配置模块名称,dump该模块展开数据(dump该模块从执行开始到执行结束期间的所有数据)。 配置示例:"list": ["Module.module.language_model.encoder.layers.0.mlp.ParallelMlp.forward.0"]或"list": ["Cell.network_with_loss.language_model.encoder.layers.0.mlp.ParallelMlp.forward.0"]。 - PyTorch、MSAdapter以及MindSpore动态图场景指定某一类API,dump某一类的API级别输入输出数据。 配置示例:"list": ["relu"]。 PyTorch、MSAdapter以及MindSpore动态图场景在level为mix级别时,会dump名称中包含list中配置的字符串的API数据,还会将名称中包含list中配置的字符串的模块进行展开dump(dump该模块从执行开始到执行结束期间的所有数据)。 - MindSpore静态图场景配置kernel_name,可以是算子的名称列表,也可以指定算子类型(jit_level=O2时不支持),还可以配置算子名称的正则表达式(当字符串符合“name-regex(xxx)”格式时),后台则会将其作为正则表达式。 配置示例:list: ["name-regex(Default/.+)"]。 可匹配算子名称以“Default/”开头的所有算子。 ### scope参数配置说明 该参数可以在[ ]内配置两个模块名或API名,要求列表长度必须为2,需要配置按照工具命名格式的完整模块名或API名称,用于锁定区间,dump该范围内的数据。 配置示例:"scope": ["Module.conv1.Conv2d.forward.0", "Module.fc2.Linear.forward.0"]或"scope": ["Cell.conv1.Conv2d.forward.0", "Cell.fc2.Dense.backward.0"]或"scope": ["Tensor.add.0.forward", "Functional.square.2.forward"]。
与level参数取值相关,level为L0级别时,可配置模块名;level为L1级别时,可配置API名,level为mix级别时,可配置为模块名或API名。 ### tensor_list参数配置说明 **通用行为** PyTorch、MSAdapter以及MindSpore动态图场景指定某一类API或模块,即会dump这一类API或模块输入输出的统计量信息和完整的tensor数据。 配置示例:"tensor_list": ["relu"]。 **nan_check 任务下的特殊说明** `nan_check` 任务默认检测所有 API 是否存在 NaN/Inf 溢出。当需要进一步定位某个 API 内部的具体溢出位置时,可通过 `tensor_list` 指定需要深入分析的 API,当发生溢出时,工具会触发`Exception`,对这些 API 生成额外的详细数据文件,并落盘至当前目录下的 `extra-info` 子目录中,供 [Tensor 解析工具](https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/troubleshooting/troubleshooting_0532.html) 进行逐元素级分析。 **匹配方式** 匹配方式为子串匹配,不区分大小写。例如配置 `["truediv"]` 时,所有名称中包含 "truediv" 的 API(如 `truediv`、`__truediv__`)均会被命中。 **使用建议:** - `nan_check` 默认已覆盖全量 API 的基础溢出检测,仅在需要深入定位特定 API 的溢出根因时才建议配置 `tensor_list`,以控制额外开销。 - 配置时建议使用较具体的关键字(如 `truediv`、`softmax`),避免过短字符串导致误匹配。需要缩小范围时,可配合 `scope` 或 `list` 共同限制。 ### data_mode参数配置说明 - PyTorch、MSAdapter以及MindSpore动态图场景:支持"all"、"forward"、"backward"、"input"和"output",除"all"外,其余参数可以自由组合。默认为["all"],即保存所有dump的数据。 配置示例:"data_mode": ["backward"](仅保存反向数据)或"data_mode": ["forward", "input"](仅保存前向的输入数据)。 - MindSpore静态图场景:L0级别dump仅支持"all"、"forward"和"backward"参数;L2级别dump仅支持"all"、"input"和"output"参数。且各参数只能单独配置,不支持自由组合。 配置示例:"data_mode": ["all"]。 ### summary_mode参数配置说明 - PyTorch、MSAdapter以及MindSpore动态图场景 str类型。 可选参数为: - md5:dump输出包含CRC-32值以及API统计信息的dump.json文件,用于验证数据的完整性。 - statistics:dump仅输出包含API统计信息的dump.json文件。默认值为statistics。 - xor:仅PyTorch场景支持。dump输出仅包含XOR校验值(字段名为md5),不输出max、min、mean、L2norm统计信息。 配置示例:"summary_mode": "md5"。如需使用轻量XOR校验,配置示例:"summary_mode": "xor"。 若用户希望降低大张量场景下的采集开销,可使用编译时包含`--include-mod=xor_checksum`参数的msProbe工具包,安装方法请参见[安装基础工具包和xor_checksum加速算子](../msprobe_install_guide.md#install-xor-checksum)。配置`summary_mode`为`xor`后,工具会优先使用编译生成的C++加速算子在设备侧计算XOR校验值,可带来数倍性能提升;当加速算子不可用、加载失败或执行异常时,会自动回退到通用实现,采集流程不会中断。 - MindSpore静态图场景 str或list[str]类型。 - L2级别jit_level=O2:支持上述"md5"和"statistics"参数的同时额外支持配置统计项列表,可选统计项为max、min、mean、l2norm,可从中任意选取组合搭配。其中mean、l2norm的结果为float数据格式。 - L2级别jit_level=O0/O1:支持上述"md5"和"statistics"参数的同时额外支持配置统计项列表,可选统计项为max、min、mean、l2norm、count、negative zero count、zero count、positive zero count、nan count、negative inf count、positive inf count、hash、md5,可从中任意选取组合搭配。其中,hash统计项在MindSpore 2.7.0及以前版本计算MD5值,在以后版本计算SHA1值。 - L0级别jit_level=O0/O1:仅支持上述"statistics"参数和max、min、mean、l2norm中任意组合搭配的统计项列表。 配置示例:"summary_mode": ["max", "min"]。 **说明**:PyTorch、MSAdapter以及MindSpore动态图场景,"summary_mode"配置为"md5"时,所使用的校验算法为CRC-32算法;MindSpore静态图场景,"summary_mode"配置为"md5"时,所使用的校验算法为MD5算法。