存储算术程序的计算机可读记录介质、算术方法和设备技术

技术编号:36864910 阅读:26 留言:0更新日期:2023-03-15 18:59
公开了存储算术程序的计算机可读记录介质、算术方法和设备。一种算术处理的计算机实现的方法,该方法包括:通过在由多维阵列表示的张量的各个维度中的每个维度的方向上投射最大绝对值来确定各个维度的最大绝对值,在张量中针对阵列的元素中的每个元素设置了值;确定最小值,该最小值指示各个维度的最大绝对值当中的最小的最大绝对值;以及基于最小值针对张量设置量化范围。张量设置量化范围。张量设置量化范围。

【技术实现步骤摘要】
存储算术程序的计算机可读记录介质、算术方法和设备


[0001]本文所讨论的实施方式涉及存储算术程序的非暂态计算机可读存储介质等。

技术介绍

[0002]在深度学习中,存在对数据值进行量化以加速用于学习模型的机器学习的处理的方法。此处,将描述对用于机器学习的张量进行量化的现有技术。
[0003]张量的值由公式(1)表示。张量的元素数据由FP格式(s

ebit

mbit)和指数部分偏差b表示。例如,在由公式(1)指示的示例中,s表示1位固定符号位。指数部分e中的位数由ebit表示。尾数m中的位数由mbit表示。指数部分的偏差值由b表示。张量中的所有元素使用相同的ebit、mbit和b。
[0004][公式1][0005][0006]在现有技术中,由于上限量化和下限量化而存在舍入范围。图9是用于说明现有技术的图。图9中的直方图的横轴对应于指数部分e的值,而纵轴表示元素的数量。根据现有技术,在量化目标范围被设置为[a,a+E]的情况下,将指数部分e小于a的下限范围A1中的元素舍入为0。此外,将指数部分e等于或大于a+E的上限范围A2中的元素舍入为2
(a+E)
。量化指数宽度由E表示,例如E=2
ebit

[0007]根据现有技术,基于量化目标张量T的元素的最大绝对值(max_e)来计算量化目标范围。基于公式(2)计算最大绝对值。
[0008][公式2][0009][0010]作为相关技术公开了国际公布小册子第WO2020/065874号、国际公布小册子第WO2019/146189号和美国专利申请公布第2019/0340492号。

技术实现思路

[0011]技术问题
[0012]然而,上述现有技术具有在对张量进行量化时张量的数学性质改变的问题。
[0013]图10是用于说明现有技术的问题的图。图10中的直方图的横轴对应于指数部分e的值,而纵轴表示元素的数量。在指数部分e的元素的一部分具有大值的情况下,量化目标范围R1被向上偏差,并且其他元素的大部分被舍入为0。在图10所示的示例中,张量中等于或大于99.9%的非零元素被舍入为0。当以这种方式舍入时,不保存诸如张量的秩数的特性,并且数学性质改变。
[0014]在一个方面,实施方式旨在提供在不改变张量的数学性质的情况下能够对张量进行量化的算术程序、算术方法和算术设备。
[0015]问题的解决方案
[0016]根据实施方式的一个方面,提供了一种算术处理的计算机实现方法。在示例中,该方法包括:通过在由多维阵列表示的张量的各个维度中的每个维度的方向上投射最大绝对值来确定各个维度的最大绝对值,在张量中针对阵列的元素中的每个元素设置了值;确定最小值,该最小值指示各个维度的最大绝对值当中的最小的最大绝对值;以及基于最小值针对张量设置量化范围。
[0017]专利技术的有益效果
[0018]在不改变张量的数学性质的情况下对张量进行量化成为可能。
附图说明
[0019]图1是用于说明根据第一实施方式的算术设备的处理的图;
[0020]图2是示出根据第一实施方式的算术设备的量化和现有技术的量化之间的比较结果的图;
[0021]图3是示出根据第一实施方式的算术设备的配置的功能框图;
[0022]图4是示出根据第一实施方式的算术设备的处理过程的流程图;
[0023]图5是用于说明根据第二实施方式的算术设备的处理的图;
[0024]图6是示出根据第二实施方式的算术设备的配置的功能框图;
[0025]图7是示出根据第二实施方式的算术设备的处理过程的流程图;
[0026]图8是示出实现与根据实施方式的算术设备的功能类似的功能的计算机的示例性硬件配置的图;
[0027]图9是用于说明现有技术的图;以及
[0028]图10是用于说明现有技术的问题的图。
具体实施方式
[0029]在下文中,将参照附图详细描述在本申请中公开的算术程序、算术方法和算术设备的实施方式。注意,实施方式不限于本公开内容。
[0030][第一实施方式][0031]根据第一实施方式的算术设备执行以下处理来设置量化范围,以便在不改变张量的数学性质的情况下对张量进行量化。
[0032]图1是用于说明根据第一实施方式的算术设备的处理的图。图1使用二维张量Ta给出了说明。针对张量Ta的每个元素设置指数部分e的值。例如,分别针对张量Ta的元素(0,0)、(0,1)和(0,2)设置“16”、“1”和“4”。分别针对张量Ta的元素(1,0)、(1,1)和(1,2)设置值“1”、“1024”和“0”。分别针对张量Ta的元素(2,0)、(2,1)和(2,2)设置值“128”、“1”和“128”。
[0033]算术设备在维度中的每个维度的方向上投射最大绝对值,从而确定维度的各个最大绝对值。例如,算术设备在元素(0,0)、(0,1)和(0,2)的行方向上投射最大绝对值,从而确定“16”。算术设备在元素(1,0)、(1,1)和(1,2)的行方向上投射最大绝对值,从而确定“1024”。算术设备在元素(2,0)、(2,1)和(2,2)的行方向上投射最大绝对值,从而确定“128”。
[0034]算术设备在元素(0,0)、(1,0)和(2,0)的列方向上投射最大绝对值,从而确定

128”。算术设备在元素(0,1)、(1,1)和(2,1)的列方向上投射最大绝对值,从而确定“1024”。算术设备在元素(0,2)、(1,2)和(2,2)的列方向上投射最大绝对值,从而确定“128”。
[0035]算术设备确定由上述处理确定的各个维度的最大绝对值当中的最小的最大绝对值。在以下描述中,最小的最大绝对值将被称为“最小值a”。在图1所示的示例中,算术设备从最大绝对值16、1024、128、128、1024和128中确定最小值a“16”。
[0036]算术设备基于最小值a指定“rank_e”。基于公式(3),指定rank_e。当最小值a=16时,rank_e=4。
[0037]rank_e=[log2a]...(3)
[0038]算术设备基于rank_e设置量化范围。例如,假设量化范围是[rank_e,rank_e+E]。此处,E表示量化指数宽度,并且被预先指定。在rank_e=4且E=2的情况下,量化范围是[4,5]。
[0039]同时,根据现有技术,基于max_e确定量化范围。存在max_e=log2(a'+E)的关系,并且a'表示张量Ta的每个元素的最大绝对值。基于max_e的量化范围为[log2a',log2(a'+E)]。例如,图1中示出的张量Ta的最大绝对值a'是“1024”,并且基于max_e的量化范围是[9,10]。
[0040]图2是示出根据第一实施方式的算术设备的量化与现有技术的量化之间的比较结果的图。如图2所示,当利用rank_e本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储算术程序的非暂态计算机可读记录介质,所述算术程序用于使计算机执行处理,所述处理包括:通过在由多维阵列表示的张量的各个维度中的每个维度的方向上投射最大绝对值来确定所述各个维度的最大绝对值,其中,在所述张量中针对所述阵列的元素中的每个元素设置了值;确定最小值,所述最小值指示所述各个维度的最大绝对值当中的最小的最大绝对值;以及基于所述最小值针对所述张量设置量化范围。2.根据权利要求1所述的非暂态计算机可读记录介质,其中,设置所述量化范围是基于在所述最小值与通过下述方式获得的值当中较小的值来设置所述量化范围:该值是通过从所述张量中包括的所有元素的最大绝对值减去与所述量化范围相对应的值而获得的。3.根据权利要求1所述的非暂态计算机可读记录介质,其中,设置所述量化范围是基于所述最小值与通过下述方式获得的值的加权和来设置所述量化范围:该值是通过从所述张量中包括的所有元素的最大绝对值减去与所述量化范围相对应的值而获得的。4.根据...

【专利技术属性】
技术研发人员:田宫丰
申请(专利权)人:富士通株式会社
类型:发明
国别省市:

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

1