当前位置: 首页 > 专利查询>辉达公司专利>正文

量化神经网络训练与推理制造技术

技术编号:36738966 阅读:18 留言:0更新日期:2023-03-04 10:13
本公开涉及量化神经网络训练与推理。用于处理神经网络的计算机实现的方法的一个实施例包括接收对应于多维输入张量的一部分并且已经基于第一比例因子量化的第一量化矩阵;以及使用所述第一量化矩阵和所述第一比例因子执行一个或更多个计算操作,以生成与多维输出张量的第一部分相对应的一个或更多个数据值。张量的第一部分相对应的一个或更多个数据值。张量的第一部分相对应的一个或更多个数据值。

【技术实现步骤摘要】
量化神经网络训练与推理
[0001]相关申请的交叉引用
[0002]本申请要求于2021年8月27日提交的、序列号为63/238,036的美国临时专利申请的优先权,其标题为“TECHNIQUES FOR QUANTIZED FIXED

POINT TRAINING WITH FINE

GRAINED SCALING AND ADAPTIVE PRECISION”。该相关申请的主题通过引用并入本文。


[0003]本公开的实施例总体上涉及计算机科学和人工智能,更具体地,涉及用于量化神经网络训练和推理的技术。

技术介绍

[0004]深度神经网络通常包括许多计算量大的层,例如卷积层和/或全连接层。深度神经网络通常也使用全精度算法(例如,使用32位浮点数据)进行训练和部署。因此,执行深度神经网络可能涉及大量的计算复杂性、延迟和内存消耗。为了减少与深度神经网络相关的处理时间和内存占用,可以量化神经网络的权重和/或激活。例如,用于权重和/或激活的32位浮点数据值可以映射到16位浮点数据值或8位整数数据值,这减少了所述数据值的位宽。反过来,减小数据值的位宽可以降低训练和部署深度神经网络时所执行的不同计算(例如矩阵乘法运算)的复杂度,以及存储所述数据值所需的内存量。
[0005]通常,为了量化神经网络的权重和激活,将比例因子应用于表示权重的权重张量以及表示激活的激活张量。然而,由于相同的比例因子在给定张量的许多维度上共享,因此缩放张量中各个元素的精度降低,从而增加了量化引入的误差量,反过来降低了所述深度神经网络的整体准确度。
[0006]为了提高所述深度神经网络的准确性,可以将不同的比例因子应用于沿权重张量和/或激活张量的单个维度的不同向量。这样做将允许对不同的向量使用更合适的比例因子,这将减少量化引入的误差量,反过来提高深度神经网络的整体准确度。然而,与神经网络推理操作通常只涉及仅使用矩阵的计算不同,神经网络训练操作通常涉及使用矩阵以及转置矩阵两者的计算。值得注意的是,当一个矩阵被转置时,所述转置矩阵的每一列对应多个不同的比例因子。由于必须从内存中单独地读取所述多个不同比例因子中的每一个,因此涉及转置矩阵的计算会增加整体处理时间。例如,如果从内存中读取比例因子需要一个时钟周期,那么对于4x4转置矩阵,从内存中读取所述相关比例因子对于所述转置矩阵的每一列将需要四个时钟周期。因此,在训练深度神经网络时,沿权重张量和/或激活张量的单个维度应用不同的比例因子可以显著增加处理时间。
[0007]如前所述,本领域所需要的是用于为神经网络量化权重和激活的更有效的技术。

技术实现思路

[0008]本公开的一个实施例阐述了一种用于处理神经网络的计算机实现方法。该方法包括接收对应于多维输入张量的一部分并且已经基于第一比例因子量化的第一量化矩阵。该
方法还包括使用所述第一量化矩阵和所述第一比例因子执行一个或更多个计算操作以生成与多维输出张量的第一部分相对应的一个或更多个数据值。
[0009]本公开的技术相对于现有技术的至少一个技术优势在于,利用所公开的技术,可以更有效地执行神经网络训练操作。在这方面,利用所公开的技术,不同的比例因子被应用于沿着张量的多个维度的不同子矩阵,而不是沿着该张量的单个维度的不同向量。因此,可以将相同的比例因子应用于矩阵内的子矩阵和所对应的转置矩阵内的所对应的子矩阵。因此,与现有技术方法相比,用转置矩阵执行计算使用更少的读取操作,从而减少训练神经网络时的处理时间。这些技术优势提供了对现有技术方法的一种或更多种技术改进。
附图说明
[0010]为了更详细地理解上述各种实施例的相关特征,可以通过参考各种实施例(其中一些已在附图中说明)对上述简要概括的本专利技术概念进行更具体的描述。但是,需要注意的是,所附的附图只说明专利技术概念的典型实施例,因此并不是以任何方式限制范围,还存在其他同样有效的实施例。
[0011]图1是示出了被配置成实施各个实施例的一个或更多个方面的计算机系统的框图;
[0012]图2是根据各个实施例的包括在图1的并行处理子系统中的并行处理单元的框图;
[0013]图3A示出了根据各种实施例的在执行一个或更多个前向传播操作时使用的示例输入和生成的输出;
[0014]图3B示出了根据各种实施例的在执行一个或更多个后向传播操作时使用的示例输入和生成的输出;
[0015]图4是根据各种实施例的用于从组缓冲器中检索数据和将数据存储到组缓冲器的方法步骤的流程图;以及
[0016]图5是根据各种实施例的用于使用量化数据执行一个或更多个神经网络计算操作的方法步骤的流程图。
具体实施方式
[0017]在以下描述中,阐述了许多具体细节以便提供对不同实施例的更彻底的理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节中的一个或更多个的情况下实践本专利技术构思。
[0018]系统总览
[0019]图1为示出了被配置为实现各个实施例的一个或更多个方面的计算机系统100的框图。如图所示,计算机系统100包括但不限于中央处理单元(CPU)102、系统存储器104,其经由存储器桥105和通信路径113耦连至并行处理子系统112。存储器桥105进一步地经由通信路径106耦连至I/O(输入/输出)桥107,I/O桥107又耦连至交换机116。
[0020]在操作中,I/O桥107被配置为从输入设备108(诸如键盘或鼠标)接收用户输入信息,并经由通信路径106和存储器桥105将输入信息转发给CPU 102进行处理。交换机116被配置为在I/O桥107和计算机系统100的其他组件(如网络适配器118和各种附加卡120和121)之间提供连接。
[0021]还如图所示,I/O桥107耦合至系统盘114,系统盘114可以被配置为存储内容、应用程序和数据,以供CPU 102和并行处理子系统112使用。一般来说,系统盘114为应用程序和数据提供非暂时性存储器,可包括固定的或可移除的硬盘驱动器、闪存设备和CD

ROM(光盘只读存储器)、DVD

ROM(数字多功能盘

ROM)、蓝光、HD

DVD(高清DVD)或其他磁、光或固态存储设备。最后,虽然未明确示出,其他组件(诸如通用串行总线或其他端口连接、光盘驱动器、数字多功能盘驱动器、胶片录制设备等)也可以连接到I/O桥107。
[0022]在各个实施例中,存储器桥105可以是北桥芯片,I/O桥107可以是南桥芯片。此外,可以用任何技术上合适的协议(包括但不限于AGP(加速图形端口)、超文本传输(HyperTransport)或本领域公知的任何其他总线或点对点通信协议)在计算机系统100内实现通信路径106和113以及其他通信路径。
[0023]在一些实施例中,并行处理子系统112包括图形子系统,该图形子系统向显示装置110输送像素,该显本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理神经网络的计算机实现的方法,所述方法包括:接收第一量化矩阵,所述第一量化矩阵对应于多维输入张量的一部分并且已经基于第一比例因子被量化;以及使用所述第一量化矩阵和所述第一比例因子执行一个或更多个计算操作,以生成与多维输出张量的第一部分相对应的一个或更多个数据值。2.根据权利要求1所述的计算机实现的方法,还包括:接收第二量化矩阵,所述第二量化矩阵对应于第二多维输入张量的一部分并且已经基于第二比例因子被量化;其中执行所述一个或更多个计算操作还包括:使用所述第二量化矩阵和所述第二比例因子来生成所述一个或更多个数据值。3.根据权利要求2所述的计算机实现的方法,其中,执行所述一个或更多个计算操作包括:使用所述第一量化矩阵和所述第二量化矩阵计算一个或更多个点积值。4.根据权利要求2所述的计算机实现的方法,其中,执行所述一个或更多个计算操作包括:使用所述第一比例因子和所述第二比例因子对一个或更多个点积值中包括的每个点积值进行缩放。5.根据权利要求1所述的计算机实现的方法,其中,所述第一量化矩阵包括转置矩阵。6.根据权利要求1所述的计算机实现的方法,其中,所述第一量化矩阵被包括在多个量化矩阵中,其中,所述多个量化矩阵中包括的每个量化矩阵对应于所述多维输入张量的不同部分并已使用不同的比例因子进行了量化。7.根据权利要求6所述的计算机实现的方法,其中,执行所述一个或更多个计算操作进一步包括:对于包括在所述多个量化矩阵中的每个量化矩阵,使用所述量化矩阵和关联的比例因子来生成一个或更多个关联数据值,所述一个或更多个关联数据值对应于所述多维输出张量的不同部分。8.根据权利要求1所述的计算机实现的方法,还包括:基于与所述多维输出张量相关联的第二比例因子来缩放所述多维输出张量。9.根据权利要求1所述的计算机实现的方法,还包括:通过将所述多维输出张量细分为多个矩阵并量化包括在所述多个矩阵中的每个矩阵来量化所述多维输出张量。10.根据权利要求1所述的计算机实现的方法,还包括:通过以下方式量化所述多维输出张量:针对包括所述多维输出张量的多个矩阵中包括的每个矩阵,基于所述矩阵中包括的一个或更多个数据值来计算对应的比例因子;以及基于所述对应的比例因子量化包括在所述多个矩阵中的每个矩阵。11.一种或更多种非暂时性计算机可读介质,其存储指令,所述指令在由一个或更多个处理器执行时,使所述一个或更多个处理器执行以下步骤:接收第一量化矩阵,所述第一量化矩阵对应于多维输入张量的一部分并且已经基于第一比例因子被量化;以及使用所述第一量化矩阵和所述第一比例因子执行一个或更多个计算操作,以生成与多维输出张量的第一部分相对应的一个或更多个数据值。12.根据权利要求11所述的一种或...

【专利技术属性】
技术研发人员:T
申请(专利权)人:辉达公司
类型:发明
国别省市:

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

1