场景和功能介绍

场景介绍

NPU上的AMP支持以下4种原生PyTorch框架的AMP场景。具体场景说明可以点击跳转至PyTorch官网查看。

功能介绍

AMP默认使用动态Loss Scale。当前AMP工具中amp.GradScaler增加了dynamic和init_scale参数。dynamic默认为True,设置为False时,AMP支持静态Loss Scale并且可以通过init_scale参数设置scale系数。示例如下:
scaler = amp.GradScaler(init_scale = 2.**10, dynamic = False)
表1 参数说明

参数名称

参数说明

参数取值

dynamic

AMP是否使用动态Loss Scale。

  • True(默认):使用动态Loss Scale。
  • False:使用静态Loss Scale。

init_scale

在使用静态Loss Scale时的初始scale系数。

仅在dynamic=False时可用,用户根据实际情况设置。

如果在开启混合精度训练后,由于数值表示范围和最小间隔发生变化,可能导致极少部分网络出现精度掉点甚至无法收敛的情况,可以参考混合精度问题调测进行解决。