由处理单元实现的方法、可读存储介质和处理单元技术

技术编号:33339564 阅读:23 留言:0更新日期:2022-05-08 09:24
本公开涉及由处理单元实现的方法、可读存储介质和处理单元。处理单元包括命令解析器和至少一个核,命令解析器用于分配命令和计算任务,至少一个核与命令解析器耦合通信并被用于处理所分配的计算任务。每个核可包括卷积单元、池化单元、至少一个操作单元以及与卷积单元、池化单元和至少一个操作单元耦合通信并用于将所分配的计算任务的指令分配给卷积单元、池化单元和至少一个操作单元以执行的定序器。方法可以包括:由卷积单元从至少一个操作单元的本地存储器读取数据;由卷积单元对数据执行卷积操作以生成特征映射;和由池化单元对特征映射执行池化操作。映射执行池化操作。映射执行池化操作。

【技术实现步骤摘要】
【国外来华专利技术】由处理单元实现的方法、可读存储介质和处理单元
[0001]本公开要求2019年9月24日提交的申请号为62/904,953的美国临时申请的优先权,该申请通过引用全文并入本文。


[0002]本公开实施例涉及神经网络领域,尤其是一种由处理单元实现的方法、可读存储介质和处理单元。

技术介绍

[0003]在机器学习(ML)或深度学习(DL)方面,神经网络(NN)是一种非常强大的、能够大体上模仿人脑的学习方式的架构。深度神经网络(DNN)是神经网络的一个分类。多年来,DNN在计算机视觉、自然语言处理等领域取得了巨大的成功。一个典型的DNN模型可能有数百万个参数,这需要大量的计算和存储资源来进行模型的训练和部署。现代大规模并行处理设备的发展为DNN技术在各种应用中的落地提供了机遇。
[0004]十年前,通用图形处理器(GPGPU)被开发出来以加速科学计算。目前,GPU被广泛地应用于实施DNN技术。虽然GPU的资源利用率随着DNN的计算需求不断提高,但由于诸多原因,GPU的资源利用率基本上仍是次优的。例如,GPU的内存层次结构限制芯片内快速存储,而DNN需要快速访问海量数据。此外,GPU维护全面的通用指令集,这需要额外的资源,而DNN只需要少量的专用可编程操作。

技术实现思路

[0005]在一些实施例中,提供一种示例性的由处理单元实现的方法,处理单元包括命令解析器和至少一个核,命令解析器用于分配命令和计算任务,至少一个核与命令解析器耦合通信并用于处理所分配的计算任务,每个核包括卷积单元、池化单元、至少一个操作单元和定序器,定序器与卷积单元、池化单元和至少一个操作单元耦合通信并用于将所分配的计算任务的指令分配给卷积单元、池化单元和至少一个操作单元以供执行,该方法包括:由卷积单元从至少一个操作单元的本地存储器读取数据;由卷积单元对数据执行卷积操作以生成特征映射;和由池化单元对特征映射执行池化操作。
[0006]在一些实施例中,提供一种示例性的非暂时性计算机可读存储介质,可读存储介质存储一组指令,该组指令可由至少一个处理单元执行以使计算机执行方法,处理单元包括命令解析器和至少一个核,命令解析器用于分配命令和计算任务,至少一个核与命令解析器耦合通信并用于处理所分配的计算任务,每个核包括卷积单元、池化单元、至少一个操作单元和定序器,定序器与卷积单元、池化单元和至少一个操作单元耦合通信并用于将所分配的计算任务的指令分配给卷积单元、池化单元和至少一个操作单元以供执行,方法包括:由卷积单元从至少一个操作单元的本地存储器读取数据;由卷积单元对数据执行卷积操作以生成特征映射;和由池化单元对特征映射执行池化操作。
[0007]在一些实施例中,提供一种示例性的处理单元,该处理单元包括:命令解析器,用
于分配命令和计算任务;和与所述命令解析器耦合通信的至少一个核,用于处理所分配的计算任务,每个核包括:卷积单元,其具有通过卷积指令执行卷积操作以生成特征映射的电路;池化单元,其具有通过池化指令对所述特征映射执行池化操作的电路;至少一个操作单元,其具有处理数据的电路;和定序器,与所述卷积单元、所述池化单元和所述至少一个操作单元耦合通信,并且具有将所分配的计算任务的指令分配给所述卷积单元、所述池化单元和所述至少一个操作单元以执行的电路。
[0008]本公开的附加特征和优点的一部分将在下文中有详细描述,一部分可从详细描述中显而易见地得到,或者可通过本公开的实践来了解。本公开的特征和优点将通过所附权利要求中特别指出的元素和组合来实现和获得。
[0009]应当理解,上述一般描述和以下的详细描述仅是示例性和说明性的,而不是对本公开的实施例的限制。
附图说明
[0010]构成本说明书一部分的附图示出了几个实施例,并且与描述一起用于解释本公开的各个实施例的原理和特征。在附图中:
[0011]图1是根据本公开的一些实施例的神经网络的示意图。
[0012]图2是根据本公开的一些实施例的示例性的基于神经网络进行推理的工作流(pipeline workflow)的示意图;
[0013]图3A是根据本公开的一些实施例的在一示例性的卷积神经网络(CNN)中构建块的一个片段的示意图;
[0014]图3B是根据本公开的一些实施例的在另一示例性的卷积神经网络(CNN)中构建块的一个片段的示意图;
[0015]图4是根据本公开的一些实施例的示例性的神经网络处理单元(NPU)的示意图。
[0016]图5A是根据本公开的一些实施例的示例性的机器学习系统的示意图;
[0017]图5B是根据本公开的一些实施例的多层软件体系结构的示意图;
[0018]图5C是根据本公开的一些实施例的包含了NPU的示例性的云系统的示意图;
[0019]图6A是根据本公开的一些实施例的NPU的核的示例性的推理工作流的示意图;
[0020]图6B是根据本公开的一些实施例的NPU的核的示例性的推理工作流的示意图;
[0021]图7是根据本公开的一些实施例的示例性的神经网络的工作流的示意图;
[0022]图8是根据本公开的一些实施例的NPU的核中的示例性的数据移动的示意图;
[0023]图9是根据本公开的一些实施例的NPU的核中的各个处理单元之间的工作流的示意图;
[0024]图10示出了根据本公开的一些实施例的NPU的示例性指令;
[0025]图11是根据本公开的一些实施例的由处理单元实现的示例性方法的流程图。
具体实施方式
[0026]下面将详细描述示例性的实施例,其示例性的附图在随后的附图中示出。下面的描述将参考附图,其中不同附图中的相同数字表示相同或类似的元件,除非另有表示。下面在示例性的实施例的描述中阐述的实现并不代表与本申请一致的所有实现。相反,它们只
是与所附权利要求中所述的、与本专利技术相关的各个方面一致的装置、系统和方法的示例。
[0027]这里公开的装置和系统可用在各种基于神经网络的体系结构中,例如卷积神经网络(CNN)、循环神经网络(RNN)等,并且可被配置为例如神经网络处理单元(NPU)等的体系结构。
[0028]图1是神经网络(NN)100的示意图。如图1所示,神经网络100可以包括输入层120,输入层120用于接收诸如输入110

1至输入110

m的输入。输入可以包括由神经网络100处理的图像、文本或任何其他结构化或非结构化数据。在一些实施例中,神经网络100可以同时接受多个输入。例如,在图1中,神经网络100可以同时接收多达m个输入。附加地或替代地,输入层120可以快速且连续地接收多达m个输入,例如,输入110

1是输入层120在一个周期内接收的输入,第二输入是输入层120在第二周期内接收的输入,在第二周期内,输入层120将来自输入110

1的数据推送到第一隐藏层,诸如此类。任何数目的输入可以是同时输入、快速且连续本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种由处理单元实现的方法,所述处理单元包括命令解析器和至少一个核,所述命令解析器用于分配命令和计算任务,所述至少一个核与所述命令解析器耦合通信并用于处理所分配的计算任务,每个核包括卷积单元、池化单元、至少一个操作单元和定序器,所述定序器与所述卷积单元、所述池化单元和所述至少一个操作单元耦合通信并用于将所分配的计算任务的指令分配给所述卷积单元、池化单元和所述至少一个操作单元以供执行,所述方法包括:由所述卷积单元从所述至少一个操作单元的本地存储器读取数据;由所述卷积单元对所述数据执行卷积操作以生成特征映射;和由所述池化单元对所述特征映射执行池化操作。2.根据权利要求1所述的方法,其中,所述至少一个操作单元包括:矩阵乘法数据路径和元素操作单元,所述方法还包括:通过所述矩阵乘法数据路径对来自所述卷积单元的卷积数据执行矩阵乘法运算,以生成中间数据;和由所述元素操作单元执行EWOP以基于所述中间数据生成特征映射。3.根据权利要求1所述的方法,其中,所述池化单元包括:插值单元和池化数据路径,所述方法还包括:由所述插值单元对所述特征映射进行插值;和通过所述池化数据路径对插值后的特征映射执行池化操作。4.根据权利要求3所述的方法,还包括:由所述池化单元确定所述特征映射上的感兴趣区域。5.根据权利要求1所述的方法,还包括:由所述定序器监视神经网络任务的执行;和通过所述定序器并行化所述神经网络任务的多个子任务。6.根据权利要求1所述的方法,其中,每个核还包括:直接存储器访问单元,并且所述方法还包括:由所述直接存储器访问单元在每个核内以及在所述至少一个核之间传送数据;和由所述直接存储器访问单元与所述卷积单元、所述池化单元或所述至少一个操作单元的计算并行地输入或输出数据。7.根据权利要求6所述的方法,还包括:由所述直接存储器访问单元在图像形式和矩阵形式之间转换数据。8.根据权利要求1所述的方法,还包括:由所述池化单元将至少一部分的池化操作与所述卷积单元的卷积操作并行执行。9.根据权利要求1所述的方法,其中,每个核还包括标量单元和标量寄存器文件,所述方法还包括:由所述标量单元执行标量运算;和由所述标量单元在所述标量寄存器文件中写入标量运算的结果。10.一种非暂时性计算机可读存储介质,用于存储一组指令,所述一组指令由至少一个处理单元执行以使计算机执行方法,所述处理单元包括命令解析器和至少一个核,所述命令解析器用于分配命令和计算任务,所述至少一个核与所述命令解析器耦合通信并用于处
理所分配的计算任务,每个核包括卷积单元、池化单元、至少一个操作单元和定序器,所述定序器与所述卷积单元、所述池化单元和所述至少一个操作单元耦合通信并用于将所分配的计算任务的指令分配给所述卷积单元、所述池化单元和所述至少一个操作单元以供执行,所述方法包括:由所述卷积单元从所述至少一个操作单元的本地存储器读取数据;由所述卷积单元对所述数据执行卷积操作以生成特征映射;和由所述池化单元对所述...

【专利技术属性】
技术研发人员:焦阳苏奕荣
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1