用于智能模型高效训练和推理的浮点表示方法

专利查询6天前  7


本发明属于智能模型,尤其涉及一种用于智能模型高效训练和推理的浮点表示方法。


背景技术:

1、从传统的机器学习模型和浅层神经网络,到之后的深度神经网络、transformer模型,以及现在的大语言模型,人工智能领域发生了翻天覆地的变化,它在图像识别、计算机视觉、语音处理、自然语言处理等众多领域表现出色,在当今社会占据着无可替代的地位。伴随着人们不断追求表现更加出色的智能模型,主流智能模型的复杂度和参数量呈现出不断上升的趋势,对硬件平台的存算资源和软件算法的效率提出了更高的要求。因此,如何减少智能模型训练和推理过程中对存储和计算资源的需求,提升训练和推理的效率是当下的研究热点之一。

2、混合精度优化在训练和推理过程中引入低精度浮点数表示,部分或者全部代替传统的单精度浮点表示(fp32)参与模型训练和推理过程中的计算和存储,是优化模型训练和推理过程的一种有效手段,能够从根本上减少模型训练和推理过程中的计算量和存储量。

3、浮点单元(floating point unit,fpu)是独立的处理器或集成处理器的一个重要部分,作为硬件电路实现,执行浮点计算。虽然早期的fpu是独立的处理器,但现在大多数都集成在计算机的cpu中。现代cpu中的集成式fpu非常复杂,因为它们执行高精度浮点计算,同时确保符合ieee浮点标准(ieee 754)中规定的管理这些计算的规则。

4、浮点格式的表示效率对于混合精度优化的效果至关重要。除了目前已有ieee-754标准浮点格式fp16、fp32和fp64,研究人员又提出了新的低精度浮点格式,比如amd提出的fp24、google提出的bfloat16(bf16),以及intel提出的fp8等。尽管这些低精度浮点格式已用于智能模型的训练和推理优化,但它们采用了类似于ieee-754浮点标准中定义的“符号位+指数+尾数”的表示方式,在模型训练和推理中存在如下问题:

5、1.不同浮点格式之间转换复杂。当两种浮点格式的指数位数不同时,无论是从高精度到低精度,还是从低精度转换到高精度,都需要计算新浮点格式下的指数值,并且对尾数域进行调整。

6、2.浮点的计算格式和存储格式紧耦合。为了支持混合精度计算,需要在计算过程中获得同一个数据的不同精度表示。现有类ieee-754的浮点表示方法无法支持对同一浮点数据以不同的精度按需加载和计算,而是需要以某种格式加载进内存中并在线转换为另一种格式,或者存储一份数据的多个不同精度副本来满足混合精度计算的需求,增加了浮点数据的转换或存储开销。

7、3.浮点数在数轴上分布不均。在类ieee-754表示方法中,靠近数轴原点附近的浮点数更加稠密,而远离原点向两端越来越稀疏。实际智能模型中产生和处理的浮点数不一定都在原点附近,部分数据在远离原点的某个区域聚集。图1展示了大语言模型chatglm-6b中某一个网络层权重和激活值的概率分布图,可以观察到这两个张量均呈现出高度聚集的数值分布,但两个张量在数轴上集中分布的位置不同,左侧的张量主要聚集在区间[2.0,3.5],而右侧的张量集中分布在零点附近。类ieee-754浮点格式对右侧张量的表示精度要高于对左侧张量的表示精度。


技术实现思路

1、为解决上述技术问题,本发明提出了一种用于智能模型高效训练和推理的浮点表示方法,以解决现有技术存在的问题。

2、为实现上述目的,本发明提供了一种用于智能模型高效训练和推理的浮点表示方法,包括:

3、基于智能模型中浮点数的数值分布特征,将数轴划分为多个浮动区间;

4、基于每个浮动区间的浮点数密度,为每个浮动区间分配确定的比特位数量;

5、基于所述比特位数量,通过哈夫曼编码为每个浮动区间分配唯一的区间标识符;

6、每个浮点数的表示由所述区间标识符和所述浮动区间内的具体位置组成,以实现智能模型训练和推理的优化。

7、优选地,所述数值分布特征为张量数据的多峰聚集分布。

8、优选地,基于浮动区间的浮点表示,支持集中分布在数轴任何位置的数据表示。

9、优选地,所述比特位数量根据所述浮动区间的浮点数密度进行动态调整。

10、为了实现上述技术目的,本发明还提供了一种智能模型的训练和推理的浮点计算方法,基于所述的用于智能模型高效训练和推理的浮点表示方法,采用查表机制代替浮点数运算。

11、优选地,采用查表机制代替浮点数运算的过程包括:

12、将两个基于浮动区间表示的浮点数拼接为一个查询索引;

13、使用查询索引在预先计算和缓存的结果表中查找对应的运算结果。

14、本发明还提供了一种智能模型的算子优化方法,其特征在于,采用所述的用于智能模型高效训练和推理的浮点表示方法进行算子的运算优化。

15、本发明还提供了一种智能模型的训练和推理系统,所述训练和推理系统用于实施所述的智能模型的训练和推理的浮点计算方法。

16、与现有技术相比,本发明具有如下优点和技术效果:

17、本发明提供了一种用于智能模型高效训练和推理的浮点表示方法,包括:基于智能模型中浮点数的数值分布特征,将数轴划分为多个浮动区间;基于每个浮动区间的浮点数密度,为每个浮动区间分配确定的比特位数量;基于所述比特位数量,通过哈夫曼编码为每个浮动区间分配唯一的区间标识符;每个浮点数的表示由所述区间标识符和所述浮动区间内的具体位置组成,以实现智能模型训练和推理的优化。

18、本发明基于浮动区间的浮点表示可以通过调整区间大小和位置编码位宽改变范围和精度,实现不同精度之间的快速转换。其中,浮动区间表示能够实现在数轴的不同位置采用不同的表示密度,具有更好的表示适应性和灵活性。另外,浮动区间表示支持精度的快速转换,从而支持计算格式与存储格式的解耦合。因此,相比于现有ieee-754类浮点格式,本发明用于智能模型高效训练和推理的浮点表示方法,突破了现有浮点格式的限制,解决了现有浮点格式存在不同精度转换开销大、存储与计算紧耦合、浮点数据在数轴上分布不均等问题,进一步提升了智能模型中浮点数据表示的效率,为智能模型的混合精度优化提供了新的机会。



技术特征:

1.一种用于智能模型高效训练和推理的浮点表示方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的用于智能模型高效训练和推理的浮点表示方法,其特征在于,所述数值分布特征为张量数据的多峰聚集分布。

3.根据权利要求1所述的用于智能模型高效训练和推理的浮点表示方法,其特征在于,基于浮动区间的浮点表示,支持集中分布在数轴任何位置的数据表示。

4.根据权利要求1所述的用于智能模型高效训练和推理的浮点表示方法,其特征在于,所述比特位数量根据所述浮动区间的浮点数密度进行动态调整。

5.一种智能模型训练和推理的浮点计算方法,其特征在于,基于权利要求1-4中任一项所述的用于智能模型高效训练和推理的浮点表示方法,采用查表机制代替浮点数运算。

6.根据权利要求5所述的智能模型训练和推理的浮点计算方法,其特征在于,采用查表机制代替浮点数运算的过程包括:

7.一种智能模型的算子优化方法,其特征在于,采用权利要求1-4中任一项所述的用于智能模型高效训练和推理的浮点表示方法进行算子的运算优化。

8.一种智能模型的训练和推理系统,其特征在于,所述训练和推理系统用于实施权利要求5-6中任一项所述的智能模型的训练和推理的浮点计算方法。


技术总结
本发明公开了用于智能模型高效训练和推理的浮点表示方法,属于人工智能领域。浮点表示方法包括:基于智能模型中浮点数的数值分布特征,将数轴划分为多个浮动区间;基于每个浮动区间的浮点数密度,为每个浮动区间分配确定的比特位数量;基于所述比特位数量,通过哈夫曼编码为每个浮动区间分配唯一的区间标识符;每个浮点数的表示由所述区间标识符和所述浮动区间内的具体位置组成。相比于现有IEEE‑754类浮点格式,本发明公开的用于智能模型高效训练和推理的浮点表示方法,解决了现有浮点格式存在不同精度转换开销大、存储与计算紧耦合、浮点数据在数轴上分布不均等问题,提升了智能模型中浮点数据表示的效率,为智能模型训练和推理的优化提供了新的机会。

技术研发人员:高建花,计卫星,黄华
受保护的技术使用者:北京师范大学
技术研发日:
技术公布日:2024/12/5

最新回复(0)