运算方法、装置及相关产品制造方法及图纸

技术编号:21035930 阅读:33 留言:0更新日期:2019-05-04 06:00
本公开涉及一种运算方法、装置及相关产品,所述产品包括控制模块,所述控制模块包括:指令缓存子模块、指令缓存子模块和存储队列子模块;所述指令缓存子模块,用于存储所述人工神经网络运算关联的计算指令;所述指令处理子模块,用于对所述计算指令解析得到多个运算指令;所述存储队列子模块,用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令。通过以上方法,本公开可以提高相关产品在进行神经网络模型的运算时的运算效率。

【技术实现步骤摘要】
运算方法、装置及相关产品
本公开涉及机器学习
,尤其涉及一种运算方法、装置及相关产品。
技术介绍
神经网络算法是最近非常流行的一种机器学习算法,在各种领域中都取得了非常好的效果,比如图像识别,语音识别,自然语言处理等。随着神经网络算法的发展,算法的复杂度也越来越高,为了提高识别度,模型的规模也在逐渐增大。用GPU和CPU处理起这些大规模的模型,要花费大量的计算时间,并且耗电量很大。在这种情况下,新的人工智能处理器被提出以提高神经网络模型的运算速度,节约运算时间,降低功耗。然而,当前对新的人工智能处理器的算法支持却远远不够。
技术实现思路
根据本公开的一方面,提供了一种运算方法,所述方法包括:获取人工智能算子库中的变形算子以及基础算子,所述变形算子用于转换输入数据的数据类型,所述基础算子用于对输入数据执行相应的运算操作;将所述变形算子与所述基础算子进行拼接以形成拼接算子,其中,所述拼接算子用于在人工智能处理器中对输入数据执行相应的拼接运算操作,以执行人工智能运算。在一种可能的实施方式中,所述将所述变形算子与所述基础算子进行拼接以形成拼接算子,包括:将所述变形算子作为所述基础算子的前级算子。在一种可能的实施方式中,所述基础算子包括全连接算子,所述全连接算子用于进行全连接运算,其中,所述拼接运算操作包括:在所述第一类型的第一输入数据不满足全连接运算的运算条件时,利用所述变形算子将所述第一类型的第一输入数据转换成符合所述运算条件的第二类型的第一输入数据;利用所述全连接算子对所述第二类型的第一输入数据及接收的第二输入数据进行全连接运算,以输出全连接运算结果。在一种可能的实施方式中,所述运算条件包括:所述第一类型的第一输入数据与接收的第二输入数据符合点乘运算条件。在一种可能的实施方式中,所述基础算子包括归一化指数算子,所述归一化指数算子用于进行归一化运算,所述变形算子包括第一变形算子及第二变形算子,其中,所述将所述变形算子与所述基础算子进行拼接以形成拼接算子包括:将所述第一变形算子作为所述归一化指数算子的前级算子;将所述第二变形算子作为所述归一化指数算子的后级算子;其中,所述第一变形算子用于将第一类型的第一输入数据转换成第二类型的第二输入数据,所述第二变形算子用于将所述归一化指数算子输出的第二类型的输出数据转换为第一类型的输出数据。在一种可能的实施方式中,所述拼接运算操作包括:在所述第一类型的所述第一输入数据的维度大于2,且在所述第一输入数据中携带的第一参数及第二参数满足预设条件时,利用所述第一变形算子将所述第一输入数据转换为第二类型,所述第二类型的第一输入数据的维度为2;利用所述归一化指数算子对所述第二类型的第一输入数据在第二维度上进行归一化运算,以输出第二类型的输出数据;利用所述第二变形算子将第二类型的输出数据转换为第一类型的输出数据。在一种可能的实施方式中,所述拼接算子应用于软件调用层级中的应用程序层,所述深度学习算子库位于软件调用层级中的算子库层,所述人工智能处理器位于软件调用层级中的芯片层。根据本公开的另一方面,提出了一种运算装置,所述装置包括:获取模块,用于获取人工智能算子库中的变形算子以及基础算子,所述变形算子用于转换输入数据的数据类型,所述基础算子用于对输入数据执行相应的运算操作;运算模块,连接于所述获取模块,用于将所述变形算子与所述基础算子进行拼接以形成拼接算子,其中,所述拼接算子用于在人工智能处理器中对输入数据执行相应的拼接运算操作,以执行人工智能运算。在一种可能的实施方式中,所述运算模块包括:第一运算子模块,用于将所述变形算子作为所述基础算子的前级算子。在一种可能的实施方式中,所述基础算子包括全连接算子,所述全连接算子用于进行全连接运算,其中,所述拼接运算操作包括:在所述第一类型的第一输入数据不满足全连接运算的运算条件时,利用所述变形算子将所述第一类型的第一输入数据转换成符合所述运算条件的第二类型的第一输入数据;利用所述全连接算子对所述第二类型的第一输入数据及接收的第二输入数据进行全连接运算,以输出全连接运算结果。在一种可能的实施方式中,所述运算条件包括:所述第一类型的第一输入数据与接收的第二输入数据符合点乘运算条件。在一种可能的实施方式中,所述基础算子包括归一化指数算子,所述归一化指数算子用于进行归一化运算,所述变形算子包括第一变形算子及第二变形算子,其中,所述运算模块还包括:第二运算子模块,所述第二运算子模块被配置为:将所述第一变形算子作为所述归一化指数算子的前级算子;将所述第二变形算子作为所述归一化指数算子的后级算子;其中,所述第一变形算子用于将第一类型的第一输入数据转换成第二类型的第二输入数据,所述第二变形算子用于将所述归一化指数算子输出的第二类型的输出数据转换为第一类型的输出数据。在一种可能的实施方式中,所述拼接运算操作包括:在所述第一类型的所述第一输入数据的维度大于2,且在所述第一输入数据中携带的第一参数及第二参数满足预设条件时,利用所述第一变形算子将所述第一输入数据转换为第二类型,所述第二类型的第一输入数据的维度为2;利用所述归一化指数算子对所述第二类型的第一输入数据在第二维度上进行归一化运算,以输出第二类型的输出数据;利用所述第二变形算子将第二类型的输出数据转换为第一类型的输出数据。根据本公开的另一方面,提出了一种人工智能处理装置,所述装置包括:主处理器,用于执行所述的方法,以获取拼接算子,所述拼接算子用于对所述输入数据执行相应的运算操作;人工智能处理器,电连接于所述主处理器;所述主处理器还用于向人工智能处理器发送输入数据及所述拼接算子,所述人工智能处理器被配置为:接收主处理器发送的所述输入数据及拼接算子;利用所述拼接算子对所述输入数据进行人工智能运算以获得运算结果;将所述运算结果发送给所述主处理器。在一种可能的实施方式中,所述主处理器还包括主处理器存储空间,用于存储所述拼接算子,其中,所述主处理器还用于提供输入数据及存储在所述主处理器存储空间中的拼接算子。在一种可能的实施方式中,所述人工智能处理器将运算结果通过I/O接口传递给所述主处理器;当所述装置包含多个所述人工智能处理器时,所述多个所述人工智能处理器间可以通过特定的结构进行连接并传输数据;其中,多个所述人工智能处理器通过快速外部设备互连总线PCIE总线进行互联并传输数据,以支持更大规模的人工智能的运算;多个所述人工智能处理器共享同一控制系统或拥有各自的控制系统;多个所述人工智能处理器共享内存或者拥有各自的内存;多个所述人工智能处理器的互联方式是任意互联拓扑。在一种可能的实施方式中,所述的装置,还包括:存储装置,该存储装置分别与所述人工智能处理器和所述主处理器连接,用于保存所述人工智能处理器装置和所述主处理器的数据。根据本公开的另一方面,提出了一种人工智能芯片,所述人工智能芯片包括所述的人工智能处理装置。根据本公开的另一方面,提出了一种电子设备,所述电子设备包括所述的人工智能芯片。根据本公开的另一方面,提出了一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及所述的人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实本文档来自技高网...

【技术保护点】
1.一种运算方法,其特征在于,所述方法包括:获取人工智能算子库中的变形算子以及基础算子,所述变形算子用于转换输入数据的数据类型,所述基础算子用于对输入数据执行相应的运算操作;将所述变形算子与所述基础算子进行拼接以形成拼接算子,其中,所述拼接算子用于在人工智能处理器中对输入数据执行相应的拼接运算操作,以执行人工智能运算。

【技术特征摘要】
1.一种运算方法,其特征在于,所述方法包括:获取人工智能算子库中的变形算子以及基础算子,所述变形算子用于转换输入数据的数据类型,所述基础算子用于对输入数据执行相应的运算操作;将所述变形算子与所述基础算子进行拼接以形成拼接算子,其中,所述拼接算子用于在人工智能处理器中对输入数据执行相应的拼接运算操作,以执行人工智能运算。2.根据权利要求1所述的方法,其特征在于,所述将所述变形算子与所述基础算子进行拼接以形成拼接算子,包括:将所述变形算子作为所述基础算子的前级算子。3.根据权利要求2所述的方法,其特征在于,所述基础算子包括全连接算子,所述全连接算子用于进行全连接运算,其中,所述拼接运算操作包括:在所述第一类型的第一输入数据不满足全连接运算的运算条件时,利用所述变形算子将所述第一类型的第一输入数据转换成符合所述运算条件的第二类型的第一输入数据;利用所述全连接算子对所述第二类型的第一输入数据及接收的第二输入数据进行全连接运算,以输出全连接运算结果。4.根据权利要求3所述的方法,其特征在于,所述运算条件包括:所述第一类型的第一输入数据与接收的第二输入数据符合点乘运算条件。5.根据权利要求1所述的方法,其特征在于,所述基础算子包括归一化指数算子,所述归一化指数算子用于进行归一化运算,所述变形算子包括第一变形算子及第二变形算子,其中,所述将所述变形算子与所述基础算子进行拼接以形成拼接算子包括:将所述第一变形算子作为所述归一化指数算子的前级算子;将所述第二变形算子作为所述归一化指数算子的后级算子;其中,所述第一变形算子用于将第一类型的第一输入数据转换成第二类型的第二输入数据,所述第二变形算子用于将所述归一化指数算子输出的第二类型的输出数据转换为第一类型的输出数据。6.根据权利要求5所述的方法,其特征在于,所述拼接运算操作包括:在所述第一类型的所述第一输入数据的维度大于2,且在所述第一输入数据中携带的第一参数及第二参数满足预设条件时,利用所述第一变形算子将所述第一输入数据转换为第二类型,所述第二类型的第一输入数据的维度为2;利用所述归一化指数算子对所述第二类型的第一输入数据在第二维度上进行归一化运算,以输出第二类型的输出数据;利用所述第二变形算子将第二类型的输出数据转换为第一类型的输出数据。7.根据权利要求1所述的方法,其特征在于,所述拼接算子应用于软件调用层级中的应用程序层,所述深度学习算子库位于软件调用层级中的算子库层,所述人工智能处理器位于软件调用层级中的芯片层。8.一种运算装置,其特征在于,所述装置包括:获取模块,用于获取人工智能算子库中的变形算子以及基础算子,所述变形算子用于转换输入数据的数据类型,所述基础算子用于对输入数据执行相应的运算操作;运算模块,连接于所述获取模块,用于将所述变形算子与所述基础算子进行拼接以形成拼接算子,其中,所述拼接算子用于在人工智能处理器中对输入数据执行相应的拼接运算操作,以执行人工智能运算。9.根据权利要求8所述的装置,其特征在于,所述运算模块包括:第一运算子模块,用于将所述变形算子作为所述基础算子的前级算子。10.根据权利要求9所述的装置,其特征在于,所述基础算子包括全连接算子,所述全连接算子用于进行全连接运算,其中,所述拼接运算操作包括:在所述第一类型的第一输入数据不满足全连接运算的运算条件时,利用所述变形算子将所述第一类型的第一输入数据转换成符合所述运算条件的第二类型的第一输入数据;利用所述全连接算子对所述第二类型的第一输入数据及接收的第二输入数据进行全连接运算,以输出全连接运算结果。11.根据权利要求10所述的装置,其特征在于,所述运算条件包括:所述第...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:北京中科寒武纪科技有限公司
类型:发明
国别省市:北京,11

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

1