【技术实现步骤摘要】
【国外来华专利技术】用于以降低精度进行深度神经网络训练的损失缩放相关申请的交叉引用本申请要求2017年5月5日提交的62/502,333号和2017年9月21日提交的62/561,499号美国临时专利申请的权益;以及要求2018年5月4日提交的15/971,884的美国非临时申请的权益,所有这些申请都通过引用并入本文。关于联邦政府资助的研究或开发的声明没有。
该技术涉及深度神经网络(“DNN”),并且涉及使用降低的精度计算能力来有效地训练这样的网络。
技术介绍
在软件开发实践中,程序员应尽早并经常学习使用正确工具用于工作的重要性。在数值计算方面,这一点尤其重要,其中在精度、准确度和性能之间的权衡在选择数据的最佳表示中非常有用。许多技术和高性能计算应用程序需要使用32位(单浮点或FP32)或64位(双浮点或FP64)浮点表示和计算的高精度计算。但是有许多应用程序对于其较低精度的运算足够。例如,处于快速发展的深度学习领域的研究人员发现深度神经网络架构由于训练它们时使用的反向传播算法而具有自然的错误恢复能力,并且有些人认为16位浮点(半精度或FP16)足够用于训练此类网络。与更高精度的FP32(全精度)或FP64(双精度)相比,存储表示为FP16(半精度)的数据减少了神经网络的内存使用,可能允许训练和部署更大的网络。FP16数据传输比FP32或FP64传输花费的时间更少。对于许多网络,甚至可以使用8位整数计算执行某些深度学习推理,而不会对准确度产生重大影响。众所周知,将在计算方法或平台中组合使用不同的数值精度称为“混合精度”。虽然计算方法的不同时期或阶段可能使用不同精度的计算硬件, ...
【技术保护点】
1.一种用于训练神经网络的系统,包括:至少一个数值计算电路,配置为基于损失值计算梯度;以及降低精度的选择器,所述降低精度的选择器耦合到所述至少一个数值计算电路,所述降低精度的选择器控制所述至少一个数值计算电路有选择地以降低精度的计算模式运行;其中,所述至少一个数值计算电路还配置为在基于使用所述降低精度的模式计算的梯度调整权重时缩放所述损失值。
【技术特征摘要】
【国外来华专利技术】2017.05.05 US 62/502,333;2017.09.21 US 62/561,499;1.一种用于训练神经网络的系统,包括:至少一个数值计算电路,配置为基于损失值计算梯度;以及降低精度的选择器,所述降低精度的选择器耦合到所述至少一个数值计算电路,所述降低精度的选择器控制所述至少一个数值计算电路有选择地以降低精度的计算模式运行;其中,所述至少一个数值计算电路还配置为在基于使用所述降低精度的模式计算的梯度调整权重时缩放所述损失值。2.如权利要求1所述的系统,其中所述至少一个数值计算电路配置为通过以与所述缩放成反比的方式减小所述权重梯度贡献来补偿所述缩放。3.如权利要求1所述的系统,其中所述至少一个数值计算电路配置为至少部分地基于超参数来缩放所述损失值。4.如权利要求1所述的系统,其中所述至少一个数值计算电路配置为通过自动选择的缩放因子来缩放所述损失值。5.如权利要求1所述的系统,进一步包括至少一个处理器,所述至少一个处理器配置为基于在上一次迭代中确定的最大幅度权重梯度,为所述神经网络训练的每次迭代自动选择所述缩放因子。6.如权利要求5所述的系统,其中所述至少一个处理器计算所述缩放因子的上限u=log2(215-x)。7.如权利要求6所述的系统,其中所述至少一个处理器还通过常数减小缩放因子以防止溢出。8.如权利要求6所述的系统,其中,所述至少一个处理器还配置为测试由所述神经网络的训练迭代确定的权重梯度,并且以所述测试结果为条件以减小的缩放因子重复所述迭代。9.如权利要求1所述的系统,其中,在使用权重梯度值进行权重更新之前,所述至少一个数值计算电路对每个权重梯度值进行与所述缩放因子成反比的量的修改。10.如权利要求1所述的系统,其中,所述至少一个数值计算电路通过将所述梯度与基于所述缩放调整的另一参数相组合来执行权重更新。11.权利要求10的系统,其中所述参数包括学习速率。12.权利要求10的系统,其中所述参数包括梯度限幅阈值。13.如权利要求10所述的系统,其中所述参数包括权重衰减。14.一种训练深度神经网络的过程,包括:(a)通过深度神经网络正向处理训练数据以产生损失值;(b)通过缩放因子缩放所述损失值;(c)通过深度神经网络反向传播所述缩放的损失值以计算梯度;以及(d)基于计算的梯度以补偿缩放的方式调整深度神经网络的权重。15.如权利要求14所述的过程,其中所述补偿包括在使用计算的梯度调整权重之前通过缩放因子减小所述计算的梯度。16.如权利要求14所述的过程,进一步包括使用降低的精度计算所述梯度。17.如权利要求14所述的过程,进一步包括以比与训练数据的正向处理相关联的至少一些计算所使用的精度更低的精度计算所述梯度。18.如权利要求14所述的过程,进一步包括使用半精度计算梯度,同时恢复零值并规范化由于所述半精度的非正常值。19.一种存储指令的非暂时性存储器,所述指令在由至少一个处理器执行时控制所述至少一个处理器以执行步骤,包括:(a)利用深度神经网络处理数据以产生损失值;(b)通过缩放因子缩放所述损失值;(c)通过所述深度神经网络反向传播所述缩放的损失值以计算梯度;(d)使用计算的梯度来调整所述深度神经网络的权重。20.一种混合精度计算组件,包括:能够以降...
【专利技术属性】
技术研发人员:吴昊,J·阿尔本,P·米齐可维休斯,
申请(专利权)人:辉达公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。