计算机可读记录介质、信息处理方法和信息处理装置制造方法及图纸

技术编号:36066473 阅读:15 留言:0更新日期:2022-12-24 10:33
提供了计算机可读记录介质、信息处理方法和信息处理装置。使计算机执行以下处理:在深度学习中,检测与使用特定位数执行的运算相比使用较低位数执行的运算中的学习失败的征兆;回滚至检测到征兆的运算,并且通过使用特定位数的运算执行重新计算;确定是否允许从使用特定位数的运算返回至使用较低位数的运算;并且当允许返回至使用较低位数的运算时,切换至使用较低位数的运算。用较低位数的运算。用较低位数的运算。

【技术实现步骤摘要】
计算机可读记录介质、信息处理方法和信息处理装置


[0001]本文所讨论的实施方式涉及计算机可读记录介质、信息处理方法和信息处理装置。

技术介绍

[0002]近年来,在用于实现高速机器学习的技术中,运算精度优化技术已经引起了人们的注意。虽然通常使用32位浮点数(floating

point number)进行机器学习中的运算,但是在一些情况下,较少的位数足以解决使用机器学习的问题。当使用较少的位数执行运算时,得到诸如更高的计算速度、改进的功率性能和节省存储器资源的益处。
[0003]目前,许多公司正在努力开发或应用运算精度优化技术。例如,已知用于通过在图形处理单元(GPU)上使用8位或16位浮点数来以较少位数执行运算的技术。还已知通过使用张量处理单元(TPU)用8位整数执行推理的技术,TPU是专用于张量运算的处理器。
[0004]在这些背景下,已经提出了根据机器学习中的阶段来改变定点表示,以最佳精度水平执行运算的处理器。该处理器被设计成特别专用于深度学习,一种机器学习的类型,并且根据训练的进度利用深度学习所具有的特性来优化运算精度。这些特性是“在迭代和下一次迭代之间计算的数值之间的变化越来越小”和“张量具有的值的分布越来越窄”。在这里,一次迭代对应于机器学习中的一次重复。
[0005]在学习中,使用常规使用的32位浮点格式的训练在学习的前半部分(下文中可以称为“预学习”)期间进行,其中迭代与下一次迭代之间的数值变化以及张量所具有的值的变化幅度相对较大。使用可改变小数点位置的8位或16位定点运算的训练在变化幅度逐渐变小的学习的后半部分(下文中也以可称为“主学习”)期间进行。32位浮点运算的示例包括FP32运算,而8位或16位定点运算的示例包括深度学习整数(DL

INT)运算和量化整数(QINT)运算。
[0006]在定点运算中,通过适当地调整数值的小数点位置,数据可以用8位或16位表示。对于DL

INT运算,小数点位置由值(下文中可以称为“Q值”)确定,每个所述值基于相应张量的元素的各个小数点的分布(下文中可以称为“统计信息”)确定。此后,例如,当执行运算时,用从以8位表示的数值数据中读出的值和Q值来执行运算。
[0007]作为参考,当计算Q值时,用被视为非正则值(irregular value)的实现相关的“0”值来执行计算。其原因在于,因为在深度学习运算中,在某些情况下“0”被用作张量的掩码或被用于填充图像的区域,所以当在Q值计算中引入“0”作为正则值(regular value)时,难以完全表示数值数据。
[0008]此外,8位或16位运算的缺点在于更可能导致机器学习失败。因此,作为避免学习失败的手段,可以采用以下方法:将训练中的状态定期存储为检查点,例如,以五千次迭代中存储一次的频率;当发生学习失败时,从检查点执行重新计算。因此,在一般的深度学习中,通过定期创建这些检查点来进行训练。
[0009]在日本公开特许公报第07

84975号、日本公开特许公报第2019

125014号、日本公
开特许公报第2020

161031号、美国专利第5845051号和国际公开小册子第WO2018/139266号中公开了常规技术。
[0010]然而,在常规方法中,由于需要进行训练直至机器学习的失败以例如损失值(lost value)没有减少或获得非数字(NaN)值的形式变得明显,所以执行了许多浪费的计算。此外,返回到检查点无法消除确定训练正常进行到哪个点的困难。此外,在常规方法中,例如不存在能够在切换至FP32运算之后返回至8位数据类型运算的机制,并且切换之后的计算需要保持使用FP32运算来执行。
[0011]因此,本专利技术实施方式的一个方面的目的是提高深度学习中的计算效率。

技术实现思路

[0012]根据实施方式的一方面,一种存储程序的非暂态计算机可读记录介质,所述程序使计算机执行处理,该处理包括:在深度学习中,检测与使用特定位数执行的运算相比使用较低位数执行的运算中的学习失败的征兆;回滚至检测到征兆的运算,并且通过使用特定位数的运算执行重新计算;确定是否允许从使用特定位数的运算返回至使用较低位数的运算;以及当允许返回至使用较低位数的运算时,切换至使用较低位数的运算。
附图说明
[0013]图1是示出根据第一实施方式的信息处理装置100的计算示例的视图;
[0014]图2是示出根据第一实施方式的用户使用场景的流程的流程图;
[0015]图3是示出根据第一实施方式的信息处理装置100的功能配置的框图。
[0016]图4是示出根据第一实施方式的异常检测方法的示例的视图;
[0017]图5是示出根据第一实施方式的异常检测方法的另一示例的视图;
[0018]图6是示出根据第一实施方式的在异常避免处理之后执行的返回处理的示例的视图;
[0019]图7是示出根据第一实施方式的返回处理中的功能块的示例的视图;
[0020]图8是示出根据第一实施方式的正常运算期间的数据流的示例的视图;
[0021]图9是示出根据第一实施方式的Q值的示例的视图;
[0022]图10是示出根据第一实施方式的主处理的处理流程(1)的示例的视图;
[0023]图11是示出根据第一实施方式的主处理的处理流程(2)的示例的视图;
[0024]图12是示出根据第一实施方式的子处理的处理流程的示例的视图;以及
[0025]图13是示出硬件配置示例的图。
具体实施方式
[0026]将参照附图来说明本专利技术的优选实施方式。这些实施方式并不旨在限制本专利技术。实施方式可以在不涉及不一致性的程度适当地组合。
[0027][a]第一实施方式
[0028]信息处理装置100的描述
[0029]根据第一实施方式的信息处理装置100是使用提供深度学习等功能的机器学习框架来构建机器学习模型的计算机的示例。在深度学习中,以下列方式优化运算处理。在对应
于深度学习的前半部分的预学习期间,迭代和下一次迭代之间的数值变化以及张量所具有的值的变化幅度相对较大,因此使用32位浮点运算来进行训练。在对应于深度学习的后半部分的主学习期间,进行使用可以改变小数点位置的8位或16位定点运算的训练。
[0030]图1是示出根据第一实施方式的信息处理装置100的计算示例的视图;如图1所示,当接收到用户想要解决的问题的输入时,信息处理装置10定义用于得到解的计算模型,并且对该计算模型进行学习,从而得到问题的解。
[0031]图1所示的计算模型的示例表示图的结构从迭代=i到迭代=i+1变化的结构。通常,统计信息与可以通过“计算图结构信息”标识的各个节点相关联地被管理。当在计算图的每个节点处执行运算时,代替对应于当前迭代的小数点位置来使用当前迭代的紧之前迭代中的对应运算的输出的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储有程序的计算机可读记录介质,所述程序使计算机执行处理,所述处理包括:在深度学习中,检测与使用特定位数执行的运算相比使用较低位数执行的运算中的学习失败的征兆;回滚至检测到所述征兆的运算,并且通过使用所述特定位数的运算来执行重新计算;确定是否允许从使用所述特定位数的运算返回至使用所述较低位数的运算;以及当允许返回至使用所述较低位数的运算时,切换至使用所述较低位数的运算。2.根据权利要求1所述的计算机可读记录介质,其中,切换至使用所述较低位数的运算包括:切换至深度学习整数DL

INT运算或量化整数QINT运算。3.根据权利要求1或2所述的计算机可读记录介质,其中,检测所述征兆包括:当输入张量的Q值之间的差在允许范围以外时,检测所述征兆。4.根据权利要求1或2所述的计算机可读记录介质,其中,检测所述征兆包括:当输出张量之间的Q值变化范围大于或等于特定阈值时,检测所述征兆。5.根据权利要求1或2所述的计算机可读记录介质,其中,检测所述征兆包括:确定用于计算Q值的采样值是否全部为零,以及当所述采样值全部为零时,基于过去的Q值检测所述征兆。6.根据权利要求1或2所述的计算机可读记录介质,其中,检测所述征兆包括:当经历上溢或下溢的元素数量相对于要采样的元素数量大于或等于特定...

【专利技术属性】
技术研发人员:郭家俊加藤雅也赤尾和俊福士达也胜木隆史泽田孝
申请(专利权)人:富士通株式会社
类型:发明
国别省市:

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

1