System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 向量处理器、神经网络加速器、芯片及电子设备制造技术_技高网

向量处理器、神经网络加速器、芯片及电子设备制造技术

技术编号:40544704 阅读:8 留言:0更新日期:2024-03-05 19:01
本发明专利技术公开一种向量处理器、神经网络加速器、芯片及电子设备,涉及神经网络技术领域,解决向量处理器所需面积和功耗较高的技术问题。该向量处理器包括顶层控制器及元素处理单元;元素处理单元包括向量元素数据交换器、向量计算模块、量化模块、及反量化模块;反量化模块将低比特位的输入数据转换为高比特位,并输入向量元素数据交换器;向量元素数据交换器使输入数据选择至少一种类型进行计算,并将计算结果输出至量化模块;量化模块将计算结果转换为输出数据;顶层控制器用于控制向量元素数据交换器。本发明专利技术通过顶层控制器、向量元素数据交换器实现了量化模块、反量化模块共用,降低了向量处理器所需的面积和功耗。

【技术实现步骤摘要】

本专利技术涉及神经网络,尤其涉及一种向量处理器、神经网络加速器、芯片及电子设备


技术介绍

1、深度神经网络(deep neural network,dnn)是一种基于人工神经网络架构的机器学习方法,人工神经网络(artificial neural networks,ann)使用相互连接的节点(称为神经元)的层来处理和学习输入数据。深度神经网络是具有多个层的人工神经网络,这些层位于输入层和输出层之间。神经网络总是由相同的组件组成:神经元、突触、权重、偏差和函数,在实际应用中,这些组件通常被称作算子。常见的算子有:卷积、池化、上/下采样、激活函数、元素操作(元素加、元素减、元素乘、元素除)等。深度学习使用多个层来表示数据的不同层次的抽象,从而提高模型的准确性和泛化能力,已经广泛应用于运算机视觉、语音识别、自然语言处理、机器翻译、生物信息学、药物设计、医学图像分析等领域,产生了与人类专家水平相当甚至超越的结果。随着数据量不断地累积,以神经网络为主题的人工智能技术得到越来越广泛的应用。尽管神经网络已经被证明能够成功解决自动驾驶、人脸识别等实际问题,但由于传统硬件平台运算性能的局限性,使得神经网络在传统硬件难以高效部署。因此,需要专门为神经网络算法设计定制的硬件平台,这中硬件平台被称为神经网络加速器,其核心通常是一组专用的集成电路芯片,这种芯片被称为神经网络加速器芯片。

2、随着深度神经网络算法层数、分支和规模增加,深层输入特征图需要融合前层或其他分支的输出特征图,该融合过程需要通过向量处理器进行元素操作运算。具体而言,元素操作运算是对两张特征图之间的每一个点进行点对点运算,具体运算包括加法、乘法、减法和除法等,现有的元素操作运算过程一般采用浮点数32比特的数据格式,向量处理器需要有与该数据格式匹配的存储模块和传输电路等,由此出现了量化算法以降低存储需求和传输电路的需求。神经网络量化算法是一种在保持神经网络效果不变的前提下将浮点数32比特的输入、输出和权重压缩到更低比特的输入、输出和权重的技术。一般而言,量化每一层会存在一组量化参数,量化参数代表不同的取值范围。在两个特征图进行点对点的元素操作运算时,通常还需要进行反量化,从低比特还原回高比特进行运算,运算结束后再量化到低比特。向量处理器进行计算时,当每个计算模块支持不同比特数的运算时,需要在每个计算模块实现比特数转换模块,即每个计算模块都需要设置对应的量化模块和反量化模块,这带来了向量处理器的电路面积和功耗增加问题。因此,亟需一种新的设计,改进向量处理器,以降低向量处理器所需的面积和功耗。


技术实现思路

1、本专利技术的目的在于提供一种向量处理器、神经网络加速器、芯片及电子设备,以至少解决上述技术问题。本专利技术提供的诸多技术方案中的优选技术方案所能产生的诸多技术效果详见下文阐述。

2、为实现上述目的,本专利技术提供了以下技术方案:

3、本专利技术提供的一种向量处理器,包括:顶层控制器及与其连接的至少一个元素处理单元,所述元素处理单元用于进行向量运算中的元素操作;所述元素处理单元包括向量元素数据交换器、向量计算模块、量化模块、及反量化模块;所述向量计算模块用于进行至少两种类型的向量计算;所述反量化模块用于将低比特位的输入数据转换为高比特位的输入数据,并输入至所述向量元素数据交换器;所述向量元素数据交换器使高比特位的输入数据从所述向量计算模块中选择至少一种类型进行计算,并将高比特位的计算结果输出至所述量化模块;所述量化模块用于将高比特位的计算结果转换为低比特位的输出数据;所述顶层控制器用于控制所述向量元素数据交换器,使高比特位的输入数据对计算类型进行选择。

4、优选的,所述向量元素数据交换器包括第一输入选择器、第二输入选择器,所述第一输入选择器、第二输入选择器均与所述顶层控制器、向量计算模块连接;所述顶层控制器控制所述第一输入选择器,使输入数据进入所述向量计算模块中进行不同类型的计算;所述顶层控制器控制所述第二输入选择器,使所述向量计算模块的中间计算结果返回或输入数据进入所述向量计算模块中,进行不同类型的计算。

5、优选的,所述向量元素数据交换器还包括输出选择器,所述输出选择器与所述顶层控制器、向量计算模块连接;所述顶层控制器控制所述输出选择器,使所述输出选择器选择量化模块进行计算结果输出或直接进行计算结果输出。

6、优选的,所述第一输入选择器、第二输入选择器与所述向量计算模块之间至少连接有两个输入开关;不同的所述输入开关与所述向量计算模块中不同类型的计算模块一对一连接,并均与所述顶层控制器连接;所述顶层控制器通过所述输入开关控制不同类型的所述向量计算模块的启用或关闭,并控制输入数据进入所述向量计算模块。

7、优选的,所述向量元素数据交换器还包括输出缓冲器及至少两个输入缓冲器;所述输入缓冲器与所述输入开关一对一连接,且每个所述输入缓冲器均与所述第一输入选择器、第二输入选择器连接;所述输出缓冲器与所述输出选择器、向量计算模块连接;所述输入缓冲器、输出缓冲器分别用于对所述向量计算模块的输入数据、输出数据进行数据缓冲。

8、优选的,所述向量计算模块至少包括向量加法模块、向量乘法模块、向量除法模块中的任意两种,所述向量加法模块、向量乘法模块、向量除法模块分别用于进行两个向量或一个向量与一个标量之间的加法运算、乘法运算和除法运算。

9、优选的,所述元素处理单元还包括直接输入模块、直接输出模块;所述高比特位的位数、低比特位的位数分别为h和l,且h>l;若所述输入数据为l位比特数据,输入数据通过所述直接输入模块输入至所述向量元素数据交换器;若所述输出数据为h位比特数据,输出数据通过所述直接输出模块进行输出。

10、优选的,所述元素处理单元还包括第一输入选择模块、第二输入选择模块,所述第一输入选择模块、第二输入选择模块均与所述顶层控制器连接;所述第一输入选择模块、第二输入选择模块独立连接不同的所述反量化模块、以及不同的所述直接输入模块;所述顶层控制器通过所述第一输入选择模块、第二输入选择模块对输入数据的数据流方向进行选择控制。

11、优选的,所述元素处理单元还包括输出选择模块,所述输出选择模块与所述顶层控制器连接;所述顶层控制器对输出数据的数据流方向进行选择控制;所述输出选择模块与所述量化模块、直接输出模块连接。

12、优选的,所述向量处理器还包括输入模块和输入/输出模块;所述输入模块与所述第一输入选择模块连接,用于进行输入数据的输入;所述输入/输出模块与所述第二输入选择模块、输出选择模块连接,用于接收所述输出选择模块的输出数据,并将输入数据输入至所述第二输入选择模块。

13、优选的,所述向量处理器还包括寄存器,所述顶层控制器能够对所述寄存器进行配置,使所述第一输入选择模块、第二输入选择模块的输入数据分别进入反量化模块或直接输入模块,以及所述输出选择模块的输出数据来自所述量化模块或直接输出模块。

14、一种神经网络加速器,包括以上任本文档来自技高网...

【技术保护点】

1.一种向量处理器,其特征在于,包括:顶层控制器及与其连接的至少一个元素处理单元,所述元素处理单元用于进行向量运算中的元素操作;所述元素处理单元包括向量元素数据交换器、向量计算模块、量化模块、及反量化模块;所述向量计算模块用于进行至少两种类型的向量计算;所述反量化模块用于将低比特位的输入数据转换为高比特位的输入数据,并输入至所述向量元素数据交换器;所述向量元素数据交换器使高比特位的输入数据从所述向量计算模块中选择至少一种类型进行计算,并将高比特位的计算结果输出至所述量化模块;所述量化模块用于将高比特位的计算结果转换为低比特位的输出数据;所述顶层控制器用于控制所述向量元素数据交换器,使高比特位的输入数据对计算类型进行选择。

2.根据权利要求1所述的一种向量处理器,其特征在于,所述向量元素数据交换器包括第一输入选择器、第二输入选择器,所述第一输入选择器、第二输入选择器均与所述顶层控制器、向量计算模块连接;所述顶层控制器控制所述第一输入选择器,使输入数据进入所述向量计算模块中进行不同类型的计算;所述顶层控制器控制所述第二输入选择器,使所述向量计算模块的中间计算结果返回或输入数据进入所述向量计算模块中,进行不同类型的计算。

3.根据权利要求2所述的一种向量处理器,其特征在于,所述向量元素数据交换器还包括输出选择器,所述输出选择器与所述顶层控制器、向量计算模块连接;所述顶层控制器控制所述输出选择器,使所述输出选择器选择量化模块进行计算结果输出或直接进行计算结果输出。

4.根据权利要求2所述的一种向量处理器,其特征在于,所述第一输入选择器、第二输入选择器与所述向量计算模块之间至少连接有两个输入开关;不同的所述输入开关与所述向量计算模块中不同类型的计算模块一对一连接,并均与所述顶层控制器连接;所述顶层控制器通过所述输入开关控制不同类型的所述向量计算模块的启用或关闭,并控制输入数据进入所述向量计算模块。

5.根据权利要求4所述的一种向量处理器,其特征在于,所述向量元素数据交换器还包括输出缓冲器及至少两个输入缓冲器;所述输入缓冲器与所述输入开关一对一连接,且每个所述输入缓冲器均与所述第一输入选择器、第二输入选择器连接;所述输出缓冲器与所述输出选择器、向量计算模块连接;所述输入缓冲器、输出缓冲器分别用于对所述向量计算模块的输入数据、输出数据进行数据缓冲。

6.根据权利要求5所述的一种向量处理器,其特征在于,所述向量计算模块至少包括向量加法模块、向量乘法模块、向量除法模块中的任意两种,所述向量加法模块、向量乘法模块、向量除法模块分别用于进行两个向量或一个向量与一个标量之间的加法运算、乘法运算和除法运算。

7.根据权利要求1-6任一项所述的一种向量处理器,其特征在于,所述元素处理单元还包括直接输入模块、直接输出模块;所述高比特位的位数、低比特位的位数分别为H和L,且H>L;若所述输入数据为L位比特数据,输入数据通过所述直接输入模块输入至所述向量元素数据交换器;若所述输出数据为H位比特数据,输出数据通过所述直接输出模块进行输出。

8.根据权利要求7所述的一种向量处理器,其特征在于,所述元素处理单元还包括第一输入选择模块、第二输入选择模块,所述第一输入选择模块、第二输入选择模块均与所述顶层控制器连接;所述第一输入选择模块、第二输入选择模块独立连接不同的所述反量化模块、以及不同的所述直接输入模块;所述顶层控制器通过所述第一输入选择模块、第二输入选择模块对输入数据的数据流方向进行选择控制。

9.根据权利要求8所述的一种向量处理器,其特征在于,所述元素处理单元还包括输出选择模块,所述输出选择模块与所述顶层控制器连接;所述顶层控制器对输出数据的数据流方向进行选择控制;所述输出选择模块与所述量化模块、直接输出模块连接。

10.根据权利要求9所述的一种向量处理器,其特征在于,所述向量处理器还包括输入模块和输入/输出模块;所述输入模块与所述第一输入选择模块连接,用于进行输入数据的输入;所述输入/输出模块与所述第二输入选择模块、输出选择模块连接,用于接收所述输出选择模块的输出数据,并将输入数据输入至所述第二输入选择模块。

11.根据权利要求8所述的一种向量处理器,其特征在于,所述向量处理器还包括寄存器,所述顶层控制器能够对所述寄存器进行配置,使所述第一输入选择模块、第二输入选择模块的输入数据分别进入反量化模块或直接输入模块,以及所述输出选择模块的输出数据来自所述量化模块或直接输出模块。

12.一种神经网络加速器,其特征在于,包括权利要求1-11中任一项所述的向量处理器。

13.一种芯片,其特征在于,包括权利要求1-1...

【技术特征摘要】

1.一种向量处理器,其特征在于,包括:顶层控制器及与其连接的至少一个元素处理单元,所述元素处理单元用于进行向量运算中的元素操作;所述元素处理单元包括向量元素数据交换器、向量计算模块、量化模块、及反量化模块;所述向量计算模块用于进行至少两种类型的向量计算;所述反量化模块用于将低比特位的输入数据转换为高比特位的输入数据,并输入至所述向量元素数据交换器;所述向量元素数据交换器使高比特位的输入数据从所述向量计算模块中选择至少一种类型进行计算,并将高比特位的计算结果输出至所述量化模块;所述量化模块用于将高比特位的计算结果转换为低比特位的输出数据;所述顶层控制器用于控制所述向量元素数据交换器,使高比特位的输入数据对计算类型进行选择。

2.根据权利要求1所述的一种向量处理器,其特征在于,所述向量元素数据交换器包括第一输入选择器、第二输入选择器,所述第一输入选择器、第二输入选择器均与所述顶层控制器、向量计算模块连接;所述顶层控制器控制所述第一输入选择器,使输入数据进入所述向量计算模块中进行不同类型的计算;所述顶层控制器控制所述第二输入选择器,使所述向量计算模块的中间计算结果返回或输入数据进入所述向量计算模块中,进行不同类型的计算。

3.根据权利要求2所述的一种向量处理器,其特征在于,所述向量元素数据交换器还包括输出选择器,所述输出选择器与所述顶层控制器、向量计算模块连接;所述顶层控制器控制所述输出选择器,使所述输出选择器选择量化模块进行计算结果输出或直接进行计算结果输出。

4.根据权利要求2所述的一种向量处理器,其特征在于,所述第一输入选择器、第二输入选择器与所述向量计算模块之间至少连接有两个输入开关;不同的所述输入开关与所述向量计算模块中不同类型的计算模块一对一连接,并均与所述顶层控制器连接;所述顶层控制器通过所述输入开关控制不同类型的所述向量计算模块的启用或关闭,并控制输入数据进入所述向量计算模块。

5.根据权利要求4所述的一种向量处理器,其特征在于,所述向量元素数据交换器还包括输出缓冲器及至少两个输入缓冲器;所述输入缓冲器与所述输入开关一对一连接,且每个所述输入缓冲器均与所述第一输入选择器、第二输入选择器连接;所述输出缓冲器与所述输出选择器、向量计算模块连接;所述输入缓冲器、输出缓冲器分别用于对所述向量计算模块的输入数据、输出数据进行数据缓冲。

6.根据权利要求5所述的一种向量处理器,...

【专利技术属性】
技术研发人员:李兆钫刘洪杰
申请(专利权)人:深圳市九天睿芯科技有限公司
类型:发明
国别省市:

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

1