下载
EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

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

目标

在精度调优前,首先需要确保模型迁移成功且在NPU上功能调通。如果涉及分布式训练,确保正确使能。

特别需要注意的是,在迁移过程中,需要确保正确使能混合精度训练。

参考步骤

混合精度在NPU上使能可以使用三种主要的方法,以达到性能、精度的最优权衡:

  1. 如果用户参考基准脚本使用了GPU的手动混合精度模式(参考链接),在模型中已经明确定义了所有的算子数据类型。那么迁移到NPU上时也保持同样的方式,并且请确保NPU的precision_mode需要设置当前版本默认值。

    针对Atlas 训练系列产品,默认配置项为“allow_fp32_to_fp16”。

    针对Atlas A2 训练系列产品,默认配置项为“must_keep_origin_dtype”。

  2. 如果用户参考基准脚本使用了GPU的自动混合精度模式(参考链接),利用TensorFlow框架或者第三方接口(例如apex)能力,定义模型的算子数据类型。那么迁移到NPU上时也保持同样的方式,并且确保NPU的precision_mode需要设置当前版本默认值。

    针对Atlas 训练系列产品,默认配置项为“allow_fp32_to_fp16”。

    针对Atlas A2 训练系列产品,默认配置项为“must_keep_origin_dtype”。

  1. 如果用户参考基准脚本使用fp32高精度模式定义模型,那么迁移到NPU上时,需要使能NPU框架的自动混合精度模式(即precision_mode为allow_mix_precision)。
    1
    2
    3
    import npu_device as npu
    npu.global_options().precision_mode = 'allow_mix_precision'
    npu.open().as_default()
    

为尽可能减少重复改图带来不期望的问题,以上方法需要确保仅使能一种。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词