技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种分组归一化算子的执行方法、设备及存储介质与流程  >  正文

一种分组归一化算子的执行方法、设备及存储介质与流程

  • 国知局
  • 2024-08-19 14:32:38

本申请实施例涉及人工智能,尤其涉及一种分组归一化算子的执行方法、设备及存储介质。

背景技术:

1、人工智能模型通常指被训练用来进行推理预测的神经网络模型,例如图像推理模型、语音推理模型等。人工智能模型的运算可以由计算图(computation graph)中的算子(operator)来实现。算子指的是对人工智能模型中各层的张量所做的各种运算,例如分组归一化(group normalization,简称gn)算子是一种在深度学习领域中对神经网络激活进行归一化处理的算子。

2、在分组归一化算子的实现方式中,需要从显存中加载两次输入张量,第一次加载输入张量用于求均值和方差,第二次加载输入张量用于计算最终输出。上述重复加载方式导致算子计算效率较低。

技术实现思路

1、本申请实施例提供了一种分组归一化算子的执行方法、设备及存储介质,用于提高算子计算效率。

2、一方面,本申请实施例提供了一种分组归一化算子的执行方法,包括:

3、针对分组归一化算子的输入张量包含的多个分组数据,分别执行以下步骤:

4、从显存中加载一个分组数据,并基于所述一个分组数据计算相应的组特征值,以及将所述一个分组数据中的多个通道数据缓存到片上高速缓存中;

5、从所述片上高速缓存中读取所述多个通道数据,并基于所述组特征值和所述多个通道数据,计算所述一个分组数据的归一化结果。

6、一方面,本申请实施例提供了一种分组归一化算子的执行装置,包括:

7、加载单元,用于针对分组归一化算子的输入张量包含的多个分组数据,分别执行以下步骤:从显存中加载一个分组数据,并基于所述一个分组数据计算相应的组特征值,以及将所述一个分组数据中的多个通道数据缓存到片上高速缓存中;

8、计算单元,用于针对分组归一化算子的输入张量包含的多个分组数据,分别执行以下步骤:从所述片上高速缓存中读取所述多个通道数据,并基于所述组特征值和所述多个通道数据,计算所述一个分组数据的归一化结果。

9、可选地,所述加载单元还用于:

10、所述针对分组归一化算子的输入张量包含的多个分组数据,分别执行以下步骤之前,基于所述片上高速缓存的存储空间和每个通道数据的大小,确定所述片上高速缓存可容纳的通道数据的目标上限值;

11、所述加载单元具体用于:

12、按照所述目标上限值,将所述一个分组数据中相应数量的通道数据缓存到片上高速缓存中。

13、可选地,所述加载单元具体用于:

14、若所述一个分组数据包含的通道数据的数量小于等于所述目标上限值,则将所述一个分组数据包含的所有通道数据缓存到所述片上高速缓存中。

15、可选地,所述加载单元具体用于:

16、若所述一个分组数据包含的通道数据的数量大于所述目标上限值,则将所述一个分组数据中所述目标上限值的通道数据缓存到所述片上高速缓存中。

17、可选地,所述加载单元具体用于:

18、若所述一个分组数据包含的通道数据的数量大于所述目标上限值,则按照所述一个分组数据中各个通道数据对应的通道编号,从所述一个分组数据中选取所述目标上限值的通道数据缓存到所述片上高速缓存中。

19、可选地,所述计算单元具体用于:

20、从所述片上高速缓存中读取所述目标上限值的通道数据,以及从所述显存中读取所述一个分组数据中除所述目标上限值的通道数据之外的其他通道数据;

21、基于所述组特征值、所述目标上限值的通道数据和所述其他通道数据,计算所述一个分组数据的归一化结果。

22、可选地,所述加载单元具体用于:

23、通过线程束群从显存中加载一个分组数据,并基于所述一个分组数据计算相应的组特征值,其中,所述线程束群中包括多个原始线程束。

24、可选地,所述一个分组数据包含的通道数据的数量,是所述线程束群包含的原始线程束的数量的整数倍。

25、可选地,所述加载单元具体用于:

26、当所述一个分组数据包含的通道数据的数量,是所述线程束群包含的原始线程束的数量的非整数倍时,通过线程束协作方式启动多个协作线程束;

27、通过所述多个原始线程束和所述多个协作线程束,从显存中加载一个分组数据,并基于所述一个分组数据计算相应的组特征值。

28、可选地,所述加载单元具体用于:

29、按照所述输入张量在所述显存中的布局类型,从所述显存中加载所述一个分组数据。

30、一方面,本申请实施例提供了一种计算机设备,包括存储器、人工智能芯片及存储在存储器上并可在人工智能芯片上运行的计算机程序,所述人工智能芯片执行所述计算机程序时实现上述分组归一化算子的执行方法的步骤。

31、一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行上述分组归一化算子的执行方法的步骤。

32、一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机设备执行时,使所述计算机设备执行上述分组归一化算子的执行方法的步骤。

33、本申请实施例中,针对输入张量包含的每个分组数据,从显存中加载分组数据后,不仅计算分组数据的组特征值,同时将分组数据中的多个通道数据缓存到片上高速缓存中,这样,在计算分组数据的归一化结果时,对于已经缓存在片上高速缓存中的通道数据,不需要重复从显存中加载,而是直接从片上高速缓存中读取并进行归一化计算。由于片上高速缓存的读写速度比显存的读写速度更快,因此,通过减少从显存中重复加载数据,可有效减少对显存的访存次数,从而提高了gn算子的计算效率和算子性能。

技术特征:

1.一种分组归一化算子的执行方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述针对分组归一化算子的输入张量包含的多个分组数据,分别执行以下步骤之前,还包括:

3.如权利要求2所述的方法,其特征在于,所述按照所述目标上限值,将所述一个分组数据中相应数量的通道数据缓存到所述片上高速缓存中,包括:

4.如权利要求2所述的方法,其特征在于,所述按照所述目标上限值,将所述一个分组数据中相应数量的通道数据缓存到所述片上高速缓存中,包括:

5.如权利要求4所述的方法,其特征在于,所述若所述一个分组数据包含的通道数据的数量大于所述目标上限值,则将所述一个分组数据中所述目标上限值的通道数据缓存到所述片上高速缓存中,包括:

6.如权利要求4所述的方法,其特征在于,所述从所述片上高速缓存中读取所述多个通道数据,并基于所述组特征值和所述多个通道数据,计算所述一个分组数据的归一化结果,包括:

7.如权利要求1至6任一所述的方法,其特征在于,所述从显存中加载一个分组数据,并基于所述一个分组数据计算相应的组特征值,包括:

8.如权利要求7所述的方法,其特征在于,所述一个分组数据包含的通道数据的数量,是所述线程束群包含的原始线程束的数量的整数倍。

9.如权利要求7所述的方法,其特征在于,所述通过线程束群从所述显存中加载所述一个分组数据,并基于所述一个分组数据计算相应的组特征值,包括:

10.如权利要求1所述的方法,其特征在于,所述从显存中加载一个分组数据,包括:

11.一种计算机设备,包括存储器、人工智能芯片及存储在存储器上并可在人工智能芯片上运行的计算机程序,其特征在于,所述人工智能芯片执行所述计算机程序时实现如权利要求1~10任一项所述方法的步骤。

12.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行如权利要求1~10任一项所述方法的步骤。

13.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机设备执行时,使所述计算机设备执行如权利要求1-10任一项所述方法的步骤。

技术总结本申请实施例提供了一种分组归一化算子的执行方法、设备及存储介质,涉及人工智能技术领域,该方法包括:针对输入张量包含的每个分组数据,从显存中加载分组数据后,不仅计算分组数据的组特征值,同时将分组数据中的多个通道数据缓存到片上高速缓存中,这样,在计算分组数据的归一化结果时,对于已经缓存在片上高速缓存中的通道数据,不需要重复从显存中加载,而是直接从片上高速缓存中读取,然后联合组特征值进行计算,获得归一化结果。由于片上高速缓存的读写速度比显存的读写速度更快,因此,通过减少从显存中重复加载数据,可有效减少对显存的访存次数,从而提高了分组归一化算子的计算效率和算子性能。技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名受保护的技术使用者:北京壁仞科技开发有限公司技术研发日:技术公布日:2024/8/16

本文地址:https://www.jishuxx.com/zhuanli/20240819/275570.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。