System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于确定用于神经网络的量化的基于饱和比率的量化范围的方法及设备技术_技高网

用于确定用于神经网络的量化的基于饱和比率的量化范围的方法及设备技术

技术编号:40953875 阅读:3 留言:0更新日期:2024-04-18 20:29
公开了一种用于基于饱和比率确定用于人工神经网络的量化的量化范围的方法和设备。根据本发明专利技术的一个方面,提供了一种用于确定用于人工神经网络的张量的量化范围的计算机实现的方法和设备,包括根据所述人工神经网络的所述张量和所述量化范围观测在当前迭代中的饱和比率;以及调整量化范围,使得所观测的饱和比率遵循预定的目标饱和比率。

【技术实现步骤摘要】
【国外来华专利技术】

【】本公开的实施例涉及一种用于确定用于神经网络量化的量化范围的方法和设备,并且更具体地,涉及一种用于基于饱和比率确定量化范围的方法和设备,所述饱和比率是在量化范围之外的张量的比率。


技术介绍

0、
技术介绍

1、以下描述的内容仅提供与本公开相关的背景信息,而不构成现有技术。

2、人工神经网络(ann)可以指基于构成动物大脑的生物神经网络的计算系统。人工神经网络(ann)具有表示人工神经元的节点通过突触连接的结构。节点可处理通过突触接收的信号并将经处理的信号传送给其它节点。来自每个节点的信号通过与节点相关联的权重和与突触相关联的权重被传输到其他节点。当在一个节点处处理的信号被发送到下一节点时,其影响根据权重而变化。

3、这里,与节点相关联的权重被称为偏置,并且节点的输出被称为激活。权重、偏置和激活可以被称为张量。也就是说,张量是包括权重、偏置和激活中的至少一个的概念。

4、同时,人工神经网络可以用于各种机器学习操作,诸如图像分类和对象识别。可以通过扩展一个或多个维度(诸如网络深度、网络宽度和图像分辨率)来提高人工神经网络的精度。然而,这导致计算复杂度和内存要求增加以及能量消耗和执行时间增加的问题。

5、为了降低计算复杂度,正在研究人工神经网络的量化。这里,量化是指将张量值从具有宽数据表示范围的维度映射到具有窄数据表示范围的维度。换句话说,量化意味着处理神经网络运算的处理器将高精度张量映射到低精度值。在人工神经网络中,量化可以应用于包括层的激活、权重和偏置的张量。

6、量化可通过将全精度权重和激活转换成低精度表示来降低神经网络的计算复杂度。例如,在人工神经网络的训练期间通常使用的32位浮点数fp32被转换成8位整数int8,其是在训练完成之后的离散值。因此,降低了神经网络推理所需的计算复杂度。

7、量化可以应用于具有高精度的所有张量,但是通常应用于落入特定范围内的张量。即,为了量化张量,需要首先根据具有高精度的张量的值来决定量化范围。这里,确定量化范围被称为校准。在下文中,确定量化范围的设备被称为范围确定设备或校准设备。

8、一旦确定了量化范围,就将高精度张量当中的包括在量化范围中的张量映射到低精度值。另一方面,量化范围之外的张量被映射到低精度表示范围的最大值或最小值。将量化范围外的张量映射到低精度表示范围的最大值或最小值的状态称为饱和状态。

9、图1a和图1b是示出人工神经网络的量化和饱和的图。

10、图1a和图1b示出了量化以fp32表示的张量以使得它们以int8表示的进程。

11、为了降低神经网络推理的计算复杂度,在fp32系统中高精度表示的张量可以通过量化被量化为具有低精度的int8系统。

12、对于张量的量化,用于确定量化范围的范围确定设备确定fp32表示系统中的量化范围。即,范围确定设备确定用于限幅张量的量化范围的阈值t。

13、这里,根据量化范围,由于张量的饱和而发生失真或分辨率降低。由于张量的饱和而导致的失真和分辨率降低处于折衷关系。

14、如图1a所示,当范围确定设备将量化范围设置为宽时,以fp32表示的所有张量都包括在量化范围中。量化范围中包含的张量不太可能饱和。也就是说,它们被映射到int8表示系统的最大值或最小值的概率低。这意味着由于张量的饱和而存在较少的失真。

15、但是,当设置宽的量化范围时,fp32系统中具有不同值的张量在int8系统中具有相同值的概率增加。当由于量化而将具有高精度的张量映射到相同的值时,张量的分辨率降低。张量的分辨率越低,神经网络的性能越低。

16、因此,当设置宽的量化范围时,由于张量的饱和导致的失真减小,但是张量的分辨率也减小。

17、另一方面,当范围确定设备设置如图1b所示的窄的量化范围时,以fp32表示的张量的一部分包括在量化范围内,其它部分在量化范围外。由于窄的量化范围,在fp32系统中具有不同值的张量可能在int8系统中具有不同的值。这意味着张量的分辨率的降低是有限的。

18、然而,当设置窄的量化范围时,未包括在量化范围-t到t内的张量可映射到int8表示系统的最大值或最小值。例如,当int8表示系统的最大值和最小值分别为127和-127时,量化范围外的张量被映射到127或-127。否则,可以删除或忽略量化范围之外的张量而不进行量化。也就是说,由于张量的饱和而发生失真。由于张量的饱和引起的失真越大,神经网络的性能越低。

19、因此,当设置窄的量化范围时,存在量化张量的分辨率降低得较少而由于饱和引起的失真增加的问题。

20、为了控制由于张量的饱和引起的失真和分辨率降低之间的折衷,范围确定设备需要确定适当的量化范围。也就是说,需要确定量化范围以包括表示人工神经网络的任务特性的数据。

21、图2是示出确定量化范围的传统进程的图。

22、参照图2,在进程s200中,在人工神经网络中将激活计算为张量。激活可以通过包括在神经网络中的节点的激活函数来计算。

23、在进程s210中,对所计算的激活进行分类,或者根据激活生成直方图。

24、在进程s220中,直方图的水平轴表示激活值,垂直轴表示激活的数量。通常,激活的分布具有激活的数量随着激活值的增加而减少的形式。在进程s220和进程s230中,直方图示出了仅将激活表示为正数的情况。这仅仅是一个实施例,并且激活可以包括正数、0和负数中的所有,如图1a和图1b所示。

25、在进程s230中,确定用于量化范围的限幅阈值。在进程s230中,大于限幅阈值的激活的5%可以被映射到对应于fp32系统中的量化范围的最大值的int8系统值。作为另一个例子,如果激活包括正数、零和负数,则限幅阈值可以具有上限和下限。大于限幅阈值上限的激活可映射到int8系统的最大值,而小于限幅阈值下限的激活可映射到int8系统的最小值。

26、确定量化范围的常规方法通过直方图生成来分析激活的分布,且基于激活的分布来确定量化范围。

27、用于确定量化范围的代表性传统方法包括基于熵的确定方法、基于预设比率的确定方法和基于最大值的确定方法。基于熵的确定方法是确定量化范围以使得根据量化前后的分布的kullback-leibler散度(kld)最小化的方法。基于预设比率的确定方法是确定量化范围使得量化范围包括预设比率的张量的方法。基于最大值的确定方法是将激活的最大值确定为量化范围的最大值的方法。

28、然而,传统的量化范围确定方法由于直方图生成、分类和最小/最大计算而具有计算复杂度高的问题。

29、由于传统的量化范围确定方法具有高计算复杂度,因此在分配训练的神经网络之前,由pc或服务器以优异的计算性能执行这些方法。这是因为,由于计算复杂性,在具有低计算性能的通用设备或移动设备中难以调整量化范围。换句话说,具有低计算性能的低性能设备别无选择,只能使用固定量化范围来执行推断。这本文档来自技高网...

【技术保护点】

1.一种确定用于人工神经网络的张量的量化范围的计算机实现的方法,所述方法包括:

2.根据权利要求1所述的方法,其中所述饱和比率的所述观测包括计算所述量化范围之外的张量的所述数量与张量的所述数量的所述比率。

3.根据权利要求1所述的方法,其中所述量化范围的所述调整包括:

4.根据权利要求3所述的方法,其中所述当前的移动平均值的所述计算包括通过所述过去的移动平均值与所观测的饱和比率的加权和来计算所述当前的移动平均值。

5.根据权利要求4所述的方法,还包括调整所述过去的移动平均值的权重和所观测的饱和比率的权重。

6.根据权利要求3所述的方法,其中所述量化范围的所述调整包括:

7.根据权利要求1所述的方法,还包括基于所述人工神经网络的批量归一化参数来设置所述量化范围的初始值。

8.根据权利要求1所述的方法,其中所述张量从所述人工神经网络的训练阶段中的训练数据或推断阶段中的用户数据被导出。

9.一种设备,包括:

10.一种计算机可读记录介质,记录用于执行权利要求1至8中任一项所述的方法的计算机程序。

11.一种计算机实现的方法,包括:

12.根据权利要求11所述的计算机实现的方法,其中所述观测的饱和比率是所述量化范围之外的张量的所述数量与量化的张量的所述数量的所述比率。

13.根据权利要求11所述的计算机实现的方法,其中所述量化范围基于在所述当前迭代中的当前的移动平均值与所述目标饱和比率之间的差被调整,

14.一种处理设备,包括:

15.一种算术运算设备,包括:

...

【技术特征摘要】
【国外来华专利技术】

1.一种确定用于人工神经网络的张量的量化范围的计算机实现的方法,所述方法包括:

2.根据权利要求1所述的方法,其中所述饱和比率的所述观测包括计算所述量化范围之外的张量的所述数量与张量的所述数量的所述比率。

3.根据权利要求1所述的方法,其中所述量化范围的所述调整包括:

4.根据权利要求3所述的方法,其中所述当前的移动平均值的所述计算包括通过所述过去的移动平均值与所观测的饱和比率的加权和来计算所述当前的移动平均值。

5.根据权利要求4所述的方法,还包括调整所述过去的移动平均值的权重和所观测的饱和比率的权重。

6.根据权利要求3所述的方法,其中所述量化范围的所述调整包括:

7.根据权利要求1所述的方法,还包括基于所述人工神经网络的批量归一化参数...

【专利技术属性】
技术研发人员:崔容硕
申请(专利权)人:思比恩韩国株式会社
类型:发明
国别省市:

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

1