System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种执行神经网络操作的装置、方法和设备制造方法及图纸_技高网

一种执行神经网络操作的装置、方法和设备制造方法及图纸

技术编号:40966999 阅读:2 留言:0更新日期:2024-04-18 20:47
本申请提供一种用于执行神经网络操作的装置、方法和设备。本申请提供的装置,包括控制器、包含多个乘加单元的乘加器、综合加法器和累加器;其中,所述控制器,用于根据待处理的第一张量和第二张量的数据类型,选择与所述数据类型匹配的数据处理路径;所述乘加器中的每个乘加单元,用于按照所述数据处理路径对所述第一张量和所述第二张量中相关联的至少一对元素对执行乘加处理,得到乘加结果;所述综合加法器,用于按照所述数据处理路径将所述乘加器输出的多个乘加结果进行相加,得到第二计算结果;所述累加器,用于将所述第二计算结果与输入的累加和进行累加,得到第三计算结果。本申请提供的装置、方法和设备,可以提高输入数据的处理性能。

【技术实现步骤摘要】

本申请涉及人工智能,尤其涉及一种执行神经网络操作的装置、方法和设备


技术介绍

1、深度神经网络在现代计算机视觉、自然语言处理和推荐系统等人工智能任务中显示出了巨大的成功。但是,深度神经网络的成功是以巨大的计算成本以及执行时间为基础的。因此,需要一种能够有效执行神经网络操作的技术,以提高输入数据的处理性能。


技术实现思路

1、有鉴于此,本申请提供一种用于执行神经网络操作的装置、方法和设备,用以提高输入数据的处理性能。

2、具体地,本申请是通过如下技术方案实现的:

3、本申请第一方面提供一种执行神经网络操作的装置,所述装置包括控制器、包含多个乘加单元的乘加器、综合加法器和累加器;其中,

4、所述控制器,用于根据待处理的第一张量和第二张量的数据类型,选择与所述数据类型匹配的数据处理路径;其中,所述数据处理路径用于执行点积运算,以在所述数据路径的输出处生成本次点积运算的结果;

5、所述乘加器中的每个乘加单元,用于按照所述数据处理路径对所述第一张量和所述第二张量中相关联的至少一对元素对执行乘加处理,得到乘加结果;

6、所述综合加法器,用于按照所述数据处理路径将所述乘加器输出的多个乘加结果进行相加,得到第二计算结果;

7、所述累加器,用于将所述第二计算结果与输入的累加和进行累加,得到第三计算结果。

8、本申请第二方面提供一种执行神经网络操作的方法,所述方法包括:

9、根据待处理的第一张量和第二张量的数据类型,选择与所述数据类型匹配的数据处理路径;其中,所述数据路径用于执行点积运算,以在所述数据路径的输出处生成本次点积运算的结果;

10、通过乘加器中的每个乘加单元,按照所述数据处理路径对所述第一张量和所述第二张量中相关联的至少一对元素对执行乘加处理,得到乘加结果;

11、按照所述数据处理路径将所述乘加器输出的多个乘加结果进行相加,得到第二计算结果;

12、将所述第二计算结果与输入的累加和进行累加,得到第三计算结果。

13、本申请第三方面提供一种执行神经网络操作的设备,所述设备包括本申请第一方面提供的任一项所述装置。

14、本申请提供的执行神经网络操作的装置、方法和设备,根据第一张量和第二张量的数据类型选择匹配的数据处理路径,进而通过乘加器和综合加法器按照数据处理路径处理第一张量与第二张量,这样,可以支持浮点和定点的卷积计算,使得多种数据类型的输入数据共享一套装置,可以提高输入数据的处理性能。

本文档来自技高网...

【技术保护点】

1.一种执行神经网络操作的装置,其特征在于,所述装置包括控制器、包含多个乘加单元的乘加器、综合加法器和累加器;其中,

2.根据权利要求1所述的装置,其特征在于,所述乘加单元包括四个布斯乘法模块和两个加法模块,所述四个布斯乘法模块中的第一布斯乘法模块为8b*8b的乘法器、所述四个布斯乘法模块中的第二布斯乘法模块和第四布斯乘法模块为8b*4b的乘法器,所述四个布斯乘法模块中的第三布斯乘法模块为4b*4b的乘法器;

3.根据权利要求2所述的装置,其特征在于,所述装置还包括移位器,所述移位器,具体用于在所述数据类型为FP16时,对所述每个乘加单元输出的乘加结果进行对齐移位。

4.根据权利要求3所述的装置,其特征在于,所述数据类型为FP16时,所述乘加单元,具体用于利用所述第一布斯乘法模块计算一对FP16元素对的指定位中低8位部分的点积、利用所述第三布斯乘法模块计算所述一对FP16元素对的指定位中低3位部分的点积、利用所述第二布斯乘法模块计算第一元素的指定位中高3位部分与第二元素的指定位中低8位部分的点积、以及利用所述第四布斯乘法模块计算所述第一元素的指定位中低8位部分与所述第二元素的指定位中高3位部分的点积;其中,所述指定位包括隐藏位和尾数位;所述第一元素和所述第二元素为构成所述一对FP16元素对的两个元素;

5.根据权利要求2所述的装置,其特征在于,所述数据类型为INT8时,所述乘加单元,具体用于利用所述第一布斯乘法模块计算一对INT8元素对的点积、并利用所述第二布斯乘法模块和所述第四布斯乘法模块计算另一对INT8元素对的点积;

6.根据权利要求2所述的装置,其特征在于,所述数据类型为INT4,所述乘加单元,具体用于利用所述四个布斯乘法模块分别计算四对INT4元素对的点积;

7.根据权利要求1所述的装置,其特征在于,所述综合加法器包括数据处理模块、第一加法树、第二加法树和融合模块;其中,

8.根据权利要求7所述的装置,其特征在于,在所述数据类型为INT4时,所述融合模块,具体用于将所述第一加法树的输出结果和所述第二加法树的输出结果进行相加,得到所述第二计算结果;

9.一种执行神经网络操作的方法,其特征在于,所述方法应用于权利要求1-8任一项所述的装置,所述方法包括:

10.一种执行神经网络操作的设备,其特征在于,所述设备包括权利要求1-8任一项所述的装置。

...

【技术特征摘要】

1.一种执行神经网络操作的装置,其特征在于,所述装置包括控制器、包含多个乘加单元的乘加器、综合加法器和累加器;其中,

2.根据权利要求1所述的装置,其特征在于,所述乘加单元包括四个布斯乘法模块和两个加法模块,所述四个布斯乘法模块中的第一布斯乘法模块为8b*8b的乘法器、所述四个布斯乘法模块中的第二布斯乘法模块和第四布斯乘法模块为8b*4b的乘法器,所述四个布斯乘法模块中的第三布斯乘法模块为4b*4b的乘法器;

3.根据权利要求2所述的装置,其特征在于,所述装置还包括移位器,所述移位器,具体用于在所述数据类型为fp16时,对所述每个乘加单元输出的乘加结果进行对齐移位。

4.根据权利要求3所述的装置,其特征在于,所述数据类型为fp16时,所述乘加单元,具体用于利用所述第一布斯乘法模块计算一对fp16元素对的指定位中低8位部分的点积、利用所述第三布斯乘法模块计算所述一对fp16元素对的指定位中低3位部分的点积、利用所述第二布斯乘法模块计算第一元素的指定位中高3位部分与第二元素的指定位中低8位部分的点积、以及利用所述第四布斯乘法模块计算所述第一元素的指定位中低8位部分与所述第二元素的指定位中高3位部分的...

【专利技术属性】
技术研发人员:商海洋蒋文王和国周高财
申请(专利权)人:深圳云天励飞技术股份有限公司
类型:发明
国别省市:

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

1