当前位置: 首页 > 专利查询>脸谱公司专利>正文

使用每通道卷积运算的流水线逐点卷积制造技术

技术编号:30147614 阅读:16 留言:0更新日期:2021-09-25 14:53
公开了使用每通道卷积运算的流水线逐点卷积。一种处理器系统包括硬件通道卷积处理器单元和点积处理器单元。通道卷积处理器单元被配置为执行逐深度卷积,包括通过将卷积数据矩阵的第一组数据元素的每个数据元素与多个逐深度卷积权重矩阵的第二组数据元素的对应数据元素相乘,并且对于每个特定通道,将对应于特定通道的相乘结果相加在一起,以确定对应通道卷积结果矩阵中的一个对应结果数据元素,从而计算逐深度卷积结果的一部分。点积处理器单元被配置为执行逐点卷积,包括将逐点权重矩阵应用于逐深度卷积结果的一部分,以确定可分离卷积结果的一部分,同时处理器系统正在计算逐深度卷积结果的至少另一部分。深度卷积结果的至少另一部分。深度卷积结果的至少另一部分。

【技术实现步骤摘要】
使用每通道卷积运算的流水线逐点卷积
[0001]专利技术背景
[0002]使用神经网络可以解决一整类复杂的人工智能问题。由于这些问题通常是计算和数据密集型的,因此硬件解决方案通常有利于提高神经网络的性能。人工智能问题的解决方案通常可以使用基于硬件的解决方案来更快地解决,这些解决方案优化了传统3D卷积运算的性能。传统的逐深度卷积优化方法需要专门的硬件和复杂的存储器组织或转换方案。创建与解决传统3D卷积运算兼容的硬件平台,同时还显著提高性能和效率,是一项技术挑战。因此,存在对硬件和数据路径解决方案(data path solution)的需求,该硬件和数据路径解决方案提高了高效计算解决复杂人工智能问题所需的卷积运算的能力,而不会引入显著的复杂性和限制。
[0003]附图简述
[0004]在以下详细描述和附图中公开了本专利技术的各种实施例。
[0005]图1是示出使用神经网络解决人工智能问题的系统的实施例的框图。
[0006]图2是示出使用处理器系统执行三维卷积运算的流水线过程的实施例的流程图。
[0007]图3是示出使用处理器系统执行三维卷积运算的流水线过程的实施例的流程图。
[0008]图4是示出使用神经网络解决人工智能问题的通道卷积引擎的实施例的框图。
[0009]图5是示出使用通道卷积处理器执行流水线逐深度卷积的过程的实施例的流程图。
[0010]图6是示出使用神经网络解决人工智能问题的点积引擎的实施例的框图。
[0011]图7是示出使用点积引擎执行流水线逐点卷积的过程的实施例的流程图。
[0012]详细描述
[0013]本专利技术可以以多种方式实现,包括作为过程;装置;系统;物质的组成;体现在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如被配置为执行存储在耦合到处理器的存储器上的和/或由该存储器提供的指令的处理器。在本说明书中,这些实现方式或者本专利技术可以采取的任何其他形式可以被称为技术。通常,在本专利技术的范围内,可以改变所公开的过程的步骤顺序。除非另有说明,否则被描述为被配置为执行任务的诸如处理器或存储器的组件可以被实现为在给定时间被临时配置为执行任务的通用组件或者被制造为执行任务的特定组件。如本文所使用的,术语“处理器”指的是被配置成处理数据(诸如计算机程序指令)的一个或更多个设备、电路和/或处理核心。
[0014]下面提供了本专利技术的一个或更多个实施例的详细描述连同示出本专利技术原理的附图。结合这些实施例描述了本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求限定,并且本专利技术包括许多替代、修改和等同物。为了提供对本专利技术的全面理解,在以下描述中阐述了许多具体细节。这些细节是出于示例的目的而提供的,并且本专利技术可以根据权利要求来被实施,而不需要这些具体细节中的一些或全部。为了清楚起见,没有详细描述与本专利技术相关的
中已知的技术材料,以便不会不必要地模糊本专利技术。
[0015]公开了一种用于执行高效3D卷积运算的处理器系统。使用所公开的技术,3D卷积的工作负荷被分解成可分离的卷积,并以流水线方式分布在硬件通道卷积处理器单元和硬
件点积处理器单元上。例如,3D卷积运算被分解成分离的逐深度和逐点卷积运算。硬件通道卷积处理器单元执行逐深度卷积运算。逐深度卷积的输出激活被用作硬件点积处理器单元的输入,以执行逐点卷积运算。来自逐深度卷积的输出激活的布局格式与硬件点积处理器单元兼容,不需要资源和时间密集型布局转换。在一些实施例中,一组处理元件各自包括硬件通道卷积处理器单元和硬件点积处理器单元。处理元件被配置成流水线化各自的逐深度和逐点卷积运算。例如,处理元件的硬件通道卷积处理器单元的输出激活可以作为输入传输到不同处理元件的硬件点积处理器单元。输出激活可以使用缩减或对等网络连接来传输。在一些实施例中,单个处理元件的硬件通道卷积处理器单元和硬件点积处理器单元一起工作。在各种实施例中,当硬件点积处理器单元正在处理硬件通道卷积处理器单元的输出激活时,相同的硬件通道卷积处理器单元可以正在处理附加的输出激活。通过流水线化逐深度和逐点的卷积运算,并将它们分配给不同的处理器单元,处理元件的处理器单元的利用率显著提高。部分由于更高的利用率,与传统的通用处理器和/或标准矩阵处理器硬件相比,3D卷积可以以显著的性能优势来执行。与使用通用处理器和传统硬件配置相比,本文公开的处理单元的专用硬件配置导致显著的性能改进和资源效率。
[0016]在一些实施例中,使用通道卷积引擎来执行逐深度卷积。一种通道卷积引擎,包括通道卷积处理器单元,该通道卷积处理器单元能够通过对数据卷积矩阵的部分的不同通道应用不同的权重矩阵,使用两个输入矩阵来执行卷积运算。通道卷积处理器单元的参数可以由数据输入单元和通道权重输入单元准备。例如,数据输入单元准备部分数据卷积矩阵,而通道权重输入单元准备相应的权重矩阵。在一些实施例中,通道卷积处理器单元包括多个计算单元,诸如用于处理输入矩阵的输入向量的向量单元。在各种实施例中,计算单元至少包括向量乘法单元和向量加法器单元。向量乘法单元能够使用两个输入向量的对应元素(来自同一通道的数据元素和来自权重矩阵的权重输入元素)来执行乘法运算。在一些实施例中,向量加法器单元用于对使用向量乘法单元计算的相乘结果的向量进行求和。例如,向量加法器单元可以用于使用来自相应输入向量的向量元素的向量相乘结果来计算两个向量的点积结果。在一些实施例中,向量加法器单元是加法器树(adder tree)。例如,加法器树通过对相乘结果和随后的部分和(partial sums)进行并行求和来计算相乘结果的和。
[0017]在一些实施例中,通道卷积引擎的数据输入单元和通道权重输入单元准备矩阵参数作为通道卷积处理器单元的向量操作数。数据输入单元加载数据卷积矩阵的一部分,例如更大的三维(高度x宽度x通道)矩阵的3x3x32部分。例如,对于数据输入单元的每个向量寄存器,数据卷积矩阵的对应于不同的通道的一部分被加载。要加载的向量寄存器的数量可以对应于权重矩阵中的元素数量。例如,使用多个3x3权重矩阵,数据输入单元准备九个向量寄存器,每个向量寄存器保存对应于多个通道的数据元素,诸如32个或其他适当数量的通道。在一些实施例中,加载的通道数量基于高速缓存行大小,并且可以匹配向量寄存器大小。每个向量寄存器的每个相似深度处的对应元素是单通道的数据卷积矩阵的子矩阵的元素。
[0018]在一些实施例中,通道权重输入单元为通道卷积处理器单元准备多个权重矩阵。准备的权重矩阵的数量对应于为数据输入单元的每个向量寄存器加载的通道的数量。例如,可以使用通道权重输入单元的九个向量寄存器来加载32个权重矩阵,以对应于加载数据卷积矩阵的3x3x32部分。一旦数据输入单元和通道权重输入单元的向量寄存器加载了激
活和权重数据,向量寄存器的相应元素就被加载到通道卷积处理器单元的向量单元中。相同通道的数据输入元素和相应的权重矩阵被加载到相同的向量单元。每个向量单元通过将相应的数据输入和权重输入元素相乘并将相乘结果相加在一起以确定一个通道本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器系统,包括:硬件通道卷积处理器单元,所述硬件通道卷积处理器单元被配置为执行逐深度卷积的一部分,包括通过被配置为:将卷积数据矩阵的一部分的多个通道的第一组数据元素的每个数据元素与多个逐深度卷积权重矩阵的第二组数据元素的对应数据元素相乘,以确定相乘结果中的对应相乘结果;和对于所述多个通道中的每个特定通道,将所述相乘结果中的对应于所述特定通道的相乘结果相加在一起,以确定对应通道卷积结果矩阵中的一个对应通道卷积结果数据元素,从而计算逐深度卷积结果的一部分;和硬件点积处理器单元,所述硬件点积处理器单元被配置为执行逐点卷积的至少一部分,包括通过被配置为将逐点权重矩阵应用于使用所述硬件通道卷积处理器单元计算的所述逐深度卷积结果的一部分,以确定可分离卷积结果的一部分,同时所述处理器系统正在计算所述逐深度卷积结果的至少另一部分。2.根据权利要求1所述的系统,还包括第一处理元件和第二处理元件,并且其中所述第一处理元件包括所述硬件通道卷积处理器单元,所述第二处理元件包括所述硬件点积处理器单元。3.根据权利要求1所述的系统,其中所述第一组的数据元素的总计数与所述第二组的数据元素的总计数相同。4.根据权利要求1所述的系统,其中所述硬件通道卷积处理器单元包括多个计算单元,并且所述多个计算单元中的每个计算单元被配置为接收所述第一组中的对应于所述卷积数据矩阵的相同通道的多个数据元素和所述第二组中的对应于所述卷积数据矩阵的所述相同通道的单独卷积权重矩阵的多个对应数据元素。5.根据权利要求4所述的系统,其中所述多个计算单元中的每个计算单元包括不同的向量乘法单元和不同的向量加法器单元。6.根据权利要求5所述的系统,其中每个不同的向量加法器单元包括不同的加法器树。7.根据权利要求1所述的系统,其中所述卷积数据矩阵是三维机器学习数据矩阵。8.根据权利要求1所述的系统,还包括数据输入单元,所述数据输入单元被配置为:按通道将所述第一组的数据元素处理成多个数据输入向量,其中所述多个数据输入向量中的每一个包括对应于所述卷积数据矩阵的二维子矩阵的数据元素。9.根据权利要求1所述的系统,还包括权重输入单元,所述权重输入单元被配置为:将所述第二组的数据元素处理成多个权重输入向量,其中所述多个权重输入向量中的每一个包括对应于所述多个逐深度卷积权重矩阵之一的数据元素。10.根据权利要求1所述的系统,其中所述多个逐深度卷积权重矩阵中的每一个是3x3、5x5、7x7、9x9或11x11矩阵。11.根据权利要求1所述的系统,其中所述...

【专利技术属性】
技术研发人员:阿卜杜勒卡迪尔
申请(专利权)人:脸谱公司
类型:发明
国别省市:

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

1