云服务器内容精选
-
使用Msprobe工具分析偏差 观察上一章Loss趋势,在首个Step有较小偏差,所以对第一个Step进行比对分析。此处使用Msprobe的整网Dump和比对分析功能。 首先安装社区Msprobe工具,命令如下: pip install mindstudio-probe 使能工具进行数据Dump分析。本实验可在train.py中如下两处添加使能代码: 其中config.json的内容如下: { "task": "statistics", "dump_path": "/home/data_dump", "rank": [], "step": [0], "level": "L1", "seed": 1234, "is_deterministic": false, "enable_dataloader": false, "statistics": { "scope": [], "list": [], "data_mode": ["all"], "summary_mode": "statistics" } } 这里Step指定为0表示只对首个Step进行数据Dump。task指定为statistics表示使用统计量模式,该模式下针对整网训练API输入输出保存最大值、最小值、均值等统计量信息比对,落盘数据量较小。GPU和NPU环境依次进行数据Dump,正常执行结束标识如下图回显Exception: msprobe: exit after iteration 0。 创建如下compare.json文件。 { "npu_path": "./npu_dump/dump.json", "bench_path": "./bench_dump/dump.json", "stack_path": "./npu_dump/stack.json", "is_print_compare_log": true } 指定对应Dump数据目录后进行比对分析。 msprobe -f pytorch compare -i ./compare.json -o ./output -s 生成 CS V分析表格之后进行分析,该问题第一个偏差来源如下: Tensor.__getitem__.0 在forward阶段的第一个输入存在偏差,追溯输入来源发现是torch.randint()函数在device侧随机初始化(下图第214行),由于device侧随机性无法通过seed等自动化方式固定,先通过切换CPU侧计算初始化之后再切回device侧。在train.py中做如下图第215行代码修改。 重新训练Dump比对分析后续计算是否存在偏差。比对之后发现:Tensor.__mul__.2在forward计算阶段的第一个input存在偏差。 追溯代码实现是下图中noise变量使用torch.rand_like ()作noise变量的初始化 (下图第730行)。由于torch.rand_like()该函数会根据输入的input构造同样size、dtype、device、layout信息的数据,详情请参见Pytorch docs介绍。所以同样是在device侧做变量初始化引入精度偏差,在diffusion/gaussian_diffusion.py中用等CPU侧初始化实现替换完成计算之后再切回device进行计算(下图第731行)。 然后再比对分析发现所有API计算都已对齐结果,转而查看Loss对齐情况。 父主题: 精度对齐
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格