更新时间:2025-01-24 gmt 08:00
msprobe梯度监控-九游平台
梯度监控工具提供了将模型梯度数据导出的能力。使用梯度监控工具,可以实现对训练过程模型每一层梯度信息进行监控,目前支持两种能力:
- 将模型权重的梯度数据导出。这种功能可以将模型权重的梯度值以统计量的形式采集出来,用以分析问题,例如检测确定性问题,使用训练状态监控工具监控npu训练过程中的确定性计算问题。
- 将两份梯度数据进行相似度对比。在有标杆问题中,可以确认训练过程中精度问题出现的step,以及抓取反向过程中的问题。
使用步骤如下:
- 通过pip安装msprobe工具。
# shell pip install mindstudio-probe
- 创建配置文件config.json。
{ "task": "grad_probe", "dump_path": "./dump_path", "rank": [], "step": [], "grad_probe": { "grad_level": "l1", "param_list": [], "bounds": [-1, 0, 1] } }
task参数需指定为grad_probe,dump_path表示输出目录,需手工指定,默认输出到dump_path目录。参数grad_level可取值l0、l1、l2,级别越大导出的数据越详细。更多详细参数说明请参考。
- 监控逻辑插入训练脚本。
from msprobe.pytorch import precisiondebugger debugger = precisiondebugger("config_json_path") # 模型初始化之后位置添加。 debugger.monitor(model) ... # 结束训练之后,调用stop接口。 debugger.stop()
- (可选)梯度数据相似度比对。
from msprobe import * gradcomparator.compare_distributed("配置文件里写的dump_path", "配置文件里写的dump_path", "比对结果输出目录")
最终生成结果为similarities.csv表示每个step各个权重参数两次比对相似度值,以及 {param_name}.png和summary_similarities.png以折线图方式表示各个step相似度不比对结果。
详细工具的使用指导请参考介绍。
父主题:
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨