用于训练人工神经网络的系统技术方案

技术编号:38823751 阅读:17 留言:0更新日期:2023-09-15 20:03
本公开的实施例包括一种系统,用于通过基于多个训练参数配置模型以执行训练过程、监测在训练过程的执行时产生的多个统计量、以及基于统计量中的一个或多个统计量来调整训练参数中的一个或多个训练参数以将统计量中的至少一个统计量维持在预定范围内来优化人工神经网络。在一些实施例中,人工智能(AI)处理器可以对模型执行训练过程,该训练过程具有相关联的训练参数集。训练过程的执行可以产生多个统计量。耦合到(多个)AI处理器的(多个)控制处理器可以接收统计量,并且据此调整训练参数中的一个或多个训练参数,以在训练过程的执行期间将统计量中的至少一个统计量维持在预定范围内。围内。围内。

【技术实现步骤摘要】
【国外来华专利技术】用于训练人工神经网络的系统

技术介绍

[0001]本公开涉及一种计算系统。更具体地,本公开涉及用于训练人工神经网络的技术。
[0002]人工智能(AI)系统在自然语言处理和计算机视觉等多个领域取得了重大进展。AI系统通常包括由多层组成的AI模型(例如,神经网络模型)。每一层通常包括连接到其他层中的节点的节点(也称为神经元)。节点之间的连接与用于增加或减少连接强度的可训练权重相关联。在操作中,将数据集应用于模型的输入层,并且在输出层产生输出。输出可以对应于输入数据集的特定特征的分类、识别或预测。为了训练神经网络,将输出与输入数据集的已知输出进行比较,通过模型反向传播误差,并且调整模型的参数。
[0003]神经网络模型的一个问题是较大的模型通常需要较大的计算资源和/或处理时间。这在很大程度上是由于需要计算的与此类模型相关的参数的数目。
附图说明
[0004]在附图的图示中以示例而不是限制的方式示出了本公开的各种实施例。
[0005]图1示出了根据实施例的用于训练人工神经网络的系统。
[0006]图2示出了根据实施例的训练人工神经网络的方法。
[0007]图3A示出了根据实施例的人工神经网络中的训练参数和监测值。
[0008]图3B示出了根据实施例的用于训练人工神经网络的映射系统。
[0009]图4示出了根据另一实施例的训练人工神经网络的方法。
[0010]图5A示出了根据实施例的通过训练较小的网络来生成映射的系统。
[0011]图5B示出了根据实施例的加载用于训练较大网络的映射的系统。
[0012]图6示出了根据实施例可以产生统计量的示例神经网络。
[0013]图7示出了显示根据实施例的示例监测统计量的曲线图。
[0014]图8示出了根据实施例、调整与神经网络的各个部分相关联的精度的示例。
[0015]图9示出了根据实施例、调整与神经网络的各个部分相关联的稀疏性的示例。
[0016]图10示出了根据实施例、调整与神经网络的各个部分相关联的模型大小的示例。
[0017]图11示出了根据实施例的使用(多个)AI处理器来缩放人工神经网络的方法。
[0018]图12示出了根据实施例的示例计算机系统的简化框图。
[0019]图13示出了根据实施例的人工神经网络处理系统。
[0020]图14示出了显示根据实施例的、验证损失相对于计算资源和时间的优化的示例曲线图。
[0021]图15A示出了显示根据实施例的、由较高精度模型产生的梯度噪声的曲线图。
[0022]图15B示出了显示根据实施例的、由未优化的较低精度模型产生的梯度噪声的曲线图。
[0023]图15C示出了显示根据实施例的、在优化的较低精度模型中控制梯度噪声的曲线图。
[0024]图15D示出了显示根据实施例的、较高精度模型的收敛、未优化的较低精度模型的
发散和优化的较低精度模型的收敛的曲线图。
[0025]图16A示出了显示根据实施例的较高精度模型的收敛和未优化的较低精度模型的发散的曲线图。
[0026]图16B示出了根据实施例的、比较由较高精度模型产生的层激活和由未优化的较低精度模型产生的层激活的曲线图。
[0027]图16C示出了根据实施例的、比较由较高精度模型产生的层梯度和由未优化的较低精度模型产生的层梯度的曲线图。
[0028]图17A示出了根据实施例的、具有不同精度的模型的验证损失的曲线图。
[0029]图17B示出了根据实施例的、比较由具有不同精度的模型产生的层激活的零值百分比的第一示例的曲线图。
[0030]图17C示出了根据实施例的、比较由具有不同精度的模型产生的层激活的零值百分比的第二示例的曲线图。
具体实施方式
[0031]在下面的描述中,出于解释的目的,为了提供对本公开的透彻理解,提出了许多示例和具体细节。这些示例和细节不应被解释为不适当地限制权利要求的元素或要求保护的主题整体。基于不同权利要求的语言,对本领域技术人员清楚的是,所要求保护的主题可以单独地或组合地包括这些示例中的一些或全部特征,并且还可以包括本文描述的特征和技术的修改和等同形式。
[0032]对于深度学习,人工智能(AI)模型(例如,神经网络模型)通常随着大小(例如,层、节点、连接等的数目)的增加而增加其预测的准确性。这通常在训练期间被测量为验证损失的理想减少(例如,在预测中更准确)。
[0033]然而,模型大小的增加通常需要增加计算资源和/或处理模型的时间。这是因为与模型大小增加相关的参数越来越多,而这进而需要进一步计算。
[0034]例如,对于神经网络(NN)模型的每个节点,可以执行由y=f(x0w0+x1w1+....+x
n
w
n
)表示的前向传递计算,其中y表示节点的输出值,x表示从连接的节点0到n的输入值,并且w表示与来自节点的连接相关联的可训练权重(例如,参数)。在训练期间,可以将模型的输出(例如,在最后一层)与针对输入数据集的已知输出进行比较。然后,可以执行类似的反向传递计算(例如,反向传播)以确定梯度和权重更新。例如,在称为随机梯度下降(SGD)的过程中,可以对训练数据集的子集进行多次(例如,迭代地)反向传播。正向和反向传递中的计算通常通过对模型的每层执行多次的矩阵乘法(也称为Mat

Mul)运算来执行。结果,训练模型所需的计算量可能会随着模型大小的增加而快速增长。
[0035]减少处理模型的计算资源和/或时间的一种技术是降低与模型相关联的计算的精度(也称为位宽)。例如,与处理具有较低精度的计算的模型(例如,8位整数(也称为INT8))的计算资源和/或时间相比,处理需要较高精度(例如,IEEE 754单精度32位浮点格式(也称为FP32))的模型的计算资源和/或时间可以减少。
[0036]然而,当精度降低到某个阈值以下时,模型往往无法提高其预测的准确性。此外,随着持续的训练(例如,发散),模型有时会在其预测的准确性方面恶化。
[0037]本公开的特征和优点包括通过基于与模型相关联的一个或多个统计量来自动调
整与模型相关联的一个或多个训练参数来改进神经网络模型的训练,以将特定统计量维持在预定范围内。在一些实施例中,基于与模型相关联的统计量来调整训练参数可以被称为“内省(introspective)”训练。例如,本文公开的技术可以支持随着模型大小而缩放的改进的训练性能,同时减少计算资源的缩放。因此,本公开的一些实施例提供了用于神经网络模型的自动缩放自省形式的训练。有利地,这可以允许朝向收敛的较低的验证损失(例如,改进的预测精度),同时为非常大的模型提供计算资源和/或处理的时间的减少(例如,计算周期的减少)。下面描述的某些实施例还可以包括用于调整参数的自动化技术(例如,基于统计量)。
[0038]图1示出了根据实施例的用于优化人工神经网络的系统100。在该本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种系统,包括:一个或多个人工智能(AI)处理器;一个或多个控制处理器;以及计算机可读存储介质,其上存储有由所述一个或多个控制处理器可执行的程序代码,所述程序代码使所述一个或多个控制处理器:接收人工神经网络模型,并且基于多个训练参数来配置所述模型,以在所述一个或多个AI处理器上执行训练过程;监测在所述训练过程的执行时产生的多个统计量;以及基于所述多个统计量中的一个或多个统计量来调整所述多个训练参数中的一个或多个训练参数,以将所述多个统计量中的至少一个统计量维持在预定范围内。2.根据权利要求1所述的系统,其中所述调整步骤包括:调整与所述模型的目标层相关联的精度,以将与所述目标层相关联的所述多个统计量中的所述至少一个统计量维持在所述预定范围内。3.根据权利要求1所述的系统,还包括:随着所述模型大小的增加而降低所述模型的至少部分的所述精度。4.根据权利要求1所述的系统,其中所述监测步骤包括:监测与所述模型的目标层相关联的一个或多个统计量。5.根据权利要求4所述的系统,其中所述一个或多个统计量包括神经网络梯度噪声的测量。6.根据权利要求1所述的系统,其中所述调整步骤包括:调整与所述模型的目标层相关联的一个或多个训练参数。7.根据权利要求6所述的系统,其中所述目标层是隐藏层,并且其中所述一个或多个训练参数包括配置针对所述目标层的精度的参数。8.根据权利要求6所述的系统,其中所述目标层是隐藏层,并且其中所述一个或多个训练参数包括配置针对所述目标层的稀疏性的参数。9.根据权利要求6所述的系统,其中所述目标层是隐藏层,并且其中所述一个或多个训练参数包括配置与所述目标层相关联的节点数目的参数。10.根据权利要求6所述的系统,其中所述目标层是隐藏层,并且其中所述一个或多个训练参数包括配置针对所述目标...

【专利技术属性】
技术研发人员:M
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1