深度学习加速器系统及其方法技术方案

技术编号:25531916 阅读:94 留言:0更新日期:2020-09-04 17:19
本公开涉及一种机器学习加速器系统以及使用该机器学习加速器系统传输数据的方法。机器学习加速器系统可以包括交换网络,该交换网络包括交换节点阵列和处理元件阵列。处理元件阵列的每个处理元件与交换节点阵列的交换节点相连接,并被配置为生成可经由交换节点传输的数据。该方法可以包括:使用交换节点从数据源接收输入数据;基于输入数据使用与所述交换节点相连接的处理元件生成输出数据。该方法可以包括使用交换节点将所生成的输出数据传输到目的地处理元件。

【技术实现步骤摘要】
【国外来华专利技术】深度学习加速器系统及其方法相关申请的交叉引用本申请基于2018年1月24日提交的美国临时申请No.62/621368题为“使用具有二维处理单元阵列的轻量级网格网络的深度学习加速器方法”并要求其优先权,上述申请的全部内容通过引用合并于此。
技术介绍
随着整个业务部门中基于神经网络的深度学习应用的呈指数增长,基于商品中央处理单元(CPU)/图形处理单元(GPU)的平台不再是支持性能、功率和经济可扩展性方面不断增长的计算需求的合适计算基础。开发神经网络处理器以加速基于神经网络的深度学习应用程序已在许多业务领域获得了重大关注,包括成熟的芯片制造商、初创公司以及大型互联网公司。现有的神经处理单元(NPU)或张量处理单元(TPU)具有可编程的确定性执行流水线。该流水线的关键部分包括一个具有256x256个8位乘法器-累加器单元(MAC)的矩阵单元和一24MiB存储器缓冲器。但是,随着半导体技术扩展到7nm节点,晶体管密度有望增加10倍以上,在此配置下,实现有效的数据传输可能需要增加矩阵单元的大小和缓冲器的大小,这可能会带来更多的挑战。
技术实现思路
本公开涉及一种机器学习加速器系统和用于在其中交换数据的方法。所述机器学习加速器系统可以包括交换网络,该交换网络包括交换节点阵列和处理元件阵列。处理元件阵列的每个处理元件可以与交换节点阵列的交换节点相连接,并且被配置为生成可经由所述交换节点传输的数据。可以在一个或多个数据包中传输所生成的数据,该一个或多个数据包包括与目的地处理元件的位置、目的地处理元件内的存储位置以及所生成的数据有关的信息。本公开提供了一种在机器学习加速器系统中传输数据的方法。该方法可以包括使用交换网络的交换节点阵列中的交换节点从数据源接收输入数据。该方法可以包括:使用连接到所述交换节点并且是处理元件阵列的一部分的处理元件,基于所述输入数据来生成输出数据;以及使用所述交换节点经由所述交换网络将所生成的输出数据传输到所述处理元件阵列的目的地处理元件。与一些公开的实施例一致,提供了一种计算机可读存储介质,其包括可由至少一个处理器执行以执行前述方法的一组指令。与其他公开的实施例一致,非暂时性计算机可读存储介质可以存储由至少一个处理设备执行并执行本文所述的前述方法的程序指令。附图说明在以下详细描述和附图中示出了本公开的实施例和各个方面。图中所示的各种特征未按比例绘制。图1示出了根据本公开的实施例的示例性深度学习加速器系统。图2示出了根据本公开的实施例的示例性深度学习加速器系统的框图。图3A示出了根据本公开实施例的示例性基于网格的深度学习加速器系统的框图。图3B示出了根据本公开的实施例的示例性深度学习加速器系统的处理元件的框图。图4示出了根据本公开的实施例的示例性数据包的框图。图5示出了根据本公开实施例的用于深度学习加速器系统中的数据传输的示例性路径。图6示出了根据本公开实施例的用于深度学习加速器系统中的数据传输的示例性路径。图7示出了根据本公开实施例的用于深度学习加速器系统中的数据传输的示例性路径。图8示出了根据本公开实施例的用于深度学习加速器系统中的数据传输的示例性方法的处理流程图。具体实施方式现在将详细参考示例性实施例,其示例在附图中示出。以下描述参考附图,在所述附图中除非另有说明,否则不同附图中的相同数字表示相同或相似的元件。在以下对示例性实施例的描述中阐述的实施方式并不代表与本专利技术一致的所有实施方式。相反,它们仅仅是与如所附权利要求中所述的与本专利技术有关的方面一致的装置和方法的示例。如上所述,常规的加速器具有几个缺陷。例如,常规的图形处理单元(GPU)可能具有数千个着色器核心,这些着色器核心具有完整的指令集、动态的工作调度程序以及复杂的存储器层次结构,从而导致大量的功耗和深度学习工作负载的额外工作。常规数据处理单元(DPU)可以具有基于数据流的粗粒度可重构体系结构(CGRA)。此CGRA可以配置为32x32集群的网格,每个集群可以配置为16个数据流处理元件(PE)。PE可以将数据直接传递到其邻居,使得数据可通过该网格传递。这可能需要PE花费几个周期来传递数据,而非专注于计算,从而使数据流效率低下。本专利技术的实施例克服了常规加速器的这些问题。例如,所述实施例提供了一种轻量级的交换网络,从而允许PE专注于计算。另外,计算和存储资源分布在多个PE中。借助于2D网格连接,可以在PE之间传递数据。软件可以更灵活划分神经网络工作负载和数据为PE阵列,并据此对数据流进行编程。由于类似的原因,在不增加打包更多工作和数据的难度的情况下,很容易添加额外的资源。图1示出了根据本公开的实施例的示例性深度学习加速器架构100。在本公开的上下文中,深度学习加速器系统也可以被称为机器学习加速器。机器学习和深度学习在这里可以互换使用。如图1所示,深度学习加速器系统架构结构100可以包括片上通信系统102、主机存储器104、存储器控制器106、直接存储器访问(DMA)单元108、联合测试动作组(JTAG)/测试访问端(TAP)控制器110、外围接口112、总线114、全局存储器116等。应当理解,片上通信系统102可以基于所传递的数据来执行算法操作。此外,加速器系统架构100可以包括全局存储器116,该全局存储器具有片上存储块(例如4个8GB第二代高带宽存储器(HBM2)的块)以用作主存储器。片上通信系统102可以包括全局管理器122和多个处理元件124。全局管理器122可以包括一个或更多个任务管理器126,一个或更多个任务管理器126被配置为与一个或更多个处理元件124配合。每个任务管理器126可以与一个为神经网络提供突触/神经元电路的处理元件阵列124相关联。例如,图1的处理元件的顶层可以提供代表神经网络的输入层的电路,而处理元件的第二层可以提供代表神经网络的一个或更多个隐藏层的电路。如图1所示,全局管理器122可以包括两个任务管理器126,其被配置为与处理元件124的两个阵列相配合。在一些实施例中,加速器系统架构100可以被称为神经网络处理单元(NPU)架构100。处理元件124可以包括一个或更多个处理元件,每个处理元件包括单指令多数据(SIMD)体系架构,该SIMD体系架构包括一个或更多个配置为在全局管理器122的控制下对通信的数据执行一个或更多个操作(例如,乘法、加法、乘法累加等)的处理单元。处理元件124可以包括核心和存储器缓冲器。每个处理元件可以包括任何数量的处理单元。在一些实施例中,处理元件124可以被认为是瓦片或类似物。主机存储器104可以是例如主机CPU的存储器的片外存储器。例如,主机存储器104可以是双倍数据速率同步动态随机存取存储器(DDR-SDRAM)存储器或类似物。与集成在一个或更多个处理器中的片上存储器相比,主机存储器104可以配置为以较低的访问速度存储大量数据,以用作更高级别的高速缓存。存储器控制器106可以管理对全局存储器116内的存储本文档来自技高网...

【技术保护点】
1.一种机器学习加速器系统,包括:交换网络,/n所述交换网络包括:/n交换节点阵列;和/n处理元件阵列,其中所述处理元件阵列中的每个处理元件与所述交换节点阵列中的一交换节点相连接,并所述处理元件阵列中的每个处理元件被配置为生成可通过所述交换节点传输的数据。/n

【技术特征摘要】
【国外来华专利技术】20180124 US 62/621,3681.一种机器学习加速器系统,包括:交换网络,
所述交换网络包括:
交换节点阵列;和
处理元件阵列,其中所述处理元件阵列中的每个处理元件与所述交换节点阵列中的一交换节点相连接,并所述处理元件阵列中的每个处理元件被配置为生成可通过所述交换节点传输的数据。


2.根据权利要求1所述的系统,还包括:交换节点阵列的目的地交换节点和与所述目的地交换节点相连接目的地处理元件。


3.根据权利要求2所述的系统,其中,所生成的数据在一个或更多个数据包中传输,所述一个或更多个数据包包括与所述目的地处理元件的位置、所述目的地处理元件内的存储位置以及所述生成的数据相关的信息。


4.根据权利要求3所述的系统,其中,与所述目的地处理元件的位置相关的信息包括在所述处理元件阵列内的所述目的地处理元件(x,y)坐标。


5.根据权利要求3和4中的任一项所述的系统,其中,所述交换节点阵列的交换节点被配置为基于所述交换节点阵列或处理元件阵列中的至少一个的预定义配置,沿所述交换网络中的路径传输所述数据包。。


6.根据权利要求3和4中的任一项所述的系统,其中,基于对所述交换网络中的数据流模式的分析,沿一路径传输所述数据包。


7.根据权利要求5和6中的任一项所述的系统,其中,所述路径包括水平路径、垂直路径或所述二者的组合。


8.根据权利要求3至7中的任一项所述的系统,其中,所述交换节点阵列的交换节点被配置为基于所述交换节点的操作状态来拒绝接收所述数据包。


9.根据权利要求4至7中任一项所述的系统,其中,所述交换节点阵列中的交换节点被配置为基于所述交换节点的操作状态来修改所述数据包的路径。


10.根据权利要求1至9中任一项所述的系统,其中,所述处理元件包括:
处理器核心,所述处理器核心被配置为生成所述数据;和
存储器缓冲器,所述存储器缓冲器被配置为存储所生成的数据


11.一种在机器学习加速器系统中传输数据的方法,该方法包括:
使用交换网络的交换节点阵列中的交换节点从数据源接收输入数据;
基于所述输入数据,使用连接到所述交换节点并且是处理元件阵列的一部分的处理元件生成输出数据;和
使用所述交换节点通过所述交换网...

【专利技术属性】
技术研发人员:周擎岗金铃铃
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1