System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 优化神经网络模块算力的方法、芯片、电子设备和介质技术_技高网

优化神经网络模块算力的方法、芯片、电子设备和介质技术

技术编号:40210172 阅读:4 留言:0更新日期:2024-02-02 22:20
提供一种通过芯片优化神经网络算力的方法、芯片、电子设备和介质。方法包括:由芯片进行:获得具有算子的、神经网络的计算图,其中神经网络接收应用数据以获得对应用数据的处理输出结果;根据各个算子的具体运算,在计算图中进行至少一次如下调整中的至少一个:将第一算子与后续算子或前序算子交换位置、将第一算子分裂为两个以上相同的算子、插入能互相抵消的多个第一算子;其中第一算子不改变输入张量中的数值;确定与进行了调整后的第一算子相邻的如下第二算子,其中,调整后的第一算子的运算与第二算子的运算能被合并或抵消且不影响运算结果;将调整后的第一算子与第二算子进行合并或抵消并执行进行合并或抵消之后的计算图的运算。

【技术实现步骤摘要】

本申请涉及神经网络领域,且更具体地,涉及优化神经网络模块算力的 方法、芯片、电子设备和介质。


技术介绍

1、人工智能(ai)芯片是专用于进行神经网络运算的芯片,主要是为了加 速神经网络执行而专门设计的芯片。

2、神经网络可以用纯数学公式来表达。根据这些数学公式,可以用计算图 模型来表示该神经网络。计算图就是这些数学公式的可视化表示。计算图模 型可以将一个复合运算拆分成为多个子运算,每个子运算称为一个算子 (operator,缩写为op)。在计算图里面,计算图由节点(nodes)和线(edges)组 成。节点表示算子operator,线表示计算之间的依赖关系。实线表示有数据传 递依赖,传递的数据即张量。虚线通常可以表示控制依赖,即执行先后顺序。

3、在计算图中,算子有自己的输入数据,不同的算子的运算逻辑不同,每 个算子根据自己的运算逻辑利用输入数据来输出运算后的输出数据。

4、需要设计加速神经网络的计算图的执行速度、和优化神经网络模块算力 的芯片。


技术实现思路

1、根据本申请的一个方面,提供一种通过芯片优化神经网络模块算力的方 法,包括:由芯片获得具有各个算子的、神经网络模块的计算图,其中所述神 经网络模块接收应用数据以获得对应用数据的处理输出结果;由芯片根据所 述各个算子的具体运算,由芯片在所述计算图中对第一算子进行至少一次如 下调整中的至少一个:将所述第一算子与计算图中的后续算子或前序算子交 换位置、将所述第一算子分裂为两个以上相同的算子、插入能互相抵消的多 个第一算子;其中所述第一算子是不改变输入张量中的数值的张量运算;由 芯片根据各个算子的具体运算、确定计算图中的、与进行了调整后的第一算 子相邻的如下第二算子,其中,所述调整后的第一算子的运算与所述第二算 子的运算能被合并或抵消且不影响运算结果;由芯片将所述调整后的第一算 子与所述第二算子进行合并或抵消并执行进行合并或抵消之后的计算图中的 各个算子的运算。

2、根据本申请的一个方面,提供一种人工智能芯片,包括:存储器,被配置 为存储接收应用数据,以输入到具有各个算子的、神经网络模块的计算图中 以获得对应用数据的处理输出结果;控制器,被配置为:根据所述各个算子 的具体运算,在所述计算图中对第一算子进行至少一次如下调整中的至少一 个:将所述第一算子与计算图中的后续算子或前序算子交换位置、将所述第 一算子分裂为两个以上相同的算子、插入能互相抵消的多个第一算子;其中 所述第一算子是不改变输入张量中的数值的张量运算;根据各个算子的具体运算、确定计算图中的、与进行了调整后的第一算子相邻的如下第二算子, 其中,所述调整后的第一算子的运算与所述第二算子的运算能被合并或抵消 且不影响运算结果;由芯片将所述调整后的第一算子与所述第二算子进行合 并或抵消并执行进行合并或抵消之后的计算图中的各个算子的运算。

3、根据本申请的一个方面,提供一种通过芯片优化神经网络模块算力的电 子设备,包括

4、存储器,用于存储指令;

5、处理器,用于读取所述存储器中的指令,并执行如本公开所述的方法。

6、根据本申请的一个方面,提供一种非暂时存储介质,其上存储有指令, 其中,所述指令在被处理器读取时,使得所述处理器执行如本公开所述的方 法。

7、如此,可以通过例如处理图像数据的神经网络的计算图中的算子的具体 运算的规律来优化这些算子,使得减少要计算的算子的数量或者减少算子运 算的计算量,缩短例如处理图像数据的神经网络在芯片上实时运行的延时。

本文档来自技高网...

【技术保护点】

1.一种通过芯片优化神经网络模块算力的方法,包括:

2.根据权利要求1所述的方法,其中,所述应用数据包括图像数据、自然语言数据中的至少一种。

3.根据权利要求1所述的方法,其中,由芯片在所述计算图中对第一算子进行至少一次如下调整中的至少一个:将所述第一算子与计算图中的后续算子或前序算子交换位置、将所述第一算子分裂为两个以上相同的算子、插入能互相抵消的多个第一算子的步骤包括:

4.根据权利要求1所述的方法,其中,所述由芯片将所述调整后的第一算子与所述第二算子进行合并或抵消并执行进行合并或抵消之后的计算图中的各个算子的运算的步骤包括:

5.根据权利要求4所述的方法,其中,所述用芯片以预定次序对所述调整后的第一算子的输入张量中的数值进行读取通过软件设置芯片读取的步长、偏置量和循环次数中的至少一个来实现。

6.根据权利要求1所述的方法,其中,所述由芯片将所述调整后的第一算子与所述第二算子进行合并或抵消并执行进行合并或抵消之后的计算图中的各个算子的运算的步骤包括:

7.根据权利要求1所述的方法,其中,所述由芯片将所述调整后的第一算子与所述第二算子进行合并或抵消并执行进行合并或抵消之后的计算图中的各个算子的运算的步骤包括:

8.根据权利要求1所述的方法,其中,所述第一算子是transpose算子、reshape算子、broadcast算子、gather算子、reverse算子、concat算子、cast算子中的至少一种。

9.根据权利要求1所述的方法,其中,所述第二算子是transpose算子、reshape算子、broadcast算子、gather算子、reverse算子、concat算子、flatten算子、cast算子、elementwise binary算子、batch fullyconnected算子、convolution算子中的至少一种。

10.一种人工智能芯片,包括:

11.根据权利要求10所述的芯片,其中,所述应用数据包括图像数据、自然语言数据中的至少一种。

12.根据权利要求10所述的芯片,其中,由芯片在所述计算图中对第一算子进行至少一次如下调整中的至少一个:将所述第一算子与计算图中的后续算子或前序算子交换位置、将所述第一算子分裂为两个以上相同的算子、插入能互相抵消的多个第一算子的步骤包括:

13.根据权利要求10所述的芯片,其中,所述由芯片将所述调整后的第一算子与所述第二算子进行合并或抵消并执行进行合并或抵消之后的计算图中的各个算子的运算的步骤包括:

14.根据权利要求13所述的芯片,其中,所述用芯片以预定次序对所述调整后的第一算子的输入张量中的数值进行读取通过软件设置芯片读取的步长、偏置量和循环次数中的至少一个来实现。

15.根据权利要求10所述的芯片,其中,所述由芯片将所述调整后的第一算子与所述第二算子进行合并或抵消并执行进行合并或抵消之后的计算图中的各个算子的运算的步骤包括:

16.根据权利要求10所述的芯片,其中,所述由芯片将所述调整后的第一算子与所述第二算子进行合并或抵消并执行进行合并或抵消之后的计算图中的各个算子的运算的步骤包括:

17.根据权利要求10所述的芯片,其中,所述第一算子是transpose算子、reshape算子、broadcast算子、gather算子、reverse算子、concat算子、cast算子中的至少一种。

18.根据权利要求10所述的芯片,其中,所述第二算子是transpose算子、reshape算子、broadcast算子、gather算子、reverse算子、concat算子、flatten算子、cast算子、elementwise binary算子、batch fullyconnected算子、convolution算子中的至少一种。

19.一种通过芯片优化神经网络模块算力的电子设备,包括:

20.一种非暂时存储介质,其上存储有指令,

...

【技术特征摘要】

1.一种通过芯片优化神经网络模块算力的方法,包括:

2.根据权利要求1所述的方法,其中,所述应用数据包括图像数据、自然语言数据中的至少一种。

3.根据权利要求1所述的方法,其中,由芯片在所述计算图中对第一算子进行至少一次如下调整中的至少一个:将所述第一算子与计算图中的后续算子或前序算子交换位置、将所述第一算子分裂为两个以上相同的算子、插入能互相抵消的多个第一算子的步骤包括:

4.根据权利要求1所述的方法,其中,所述由芯片将所述调整后的第一算子与所述第二算子进行合并或抵消并执行进行合并或抵消之后的计算图中的各个算子的运算的步骤包括:

5.根据权利要求4所述的方法,其中,所述用芯片以预定次序对所述调整后的第一算子的输入张量中的数值进行读取通过软件设置芯片读取的步长、偏置量和循环次数中的至少一个来实现。

6.根据权利要求1所述的方法,其中,所述由芯片将所述调整后的第一算子与所述第二算子进行合并或抵消并执行进行合并或抵消之后的计算图中的各个算子的运算的步骤包括:

7.根据权利要求1所述的方法,其中,所述由芯片将所述调整后的第一算子与所述第二算子进行合并或抵消并执行进行合并或抵消之后的计算图中的各个算子的运算的步骤包括:

8.根据权利要求1所述的方法,其中,所述第一算子是transpose算子、reshape算子、broadcast算子、gather算子、reverse算子、concat算子、cast算子中的至少一种。

9.根据权利要求1所述的方法,其中,所述第二算子是transpose算子、reshape算子、broadcast算子、gather算子、reverse算子、concat算子、flatten算子、cast算子、elementwise binary算子、batch fullyconnected算子、convolution算子中的至少一种。

10.一种人工智能芯片,包括:

11.根据权利要求...

【专利技术属性】
技术研发人员:袁航剑刘立扬杨东明施云峰王剑
申请(专利权)人:北京有竹居网络技术有限公司
类型:发明
国别省市:

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

1