一种运算方法以及相关设备与流程

文档序号:37369981发布日期:2024-03-22 10:22阅读:10来源:国知局
一种运算方法以及相关设备与流程

本技术涉及人工智能,具体涉及一种运算方法以及相关设备。


背景技术:

1、人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,ai基础理论等。

2、随着处理器的计算能力的发展以及人们对神经网络的性能的追求,神经网络也越来越大,许多神经网络的参数量可以达到百万甚至上亿,而神经网络的大量参数会带来很大的内存开销等资源开销,难以应用于移动终端等资源较为有限的场景中。


技术实现思路

1、本技术提供一种运算方法,以解决目前神经网络的大量参数会带来很大的内存开销等资源开销,难以应用于移动终端等资源较为有限的场景中的问题。本技术还提供了相应的装置、设备、计算机可读存储介质和计算机程序产品等。

2、本技术第一方面提供一种运算方法,该方法应用于计算设备,计算设备中存储有神经网络中的m层对应的权重块,以及神经网络中的m层对应的索引信息,索引信息指示神经网络中的m层对应的权重块与神经网络中的m层的权重之间的关系,并且索引信息指示至少一个权重块被多次使用来描述m层的权重,m为正整数;该方法中,可以根据神经网络中的n层对应的权重块以及神经网络中的n层对应的索引信息,执行神经网络中的n层的运算,n为正整数,且神经网络中的m层包含神经网络中的n层。

3、在第一方面中,计算设备中存储有神经网络中的m层对应的权重块,以及神经网络中的m层对应的索引信息,索引信息指示神经网络中的m层对应的权重块与神经网络中的m层的权重之间的关系,并且索引信息指示至少一个权重块被多次使用来描述m层的权重。这样,神经网络中的m层对应的权重块所占用的存储空间明显小于神经网络中的m层对应的完整权重,有效减小了存储神经网络的权重信息所需的存储空间,并且计算设备可以根据运算需要获得神经网络中的n层对应的权重块,并在运算过程中基于索引信息而高效地对相应的权重块进行数据调度以执行神经网络中的n层的运算。

4、在第一方面的一种可能的实现方式中,计算设备包括存储器和计算模块,存储器中存储有神经网络中的m层对应的权重块,以及神经网络中的m层对应的索引信息;上述步骤:根据神经网络中的n层对应的权重块以及神经网络中的n层对应的索引信息,执行神经网络中的n层的运算,包括:计算模块从存储器获取神经网络中的n层对应的权重块以及神经网络中的n层对应的索引信息;计算模块根据神经网络中的n层对应的权重块以及神经网络中的n层对应的索引信息,执行神经网络中的n层的运算。

5、该种可能的实现方式中,可以将神经网络中的m层对应的权重块以及神经网络中的m层对应的索引信息存储至存储器中,此时,相对于神经网络中的m层的完整权重,该m层对应的权重块以及神经网络中的m层对应的索引信息所需的存储空间较小,也便于计算模块进行调度和执行相关运算。

6、在第一方面的一种可能的实现方式中,计算模块中包括缓存;该方法还包括:存储器向缓存发送神经网络中的n层对应的权重块以及神经网络中的n层对应的索引信息,其中,神经网络中的n层是基于缓存的空间大小、神经网络中的n层对应的权重块所占的空间大小以及神经网络中的n层对应的索引信息所占的空间大小而确定的;上述步骤:计算模块从存储器获取神经网络中的n层对应的权重块以及神经网络中的n层对应的索引信息,包括:缓存存储n层对应的权重块以及n层对应的索引信息;上述步骤:计算模块根据神经网络中的n层对应的权重块以及神经网络中的n层对应的索引信息,执行神经网络中的n层的运算,包括:计算模块基于缓存中存储的神经网络中的n层对应的权重块以及神经网络中的n层对应的索引信息,执行神经网络中的n层的运算。

7、目前,神经网络的一些层的权重等数据量较大,在计算过程中,由于计算设备的缓存等存储空间较为有限,因此,计算模块的缓存中通常只能存储神经网络的一层或者少数几层的权重等参数,并只能对一层或者少数几层实现流水(pipeline)计算等加速运算。计算模块在完成该一层或者少数几层的运算之后,会获得该一层或者少数几层的输出数据,而由于该输出数据所需的存储空间通常较大,因此,需要将该输出数据写入诸如内存储器(也称为内存)等其他存储空间。然后,计算模块再将后续的层的权重等参数写入计算模块的缓存,再从内存等存储空间获取该输出数据来执行后续的层的计算。

8、可见,在目前的这一计算过程中,计算模块需要反复地对内存等存储器进行数据的写入和读出,因此,需要与内存频繁地进行输入输出(input/output,io)的交互,但由于计算模块的运行速度通常明显快于内存的io速度,因此,内存的io时延会导致较大的计算时延,大大影响计算效率。

9、而该种可能的实现方式中,可以通过占用空间较小且可多次使用的权重块来描述多层的权重,从而使得计算模块的缓存中有限的存储空间可以存储多层的权重信息,并可以基于相应的索引信息和权重块来执行多层的流水运算等加速运算,而无需与内存等存储器进行频繁的io交互,提升了运算效率,降低了时延。

10、在第一方面的一种可能的实现方式中,索引信息包括神经网络的m层中每一层对应的索引子信息,索引子信息用于描述相应层对应的权重块在相应层的权重中的对应位置。

11、该种可能的实现方式中,通过该索引子信息,可以对相应层对应的权重块进行调用和组合以实现相应层的权重的相关功能。这样,通过该索引子信息,以及相应层的权重与相应层的输入数据之间的预设运算规则,可以调用权重块执行相应层相关的运算。

12、在第一方面的一种可能的实现方式中,索引子信息中包括相应层的权重在至少一个维度上对应的权重块的数量,以及相应层对应的权重块的标识。

13、该种可能的实现方式中,可以在一个或多个维度上描述权重块的数量。该至少一个维度可以包括权重的行、列、深度等中的一个或多个。这样,通过该至少一个维度上相应的权重块的数量以及相应层对应的权重块的标识,可以清晰简洁地描述相应层的权重块在相应层的权重的对应位置。

14、在第一方面的一种可能的实现方式中,索引子信息中包括相应层对应的权重块序列,权重块序列中包括以指定顺序排列的标识,指定顺序用于描述相应层对应的权重块在相应权重的至少一个维度上的排列顺序。

15、在第一方面的一种可能的实现方式中,索引子信息包括相应层的权重块的尺寸信息。

16、在第一方面的一种可能的实现方式中,上述步骤:根据神经网络中的n层对应的权重块以及神经网络中的n层对应的索引信息,执行神经网络中的n层的运算,包括:对于神经网络的n层中的任意一层,根据相应层的输入数据与相应层的权重块之间的对应关系、相应层的输入数据和相应层的权重块,执行相应层对应的运算,对应关系与索引信息相关。

17、该种可能的实现方式中,在获得相应层的输入数据之后,可以基于索引信息以及相应层预先设置的运算规则,确定该输入数据与该层的权重块之间的对应关系。这样,根据相关的运算规则,以及该输入数据与该层的权重块之间的对应关系,对该层的输入数据和该层的权重块执行相关运算。

18、在第一方面的一种可能的实现方式中,神经网络中的m层对应的权重块为对神经网络中的m层的多个权重子向量进行聚类而得到,多个权重子向量为对神经网络中的m层的权重进行拆分而得到。

19、该种可能的实现方式中,可以预先对神经网络中的m层的权重进行拆分,获得多个权重子向量;然后,对多个权重子向量进行聚类,获得神经网络中的m层对应的权重块。在获得神经网络中的m层对应的权重块之后,可以相应地生成索引信息,并将索引信息以及各个权重块存储至计算设备中以作为相应神经网络的权重信息。这样,可以在后续基于实际计算场景的需要而根据预先存储的索引信息获取权重块,并执行相应的运算。

20、本技术第二方面提供一种运算装置,该装置具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元,例如执行单元、发送单元以及获取单元等。

21、本技术第三方面提供一种计算设备,该计算设备包括至少一个处理器、存储器以及存储在存储器中并可在处理器上运行的计算机执行指令,当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。

22、本技术第四方面提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。

23、本技术第五方面提供一种存储一个或多个计算机执行指令的计算机程序产品,当计算机执行指令被处理器执行时,处理器执行如上述第一方面或第一方面任意一种可能的实现方式的方法。

24、本技术第六方面提供了一种芯片系统,该芯片系统包括处理器,用于支持计算设备实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。在一种可能的设计中,芯片系统还可以包括存储器,存储器用于保存计算设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

25、其中,第二方面至第六方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面的相关可能实现方式所带来的技术效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1