三维集成存算系统、模型推理方法和电子装置与流程

摘要: 本公开涉及半导体,尤其是一种三维集成存算系统、模型推理方法和电子装置。背景技术:1、随着大语言模型(largelanguagemodel,llm)和多模态人工智...
三维集成存算系统、模型推理方法和电子装置与流程

本公开涉及半导体,尤其是一种三维集成存算系统、模型推理方法和电子装置。

背景技术:

1、随着大语言模型(large language model, llm)和多模态人工智能(artificialintelligence,ai)等技术的迅猛发展,模型推理计算需求呈指数级增长。以transformer架构为核心的大模型,如生成式预训练transformer(generative pre-trainedtransformer,gpt)系列、meta大型语言模型(large language model meta ai,llama)系列等,其推理过程涉及海量的矩阵乘法运算以及非线性算子运算,其中,矩阵乘法运算主要集中于注意力(attention)机制和前馈神经网络(feed-forward network,ffn)中,非线性算子例如包括归一化指数(softmax)算子、层归一化算子(layernorm)、gelu激活函数等,这些矩阵乘法运算和非线性算子运算对芯片的计算硬件的算力和带宽提出了极高的要求。因此,如何有效提升计算硬件的算力和带宽成为亟需解决的技术问题。

技术实现思路

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、向量运算单元,被配置为获取第二待计算数据,基于所述第二待计算数据执行向量运算,得到向量运算结果。

34、在一些可选的实施例中,所述第二计算组件还包括:

35、外部设备输入输出单元,被配置为:接收来自外部的主设备的计算指令;

36、控制单元,被配置为:

37、获取来自所述外部设备输入输出单元的所述计算指令;

38、基于所述计算指令,确定矩阵乘法计算任务和/或非线性算子计算任务;

39、将所述矩阵乘法计算任务发送至所述第一功能加速处理器的所述第一计算组件,以使所述第一计算组件执行所述矩阵乘法计算任务;和/或,控制所述非线性加速子组件执行所述非线性算子计算任务。

40、在一些可选的实施例中,所述第二计算组件还包括:第二三维互连接口;

41、所述控制单元具体被配置为:通过所述第二三维互连接口将所述矩阵乘法计算任务发送至所述第一计算组件。

42、在一些可选的实施例中,所述外部设备输入输出单元,还被配置为:接收来自所述主设备的权重数据;

43、所述控制单元还被配置为:将来自所述外部设备输入输出单元的所述权重数据写入所述第一存储组件。

44、在一些可选的实施例中,所述第一计算组件包括:存算控制子组件和存算一体计算子组件;

45、所述第二计算组件包括:多种非线性加速单元、向量运算单元、控制单元和外部设备输入输出单元;

46、所述外部设备输入输出单元被配置为:在所述系统上电后,接收来自外部主设备的预设模型的权重数据;

47、所述控制单元被配置为:将所述权重数据写入所述第一存储组件;

48、所述存算控制子组件被配置为:响应于所述控制单元的权重数据加载指令,从所述第一存储组件读取所述权重数据,将所述权重数据写入所述存算一体计算子组件;

49、所述控制单元还被配置为:获取来自所述主设备的所述预设模型的计算指令,基于所述计算指令,控制所述存算控制子组件、所述存算一体计算子组件、多种所述非线性加速单元和所述向量运算单元协同工作,执行所述预设模型的推理计算任务。

50、在一些可选的实施例中,多种所述非线性加速单元包括如下加速单元中的多种:

51、归一化指数加速单元,被配置为对输入该加速单元的待计算数据执行归一化指数运算;

52、层归一化加速单元,被配置为对输入该加速单元的待计算数据执行层归一化运算;

53、均方根归一化加速单元,被配置为对输入该加速单元的待计算数据执行均方根归一化运算;

54、激活函数加速单元,被配置为对输入该加速单元的待计算数据执行预设激活函数运算。

55、根据本公开实施例的另一个方面,提供了一种基于三维集成存算系统的模型推理方法,包括:

56、通过上述任一实施例所述的三维集成存算系统执行如下推理过程:

57、获取预设模型的权重数据,将所述预设模型的权重数据写入所述第一计算组件中的存算一体阵列;

58、获取所述预设模型的输入数据,基于所述输入数据控制所述第一计算组件和所述第二计算组件协同工作,执行对所述预设模型的推理计算任务;其中,在推理过程中,通过所述第一计算组件中的所述存算一体阵列执行所述预设模型中的矩阵乘法计算任务,通过所述第二计算组件中的非线性加速子组件执行所述预设模型中的非线性算子计算任务。

59、在一些可选的实施例中,所述基于所述输入数据控制所述第一计算组件和所述第二计算组件协同工作,执行对所述预设模型的推理计算任务,包括:

60、通过所述第一计算组件中的存算控制子组件,将所述输入数据驱动至所述存算一体阵列;

61、通过所述存算一体阵列执行矩阵乘法运算,得到查询向量、键向量和值向量;

62、通过所述第二计算组件中的向量运算单元,基于所述查询向量和所述键向量,执行矩阵乘法运算,得到注意力权重;

63、通过所述第二计算组件中的非线性加速子组件,基于所述注意力权重和所述值向量,确定注意力操作结果,以及基于所述注意力操作结果,确定所述预设模型的当前注意力层的输出结果;

64、响应于所述当前注意力层不是最后一层注意力层,将所述当前注意力层的输出结果作为所述输入数据,迭代执行如下步骤:

65、通过所述第一计算组件中的存算控制子组件,将所述输入数据驱动至所述存算一体阵列;

66、通过所述存算一体阵列执行矩阵乘法运算,得到查询向量、键向量和值向量;

67、通过所述第二计算组件中的向量运算单元,基于所述查询向量和所述键向量,执行矩阵乘法运算,得到注意力权重;

68、通过所述第二计算组件中的非线性加速子组件,基于所述注意力权重和所述值向量,确定注意力操作结果,以及基于所述注意力操作结果,确定所述预设模型的当前注意力层的输出结果;

69、响应于所述当前注意力层为最后一层注意力层,将所述当前注意力层的输出结果确定为所述预设模型的推理结果。

70、根据本公开实施例的再一个方面,提供了一种电子装置,包括:上述任一实施例提供的三维集成存算系统。

71、在一些实施例中,所述电子装置还包括:主设备,被配置为:

72、运行预设模型的应用程序,生成所述三维集成存算系统的计算任务,调用所述三维集成存算系统执行所述计算任务,完成所述预设模型的推理。

73、本公开上述实施例提供的三维集成存算系统、模型推理方法和电子装置,通过在垂直方向的三维堆叠方式集成多层芯片,实现存储单元和计算单元高密度、低功耗的三维互连的存算系统,有效提升存算系统的带宽和算力,并且,本公开的三维集成存算系统中的组件包括第一功能加速处理器和第二功能加速处理器,分别实现矩阵乘法运算和非线性算子运算,实现了矩阵处理和非线性处理的异构集成,有利于实现大模型的端到端的高能效推理的加速。此外,第一计算组件通过存算一体阵列实现矩阵乘法运算,能够有效减少存储芯片与计算芯片之间的数据搬运,有助于提升计算硬件的能效比和吞吐量。

74、下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。