开发者
资源
[object Object][object Object]

L0、L1、mix级别的dump能力存在盲区,网络中的非API或module的输入输出不会被批量dump下来。单点保存提供类似np.save和print的功能和使用体验,可以保存指定的变量。同时针对大模型场景进行了增强,具备以下特性:

  • 可保存变量的反向梯度结果。
  • 能直接保存嵌套结构数据(如 list、dict),无需手动遍历。
  • 自动分 Rank 保存。
  • 可分 Step 保存数据。
  • 多次调用时会自动计数。
  • 可配置保存统计值(MindSpore静态图暂不支持)或者张量。
  • 支持异步保存。

单点保存工具的使用过程中可能会涉及到工具跨文件使用的场景,具体使能方式见

[object Object]

环境准备

安装msProbe工具,详情请参见《》。

约束

支持PyTorch和MindSpore框架。

[object Object][object Object][object Object][object Object]

通用配置 (细节详见 ):

[object Object]undefined

"statistics" 任务子配置项:

[object Object]undefined

"tensor" 任务无子配置项。

[object Object]

调用PrecisionDebugger.save,传入需要保存的变量,指定变量名称以及是否需要保存反向数据。接口入参说明详见

[object Object]

(以PyTorch场景为例,MindSpore场景只需要从msprobe.mindspore模块导包即可) 配置文件

[object Object]

初始化

[object Object]

初始化(无配置文件)

[object Object]

调用保存接口示例(以PyTorch代码为例,MindSpore使用方法相同)

[object Object]

分step保存数据(以PyTorch代码为例,MindSpore使用方法相同)

[object Object]
[object Object][object Object][object Object]

工具提供三个对外接口用于保存训练过程中的数据:

[object Object]undefined
[object Object][object Object]
[object Object]

参数说明:

  • [object Object]: 数据保存目录路径
  • [object Object]: 数据标识名称(将作为文件名前缀)
  • [object Object]: 支持多种数据类型:
    • [object Object] 单个张量
    • [object Object] 嵌套结构(会自动展开保存)

使用示例:

[object Object]
[object Object]
[object Object]

参数说明:

  • [object Object]: 梯度保存目录路径
  • [object Object]: 梯度标识名称(将作为文件名前缀)
  • [object Object]: 必须是 [object Object]类型

特别注意:

  • 必须接收返回值并传回原计算图
  • 此操作不会影响计算精度

使用示例:

[object Object]
[object Object]
[object Object]

功能说明:

  • 递增训练步数计数器
  • 控制数据保存到不同的step目录(如step0/, step1/等)
  • 如果不调用,所有数据会保存到同一个step目录

使用示例:

[object Object]
[object Object][object Object]
  • "task" 配置为 "statistics" 场景 :在 dump 目录下会生成包含变量统计值信息的 [object Object] 文件。 [object Object] 中统计值的key命名格式为 [object Object]

  • "task" 配置为 "tensor" 场景 :除了在 dump 目录下生成包含变量统计值信息的 [object Object] 文件外,还会在 dump 子目录 [object Object] 中保存张量二进制文件,文件名称格式为 [object Object]

    • variable_name: 传入save接口的变量名称。
    • grad_flag: 反向数据标识,反向数据为"_grad",正向数据为""。
    • count: 调用计数,多次以相同变量名称调用时的计数。
    • indexes: 索引,在保存嵌套结构数据时的索引。例如:嵌套结构为 [object Object],"value2"的索引为"key2.0"。
    • file_suffix:文件后缀,PyTorch场景为"pt",MindSpore场景为"npy"。
[object Object]

在指定目录 [object Object]下生成 [object Object]目录,目录下生成指定 [object Object]的npy文件,如果是save_grad接口调用,则会生成 [object Object]的npy文件。

[object Object] -> [object Object]

或如 [object Object] -> [object Object]

结构如下:

[object Object]