混合精度训练的优势!将自动混合精度用于主流深度学习框架

传统上,深度神经网络训练采用的是ieee单精度格式,但借助混合精度,可采用半精度进行训练,同时保持单精度的网络精度。这种同时采用单精度和半精度表示的技术被称为混合精度技术。
混合精度训练的优势
通过使用tensor核心,可加速数学密集型运算,如线性和卷积层。
与单精度相比,通过访问一半的字节来加速内存受限的运算。
降低训练模型的内存要求,支持更大规模的模型或更大规模的批量训练。
启用混合精度包括两个步骤:移植模型,以适时使用半精度数据类型;以及使用损耗定标,以保留小梯度值。
仅通过添加几行代码,tensorflow、pytorch和mxnet中的自动混合精确功能就能助力深度学习研究人员和工程师基于nvidia volta和turing gpu实现高达3倍的ai训练加速。
将自动混合精度用于主流深度学习框架
tensorflow
nvidia ngc容器注册表中tensorflow容器可提供自动混合精度功能。要在容器内启用此功能,只需设置一个环境变量:
export tf_enable_auto_mixed_precision=1
或者,您也可以在tensorflow python脚本中设置环境变量:
os.environ['tf_enable_auto_mixed_precision'] = '1'
自动混合精度使用单一环境变量,在tensorflow内部应用这两个步骤,并在必要时进行更细粒度的控制。
pytorch
github的apex存储库中提供了自动混合精度功能。可将以下两行代码添加至当前训练脚本中以启用该功能:
model, optimizer = amp.initialize(model, optimizer)
with amp.scale_loss(loss, optimizer) as scaled_loss:scaled_loss.backward()
mxnet
我们正在构建适用于mxnet的自动混合精度功能。您可通过github了解我们的工作进展。可将以下代码行添加至当前训练脚本中以启用该功能:
amp.init()amp.init_trainer(trainer)with amp.scale_loss(loss, trainer) as scaled_loss:autograd.backward(scaled_loss)

PLC梯形图定时器该怎样编写?
摩尔线程MTT S50 MTT S80与飞桨完成I级兼容性测试
青海“绿电9日”是我国能源转型的浓缩
LVDT位移传感器的优点
三星Family Hub 2.0 及智能嵌入式家电于 CES 2017 亮相
混合精度训练的优势!将自动混合精度用于主流深度学习框架
瑞典电信运营商Tre已与华为签署5G网络合同
彻底打破国外垄断 首次实现国产化
数字源表提供的电压是否可以校正万用表?
荣耀平板5体验 到底怎么样
海康威视LED显示屏如何防范火灾隐患?
新型浴室智能魔镜将带你“智”享高科技的生活
一样的照明,不一样的感受
好玩的智能镜子显示屏,可让你在健身房玩一天
太阳能电池手机!LG性价比之作GD510评测
了解PCB打样在制造中的重要性
安捷伦发布设计环境最新版本SystemVue 2011.10
拓墣模拟IC供需到今年底
为什么95后、00后这批消费者会让美业人又爱又恨?
人工智能加速芯片亮相 命名为“启明910”