下载
中文
注册

检查项汇总

精度调优前,请按照如下表格的要求进行检查,并记录相关检查结果,排除参考基准和模型迁移过程中可能存在的问题。

表1 精度调优前检查项

序号

检查项

简介

检查结果

检查参考基准脚本

1

参考基准:多次训练验证精度一致

基准模型多次训练需要得到相同的结果预期,如果基准模型的多次训练相互对比不满足精度对比要求,那么该参考基准不适合用于精度对比。

通过/不通过/未进行

2

参考基准:正确使能混合精度训练

由于昇腾AI处理器(简称NPU)硬件架构仅支持用户模型执行在混合精度训练模式下,故用户模型也需要以混合精度训练。如果用户模型未使能混合精度训练模式、或使能不当,会有可能导致NPU无法训练或训练精度不符合预期的结果。

通过/不通过/未进行

检查迁移后脚本

3

模型迁移:在NPU上正确使能混合精度

在精度调优前,首先需要确保模型迁移成功且在NPU上功能调通。如果涉及分布式训练,确保正确使能。特别需要注意的是,在迁移过程中,需要确保正确使能混合精度训练。

通过/不通过/未进行

4

模型迁移:在NPU上正确使能Loss Scale

迁移后的脚本需在NPU上正确使能Loss Scale。且由于NPU计算特性与GPU/CPU混合精度计算特性存在差异,LossScaleManager参数也通常需要进行适当的调整以保证精度。

通过/不通过/未进行

6

数据处理:数据集与基准一致

训练数据集往往较大,且可能出现不完整情况,需要确保数据集完整性。

通过/不通过/未进行

7

数据处理:预处理流程与基准一致

用户模型代码的数据预处理流程可能存在基于资源自动设定的变量,该变量会导致对数据集打乱的随机性不一致。需要从代码级别确认数据预处理的接口调用,尽可能减小该差异。

通过/不通过/未进行

8

数据处理:多节点分片方式与基准一致

用户模型代码的多节点数据预处理流程可能存在基于文件名、文件个数等进行分片的模式。该模式下由于文件读取接口在不同节点上对文件名排序的不同,会导致分片差异较大甚至文件重复分片到不同节点等不期望的结果。需要增加调试代码排除类似问题,确认分片规则与基准一致。

通过/不通过/未进行

9

训练流程:与基准一致

用户训练过程中,经常会出现例如未清空中间数据等流程错误,然后基于该不期望的中间数据可能会引起精度不一致的问题。用户需要对训练流程有基本的知识积累,并自行检查整个训练、验证过程的正确性。

通过/不通过/未进行

10

模型超参:与基准一致

进行脚本迁移的用户可能对超参的一致性不熟悉,导致迁移完成后,但一些超参的计算事实上与参考基准不一致。此时需要检查实际执行超参与参考基准的一致性。

通过/不通过/未进行