用于人工智能系统的具有阈值预测的浮点计算技术方案

技术编号:38376583 阅读:13 留言:0更新日期:2023-08-05 17:37
一种系统,包括:浮点计算单元,其被配置为根据第一浮点值和第二浮点值执行点积运算;以及检测逻辑,其在操作上耦接到浮点计算单元。检测逻辑被配置为计算第一浮点值和第二浮点值的指数部分的定点总和之间的差,以及基于所计算的差,在浮点计算单元完成点积运算之前检测条件的存在。响应于检测到条件的存在,检测逻辑还被配置为使得浮点计算单元避免执行否则作为点积运算的一部分执行的计算子集。此类技术用作所避免的计算子集会导致两个浮点值的点积低于阈值的预测器。的点积低于阈值的预测器。的点积低于阈值的预测器。

【技术实现步骤摘要】
【国外来华专利技术】用于人工智能系统的具有阈值预测的浮点计算


[0001]本专利技术一般涉及执行用于人工智能系统的浮点计算。

技术介绍

[0002]机器学习算法(其被视为人工智能系统的示例)正变得广泛地用于受益于改进的迭代计算准确度的计算应用中。基于神经网络的算法是最广泛使用的机器学习算法类型之一。神经网络是通过模仿人脑操作方式的过程来识别一组数据中的基础关系的模型。首先使用训练数据集来训练神经网络模型(训练阶段),然后使用经训练的神经网络模型来识别目标数据集中的关系(推断阶段)。虽然推断阶段可以依赖于低精度定点算术计算,但是训练阶段通常需要浮点算术计算。

技术实现思路

[0003]在一个说明性实施例中,一种系统包括:浮点计算单元,其被配置为根据第一浮点值和第二浮点值执行点积运算;以及检测逻辑,其在操作上耦接到所述浮点计算单元。所述检测逻辑被配置为计算所述第一浮点值和所述第二浮点值的指数部分的定点总和之间的差,以及基于所计算的差,在所述浮点计算单元完成所述点积运算之前检测条件的存在。响应于检测到所述条件的存在,所述检测逻辑还被配置为使得所述浮点计算单元避免执行否则作为所述点积运算的一部分执行的计算子集。
[0004]分别采取以下项的形式提供了其他说明性实施例:具有被配置为执行指令代码的处理器和存储器的装置,被配置为执行所述检测和使得步骤的方法,以及其中包含可执行指令代码的非暂时性处理器可读存储介质,所述可执行指令代码在由处理器时使得所述处理器执行上述步骤。
[0005]有利地,作为一个示例,说明性实施例在计算内积之前预测负内积输出或可接受的小的正内积输出,以便就用于支持计算算法的硬件而言在早期阶段节省计算开销。
[0006]根据附图和以下详细描述,本文所述的实施例的这些和其它特征和优点将变得更加显而易见。
附图说明
[0007]图1A描绘了可用以实现一个或多个说明性实施例的浮点数的字段格式;
[0008]图1B描绘了可用以实现一个或多个说明性实施例的浮点数的算术表示;
[0009]图1C描绘了与可用以实现一个或多个说明性实施例的浮点点积计算相关联的计算内核;
[0010]图2描绘了可用以实现一个或多个说明性实施例的浮点乘加器逻辑;
[0011]图3描绘了根据说明性实施例的用于浮点点积计算的阈值检测逻辑;
[0012]图4A和4B分别描绘了根据说明性实施例的没有电压缩放的处理流程和具有电压缩放的处理流程;
[0013]图5描绘了根据说明性实施例的用于浮点点积计算的阈值检测逻辑的方法;
[0014]图6描绘了根据说明性实施例的人工智能系统的示例性实现;
[0015]图7描绘了根据说明性实施例的示例性处理器系统;
[0016]图8描绘了根据说明性实施例的云计算环境;
[0017]图9描绘了根据说明性实施例的抽象模型层。
具体实施方式
[0018]在此可以参考示例性计算环境、云基础设施、数据储存库、数据中心、数据处理系统、信息处理系统、计算机系统、数据存储系统和相关联的服务器、计算机、存储单元和设备以及其他处理和计算设备来描述说明性实施例。然而,应当理解,本专利技术的实施例不限于与所示的特定说明性系统和设备配置一起使用。此外,如本文所使用的短语“云平台”、“云计算环境”、“云基础设施”、“数据储存库”、“数据中心”、“数据处理系统”、“信息处理系统”、“计算机系统”、“数据存储系统”、“计算环境”等旨在被宽泛地解释,以便涵盖例如私有和/或公共云计算或存储系统,以及包括分布式虚拟基础设施的其他类型的系统。然而,给定实施例可以更一般地包括一个或多个处理设备的任何布置。
[0019]如上文在
技术介绍
部分中所述,人工智能(例如,机器学习)系统中使用的神经网络模型的训练阶段通常需要浮点算术计算。作为一个示例,这种浮点算术可以包括在电气和电子工程师协会(IEEE)标准中定义的计算,该标准题为“IEEE 754

2019:IEEE浮点算术标准(IEEE 754

2019:IEEE Standard for Floating

Point Arithmetic)”。IEEE 754标准规定了用于计算机编程环境中的二进制(基数2)和十进制(基数10)浮点算术的算术格式和方法。IEEE指出,符合该标准的浮点系统的实现可以完全由软件实现,完全由硬件实现,或者由软件和硬件的任何组合实现。
[0020]IEEE 754定义了每个数使用16位的半精度格式、每个数使用32位的单精度格式、以及每个数使用64位的双精度格式。每个格式包括符号

s

、指数

e

和表示为小数值

f

的尾数(例如,通过采取前导1位后跟小数部分来对数进行归一化,该小数部分包括小数点右侧的有效值)。因此,尾数是浮点数的一部分,其表示该数的有效数位,并且与自乘到指数的基数相乘以给出该数的实际值。
[0021]图1A描绘了符合IEEE 754标准并且可用以实现一个或多个说明性实施例的浮点数的字段格式100。分别表示指数部分和小数部分的位数的变量n和p取决于所选择的精度。图1B描绘了与图1A中的字段格式100一致并且可用以实现一个或多个说明性实施例的浮点数的算术表示110(其被表示为值(x))。
[0022]在人工智能系统中使用的神经网络模型的训练阶段中执行的一种浮点计算是浮点点积计算。点积计算通常在人工智能系统的乘加器(MAC)单元中执行。点积是输入两个相等长度的数字序列(例如,两个浮点数)并返回单个数字的代数运算。更具体地说,点积是两个数字序列的相应条目的乘积之和。在两个输入数是向量的情况下,点积运算的结果(也称为内积)是标量值。
[0023]此外,现代人工智能系统中的计算内核取内积(浮点点积运算的结果)并将整流线性单元(Relu)函数应用于内积。图1C描绘了将Relu函数应用于针对两个浮点值x和w计算的内积的计算内核120。Relu函数仅通过正输入,即,只要y大于零,则从Relu函
数输出y,在其他情况下,Relu函数输出零。
[0024]在此认识到,如果甚至在计算整个点积之前可以检测到负值,使得可以提供零输出而不完全计算该内积,则这将是高度能量有效的。说明性实施例提供了在计算内积之前(即,在内积计算完成之前)预测这种负内积输出的技术,以便就用于支持计算算法的硬件而言在早期阶段节省计算开销。
[0025]回想一下,如上文所解释且如图1A和1B中所说明,浮点数用三个字段表示:符号(s)、指数(e)和小数(f)。在IEEE 754半精度格式的情况下,例如,s=1位,e=5位,f=10位。对于正规数(normal numbers),浮点数表示为值(x)=(

1)
s
*2
[e]*(1.f)。显然,该值的大小主要取决于“本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种系统,包括:浮点计算单元,其被配置为根据第一浮点值和第二浮点值执行点积运算;以及检测逻辑,其在操作上耦接到所述浮点计算单元;其中,所述检测逻辑被配置为计算所述第一浮点值和所述第二浮点值的指数部分的定点总和之间的差,以及基于所计算的差,在所述浮点计算单元完成所述点积运算之前检测条件的存在;其中,响应于检测到所述条件的存在,所述检测逻辑还被配置为使得所述浮点计算单元避免执行否则作为所述点积运算的一部分执行的计算子集。2.根据权利要求1所述的系统,其中,所检测的条件是所述第一浮点值和所述第二浮点值的指数部分的定点总和之间的所述差的计算结果是否低于阈值。3.根据权利要求2所述的系统,其中,所述阈值是正值和零中的一个。4.根据权利要求2所述的系统,其中,所检测的条件的存在用作所避免的计算子集会导致所述第一浮点值与所述第二浮点值的点积低于所述阈值的预测器。5.根据任一前述权利要求所述的系统,还包括:电压缩放控制器,其在操作上耦接到所述检测逻辑,并且被配置为与和所述浮点计算单元相关联的处理延迟成比例地减小所述检测逻辑的操作电压。6.根据任一前述权利要求所述的系统,其中,所述点积运算是用于在人工智能系统中使用的神经网络模型的训练阶段的一部分。7.根据任一前述权利要求所述的系统,其中,所述系统被实现为一个或多个集成电路的一部分。8.一种方法,包括以下步骤:计算第一浮点值和第二浮点值的指数部分的定点总和之间的差;基于所计算的差,在被配置为根据所述第一浮点值和所述第二浮点值执行点积运算的浮点计算单元完成点积运算之前检测条件的存在;以及响应于检测到所述条件的存在,使得所述浮点计算单元避免执行否则作为所述点积运算的一部分执行的计算子集;其中,由被配置为执行指令代码的处理电路来执行所述步骤中的一个或多个步骤。9.根据权利要求8所述的方法,其中,所检测的条件是所述第一浮点值和所述第二浮点值的指数部分的定点总和之间的所述差的计算结果是否低于阈值。10.根据权利要求9所述的方法,其中,所述阈值是正值和零中的一个。11.根据权...

【专利技术属性】
技术研发人员:姜旻求禹成勋李垠炅
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1